From a2a25fe20f61a721bb90479bcead9dc0d791e5a8 Mon Sep 17 00:00:00 2001 From: mashuai Date: Wed, 27 Aug 2025 21:55:56 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ma/service/impl/MachineServiceImpl.java | 4 +- .../part/mapper/PartArrivedMapper.java | 7 ++++ .../service/impl/PartArrivedServiceImpl.java | 16 +++++--- .../impl/RepairInputDetailsServiceImpl.java | 39 ++++++++++++++++--- .../mapper/material/ma/MachineMapper.xml | 9 ++++- .../material/part/PartArrivedMapper.xml | 20 +++++++++- .../repair/RepairInputDetailsMapper.xml | 10 ++++- 7 files changed, 88 insertions(+), 17 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/MachineServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/MachineServiceImpl.java index 3a1275a5..cf6dcd9d 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/MachineServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/MachineServiceImpl.java @@ -368,7 +368,7 @@ public class MachineServiceImpl implements IMachineService // 根据maid查询领料任务 LeaseApplyInfo leaseInfo = machineMapper.getLeaseParentId(machine); - if (leaseInfo.getParentId() == null){ + if (leaseInfo == null || leaseInfo.getParentId() == null){ baseInfo.setLeaseTime(null); baseInfo.setLeaseUnit(null); baseInfo.setLeaseProject(null); @@ -381,7 +381,7 @@ public class MachineServiceImpl implements IMachineService // 根据maid查询退料任务 LeaseApplyInfo leaseInfoBack = machineMapper.getBackParentId(machine); - if (leaseInfoBack.getParentId() == null){ + if (leaseInfoBack == null || leaseInfoBack.getParentId() == null){ baseInfo.setBackTime(null); baseInfo.setBackUnit(null); baseInfo.setBackProject(null); diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/part/mapper/PartArrivedMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/part/mapper/PartArrivedMapper.java index feba904d..db714a75 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/part/mapper/PartArrivedMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/part/mapper/PartArrivedMapper.java @@ -125,4 +125,11 @@ public interface PartArrivedMapper * @return */ int updateTaskStatus(@Param("taskId") Long taskId,@Param("status") Integer status); + + /** + * 修改采购配件主表 + * @param partTypeCheckInfo + * @return + */ + int updatePurchaseCheckInfo(PartTypeCheckInfo partTypeCheckInfo); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/part/service/impl/PartArrivedServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/part/service/impl/PartArrivedServiceImpl.java index feeb8808..44086ced 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/part/service/impl/PartArrivedServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/part/service/impl/PartArrivedServiceImpl.java @@ -105,6 +105,7 @@ public class PartArrivedServiceImpl implements IPartArrivedService @Transactional public AjaxResult insertPartTypeCheckInfo(PartTypeCheckDto partTypeCheckDto) { partTypeCheckDto.getPartTypeCheckInfo().setCreateTime(DateUtils.getNowDate()); + partTypeCheckDto.getPartTypeCheckInfo().setPurchaseTime(DateUtils.getNowDate()); partTypeCheckDto.getPartTypeCheckInfo().setCreateBy(SecurityUtils.getLoginUser().getSysUser().getNickName()); try { final int thisMonthMaxOrder = partArrivedMapper.getMonthMaxOrderByDate(DateUtils.getCurrentYear(), DateUtils.getCurrentMonth(), TmTaskTypeEnum.TM_TASK_PART_TYPE.getTaskTypeId()); @@ -237,17 +238,17 @@ public class PartArrivedServiceImpl implements IPartArrivedService BigDecimal inputNum = new BigDecimal(0); BigDecimal purchasePrice = new BigDecimal(0); BigDecimal purchaseTaxPrice = new BigDecimal(0); - String partName = ""; + Set partNameSet = new HashSet<>(); for (int j = 0; j < partTypeCheckDetails.size(); j++) { purchaseNum = purchaseNum.add(partTypeCheckDetails.get(j).getPurchaseNum()); inputNum = inputNum.add(partTypeCheckDetails.get(j).getInputNum()); purchasePrice = purchasePrice.add(partTypeCheckDetails.get(j).getPurchasePrice().multiply(partTypeCheckDetails.get(j).getPurchaseNum())); purchaseTaxPrice = purchaseTaxPrice.add(partTypeCheckDetails.get(j).getPurchaseTaxPrice().multiply(partTypeCheckDetails.get(j).getPurchaseNum())); - partName = partName + partTypeCheckDetails.get(j).getMaTypeName(); - if (j < partTypeCheckDetails.size() - 1) { - partName += ","; - } + // 将名称添加到Set中(自动去重) + partNameSet.add(partTypeCheckDetails.get(j).getMaTypeName()); } + // 将Set中的元素用逗号拼接成字符串 + String partName = String.join(",", partNameSet); partTypeCheckInfos.get(i).setInputMaNumber(inputNum); partTypeCheckInfos.get(i).setPurchaseMaNumber(purchaseNum); partTypeCheckInfos.get(i).setPurchasePrice(purchasePrice); @@ -402,6 +403,11 @@ public class PartArrivedServiceImpl implements IPartArrivedService } partArrivedMapper.deletePartTypeCheckDetailsByParentIds(partTypeCheckDto.getPartTypeCheckInfo().getTaskId()); if (ids.length > 0) { + // 修改采购配件主表 + int res = partArrivedMapper.updatePurchaseCheckInfo(partTypeCheckDto.getPartTypeCheckInfo()); + if (res == 0) { + throw new ServiceException("修改失败"); + } insertPartTypeCheckDetails(partTypeCheckDto.getPartTypeCheckDetailsList(), partTypeCheckDto.getPartTypeCheckInfo().getTaskId()); } return true; diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairInputDetailsServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairInputDetailsServiceImpl.java index 920d2600..012cf75e 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairInputDetailsServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairInputDetailsServiceImpl.java @@ -335,14 +335,14 @@ public class RepairInputDetailsServiceImpl implements IRepairInputDetailsService */ @Override public AjaxResult getInfoByQrcode(BmQrcodeInfo bmQrcodeInfo) { - if (bmQrcodeInfo.getQrCode() == null) { - return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), "二维码code不能为空"); + if (bmQrcodeInfo.getQrCode() == null && bmQrcodeInfo.getMaCode() == null) { + return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), "编码或二维码code不能为空"); } List recordList = repairInputDetailsMapper.getInfoByQrcode(bmQrcodeInfo); if (CollectionUtil.isNotEmpty(recordList)) { return AjaxResult.success(recordList); } - return AjaxResult.error(HttpCodeEnum.SYSTEM_ERROR.getCode(), "该二维码处于非修试待入库状态"); + return AjaxResult.error(HttpCodeEnum.SYSTEM_ERROR.getCode(), "该编码处于非修试待入库状态"); } /** @@ -781,8 +781,11 @@ public class RepairInputDetailsServiceImpl implements IRepairInputDetailsService //1查询入参设备是否为待入库设备 RepairInputDetails inputInfo = new RepairInputDetails(); - - inputInfo = checkMachineStatus(inputApplyDetails.getQrCode()); + if (StringUtils.isNotBlank(inputApplyDetails.getMaCode())) { + inputInfo = checkCodeMachineStatus(inputApplyDetails.getMaCode()); + } else { + inputInfo = checkMachineStatus(inputApplyDetails.getQrCode()); + } if(inputInfo ==null){ throw new ServiceException("设备不是修试后待入库状态"); } @@ -808,6 +811,32 @@ public class RepairInputDetailsServiceImpl implements IRepairInputDetailsService return result; } + /** + * 修饰入库之编码入库 + * @param maCode + * @return + */ + private RepairInputDetails checkCodeMachineStatus(String maCode) { + RepairInputDetails inputInfo = new RepairInputDetails(); + + Machine ma = new Machine(); + ma.setMaCode(maCode); + Machine ma2 = machineMapper.selectMachineByQrCode(ma); + long maId = ma2.getMaId(); + + String status = ma2.getMaStatus(); + if("5".equals(status)){ + InputApplyDetails inputApplyDetails = new InputApplyDetails(); + inputApplyDetails.setMaId(maId); + inputInfo = repairInputDetailsMapper.selectInputInfoByMaId(inputApplyDetails); + + + }else{ + inputInfo = null; + } + return inputInfo; + } + @Override @Transactional(rollbackFor = Exception.class) public int sanQrBoxInput(RepairInputDetails repairInputDetails) { diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/MachineMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/MachineMapper.xml index 7f8c9755..fa0d0ac6 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/MachineMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/MachineMapper.xml @@ -622,8 +622,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" FROM ma_machine mm WHERE - mm.qr_code = #{qrCode} - + 1 = 1 + + and mm.qr_code = #{qrCode} + + + and mm.ma_code LIKE CONCAT('%',#{maCode},'%') + select DISTINCT m.pa_id as partId, m.pa_name as partName, m.parent_id as parentId, m.unit_id as unitId, m.unit_name as unitName, m.storage_num as storageNum, m.rent_price as rentPrice, m.buy_price as buyPrice, m.level,m.del_flag as delFlag,m.remark @@ -130,7 +147,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/repair/RepairInputDetailsMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/repair/RepairInputDetailsMapper.xml index 4e73b453..fc21b03f 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/repair/RepairInputDetailsMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/repair/RepairInputDetailsMapper.xml @@ -331,7 +331,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" LEFT JOIN repair_apply_details rad ON rad.id = rid.repair_id LEFT JOIN tm_task tt1 on rad.task_id = tt1.task_id WHERE - mm.ma_status = '5' and mm.qr_code = #{qrCode} + rid.`status` = '0' and mm.ma_status = '5' + + and mm.qr_code = #{qrCode} + + + and mm.ma_code like concat('%',#{maCode},'%') + @@ -491,7 +497,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"