From e7e7e86be0a30fad6cfb9ac6db04d25dd3379d9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E8=A3=95=E8=B4=A2?= Date: Sun, 24 Apr 2022 14:27:31 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=96=B0=E7=94=9F=E6=88=90=E5=B7=A5?= =?UTF-8?q?=E6=97=B6=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xm/core/ctrl/XmTaskSbillController.java | 15 +++++++++--- .../xm/core/service/XmTaskSbillService.java | 24 +++++++++++++++---- .../core/service/XmTaskWorkloadService.java | 6 +++++ .../xm/core/dao/XmTaskWorkloadMapper.xml | 7 +++++- 4 files changed, 44 insertions(+), 8 deletions(-) diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmTaskSbillController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmTaskSbillController.java index 4730c6d3..965d9b89 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmTaskSbillController.java +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmTaskSbillController.java @@ -217,7 +217,15 @@ public class XmTaskSbillController { //检查是否已有同样的数据加入了结算单,如果有,需要合并 List details=xmTaskSbillDetailService.selectListByUserTasks(batchJoinToSbill); if(details!=null && details.size()>0){ - //进行合并操作 + for (XmTaskSbillDetail detail : details) { + //进行合并操作 + for (Map 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 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); diff --git a/xm-core/src/main/java/com/xm/core/service/XmTaskSbillService.java b/xm-core/src/main/java/com/xm/core/service/XmTaskSbillService.java index 667ae9c9..fa1ee278 100644 --- a/xm-core/src/main/java/com/xm/core/service/XmTaskSbillService.java +++ b/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 sbillIds) { super.update("updateByWorkloadList",sbillIds); } + + @Transactional + public void batchJoinToSbill(List canAdd, List details) { + + if(canAdd.size()>0){ + xmTaskSbillDetailService.batchInsert(canAdd); + } + //需要更新工时明细表detailId.. + if(details.size()>0){ + this.xmTaskSbillDetailService.batchUpdate(details); + } + List detailsAll=new ArrayList<>(); + detailsAll.addAll(canAdd); + detailsAll.addAll(details); + this.xmTaskWorkloadService.updateStatusAfterJoinSbill(detailsAll); + } } diff --git a/xm-core/src/main/java/com/xm/core/service/XmTaskWorkloadService.java b/xm-core/src/main/java/com/xm/core/service/XmTaskWorkloadService.java index 0b894171..6c8b7fb3 100644 --- a/xm-core/src/main/java/com/xm/core/service/XmTaskWorkloadService.java +++ b/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> ListGroupByTaskIdAndUseridToSet(Map xmTaskWorkload) { return super.selectList("ListGroupByTaskIdAndUseridToSet",xmTaskWorkload); } + + public void updateStatusAfterJoinSbill(List details) { + super.update("updateStatusAfterJoinSbill",details); + } } diff --git a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskWorkloadMapper.xml b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskWorkloadMapper.xml index 1005a54b..f2b3be25 100644 --- a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskWorkloadMapper.xml +++ b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskWorkloadMapper.xml @@ -189,7 +189,12 @@ - + + + update xm_task_workload res set res.sstatus='2' + where res.sstatus='1' and res.userid=#{userid} and res.task_id=#{taskId} + +