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 5a678998..4730c6d3 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 @@ -3,8 +3,7 @@ package com.xm.core.ctrl; import java.math.BigDecimal; import java.util.*; -import com.mdp.core.utils.LogUtils; -import com.mdp.core.utils.ResponseHelper; +import com.mdp.core.utils.*; import com.mdp.safe.client.entity.User; import com.mdp.safe.client.utils.LoginUtils; import com.mdp.tpa.client.entity.AppShopConfig; @@ -14,6 +13,7 @@ import com.xm.core.service.XmTaskSbillDetailService; import com.xm.core.service.XmTaskService; import com.xm.core.service.XmTaskWorkloadService; import com.xm.core.vo.BatchJoinToSbillVo; +import com.xm.core.vo.UserTaskVo; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -39,7 +39,6 @@ import static com.mdp.core.utils.BaseUtils.*; import com.mdp.core.entity.Tips; import com.mdp.core.err.BizException; import com.mdp.mybatis.PageUtils; -import com.mdp.core.utils.RequestUtils; import com.xm.core.service.XmTaskSbillService; import com.xm.core.entity.XmTaskSbill; /** @@ -220,6 +219,23 @@ public class XmTaskSbillController { if(details!=null && details.size()>0){ //进行合并操作 } + + List canAdd=new ArrayList<>(); + for (Map userTask : toSetUserTasks) { + XmTaskSbillDetail detail= BaseUtils.fromMap(userTask,XmTaskSbillDetail.class); + if(details.stream().filter(i->i.getTaskId().equals(detail.getTaskId()) && i.getUserid().equals(detail.getUserid())).findAny().isPresent()){ + continue; + } + detail.setId(this.xmTaskSbillDetailService.createKey("id")); + detail.setBizDate(DateUtils.getDate("yyyy-MM-dd")); + detail.setBizMonth(DateUtils.getDate("yyyy-MM")); + detail.setSbillId(batchJoinToSbill.getSbillId()); + detail.setProjectId(projectId); + detail.setCtime(new Date()); + canAdd.add(detail); + } + xmTaskSbillDetailService.batchInsert(canAdd); + //todo 需要更新工时明细表detailId.. }catch (BizException e) { tips=e.getTips(); logger.error("",e); diff --git a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskSbillDetailMapper.xml b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskSbillDetailMapper.xml index 38917a69..0b3bdb68 100644 --- a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskSbillDetailMapper.xml +++ b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskSbillDetailMapper.xml @@ -13,7 +13,16 @@ - + 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 5763f20b..1005a54b 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 @@ -163,6 +163,13 @@ and res.userid=#{userid} + + and (res.userid,res.task_id) in + + ( #{item.userid,item.taskId}) + + + and res.sstatus='1' and res.detail_id is null