diff --git a/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseApplyInfo.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseApplyInfo.java index 6e383416..f699c1a2 100644 --- a/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseApplyInfo.java +++ b/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseApplyInfo.java @@ -4,6 +4,7 @@ import java.math.BigDecimal; import java.util.Date; import java.util.List; +import com.bonus.common.biz.domain.BmFileInfo; import com.fasterxml.jackson.annotation.JsonFormat; import com.bonus.common.core.annotation.Excel; import io.swagger.annotations.ApiModelProperty; @@ -227,4 +228,10 @@ public class LeaseApplyInfo extends BaseEntity{ @ApiModelProperty(value = "审批人人签名URL") private String directAuditSignUrl; + + /** + * 分包商单位委托书 + */ + @ApiModelProperty(value = "分包商单位委托书") + List bmFileInfos; } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseApplyInfoServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseApplyInfoServiceImpl.java index e803a883..e3ec397e 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseApplyInfoServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseApplyInfoServiceImpl.java @@ -9,6 +9,7 @@ import java.util.stream.Collectors; import cn.hutool.core.collection.CollectionUtil; import com.bonus.common.biz.config.PoiOutPage; import com.bonus.common.biz.constant.MaterialConstants; +import com.bonus.common.biz.domain.BmFileInfo; import com.bonus.common.biz.enums.HttpCodeEnum; import com.bonus.common.biz.enums.LeaseTaskStatusEnum; import com.bonus.common.biz.enums.MaMachineStatusEnum; @@ -20,6 +21,7 @@ import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.security.utils.SecurityUtils; import com.bonus.material.back.domain.vo.MaCodeVo; import com.bonus.material.basic.domain.BmQrcodeInfo; +import com.bonus.material.basic.mapper.BmFileInfoMapper; import com.bonus.material.lease.domain.LeaseApplyDetails; import com.bonus.common.biz.domain.lease.LeaseOutDetails; import com.bonus.material.lease.domain.vo.LeaseApplyRequestVo; @@ -68,6 +70,9 @@ public class LeaseApplyInfoServiceImpl implements ILeaseApplyInfoService { @Resource TmTaskAgreementMapper tmTaskAgreementMapper; + @Resource + private BmFileInfoMapper bmFileInfoMapper; + /** * 查询领料任务 * @@ -85,6 +90,14 @@ public class LeaseApplyInfoServiceImpl implements ILeaseApplyInfoService { LeaseApplyRequestVo leaseApplyRequestVo = new LeaseApplyRequestVo(); optionalInfo.ifPresent(info -> { + BmFileInfo bmFileInfo = new BmFileInfo(); + bmFileInfo.setModelId(id); + bmFileInfo.setTaskType(2); + bmFileInfo.setFileType(5L); + List bmFileInfoList = bmFileInfoMapper.selectBmFileInfoList(bmFileInfo); + if (!CollectionUtils.isEmpty(bmFileInfoList)) { + info.setBmFileInfos(bmFileInfoList); + } /** 设置审批人签名url 防止代码冲突 **/ String directAuditUrl = leaseApplyInfoMapper.getDirectAuditUrl(info); info.setDirectAuditSignUrl(directAuditUrl); @@ -192,6 +205,17 @@ public class LeaseApplyInfoServiceImpl implements ILeaseApplyInfoService { /** 设置审批人为默认的董班长 --防止代码冲突 **/ int count = leaseApplyInfoMapper.insertLeaseApplyInfo(leaseApplyRequestVo.getLeaseApplyInfo()); + if (!CollectionUtils.isEmpty(leaseApplyRequestVo.getLeaseApplyInfo().getBmFileInfos())) { + leaseApplyRequestVo.getLeaseApplyInfo().getBmFileInfos().forEach(bmFileInfo -> { + bmFileInfo.setTaskType(2); + bmFileInfo.setTaskId(tmTask.getTaskId()); + bmFileInfo.setModelId(leaseApplyRequestVo.getLeaseApplyInfo().getId()); + bmFileInfo.setFileType(5L); + bmFileInfo.setCreateBy(SecurityUtils.getUsername()); + bmFileInfo.setCreateTime(DateUtils.getNowDate()); + bmFileInfoMapper.insertBmFileInfo(bmFileInfo); + }); + } if (count > 0) { return insertPurchaseCheckDetails(leaseApplyRequestVo.getLeaseApplyDetailsList(), leaseApplyRequestVo.getLeaseApplyInfo().getId()); } else { @@ -287,7 +311,24 @@ public class LeaseApplyInfoServiceImpl implements ILeaseApplyInfoService { // 去除创建一个新的数组对象,直接复用 Long[] ids = {leaseApplyInfo.getId()}; - + if (CollectionUtil.isNotEmpty(leaseApplyInfo.getBmFileInfos())) { + // 删除原有数据 + BmFileInfo bmFileInfo = new BmFileInfo(); + bmFileInfo.setTaskId(leaseApplyInfo.getTaskId()); + bmFileInfo.setModelId(leaseApplyInfo.getId()); + bmFileInfo.setTaskType(2); + bmFileInfo.setFileType(5L); + bmFileInfoMapper.deleteBmFileInfoByBizInfo(bmFileInfo); + for (BmFileInfo fileInfo : leaseApplyInfo.getBmFileInfos()) { + fileInfo.setTaskId(leaseApplyInfo.getTaskId()); + fileInfo.setModelId(leaseApplyInfo.getId()); + fileInfo.setTaskType(2); + fileInfo.setFileType(5L); + fileInfo.setCreateBy(SecurityUtils.getUsername()); + fileInfo.setCreateTime(DateUtils.getNowDate()); + bmFileInfoMapper.insertBmFileInfo(fileInfo); + } + } if (CollectionUtil.isNotEmpty(leaseApplyRequestVo.getLeaseApplyDetailsList())) { // 业务逻辑代码 leaseApplyDetailsMapper.deleteLeaseApplyDetailsByParentIds(ids);