Browse Source

添加节点类型、标签等

master
陈裕财 4 years ago
parent
commit
0aba001f20
  1. 20
      xm-core/src/main/java/com/xm/core/ctrl/XmTaskWorkloadController.java
  2. 25
      xm-core/src/main/java/com/xm/core/service/XmTaskSbillService.java
  3. 3
      xm-core/src/main/java/com/xm/core/service/XmTaskWorkloadService.java
  4. 7
      xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskWorkloadMapper.xml

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

@ -474,13 +474,30 @@ public class XmTaskWorkloadController {
sstatus="1";
xmTaskWorkloadMap.put("sstatus",sstatus);
}
List<String> taskIds=xmTaskWorkloadsDb.stream().map(i->i.getTaskId()).collect(Collectors.toSet()).stream().collect(Collectors.toList());
Map<String,XmTask> taskMap=new HashMap<>();
if(xmTaskWorkloadMap.containsKey("wstatus") && "1".equals(wstatus)){
List<XmTask> tasks=this.xmTaskService.selectListByIds(taskIds);
for (XmTask task : tasks) {
taskMap.put(task.getId(),task);
}
}
List<XmTaskWorkload> canChanges=new ArrayList<>();
List<XmTaskWorkload> sstatusNot01=new ArrayList<>();
List<XmTaskWorkload> taskStateNot34=new ArrayList<>();
for (XmTaskWorkload xmTaskWorkload : xmTaskWorkloadsDb) {
if(!"1".equals(xmTaskWorkload.getSstatus()) && !"0".equals(xmTaskWorkload.getSstatus()) &&StringUtils.hasText(xmTaskWorkload.getSstatus())){
sstatusNot01.add(xmTaskWorkload);
}else{
if(xmTaskWorkloadMap.containsKey("wstatus") && "1".equals(wstatus)){
XmTask task=taskMap.get(xmTaskWorkload.getTaskId());
if(task==null || (!"2".equals(task.getTaskState()) && !"3".equals(task.getTaskState()))){
taskStateNot34.add(xmTaskWorkload);
continue;
}
}
canChanges.add(xmTaskWorkload);
}
}
@ -502,6 +519,9 @@ public class XmTaskWorkloadController {
if(sstatusNot01.size()>0){
msgs.add("有"+sstatusNot01.size()+"条工时不是待结算状态,不允许更改");
}
if(taskStateNot34.size()>0){
msgs.add("有"+taskStateNot34.size()+"条工时对应的任务不是已完工状态,不允许确认工时");
}
if(canChanges.size()>0){
tips.setOkMsg(msgs.stream().collect(Collectors.joining()));
}else{

25
xm-core/src/main/java/com/xm/core/service/XmTaskSbillService.java

@ -2,10 +2,13 @@ package com.xm.core.service;
import com.mdp.core.utils.BaseUtils;
import com.mdp.core.utils.DateUtils;
import com.mdp.core.utils.NumberUtil;
import com.xm.core.entity.XmTaskWorkload;
import com.xm.core.service.client.MkClient;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.math.BigDecimal;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@ -35,6 +38,9 @@ public class XmTaskSbillService extends BaseService {
@Autowired
XmTaskWorkloadService xmTaskWorkloadService;
@Autowired
MkClient mkClient;
@Transactional(rollbackFor = Exception.class)
public void deleteByPkAndReturnWorkload(XmTaskSbill xmTaskSbill){
this.deleteByPk(xmTaskSbill);
@ -87,6 +93,7 @@ public class XmTaskSbillService extends BaseService {
}else if("PROCESS_COMPLETED".equals(eventName)) {
if("1".equals(agree)) {
this.updateFlowStateByProcInst("2",xmTaskSbill, flowVars);
this.pushWorkloadToMk(xmTaskSbill);
}else {
this.updateFlowStateByProcInst("3",xmTaskSbill, flowVars);
}
@ -100,6 +107,24 @@ public class XmTaskSbillService extends BaseService {
}
private void pushWorkloadToMk(XmTaskSbill xmTaskSbill) {
List<Map<String,Object>> taskWorkloads=this.xmTaskWorkloadService.listTaskWorkloadBySbillIdGroupByUseridAndTaskId(xmTaskSbill.getId());
if(taskWorkloads==null || taskWorkloads.size()==0){
return;
}
for (Map<String, Object> t : taskWorkloads) {
String taskId= (String) t.get("taskId");
String taskName= (String) t.get("taskName");
String userid= (String) t.get("userid");
String username= (String) t.get("username");
String custBranchId="";
BigDecimal actNum=BigDecimal.valueOf(1);
BigDecimal sigPrice= NumberUtil.getBigDecimal(t.get("samt"));
BigDecimal workload=NumberUtil.getBigDecimal(t.get("sworkload"));
mkClient.pushActiExecOrder(taskId,userid,username,custBranchId,taskId, actNum,sigPrice,actNum.multiply(sigPrice),workload,taskName);
}
}
/**
* update流程表信息
* 工时表结算状态0-无需结算1-待结算2-已提交3-已通过4-已结算

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

@ -59,5 +59,8 @@ public class XmTaskWorkloadService extends BaseService {
}
public List<Map<String,Object>> listTaskWorkloadBySbillIdGroupByUseridAndTaskId(String sbillId) {
return this.selectList("listTaskWorkloadBySbillIdGroupByUseridAndTaskId",sbillId);
}
}

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

@ -106,6 +106,13 @@
group by biz_month
order by biz_month asc
</select>
<select id="listTaskWorkloadBySbillIdGroupByUseridAndTaskId" parameterType="String" resultType="HashMap">
select sum(ifnull(res.workload,0)) as workload,sum(ifnull(res.samt,0)) as samt,sum(ifnull(res.amt,0)) as amt,
sum(ifnull(res.sworkload,0)) as sworkload,res.task_id ,max(res.username) as username,max(t.name) as task_name from xm_task_workload res inner join xm_task t on res.task_id=t.id
where res.sbill_id=#{sbillId} and res.sstatus='4'
group by res.userid,res.task_id
</select>
<!--结束 自定义sql函数区域-->

Loading…
Cancel
Save