Browse Source

重新生成工时表

master
陈裕财 4 years ago
parent
commit
f533b3577f
  1. 31
      xm-core/src/main/java/com/xm/core/ctrl/XmTaskWorkloadController.java
  2. 4
      xm-core/src/main/java/com/xm/core/service/XmTaskWorkloadService.java
  3. 39
      xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskWorkloadMapper.xml

31
xm-core/src/main/java/com/xm/core/ctrl/XmTaskWorkloadController.java

@ -149,6 +149,11 @@ public class XmTaskWorkloadController {
RequestUtils.transformArray( xmTaskWorkload, "wstatuses");
RequestUtils.transformArray( xmTaskWorkload, "sstatuses");
PageUtils.startPage(xmTaskWorkload);
String queryScope= (String) xmTaskWorkload.get("queryScope");
User user=LoginUtils.getCurrentUserInfo();
if("my".equals(queryScope)){
xmTaskWorkload.put("userid",user.getUserid());
}
List<Map<String,Object>> xmTaskWorkloadList = xmTaskWorkloadService.ListGroupByTaskIdAndUserid(xmTaskWorkload); //列出XmTaskWorkload列表
PageUtils.responePage(m, xmTaskWorkloadList);
m.put("data",xmTaskWorkloadList);
@ -157,6 +162,32 @@ public class XmTaskWorkloadController {
return m;
}
@ApiOperation( value = "按任务及报工人查询待确认工时",notes=" ")
@ApiResponses({
@ApiResponse(code = 200,response=XmTaskWorkload.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'错误码'},total:总记录数,data:[数据对象1,数据对象2,...]}")
})
@RequestMapping(value="/ListGroupByTaskIdAndUseridToSet",method=RequestMethod.GET)
public Map<String,Object> ListGroupByTaskIdAndUseridToSet( @RequestParam Map<String,Object> xmTaskWorkload){
Map<String,Object> m = new HashMap<>();
Tips tips=new Tips("查询成功");
RequestUtils.transformArray(xmTaskWorkload, "ids");
RequestUtils.transformArray( xmTaskWorkload, "wstatuses");
RequestUtils.transformArray( xmTaskWorkload, "sstatuses");
PageUtils.startPage(xmTaskWorkload);
String queryScope= (String) xmTaskWorkload.get("queryScope");
User user=LoginUtils.getCurrentUserInfo();
if("my".equals(queryScope)){
xmTaskWorkload.put("userid",user.getUserid());
}
List<Map<String,Object>> xmTaskWorkloadList = xmTaskWorkloadService.ListGroupByTaskIdAndUseridToSet(xmTaskWorkload); //列出XmTaskWorkload列表
PageUtils.responePage(m, xmTaskWorkloadList);
m.put("data",xmTaskWorkloadList);
m.put("tips", tips);
return m;
}
@ApiOperation( value = "新增一条工时登记表信息",notes=" ")
@ApiResponses({
@ApiResponse(code = 200,response=XmTaskWorkload.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}")

4
xm-core/src/main/java/com/xm/core/service/XmTaskWorkloadService.java

@ -86,5 +86,9 @@ public class XmTaskWorkloadService extends BaseService {
public List<Map<String, Object>> ListGroupByTaskIdAndUserid(Map<String, Object> xmTaskWorkload) {
return super.selectList("selectListMapGroupByTaskIdAndUserid",xmTaskWorkload);
}
public List<Map<String, Object>> ListGroupByTaskIdAndUseridToSet(Map<String, Object> xmTaskWorkload) {
return super.selectList("ListGroupByTaskIdAndUseridToSet",xmTaskWorkload);
}
}

39
xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskWorkloadMapper.xml

@ -135,6 +135,45 @@
</where>
</select>
<!--查询待结算工时-->
<select id="ListGroupByTaskIdAndUseridToSet" parameterType="HashMap" resultType="HashMap">
select res.*, task.project_name,task.name as task_name,task.budget_workload,task.act_workload,task_state,task_out,uni_inner_price,uni_out_price,settle_schemel
e.quote_workload,e.quote_amount,e.exec_user_branch_id,e.quote_end_time,e.quote_start_time,e.dist_userid,e.dist_username
from xm_task task
inner join (
select res.project_id,res.task_id,res.userid,
max(res.username) as username,
sum(ifnull(res.workload,0)) as workload,
sum(if(res.wstatus='0',ifnull(res.workload,0),0)) as to_confirm_workload,
sum(if(res.wstatus='1',ifnull(res.workload,0),0)) as had_confirm_workload,
sum(if(res.sstatus='0',ifnull(res.workload,0),0)) as not_need_set_workload,
sum(if(res.sstatus='1',ifnull(res.workload,0),0)) as to_set_sworkload,
sum(if(res.sstatus='2',ifnull(res.workload,0),0)) as had_commit_sworkload,
sum(if(res.sstatus='3',ifnull(res.workload,0),0)) as had_agree_sworkload,
sum(if(res.sstatus='4',ifnull(res.workload,0),0)) as had_set_sworkload
from xm_task_workload res
<where>
<include refid="whereForMap"/>
<include refid="where"/>
</where>
group by res.project_id,res.task_id,res.userid
) as res on res.task_id = task.id
inner join xm_task_execuser e on res.task_id=e.task_id and res.userid=e.userid
<where>
<if test="projectId!=null and projectId!=''">
and task.project_id=#{projectId}
</if>
<if test="taskId!=null and taskId!=''">
and task.id=#{taskId}
</if>
<if test="userid!=null and userid!=''">
and res.userid=#{userid}
</if>
</where>
</select>
<!--结束 自定义sql函数区域-->

Loading…
Cancel
Save