From 660c43592b0dc4971d54cc159a5c09339e6c3fbc Mon Sep 17 00:00:00 2001 From: syruan <321359594@qq.com> Date: Thu, 26 Dec 2024 17:10:21 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E7=BB=B4=E4=BF=AE=E3=80=81=E7=BB=B4?= =?UTF-8?q?=E4=BF=AE=E5=AE=A1=E6=A0=B8=E3=80=81=E6=8A=A5=E5=BA=9F=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../material/repair/domain/RepairTask.java | 3 ++ .../repair/domain/vo/ScrapApplyDetailsVO.java | 3 ++ .../impl/RepairAuditDetailsServiceImpl.java | 10 ++++-- .../service/impl/RepairServiceImpl.java | 33 +++++++++++-------- .../repair/RepairAuditDetailsMapper.xml | 7 ++-- .../mapper/material/repair/RepairMapper.xml | 4 +-- .../material/task/TmTaskAgreementMapper.xml | 4 +-- 7 files changed, 39 insertions(+), 25 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/RepairTask.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/RepairTask.java index 8db4727a..a3802945 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/RepairTask.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/RepairTask.java @@ -20,6 +20,9 @@ public class RepairTask { @ApiModelProperty(value = "任务id") private Long taskId; + @ApiModelProperty(value = "前置任务id") + private Long preTaskId; + @ApiModelProperty(value = "任务状态") private Integer taskStatus; diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/vo/ScrapApplyDetailsVO.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/vo/ScrapApplyDetailsVO.java index 8daf2d61..74aa4e1b 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/vo/ScrapApplyDetailsVO.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/vo/ScrapApplyDetailsVO.java @@ -24,6 +24,9 @@ public class ScrapApplyDetailsVO { @Excel(name = "报废审核单号",sort = 1) private String scrapNum; + @ApiModelProperty(value = "维修任务单号") + private String repairTaskCode; + /** * 单位名称 */ diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairAuditDetailsServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairAuditDetailsServiceImpl.java index 3670c119..d119718d 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairAuditDetailsServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairAuditDetailsServiceImpl.java @@ -485,18 +485,21 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService String status = repairAuditDetails.get(0).getStatus(); // 1通过 2驳回 if ("1".equals(status)) { for (RepairAuditDetails repairAuditDetail : repairAuditDetails) { + // 删除repair_input_details 维修入库明细? repairInputDetailsMapper.deleteRepairInputDetailsByTaskId(repairAuditDetail.getTaskId()); + // 查询协议ID Long agreementId = taskAgreementMapper.selectAgreementIdByTaskId(repairAuditDetail.getTaskId()); - List taskIdList = new ArrayList<>(); - taskIdList.add(repairAuditDetail.getTaskId()); - List repairAuditDetailList = repairAuditDetailsMapper.selectRepairAuditDetailsByTaskIds(taskIdList); + // 查询维修审核明细 + List repairAuditDetailList = repairAuditDetailsMapper.selectRepairAuditDetailsByTaskIds(Collections.singletonList(repairAuditDetail.getTaskId())); batchInsertRepairInputDetails(repairAuditDetailList, agreementId); + taskMapper.updateTaskStatus(String.valueOf(repairAuditDetail.getTaskId()), RepairTaskStatusEnum.TASK_STATUS_REVIEW.getStatus()); } } else if ("2".equals(status)) { for (RepairAuditDetails auditDetails : repairAuditDetails) { repairApplyDetailsMapper.updateRepairApplyDetailsAfterReject( ObjectUtils.defaultIfNull(auditDetails.getRepairedNum(),0).longValue(), ObjectUtils.defaultIfNull(auditDetails.getScrapNum(),0).longValue(), auditDetails.getRepairId()); + taskMapper.updateTaskStatus(String.valueOf(auditDetails.getTaskId()), RepairTaskStatusEnum.TASK_STATUS_NO_REVIEW.getStatus()); } } @@ -574,6 +577,7 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService inputVo.setCreateBy(SecurityUtils.getUserId().toString()); inputList.add(inputVo); } + // 插入维修入库明细 repairInputDetailsMapper.batchInsertRepairInputDetails(inputList); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairServiceImpl.java index d01565a1..3b7e6082 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairServiceImpl.java @@ -817,9 +817,9 @@ public class RepairServiceImpl implements RepairService { // 查询维修任务的详情表 Long oldWxTaskId = task.getTaskId(); List detailsList = repairApplyDetailsMapper.getRepairDetailsWhichNotSent(oldWxTaskId); - BigDecimal thisRepairedNum = detailsList.stream().map(RepairTaskDetails::getThisRepairedNum).reduce(BigDecimal.ZERO, BigDecimal::add); - BigDecimal thisScrapNum = detailsList.stream().map(RepairTaskDetails::getThisScrapNum).reduce(BigDecimal.ZERO, BigDecimal::add); - if (!CollectionUtils.isEmpty(detailsList) && (thisRepairedNum.add(thisScrapNum)).compareTo(BigDecimal.valueOf(0)) > 0) { + BigDecimal thisRepairedNum = detailsList.stream().map(RepairTaskDetails::getRepairedNum).reduce(BigDecimal.ZERO, BigDecimal::add); + BigDecimal thisScrapNum = detailsList.stream().map(RepairTaskDetails::getScrapNum).reduce(BigDecimal.ZERO, BigDecimal::add); + if (!CollectionUtils.isEmpty(detailsList) && (thisRepairedNum.add(thisScrapNum)).compareTo(BigDecimal.ZERO) > 0) { task.setCreateBy(loginUser.getUserid()); Long agreementId = repairMapper.getAgreementId(task); // 新增tm_task表数据、修饰审核任务、状态是待审核 @@ -829,6 +829,8 @@ public class RepairServiceImpl implements RepairService { // 生成维修单号 String code = genderWxTaskCode(thisMonthMaxOrder); task.setRepairCode(code); + // 插入之前的维修任务id标记前置任务 + task.setPreTaskId(task.getTaskId()); // 注意:此处将会生成新的 taskId (审核入库用的) repairMapper.addTask(task); // 新增协议任务表tm_task_agreement--关联修饰任务与协议 @@ -837,23 +839,28 @@ public class RepairServiceImpl implements RepairService { // 新增审计记录 for (RepairTaskDetails details : detailsList) { - RepairApplyDetails repairApplyDetails = new RepairApplyDetails(); - repairApplyDetails.setId(details.getId()); - repairApplyDetails.setRepairedNum( (details.getRepairedNum().add(details.getThisRepairedNum()) )); - repairApplyDetails.setThisRepairedNum(BigDecimal.valueOf(0)); - repairApplyDetails.setScrapNum( (details.getScrapNum().add( details.getThisScrapNum()))); - repairApplyDetails.setThisScrapNum(BigDecimal.valueOf(0)); + RepairApplyDetails repairApplyDetails = createRepairDetailsCope(details); repairApplyDetailsMapper.updateRepairApplyDetails(repairApplyDetails); details.setCreateBy(String.valueOf(loginUser.getUserid())); details.setTaskId(task.getTaskId()); - details.setRepairNum(details.getThisRepairedNum().add(details.getThisScrapNum()) ); - details.setRepairedNum(details.getThisRepairedNum()); - details.setScrapNum(details.getThisScrapNum()); + details.setRepairNum(details.getRepairNum()); + details.setRepairedNum(details.getRepairedNum()); + details.setScrapNum(details.getScrapNum()); repairMapper.addAuditDetails(details); } } } - return AjaxResult.success(); + return AjaxResult.success("执行完毕"); + } + + private static RepairApplyDetails createRepairDetailsCope(RepairTaskDetails details) { + RepairApplyDetails repairApplyDetails = new RepairApplyDetails(); + repairApplyDetails.setId(details.getId()); + repairApplyDetails.setRepairedNum( (details.getRepairedNum().add(details.getThisRepairedNum()) )); + repairApplyDetails.setThisRepairedNum(BigDecimal.valueOf(0)); + repairApplyDetails.setScrapNum( (details.getScrapNum().add( details.getThisScrapNum()))); + repairApplyDetails.setThisScrapNum(BigDecimal.valueOf(0)); + return repairApplyDetails; } /** diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/repair/RepairAuditDetailsMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/repair/RepairAuditDetailsMapper.xml index 38eb4fb9..e8063c26 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/repair/RepairAuditDetailsMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/repair/RepairAuditDetailsMapper.xml @@ -296,7 +296,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/repair/RepairMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/repair/RepairMapper.xml index db272a64..a88852bd 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/repair/RepairMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/repair/RepairMapper.xml @@ -12,8 +12,8 @@ - insert into tm_task (task_status,task_type,code,create_by,create_time,company_id) - values (#{taskStatus},#{taskType},#{repairCode},#{createBy},now(),#{companyId}); + insert into tm_task (pre_task_id,task_status,task_type,code,create_by,create_time,company_id) + values (#{preTaskId},#{taskStatus},#{taskType},#{repairCode},#{createBy},now(),#{companyId}); diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/task/TmTaskAgreementMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/task/TmTaskAgreementMapper.xml index dbc8f6ce..d5777b67 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/task/TmTaskAgreementMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/task/TmTaskAgreementMapper.xml @@ -102,8 +102,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" \ No newline at end of file From 4493caf70544be8dc4e8dee2f3075dd346b46313 Mon Sep 17 00:00:00 2001 From: syruan <321359594@qq.com> Date: Thu, 26 Dec 2024 18:10:24 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E6=96=B0=E8=B4=AD=E9=AA=8C=E6=94=B6?= =?UTF-8?q?=E7=BB=91=E5=AE=9A=E9=80=BB=E8=BE=91=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../purchase/mapper/PurchaseBindMapper.java | 6 +++ .../service/impl/PurchaseBindServiceImpl.java | 42 ++++++++++--------- .../impl/RepairAuditDetailsServiceImpl.java | 39 ++++++++--------- .../material/purchase/PurchaseBindMapper.xml | 4 ++ 4 files changed, 52 insertions(+), 39 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/mapper/PurchaseBindMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/mapper/PurchaseBindMapper.java index 51b3ebf9..f21256b5 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/mapper/PurchaseBindMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/mapper/PurchaseBindMapper.java @@ -41,6 +41,12 @@ public interface PurchaseBindMapper { */ List selectByCode(PurchaseDto purchaseDto); + /** + * 判断QrCode二维码是否绑定 + * @return true 已绑定 false 未绑定 + */ + boolean checkQrCodeIsBind(String qrCode); + /** * 新增绑定信息 * @param purchaseDto diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseBindServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseBindServiceImpl.java index ae2d63f8..5e75427c 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseBindServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseBindServiceImpl.java @@ -107,15 +107,14 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService { */ @Override public List getDetails(PurchaseDto dto) { - List list = purchaseBindMapper.getDetails(dto); - Map labelMap = remoteConfig.getDictValue("purchase_task_status"); + final List list = purchaseBindMapper.getDetails(dto); + final Map labelMap = remoteConfig.getDictValue("purchase_task_status"); if (CollectionUtils.isNotEmpty(list)) { - for (PurchaseVo purchaseVo : list) { + for (final PurchaseVo purchaseVo : list) { // 更新状态名称 - Integer status = purchaseVo.getStatus(); - if (status != null) { - String dictValue = labelMap.get(status.toString()); - purchaseVo.setStatusName(dictValue); + final Integer status = purchaseVo.getStatus(); + if (null != status) { + purchaseVo.setStatusName(labelMap.get(status.toString())); } } } @@ -131,48 +130,51 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService { @Transactional(rollbackFor = Exception.class) public AjaxResult bind(PurchaseDto dto) { //先查询提交的编码中是否存在重复提交 - long distinctCodes = dto.getDtoList().stream().map(PurchaseDto::getMaCode).distinct().count(); + final long distinctCodes = dto.getDtoList().stream().map(PurchaseDto::getMaCode).distinct().count(); if (distinctCodes < dto.getDtoList().size()) { return AjaxResult.error(1113,"提交的数据中设备编码存在重复,请勿重复添加"); } - for (PurchaseDto purchaseDto : dto.getDtoList()) { + for (final PurchaseDto purchaseDto : dto.getDtoList()) { //根据设备编码唯一校验 - List tbBdDeviceRecord = purchaseBindMapper.selectByCode(purchaseDto); + final List tbBdDeviceRecord = purchaseBindMapper.selectByCode(purchaseDto); + if (purchaseBindMapper.checkQrCodeIsBind(purchaseDto.getQrCode())) { + return AjaxResult.error(1114,"二维码已绑定物资,请勿重复绑定"); + } if (CollectionUtils.isNotEmpty(tbBdDeviceRecord)) { return AjaxResult.error(1114,"设备编码与库中重复,请勿重复添加"); } } - for (PurchaseDto purchaseDto : dto.getDtoList()) { + for (final PurchaseDto purchaseDto : dto.getDtoList()) { purchaseDto.setCreateBy(SecurityUtils.getUserId().toString()).setCreateTime(DateUtils.getNowDate()); purchaseDto.setTaskId(dto.getTaskId()).setTypeId(dto.getTypeId()).setStatus(0); - if (purchaseDto.getQrCode() != null) { - if (purchaseBindMapper.bindMaCodeByQrCode(purchaseDto) != 1) { + if (null != purchaseDto.getQrCode()) { + if (1 != purchaseBindMapper.bindMaCodeByQrCode(purchaseDto)) { return AjaxResult.error(1115,"绑定maCode时SQL执行失败!"); } } else { - if (dto.getTypeId() != null) { + if (null != dto.getTypeId()) { purchaseDto.setTypeId(dto.getTypeId()); } purchaseBindMapper.insert(purchaseDto); } - if (purchaseStorageMapper.insertMachine(purchaseDto) != 1) { + if (1 != purchaseStorageMapper.insertMachine(purchaseDto)) { return AjaxResult.error(1116,"插入maMachine时SQL执行失败!"); } } // 更新绑定数量,并刷新状态 - if (purchaseBindMapper.updateNum(dto, dto.getDtoList().size()) < 1) { + if (1 > purchaseBindMapper.updateNum(dto, dto.getDtoList().size())) { return AjaxResult.error(1117,"更新绑定数量时SQL执行失败!"); } else { purchaseBindMapper.updateStatusWhereNum(dto); } //根据任务id和类型id查询状态 - List voList = purchaseBindMapper.selectPurchaseCheckInfoById(dto); + final List voList = purchaseBindMapper.selectPurchaseCheckInfoById(dto); if (CollectionUtils.isNotEmpty(voList)) { - for (PurchaseVo purchaseVo : voList) { - if (purchaseVo.getBindNum().compareTo(purchaseVo.getCheckNum()) == 0) { + for (final PurchaseVo purchaseVo : voList) { + if (0 == purchaseVo.getBindNum().compareTo(purchaseVo.getCheckNum())) { purchaseBindMapper.updateStatusById(PurchaseTaskStatusEnum.TO_STORE.getStatus(), purchaseVo.getPurchaseId()); - } else if (purchaseVo.getBindNum().compareTo(purchaseVo.getCheckNum()) < 0) { + } else if (0 > purchaseVo.getBindNum().compareTo(purchaseVo.getCheckNum())) { purchaseBindMapper.updateStatusById(PurchaseTaskStatusEnum.TO_BIND.getStatus(), purchaseVo.getPurchaseId()); } else { // 抛出异常 执行回滚 diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairAuditDetailsServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairAuditDetailsServiceImpl.java index d119718d..9663ce97 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairAuditDetailsServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairAuditDetailsServiceImpl.java @@ -469,7 +469,7 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService */ @Override public int outerAudit(@NotNull List repairAuditDetails) { - List taskIds = repairAuditDetails.stream() + final List taskIds = repairAuditDetails.stream() .filter(Objects::nonNull) .map(RepairAuditDetails::getTaskId) .filter(Objects::nonNull) @@ -477,20 +477,21 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService if (taskIds.isEmpty()) { return 0; } - List repairAuditDetailsByQuery = repairAuditDetailsMapper.selectRepairAuditDetailsByTaskIds(taskIds); + final List repairAuditDetailsByQuery = repairAuditDetailsMapper.selectRepairAuditDetailsByTaskIds(taskIds); if (CollectionUtils.isEmpty(repairAuditDetailsByQuery)) { return 0; } - String status = repairAuditDetails.get(0).getStatus(); // 1通过 2驳回 + // 1:通过 2:驳回 0:未处理 + final String status = repairAuditDetails.get(0).getStatus(); if ("1".equals(status)) { - for (RepairAuditDetails repairAuditDetail : repairAuditDetails) { + for (final RepairAuditDetails repairAuditDetail : repairAuditDetails) { // 删除repair_input_details 维修入库明细? repairInputDetailsMapper.deleteRepairInputDetailsByTaskId(repairAuditDetail.getTaskId()); // 查询协议ID Long agreementId = taskAgreementMapper.selectAgreementIdByTaskId(repairAuditDetail.getTaskId()); // 查询维修审核明细 - List repairAuditDetailList = repairAuditDetailsMapper.selectRepairAuditDetailsByTaskIds(Collections.singletonList(repairAuditDetail.getTaskId())); + final List repairAuditDetailList = repairAuditDetailsMapper.selectRepairAuditDetailsByTaskIds(Collections.singletonList(repairAuditDetail.getTaskId())); batchInsertRepairInputDetails(repairAuditDetailList, agreementId); taskMapper.updateTaskStatus(String.valueOf(repairAuditDetail.getTaskId()), RepairTaskStatusEnum.TASK_STATUS_REVIEW.getStatus()); } @@ -503,15 +504,14 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService } } - try { - List ids = repairAuditDetailsByQuery.stream() + final List ids = repairAuditDetailsByQuery.stream() .filter(Objects::nonNull) .map(RepairAuditDetails::getId) .filter(Objects::nonNull) .collect(Collectors.toList()); return repairAuditDetailsMapper.updateRepairAuditDetailsBatch(ids, String.valueOf(status)); - } catch (Exception e) { + } catch (final Exception e) { throw new ServiceException("错误信息描述"); } } @@ -532,13 +532,14 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService if (ids.isEmpty()) { return 0; } - String status = repairAuditDetails.get(0).getStatus(); // 1通过 2驳回 + final RepairAuditDetails auditDetails1 = repairAuditDetails.get(0); + final String status = auditDetails1.getStatus(); // 1通过 2驳回 if ("1".equals(status)) { //根据任务id查询协议id - Long agreementId = taskAgreementMapper.selectAgreementIdByTaskId(repairAuditDetails.get(0).getTaskId()); + final Long agreementId = taskAgreementMapper.selectAgreementIdByTaskId(auditDetails1.getTaskId()); batchInsertRepairInputDetails(repairAuditDetails, agreementId); } else if ("2".equals(status)) { - for (RepairAuditDetails auditDetails : repairAuditDetails) { + for (final RepairAuditDetails auditDetails : repairAuditDetails) { repairApplyDetailsMapper.updateRepairApplyDetailsAfterReject( ObjectUtils.defaultIfNull(auditDetails.getRepairedNum(),0).longValue(), ObjectUtils.defaultIfNull(auditDetails.getScrapNum(),0).longValue(), auditDetails.getRepairId()); @@ -547,7 +548,7 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService try { return repairAuditDetailsMapper.updateRepairAuditDetailsBatch(ids, status); - } catch (Exception e) { + } catch (final Exception e) { throw new ServiceException("错误信息描述"); } } @@ -560,21 +561,21 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService private void batchInsertRepairInputDetails(List repairAuditDetailsByQuery, Long agreementId) { //插入任务表 - Long newTaskId = insertTt(); + final Long newTaskId = insertTt(); insertTta(newTaskId, agreementId); - List inputList = new ArrayList<>(); - for (RepairAuditDetails details : repairAuditDetailsByQuery) { + final List inputList = new ArrayList<>(); + for (final RepairAuditDetails details : repairAuditDetailsByQuery) { //修改机具状态 - if (details.getMaId() != null) { + if (null != details.getMaId()) { repairAuditDetailsMapper.updateMachine(details); } - RepairInputDetails inputVo = new RepairInputDetails(); + final RepairInputDetails inputVo = new RepairInputDetails(); BeanUtils.copyProperties(details, inputVo); inputVo.setRepairNum(details.getRepairedNum()); inputVo.setAuditId(details.getId()); inputVo.setStatus("0"); inputVo.setTaskId(newTaskId); - inputVo.setCreateBy(SecurityUtils.getUserId().toString()); + inputVo.setCreateBy(String.valueOf(SecurityUtils.getUserId())); inputList.add(inputVo); } // 插入维修入库明细 @@ -587,7 +588,7 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService * @param agreementId */ private void insertTta(Long newTaskId, Long agreementId) { - TmTaskAgreement tmTaskAgreement = new TmTaskAgreement(newTaskId, agreementId); + final TmTaskAgreement tmTaskAgreement = new TmTaskAgreement(newTaskId, agreementId); tmTaskAgreement.setCreateTime(DateUtils.getNowDate()); tmTaskAgreement.setCreateBy(SecurityUtils.getUsername()); taskAgreementMapper.insertTmTaskAgreement(tmTaskAgreement); diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseBindMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseBindMapper.xml index 4354ab13..e0929e30 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseBindMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseBindMapper.xml @@ -382,4 +382,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and ma_code is null and del_flag = '0' + + From e09a530cff90cf105ab42d6e8a12f646207c0e44 Mon Sep 17 00:00:00 2001 From: mashuai Date: Thu, 26 Dec 2024 18:21:15 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../biz/domain/repair/RepairInputDetails.java | 15 ++++++++ .../controller/ComplexQueryController.java | 13 ++++--- .../impl/LeaseOutDetailsServiceImpl.java | 2 -- .../RepairInputDetailsController.java | 11 ++++++ .../mapper/RepairInputDetailsMapper.java | 8 +++++ .../service/IRepairInputDetailsService.java | 8 +++++ .../impl/RepairInputDetailsServiceImpl.java | 19 ++++++++++ .../repair/RepairInputDetailsMapper.xml | 35 +++++++++++++++++++ 8 files changed, 105 insertions(+), 6 deletions(-) diff --git a/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/repair/RepairInputDetails.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/repair/RepairInputDetails.java index 30c580fe..c94593a8 100644 --- a/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/repair/RepairInputDetails.java +++ b/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/repair/RepairInputDetails.java @@ -53,6 +53,21 @@ public class RepairInputDetails extends BaseEntity { @ApiModelProperty(value = "规格ID") private Long typeId; + @ApiModelProperty(value = "物资名称") + private String typeName; + + @ApiModelProperty(value = "规格型号") + private String typeModelName; + + @ApiModelProperty(value = "机具状态") + private String maStatus; + + @ApiModelProperty(value = "机具状态名称") + private String inputType; + + @ApiModelProperty(value = "二维码code") + private String qrCode; + /** * 退料单位名称 */ diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/ComplexQueryController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/ComplexQueryController.java index b0ead26d..4b72ff48 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/ComplexQueryController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/ComplexQueryController.java @@ -1,6 +1,9 @@ package com.bonus.material.basic.controller; +import cn.hutool.core.convert.Convert; import com.alibaba.nacos.common.utils.CollectionUtils; +import com.bonus.common.biz.config.ListPagingUtil; +import com.bonus.common.core.utils.ServletUtils; import com.bonus.common.core.utils.poi.ExcelUtil; import com.bonus.common.core.web.controller.BaseController; import com.bonus.common.core.web.domain.AjaxResult; @@ -293,9 +296,10 @@ public class ComplexQueryController extends BaseController { @ApiOperation(value = "综合查询--机具入库查询列表") @GetMapping("/getInputRecordList") public AjaxResult getInputRecordList(InputRecordInfo bean) { - startPage(); + Integer pageIndex = Convert.toInt(ServletUtils.getParameter("pageNum"), 1); + Integer pageSize = Convert.toInt(ServletUtils.getParameter("pageSize"), 10); List list = complexQueryService.getInputRecordList(bean); - return AjaxResult.success(getDataTable(list)); + return AjaxResult.success(ListPagingUtil.paging(pageIndex, pageSize, list)); } /** @@ -320,9 +324,10 @@ public class ComplexQueryController extends BaseController { @ApiOperation(value = "综合查询--机具出库查询列表") @GetMapping("/getOutRecordList") public AjaxResult getOutRecordList(OutRecordInfo bean) { - startPage(); + Integer pageIndex = Convert.toInt(ServletUtils.getParameter("pageNum"), 1); + Integer pageSize = Convert.toInt(ServletUtils.getParameter("pageSize"), 10); List list = complexQueryService.getOutRecordList(bean); - return AjaxResult.success(getDataTable(list)); + return AjaxResult.success(ListPagingUtil.paging(pageIndex, pageSize, list)); } @ApiOperation("导出综合查询机具出库查询") diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseOutDetailsServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseOutDetailsServiceImpl.java index f032d552..c9923a25 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseOutDetailsServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseOutDetailsServiceImpl.java @@ -168,8 +168,6 @@ public class LeaseOutDetailsServiceImpl implements ILeaseOutDetailsService { if ((record.getManageType().equals(MaTypeManageTypeEnum.NUMBER_DEVICE.getTypeId())) && record.getInputNum() != null) { record.setOutNum(record.getInputNum()); record.setOutType(InputOutEnum.NUMBER_DEVICE.getTypeId()); - } else if (record.getManageType().equals(MaTypeManageTypeEnum.CODE_DEVICE.getTypeId())) { - record.setOutType(InputOutEnum.CODE_DEVICE.getTypeId()); } res = checkStorageNum(record); diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/controller/RepairInputDetailsController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/controller/RepairInputDetailsController.java index e4e6f220..80c7f34d 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/controller/RepairInputDetailsController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/controller/RepairInputDetailsController.java @@ -6,6 +6,7 @@ import javax.servlet.http.HttpServletResponse; import com.bonus.common.biz.annotation.StoreLog; import com.bonus.common.log.enums.OperaType; import com.bonus.material.back.domain.vo.MaCodeVo; +import com.bonus.material.basic.domain.BmQrcodeInfo; import com.bonus.material.common.annotation.PreventRepeatSubmit; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -134,6 +135,16 @@ public class RepairInputDetailsController extends BaseController { return repairInputDetailsService.warehouse(repairInputDetails); } + /** + * 二维码出库:根据qrcode查询在库机具信息 + * @param bmQrcodeInfo + * @return + */ + @GetMapping("/getInfoByQrcode") + public AjaxResult getInfoByQrcode(BmQrcodeInfo bmQrcodeInfo) { + return repairInputDetailsService.getInfoByQrcode(bmQrcodeInfo); + } + /** * 查询修试待入库机具编码 * @param mdCodeVo diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/mapper/RepairInputDetailsMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/mapper/RepairInputDetailsMapper.java index 796a6261..9b780fe0 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/mapper/RepairInputDetailsMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/mapper/RepairInputDetailsMapper.java @@ -4,6 +4,7 @@ import java.util.List; import com.bonus.material.back.domain.vo.MaCodeVo; import com.bonus.common.biz.domain.repair.RepairInputDetails; +import com.bonus.material.basic.domain.BmQrcodeInfo; import com.bonus.material.repair.domain.RepairInputInfo; import org.apache.ibatis.annotations.Param; @@ -122,4 +123,11 @@ public interface RepairInputDetailsMapper { * @return */ List selectRepairDetails(@Param("list") List taskIdList); + + /** + * 根据二维码查询详情 + * @param bmQrcodeInfo + * @return + */ + List getInfoByQrcode(BmQrcodeInfo bmQrcodeInfo); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/IRepairInputDetailsService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/IRepairInputDetailsService.java index 746f8740..f121ea2b 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/IRepairInputDetailsService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/IRepairInputDetailsService.java @@ -5,6 +5,7 @@ import java.util.List; import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.material.back.domain.vo.MaCodeVo; import com.bonus.common.biz.domain.repair.RepairInputDetails; +import com.bonus.material.basic.domain.BmQrcodeInfo; import com.bonus.material.repair.domain.RepairInputInfo; /** @@ -82,4 +83,11 @@ public interface IRepairInputDetailsService { * @return */ AjaxResult reject(RepairInputDetails repairInputDetails); + + /** + * 根据二维码查询机具信息 + * @param bmQrcodeInfo + * @return + */ + AjaxResult getInfoByQrcode(BmQrcodeInfo bmQrcodeInfo); } 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 50a9d68e..34196c3b 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 @@ -6,6 +6,7 @@ import java.util.Date; import java.util.List; import java.util.stream.Collectors; +import cn.hutool.core.collection.CollectionUtil; import com.alibaba.nacos.common.utils.CollectionUtils; import com.bonus.common.biz.constant.MaterialConstants; import com.bonus.common.biz.domain.lease.LeaseOutDetails; @@ -17,6 +18,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.common.biz.domain.repair.RePairDto; +import com.bonus.material.basic.domain.BmQrcodeInfo; import com.bonus.material.lease.mapper.LeaseOutDetailsMapper; import com.bonus.material.ma.domain.Type; import com.bonus.material.repair.domain.RepairInputInfo; @@ -246,6 +248,23 @@ public class RepairInputDetailsServiceImpl implements IRepairInputDetailsService return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg()); } + /** + * 获取二维码信息 + * @param bmQrcodeInfo + * @return + */ + @Override + public AjaxResult getInfoByQrcode(BmQrcodeInfo bmQrcodeInfo) { + if (bmQrcodeInfo.getQrCode() == 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(), "该二维码处于非修试待入库状态"); + } + /** * 外部驳回 * @param repairInputDetails 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 e25879fe..f6bcf82e 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 @@ -190,6 +190,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" LEFT JOIN repair_apply_details rad ON rid.repair_id = rad.id WHERE rid.task_id = #{taskId} + LIMIT 1 + + insert into repair_input_details (task_id, audit_id, repair_id, ma_id, type_id, repair_num, input_num, create_by, create_time, From b065f30d77b40b80aab2e36969285cc9e2f30d40 Mon Sep 17 00:00:00 2001 From: mashuai Date: Thu, 26 Dec 2024 18:47:11 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/mapper/material/basic/ComplexQueryMapper.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/ComplexQueryMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/ComplexQueryMapper.xml index 7d69ade1..ca78e287 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/ComplexQueryMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/ComplexQueryMapper.xml @@ -242,7 +242,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" tt.`code` as inputCode, CASE WHEN tt.`code` LIKE 'XG%' THEN '新购入库' - WHEN tt.`code` LIKE 'R%' THEN '修饰入库' + WHEN tt.`code` LIKE 'R%' THEN '修试入库' WHEN tt.`code` LIKE 'PD%' THEN '盘点入库' ELSE '未知入库类型' END AS inputType, @@ -265,7 +265,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and ( CASE WHEN tt.`code` LIKE 'XG%' THEN '新购入库' - WHEN tt.`code` LIKE 'R%' THEN '修饰入库' + WHEN tt.`code` LIKE 'R%' THEN '修试入库' WHEN tt.`code` LIKE 'PD%' THEN '盘点入库' ELSE '未知入库类型' END = #{inputType}