Browse Source

重新生成工时表

master
陈裕财 4 years ago
parent
commit
ca3790f7dd
  1. 18
      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. 38
      xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskWorkloadMapper.xml

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

@ -136,6 +136,24 @@ public class XmTaskWorkloadController {
return m; 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="/ListGroupByTaskIdAndUserid",method=RequestMethod.GET)
public Map<String,Object> ListGroupByTaskIdAndUserid( @RequestParam Map<String,Object> xmTaskWorkload){
Map<String,Object> m = new HashMap<>();
Tips tips=new Tips("查询成功");
PageUtils.startPage(xmTaskWorkload);
List<Map<String,Object>> xmTaskWorkloadList = xmTaskWorkloadService.ListGroupByTaskIdAndUserid(xmTaskWorkload); //列出XmTaskWorkload列表
PageUtils.responePage(m, xmTaskWorkloadList);
m.put("data",xmTaskWorkloadList);
m.put("tips", tips);
return m;
}
@ApiOperation( value = "新增一条工时登记表信息",notes=" ") @ApiOperation( value = "新增一条工时登记表信息",notes=" ")
@ApiResponses({ @ApiResponses({
@ApiResponse(code = 200,response=XmTaskWorkload.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}") @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

@ -82,5 +82,9 @@ public class XmTaskWorkloadService extends BaseService {
public void updateStatusBySbillIdByFlowState(String sbillId,String sstatus) { public void updateStatusBySbillIdByFlowState(String sbillId,String sstatus) {
super.update("updateStatusBySbillIdByFlowState",map("sbillId",sbillId,"sstatus",sstatus)); super.update("updateStatusBySbillIdByFlowState",map("sbillId",sbillId,"sstatus",sstatus));
} }
public List<Map<String, Object>> ListGroupByTaskIdAndUserid(Map<String, Object> xmTaskWorkload) {
return super.selectList("selectListMapGroupByTaskIdAndUserid",xmTaskWorkload);
}
} }

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

@ -37,6 +37,9 @@
<if test="startBizDate!=null and startBizDate !=''"> <if test="startBizDate!=null and startBizDate !=''">
AND res.biz_date BETWEEN #{startBizDate} AND #{endBizDate} AND res.biz_date BETWEEN #{startBizDate} AND #{endBizDate}
</if> </if>
<if test="sbillId!=null and sbillId !=''">
AND exists( select 1 from xm_task_sbill_detail d where d.id=res.detail_id and d.sbill_id=#{sbillId})
</if>
</sql> </sql>
<update id="updateStatusBySbillIdBySbillDel" parameterType="String"> <update id="updateStatusBySbillIdBySbillDel" parameterType="String">
update xm_task_workload res set detail_id=null,sstaus='1' update xm_task_workload res set detail_id=null,sstaus='1'
@ -97,6 +100,41 @@
and res.sstatus='4' and res.sstatus='4'
group by res.userid,res.task_id group by res.userid,res.task_id
</select> </select>
<!--查询待确认工时-->
<select id="selectListMapGroupByTaskIdAndUserid" parameterType="HashMap" resultType="HashMap">
select res.*, task.project_name,task.name as task_name,task.budget_workload,task.act_workload,task_state 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
<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函数区域--> <!--结束 自定义sql函数区域-->

Loading…
Cancel
Save