Browse Source

重新生成工时表

master
陈裕财 4 years ago
parent
commit
e7e7e86be0
  1. 15
      xm-core/src/main/java/com/xm/core/ctrl/XmTaskSbillController.java
  2. 24
      xm-core/src/main/java/com/xm/core/service/XmTaskSbillService.java
  3. 6
      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

15
xm-core/src/main/java/com/xm/core/ctrl/XmTaskSbillController.java

@ -217,7 +217,15 @@ public class XmTaskSbillController {
//检查是否已有同样的数据加入了结算单如果有需要合并
List<XmTaskSbillDetail> details=xmTaskSbillDetailService.selectListByUserTasks(batchJoinToSbill);
if(details!=null && details.size()>0){
//进行合并操作
for (XmTaskSbillDetail detail : details) {
//进行合并操作
for (Map<String, Object> toSetUserTask : toSetUserTasks) {
if(detail.getUserid().equals(toSetUserTask.get("userid")) && detail.getTaskId().equals(toSetUserTask.get("taskId"))){
detail.setWorkload(detail.getWorkload().add(NumberUtil.getBigDecimal(toSetUserTask.get("workload"),BigDecimal.ZERO)));
detail.setWorkload(detail.getSworkload().add(NumberUtil.getBigDecimal(toSetUserTask.get("workload"),BigDecimal.ZERO)));
}
}
}
}
List<XmTaskSbillDetail> canAdd=new ArrayList<>();
@ -234,8 +242,9 @@ public class XmTaskSbillController {
detail.setCtime(new Date());
canAdd.add(detail);
}
xmTaskSbillDetailService.batchInsert(canAdd);
//todo 需要更新工时明细表detailId..
this.xmTaskSbillService.batchJoinToSbill(canAdd,details);
}catch (BizException e) {
tips=e.getTips();
logger.error("",e);

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

@ -3,16 +3,14 @@ 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.XmTaskSbillDetail;
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;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
import org.springframework.beans.factory.annotation.Autowired;
@ -37,6 +35,8 @@ public class XmTaskSbillService extends BaseService {
@Autowired
XmTaskWorkloadService xmTaskWorkloadService;
@Autowired
XmTaskSbillDetailService xmTaskSbillDetailService;
@Autowired
MkClient mkClient;
@ -160,5 +160,21 @@ public class XmTaskSbillService extends BaseService {
public void updateByWorkloadList(List<String> sbillIds) {
super.update("updateByWorkloadList",sbillIds);
}
@Transactional
public void batchJoinToSbill(List<XmTaskSbillDetail> canAdd, List<XmTaskSbillDetail> details) {
if(canAdd.size()>0){
xmTaskSbillDetailService.batchInsert(canAdd);
}
//需要更新工时明细表detailId..
if(details.size()>0){
this.xmTaskSbillDetailService.batchUpdate(details);
}
List<XmTaskSbillDetail> detailsAll=new ArrayList<>();
detailsAll.addAll(canAdd);
detailsAll.addAll(details);
this.xmTaskWorkloadService.updateStatusAfterJoinSbill(detailsAll);
}
}

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

@ -6,6 +6,8 @@ import com.mdp.core.utils.DateUtils;
import com.mdp.core.utils.MapUtils;
import com.mdp.core.utils.RequestUtils;
import com.xm.core.entity.XmTaskSbill;
import com.xm.core.entity.XmTaskSbillDetail;
import com.xm.core.vo.BatchJoinToSbillVo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -90,5 +92,9 @@ public class XmTaskWorkloadService extends BaseService {
public List<Map<String, Object>> ListGroupByTaskIdAndUseridToSet(Map<String, Object> xmTaskWorkload) {
return super.selectList("ListGroupByTaskIdAndUseridToSet",xmTaskWorkload);
}
public void updateStatusAfterJoinSbill(List<XmTaskSbillDetail> details) {
super.update("updateStatusAfterJoinSbill",details);
}
}

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

@ -189,7 +189,12 @@
</where>
</select>
<update id="updateStatusAfterJoinSbill" parameterType="List">
<foreach collection="list" item="item" index="index" separator=";" >
update xm_task_workload res set res.sstatus='2'
where res.sstatus='1' and res.userid=#{userid} and res.task_id=#{taskId}
</foreach>
</update>
<!--结束 自定义sql函数区域-->

Loading…
Cancel
Save