From 5c540d2cf1fe89ca1b72aaaf1bf88523fc11e4bf Mon Sep 17 00:00:00 2001 From: mashuai Date: Tue, 9 Sep 2025 12:10:21 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=9F=E8=83=BD=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MaterialLeaseInfoController.java | 11 ++++ .../clz/mapper/MaterialLeaseInfoMapper.java | 14 +++++ .../clz/service/MaterialLeaseInfoService.java | 6 ++ .../MaterialBackApplyInfoServiceImpl.java | 6 +- .../impl/MaterialLeaseInfoServiceImpl.java | 37 +++++++++++-- .../impl/MaterialMachineServiceImpl.java | 22 ++++---- .../material/common/mapper/SelectMapper.java | 9 +-- .../service/impl/SelectServiceImpl.java | 2 +- .../service/impl/ProAuthorizeServiceImpl.java | 4 +- .../material/clz/MaterialLeaseInfoMapper.xml | 55 ++++++++++++++++++- .../mapper/material/common/SelectMapper.xml | 23 +++++--- 11 files changed, 156 insertions(+), 33 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/controller/MaterialLeaseInfoController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/controller/MaterialLeaseInfoController.java index 60b8f92e..69c86d59 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/controller/MaterialLeaseInfoController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/controller/MaterialLeaseInfoController.java @@ -245,6 +245,17 @@ public class MaterialLeaseInfoController extends BaseController { return materialLeaseInfoService.getInfoByQrcode(bmQrcodeInfo); } + /** + * OCR出库:根据code查询在库机具信息 + * @param bmQrcodeInfo + * @return + */ + @ApiOperation(value = "根据code查询在库机具信息") + @GetMapping("/getInfoByCode") + public AjaxResult getInfoByCode(BmQrcodeInfo bmQrcodeInfo) { + return materialLeaseInfoService.getInfoByCode(bmQrcodeInfo); + } + /** * app领料出库提交 * @param leaseApplyDetails diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/mapper/MaterialLeaseInfoMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/mapper/MaterialLeaseInfoMapper.java index f93c2245..75388c1e 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/mapper/MaterialLeaseInfoMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/mapper/MaterialLeaseInfoMapper.java @@ -357,4 +357,18 @@ public interface MaterialLeaseInfoMapper { * @return */ List getTaskIds(Long[] ids); + + /** + * ocr出库:根据code查询在库机具信息 + * @param bmQrcodeInfo + * @return + */ + List getMaCodeList(BmQrcodeInfo bmQrcodeInfo); + + /** + * ocr出库:根据code查询在库机具信息 + * @param bmQrcodeInfo + * @return + */ + List getInfoByCode(BmQrcodeInfo bmQrcodeInfo); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/service/MaterialLeaseInfoService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/service/MaterialLeaseInfoService.java index 3a9a31c0..93adabec 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/service/MaterialLeaseInfoService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/service/MaterialLeaseInfoService.java @@ -152,4 +152,10 @@ public interface MaterialLeaseInfoService { */ AjaxResult getPickList(MaterialLeaseApplyInfo leaseApplyInfo); + /** + * OCR出库:根据code查询在库机具信息 + * @param bmQrcodeInfo + * @return + */ + AjaxResult getInfoByCode(BmQrcodeInfo bmQrcodeInfo); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/service/impl/MaterialBackApplyInfoServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/service/impl/MaterialBackApplyInfoServiceImpl.java index f413b144..99e9c382 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/service/impl/MaterialBackApplyInfoServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/service/impl/MaterialBackApplyInfoServiceImpl.java @@ -91,7 +91,7 @@ public class MaterialBackApplyInfoServiceImpl implements MaterialBackApplyInfoSe teamData = materialMachineMapper.getTeamData(username); if (teamData == null) { // 根据用户名查询项目部信息 - String departId = mapper.getDepartId(username); + List departId = mapper.getDepartId(username); // 根据项目部id查询工程信息 List projectIdList = mapper.getProjectId(departId); if (!org.springframework.util.CollectionUtils.isEmpty(projectIdList)) { @@ -204,7 +204,7 @@ public class MaterialBackApplyInfoServiceImpl implements MaterialBackApplyInfoSe teamData = materialMachineMapper.getTeamData(username); if (teamData == null) { // 根据用户名查询项目部信息 - String departId = mapper.getDepartId(username); + List departId = mapper.getDepartId(username); // 根据项目部id查询工程信息 List projectIdList = mapper.getProjectId(departId); if (!org.springframework.util.CollectionUtils.isEmpty(projectIdList)) { @@ -572,7 +572,7 @@ public class MaterialBackApplyInfoServiceImpl implements MaterialBackApplyInfoSe teamData = materialMachineMapper.getTeamData(username); if (teamData == null) { // 根据用户名查询项目部信息 - String departId = mapper.getDepartId(username); + List departId = mapper.getDepartId(username); // 根据项目部id查询工程信息 List projectIdList = mapper.getProjectId(departId); if (!org.springframework.util.CollectionUtils.isEmpty(projectIdList)) { diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/service/impl/MaterialLeaseInfoServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/service/impl/MaterialLeaseInfoServiceImpl.java index 76e4e114..ea9c0c46 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/service/impl/MaterialLeaseInfoServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/service/impl/MaterialLeaseInfoServiceImpl.java @@ -111,7 +111,7 @@ public class MaterialLeaseInfoServiceImpl implements MaterialLeaseInfoService { teamData = materialMachineMapper.getTeamData(username); if (teamData == null) { // 根据用户名查询项目部信息 - String departId = mapper.getDepartId(username); + List departId = mapper.getDepartId(username); // 根据项目部id查询工程信息 List projectIdList = mapper.getProjectId(departId); if (!CollectionUtils.isEmpty(projectIdList)) { @@ -231,7 +231,7 @@ public class MaterialLeaseInfoServiceImpl implements MaterialLeaseInfoService { teamData = materialMachineMapper.getTeamData(username); if (teamData == null) { // 根据用户名查询项目部信息 - String departId = mapper.getDepartId(username); + List departId = mapper.getDepartId(username); // 根据项目部id查询工程信息 List projectIdList = mapper.getAllProjectList(departId); if (!CollectionUtils.isEmpty(projectIdList)) { @@ -784,7 +784,7 @@ public class MaterialLeaseInfoServiceImpl implements MaterialLeaseInfoService { BmTeam teamData = materialMachineMapper.getTeamData(username); if (teamData == null) { // 根据用户名查询项目部信息 - String departId = mapper.getDepartId(username); + List departId = mapper.getDepartId(username); // 根据项目部id查询工程信息 List projectIdList = mapper.getProjectId(departId); if (!CollectionUtils.isEmpty(projectIdList)) { @@ -1232,7 +1232,7 @@ public class MaterialLeaseInfoServiceImpl implements MaterialLeaseInfoService { teamData = materialMachineMapper.getTeamData(username); if (teamData == null) { // 根据用户名查询项目部信息 - String departId = mapper.getDepartId(username); + List departId = mapper.getDepartId(username); // 根据项目部id查询工程信息 List projectIdList = mapper.getProjectId(departId); if (!org.springframework.util.CollectionUtils.isEmpty(projectIdList)) { @@ -1607,6 +1607,35 @@ public class MaterialLeaseInfoServiceImpl implements MaterialLeaseInfoService { } } + /** + * OCR出库:根据code查询在库机具信息 + * @param bmQrcodeInfo + * @return + */ + @Override + public AjaxResult getInfoByCode(BmQrcodeInfo bmQrcodeInfo) { + if (StringUtils.isBlank(bmQrcodeInfo.getMaCode())) { + return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), "设备编码不能为空"); + } + // 根据Code查询数据 + List clzList = materialLeaseInfoMapper.getMaCodeList(bmQrcodeInfo); + List recordList = materialLeaseInfoMapper.getInfoByCode(bmQrcodeInfo); + // 判断是否符合出库条件(假设业务规则是:clzList为空且recordList不为空) + boolean isValid = CollectionUtil.isEmpty(clzList) && CollectionUtil.isNotEmpty(recordList); + // 构建结果消息 + String msg = isValid + ? "监测到" + bmQrcodeInfo.getQrCode() + "符合出库条件,请确认是否出库!" + : "监测到" + bmQrcodeInfo.getQrCode() + "编码不符合出库条件,请检查后重新提交!"; + if (!isValid) { + recordList = new ArrayList<>(); + } + // 返回包含设备列表和消息的结果 + Map result = new HashMap<>(2); + result.put("recordList", recordList); + result.put("msg", msg); + return AjaxResult.success(result); + } + /** * 插入领料任务 * @param createBy diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/service/impl/MaterialMachineServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/service/impl/MaterialMachineServiceImpl.java index 29e9b309..750382d6 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/service/impl/MaterialMachineServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/service/impl/MaterialMachineServiceImpl.java @@ -69,7 +69,7 @@ public class MaterialMachineServiceImpl implements MaterialMachineService { teamData = materialMachineMapper.getTeamData(username); if (teamData == null) { // 根据用户名查询项目部信息 - String departId = mapper.getDepartId(username); + List departId = mapper.getDepartId(username); // 根据项目部id查询工程信息 List projectIdList = mapper.getProjectId(departId); if (!org.springframework.util.CollectionUtils.isEmpty(projectIdList)) { @@ -155,7 +155,7 @@ public class MaterialMachineServiceImpl implements MaterialMachineService { BmTeam teamData = materialMachineMapper.getTeamData(username); if (teamData == null) { // 根据用户名查询项目部信息 - String departId = mapper.getDepartId(username); + List departId = mapper.getDepartId(username); // 根据项目部id查询工程信息 List projectIdList = mapper.getProjectId(departId); if (!org.springframework.util.CollectionUtils.isEmpty(projectIdList)) { @@ -306,7 +306,7 @@ public class MaterialMachineServiceImpl implements MaterialMachineService { BmTeam teamData = materialMachineMapper.getTeamData(username); if (teamData == null) { // 根据用户名查询项目部信息 - String departId = mapper.getDepartId(username); + List departId = mapper.getDepartId(username); // 根据项目部id查询工程信息 List projectIdList = mapper.getProjectId(departId); if (!org.springframework.util.CollectionUtils.isEmpty(projectIdList)) { @@ -381,7 +381,7 @@ public class MaterialMachineServiceImpl implements MaterialMachineService { BmTeam teamData = materialMachineMapper.getTeamData(username); if (teamData == null) { // 根据用户名查询项目部信息 - String departId = mapper.getDepartId(username); + List departId = mapper.getDepartId(username); // 根据项目部id查询工程信息 List projectIdList = mapper.getProjectId(departId); if (!org.springframework.util.CollectionUtils.isEmpty(projectIdList)) { @@ -464,8 +464,8 @@ public class MaterialMachineServiceImpl implements MaterialMachineService { BmTeam teamData = materialMachineMapper.getTeamData(username); if (teamData == null) { // 根据用户名查询项目部信息 - String departId = mapper.getDepartId(username); - if (StringUtils.isBlank(departId)) { + List departId = mapper.getDepartId(username); + if (CollectionUtils.isEmpty(departId)) { return new MaterialRetainedEquipmentInfo(); } // 根据项目部id查询工程信息 @@ -619,10 +619,10 @@ public class MaterialMachineServiceImpl implements MaterialMachineService { public List getTeamNumList(MaterialRetainedEquipmentInfo bean) { String username = SecurityUtils.getLoginUser().getUsername(); // 根据用户名查询项目部信息 - String departId = mapper.getDepartId(username); + List departId = mapper.getDepartId(username); // 根据项目部id查询工程信息 List teamNumList = materialMachineMapper.getTeamNumList(bean); - if (StringUtils.isNotBlank(departId)) { + if (CollectionUtils.isEmpty(departId)) { List projectIdList = mapper.getProjectId(departId); List list = mapper.getProjectInfo(new BmProject()); if (CollectionUtils.isNotEmpty(list) && CollectionUtils.isNotEmpty(projectIdList)) { @@ -723,8 +723,8 @@ public class MaterialMachineServiceImpl implements MaterialMachineService { public AjaxResult getAgreementId(MaterialRetainedEquipmentInfo bean) { String username = SecurityUtils.getLoginUser().getUsername(); // 根据用户名查询项目部信息 - String departId = mapper.getDepartId(username); - if (StringUtils.isBlank(departId)) { + List departId = mapper.getDepartId(username); + if (CollectionUtils.isEmpty(departId)) { return AjaxResult.success(); } // 根据项目部id查询工程信息 @@ -769,7 +769,7 @@ public class MaterialMachineServiceImpl implements MaterialMachineService { teamData = materialMachineMapper.getTeamData(username); if (teamData == null) { // 根据用户名查询项目部信息 - String departId = mapper.getDepartId(username); + List departId = mapper.getDepartId(username); // 根据项目部id查询工程信息 List projectIdList = mapper.getProjectId(departId); if (!org.springframework.util.CollectionUtils.isEmpty(projectIdList)) { diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/common/mapper/SelectMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/common/mapper/SelectMapper.java index 931bdba6..56110232 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/common/mapper/SelectMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/common/mapper/SelectMapper.java @@ -11,6 +11,7 @@ import com.bonus.material.common.domain.dto.SelectDto; import com.bonus.material.common.domain.vo.AgreementVo; import com.bonus.material.common.domain.vo.SelectVo; import com.bonus.material.materialStation.domain.ProAuthorizeInfo; +import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; import java.util.List; @@ -247,14 +248,14 @@ public interface SelectMapper { * @param username * @return */ - String getDepartId(String username); + List getDepartId(String username); /** * 根据项目部id查询工程信息 * @param departId * @return */ - List getProjectId(String departId); + List getProjectId(@Param("list") List departId); /** * 获取材料站退料往来单位id和标段工程id获取协议信息 @@ -321,12 +322,12 @@ public interface SelectMapper { * @param departId * @return */ - List getAllProjectList(String departId); + List getAllProjectList(@Param("list") List departId); /** * 获取在建工程信息 * @param departId * @return */ - List getInProject(String departId); + List getInProject(@Param("list") List departId); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/common/service/impl/SelectServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/common/service/impl/SelectServiceImpl.java index 199a944e..fa89ca4c 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/common/service/impl/SelectServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/common/service/impl/SelectServiceImpl.java @@ -255,7 +255,7 @@ public class SelectServiceImpl implements SelectService { public AjaxResult getProjectInfo(BmProject bmProject) { String username = SecurityUtils.getLoginUser().getUsername(); // 根据用户名查询项目部信息 - String departId = mapper.getDepartId(username); + List departId = mapper.getDepartId(username); // 根据项目部id查询工程信息 List projectIdList = mapper.getProjectId(departId); List list = new ArrayList<>(); 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 6daf508b..243c5852 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 @@ -69,9 +69,9 @@ public class ProAuthorizeServiceImpl implements ProAuthorizeService { try { String username = SecurityUtils.getLoginUser().getUsername(); // 根据用户名查询项目部信息 - String departId = selectMapper.getDepartId(username); + List departId = selectMapper.getDepartId(username); // 根据项目部id查询工程信息 - if (StringUtils.isNotBlank(departId)) { + if (!CollectionUtils.isEmpty(departId)) { List projectIdList = selectMapper.getAllProjectList(departId); if (!CollectionUtils.isEmpty(projectIdList)) { leaseApplyInfo.setProjectIdList(projectIdList); diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/clz/MaterialLeaseInfoMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/clz/MaterialLeaseInfoMapper.xml index 3528e39d..4e3fd027 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/clz/MaterialLeaseInfoMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/clz/MaterialLeaseInfoMapper.xml @@ -780,7 +780,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" LEFT JOIN ma_type mt1 ON mt.parent_id = mt1.type_id AND mt1.del_flag = '0' where - bu.type_id = '36' + bu.type_id in (32, 36) AND bp.pro_id = #{proId} AND sai.`status` = '0' and mm.qr_code = #{qrCode} @@ -1211,4 +1211,57 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{id} + + + + \ No newline at end of file diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/common/SelectMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/common/SelectMapper.xml index 53a55bba..709b8f15 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/common/SelectMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/common/SelectMapper.xml @@ -606,9 +606,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" `data_center`.dx_fb_son WHERE project_status in ('在建', '开工准备') - - AND project_dept_id = #{departId} - + + AND project_dept_id IN + + #{item} + +