From 16fe9fedbbf97ef934deceb700d717eda7d14124 Mon Sep 17 00:00:00 2001 From: mashuai Date: Sun, 3 Aug 2025 11:10:54 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../biz/domain/lease/LeaseApplyInfo.java | 5 +++ .../biz/domain/lease/LeaseOutDetails.java | 21 ++++++++++ .../lease/mapper/LeaseTaskMapper.java | 8 ++++ .../service/impl/LeaseTaskServiceImpl.java | 40 ++++++++++++++++++- .../service/impl/ProAuthorizeServiceImpl.java | 14 +++++++ .../material/back/BackApplyInfoMapper.xml | 1 + .../mapper/material/clz/BmTeamMapper.xml | 3 ++ .../mapper/material/common/SelectMapper.xml | 16 ++++---- .../mapper/material/lease/LeaseTaskMapper.xml | 9 ++++- .../materialStation/ProAuthorizeMapper.xml | 6 +++ 10 files changed, 112 insertions(+), 11 deletions(-) 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 27d7dfb1..6e14e627 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 @@ -339,5 +339,10 @@ public class LeaseApplyInfo extends BaseEntity{ @ApiModelProperty(value = "账号") private String cno; + /** + * i8工程id集合 + */ + private List projectIdList; + } diff --git a/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseOutDetails.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseOutDetails.java index 2d6ccc13..a8de06a7 100644 --- a/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseOutDetails.java +++ b/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseOutDetails.java @@ -133,4 +133,25 @@ public class LeaseOutDetails extends BaseEntity { * 领料出库机具编码集合 */ private List maCodeList; + + @ApiModelProperty(value = "发料单位") + private String sendUnit; + + @ApiModelProperty(value = "领料id") + private Integer leaseUnitId; + + @ApiModelProperty(value = "领料工程id") + private Integer leaseProjectId; + + /** 退料数量 */ + @ApiModelProperty(value = "退料数量") + private BigDecimal preNum; + + /** 审批数量 */ + @ApiModelProperty(value = "审批数量") + private BigDecimal alNum; + + @ApiModelProperty(value = "状态") + private String status; + } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseTaskMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseTaskMapper.java index ff5e046d..664757fe 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseTaskMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseTaskMapper.java @@ -5,6 +5,7 @@ import com.bonus.common.biz.domain.lease.LeaseApplyInfo; import com.bonus.common.biz.domain.lease.LeasePublishInfo; import com.bonus.common.biz.domain.lease.WorkApplyInfo; import com.bonus.common.biz.domain.lease.WorkPeopleInfo; +import com.bonus.material.basic.domain.BmProject; import com.bonus.material.lease.domain.LeaseApplyDetails; import com.bonus.material.lease.domain.LeasePublishDetails; import com.bonus.material.lease.domain.vo.LeaseDeptInfo; @@ -197,4 +198,11 @@ public interface LeaseTaskMapper { LeasePublishDetails selectPublishDetailsByCode(); TmTaskAgreement getAgreementInfo(LeaseApplyInfo leaseApplyInfo); + + /** + * 根据工程id查询i8工程id + * @param leaseApplyInfo + * @return + */ + BmProject selectById(LeaseApplyInfo leaseApplyInfo); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseTaskServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseTaskServiceImpl.java index 0a2735de..314f6274 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseTaskServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseTaskServiceImpl.java @@ -19,10 +19,15 @@ 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.BmAgreementInfo; +import com.bonus.material.basic.domain.BmProject; import com.bonus.material.basic.domain.dto.SysUserRoleVo; import com.bonus.material.basic.mapper.BmAgreementInfoMapper; import com.bonus.material.basic.mapper.BmFileInfoMapper; import com.bonus.material.basic.mapper.BmUserRoleMapper; +import com.bonus.material.clz.domain.BmTeam; +import com.bonus.material.clz.domain.vo.IwsTeamUserVo; +import com.bonus.material.clz.mapper.BmTeamMapper; +import com.bonus.material.clz.mapper.IwsTeamUserMapper; import com.bonus.material.lease.domain.LeaseApplyDetails; import com.bonus.material.lease.domain.LeasePublishDetails; import com.bonus.material.lease.domain.vo.LeaseApplyRequestVo; @@ -100,6 +105,12 @@ public class LeaseTaskServiceImpl implements ILeaseTaskService { @Resource private BmAgreementInfoMapper bmAgreementInfoMapper; + @Resource + private IwsTeamUserMapper iwsTeamUserMapper; + + @Resource + private BmTeamMapper bmTeamMapper; + /** * 新增领用任务 @@ -203,7 +214,34 @@ public class LeaseTaskServiceImpl implements ILeaseTaskService { if (statusFlag != null && statusFlag == 0) { newId = sysWorkflowRecordService.addSysWorkflowRecord(tmTask.getTaskId().intValue(), taskCode, 19); } - + // 根据传入的工程id,查询班组信息,进行数据同步 + BmProject bmProject = mapper.selectById(leaseApplyInfo); + if (bmProject != null && StringUtils.isNotBlank(bmProject.getExternalId())) { + List ids = Collections.singletonList(bmProject.getExternalId()); + List iwsTeamUserVos = iwsTeamUserMapper.selectProjectTeamInfoByProjectIds(ids); + if (!CollectionUtils.isEmpty(iwsTeamUserVos)) { + for (IwsTeamUserVo iwsTeamUserVo : iwsTeamUserVos) { + BmTeam bmTeam = new BmTeam(); + bmTeam.setTeamName(StringUtils.isNotBlank(iwsTeamUserVo.getTeamName()) ? iwsTeamUserVo.getTeamName() : null); + bmTeam.setCreateUser(SecurityUtils.getLoginUser().getUserid().toString()); + bmTeam.setRelName(StringUtils.isNotBlank(iwsTeamUserVo.getRelName()) ? iwsTeamUserVo.getRelName() : null); + bmTeam.setIdCard(StringUtils.isNotBlank(iwsTeamUserVo.getTeamLeaderIdCard()) ? iwsTeamUserVo.getTeamLeaderIdCard() : null); + bmTeam.setProjectId(StringUtils.isNotBlank(iwsTeamUserVo.getProjectId()) ? iwsTeamUserVo.getProjectId() : null); + bmTeam.setRelPhone(StringUtils.isNotBlank(iwsTeamUserVo.getRelPhone()) ? iwsTeamUserVo.getRelPhone() : null); + // 班组类型固定传值 + bmTeam.setTypeId(1731L); + // 根据班组名称去bm_unit表查询班组信息 + BmTeam bmTeam1 = bmTeamMapper.selectByName(bmTeam); + if (bmTeam1 == null) { + // 走新增逻辑 + int result = bmTeamMapper.insert(bmTeam); + if (result <= 0) { + return AjaxResult.error(HttpCodeEnum.UPDATE_TO_DATABASE.getCode(), HttpCodeEnum.UPDATE_TO_DATABASE.getMsg()); + } + } + } + } + } if (count > 0) { if (statusFlag != null && statusFlag == 0) { createWorkOrderAndPeople(sysUser, leaseApplyInfo, tmTask, newId); diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/materialStation/service/impl/ProAuthorizeServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/materialStation/service/impl/ProAuthorizeServiceImpl.java index bffb531b..9f441601 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/materialStation/service/impl/ProAuthorizeServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/materialStation/service/impl/ProAuthorizeServiceImpl.java @@ -7,6 +7,7 @@ import com.bonus.common.core.domain.R; import com.bonus.common.core.utils.StringUtils; import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.security.utils.SecurityUtils; +import com.bonus.material.common.mapper.SelectMapper; import com.bonus.material.materialStation.domain.ProAuthorizeDetails; import com.bonus.material.materialStation.domain.ProAuthorizeInfo; import com.bonus.material.materialStation.mapper.ProAuthorizeMapper; @@ -59,10 +60,23 @@ public class ProAuthorizeServiceImpl implements ProAuthorizeService { @Resource private ProAuthorizeMapper mapper; + @Resource(name = "SelectMapper") + private SelectMapper selectMapper; + @Override public List getPublishList(LeaseApplyInfo leaseApplyInfo) { try { + String username = SecurityUtils.getLoginUser().getUsername(); + // 根据用户名查询项目部信息 + String departId = selectMapper.getDepartId(username); + // 根据项目部id查询工程信息 + if (StringUtils.isNotBlank(departId)) { + List projectIdList = selectMapper.getProjectId(departId); + if (!CollectionUtils.isEmpty(projectIdList)) { + leaseApplyInfo.setProjectIdList(projectIdList); + } + } List list = mapper.getPublishList(leaseApplyInfo); if (!CollectionUtils.isEmpty(list)) { String keyWord = leaseApplyInfo.getKeyWord(); diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/back/BackApplyInfoMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/back/BackApplyInfoMapper.xml index cbefe7b8..b9791a87 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/back/BackApplyInfoMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/back/BackApplyInfoMapper.xml @@ -457,6 +457,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND ba.project_id = #{proId} + GROUP BY mm.ma_id + diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseTaskMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseTaskMapper.xml index 257632ab..c21c0934 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseTaskMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseTaskMapper.xml @@ -759,10 +759,8 @@ FROM lease_apply_details lad LEFT JOIN ma_type mt ON lad.type_id = mt.type_id - AND mt.`level` = '4' AND mt.del_flag = '0' LEFT JOIN ma_type mt2 ON mt2.type_id = mt.parent_id - AND mt2.`level` = '3' AND mt2.del_flag = '0' LEFT JOIN ( SELECT parent_id, type_id, sum( num ) AS num FROM lease_publish_details GROUP BY parent_id, type_id ) a ON a.parent_id = lad.parent_id AND a.type_id = lad.type_id @@ -1052,4 +1050,11 @@ where unit_id = #{unitId} and project_id = #{projectId} limit 1 + diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/materialStation/ProAuthorizeMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/materialStation/ProAuthorizeMapper.xml index 2c7f59a9..e0921657 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/materialStation/ProAuthorizeMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/materialStation/ProAuthorizeMapper.xml @@ -113,6 +113,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND DATE_FORMAT( lai.create_time, '%Y-%m-%d' ) BETWEEN #{startTime} AND #{endTime} + + and bp.external_id in + + #{item} + + GROUP BY lai.id ORDER BY tt.task_status,tt.create_time desc