From f05ec76759c32e12cd5cdffe7b0de4ed855a5c5e Mon Sep 17 00:00:00 2001 From: sxu <602087911@qq.com> Date: Fri, 15 Nov 2024 10:14:24 +0800 Subject: [PATCH 1/8] =?UTF-8?q?=E6=96=B0=E8=B4=AD=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../material/purchase/domain/PurchaseCheckDetails.java | 5 +++++ .../service/impl/PurchaseCheckInfoServiceImpl.java | 4 ++++ .../material/purchase/PurchaseCheckDetailsMapper.xml | 9 +++++---- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/domain/PurchaseCheckDetails.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/domain/PurchaseCheckDetails.java index cd7827e9..5f53845a 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/domain/PurchaseCheckDetails.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/domain/PurchaseCheckDetails.java @@ -142,6 +142,11 @@ public class PurchaseCheckDetails extends BaseEntity { @ApiModelProperty(value = "是否是固定资产编号(0 否,1 是)") private String fixCode; + /** 管理方式(0编号 1计数) */ + @Excel(name = "管理方式(0编号 1计数)") + @ApiModelProperty(value = "管理方式(0编号 1计数)") + private Integer manageType; + /** 验收附件列表 */ //@Excel(name = "验收附件列表") @ApiModelProperty(value = "验收附件列表") diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseCheckInfoServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseCheckInfoServiceImpl.java index 75e60c54..41a56860 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseCheckInfoServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseCheckInfoServiceImpl.java @@ -7,6 +7,7 @@ import java.util.concurrent.atomic.AtomicLong; import java.util.concurrent.atomic.AtomicReference; import java.util.stream.Collectors; import com.bonus.common.biz.constant.BmConfigItems; +import com.bonus.common.biz.enums.MaTypeManageTypeEnum; import com.bonus.common.biz.enums.PurchaseTaskStatusEnum; import com.bonus.common.biz.enums.TmTaskTypeEnum; import com.bonus.common.core.exception.ServiceException; @@ -100,6 +101,9 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService { boolean isAllowPartTransfer = bmConfigService.isBmConfigEnabledWithDefaultFalse(BmConfigItems.BOOLEAN_ALLOW_PURCHASE_PART_TRANSFER); for (PurchaseCheckInfo purchaseInfo : purchaseCheckInfos) { List purchaseCheckDetails = purchaseCheckDetailsMapper.selectPurchaseCheckDetailsListByTaskId(purchaseInfo.getTaskId(), null); + // 筛除:绑定状态 + 数量设备 + purchaseCheckDetails = purchaseCheckDetails.stream().filter(o -> !(MaTypeManageTypeEnum.NUMBER_DEVICE.getTypeId().equals(o.getManageType()) && + (o.getStatus().equals(PurchaseTaskStatusEnum.TO_BIND.getStatus()) || o.getStatus().equals(PurchaseTaskStatusEnum.TO_BIND_AFTER_REJECT.getStatus())))).collect(Collectors.toList()); OptionalInt minStatus = purchaseCheckDetails.stream().mapToInt(PurchaseCheckDetails::getStatus).min(); OptionalInt maxStatus = purchaseCheckDetails.stream().mapToInt(PurchaseCheckDetails::getStatus).max(); if (isAllowPartTransfer) { diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseCheckDetailsMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseCheckDetailsMapper.xml index 3f3d88fa..184b81c4 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseCheckDetailsMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseCheckDetailsMapper.xml @@ -33,6 +33,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -43,7 +44,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select pcd.id, pcd.task_id, pcd.type_id, pcd.purchase_price, pcd.purchase_tax_price, pcd.purchase_num, pcd.check_num, pcd.bind_num, pcd.check_result, pcd.supplier_id, pcd.status, pcd.create_by, pcd.production_time, pcd.create_time, pcd.update_by, pcd.update_time, pcd.remark, pcd.check_url_name, pcd.check_url, pcd.input_num, pcd.input_status, pcd.input_time, pcd.file_name, - pcd.file_url, pcd.company_id, pcd.fix_code, mt.type_name, mt.unit_name, mtp.type_name as ma_type_name + pcd.file_url, pcd.company_id, pcd.fix_code, mt.type_name, mt.unit_name, mtp.type_name as ma_type_name, mt.manage_type as manage_type from purchase_check_details pcd left join ma_type mt on pcd.type_id = mt.type_id left join ma_type mtp on mt.parent_id = mtp.type_id @@ -88,9 +89,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" SELECT - rd.task_id, - tt.CODE AS repairCode, - bui.unit_name AS backUnit, - bpi.lot_name AS backPro, - su.nick_name AS createName, - tt.create_time AS createTime, - bai.CODE AS backCode, - sd.name AS repairStatus, - tt.task_status AS repairStatusCode, - tt.company_id AS companyId, - GROUP_CONCAT(DISTINCT mt2.type_name) as type + rd.task_id, + tt.CODE AS repairCode, + bui.unit_name AS backUnit, + bpi.pro_name AS backPro, + su.nick_name AS createName, + tt.create_time AS createTime, + bai.CODE AS backCode, + tt.task_status AS repairStatusCode, + tt.company_id AS companyId, + GROUP_CONCAT(DISTINCT mt2.type_name) as type FROM - repair_apply_details rd + repair_apply_details rd LEFT JOIN ma_type mt on rd.type_id = mt.type_id LEFT JOIN ma_type mt2 on mt.parent_id = mt2.type_id LEFT JOIN tm_task tt on rd.task_id = tt.task_id LEFT JOIN back_apply_info bai ON rd.back_id = bai.id - LEFT JOIN tm_task_agreement tta ON bai.task_id = tta.task_id + LEFT JOIN tm_task_agreement tta ON rd.task_id = tta.task_id LEFT JOIN bm_agreement_info bai2 ON tta.agreement_id = bai2.agreement_id - LEFT JOIN bm_unit_info bui ON bai2.unit_id = bui.unit_id - LEFT JOIN bm_project_lot bpi ON bai2.project_id = bpi.lot_id and bpi.status = '0' and bpi.del_flag = '0' + LEFT JOIN bm_unit bui ON bai2.unit_id = bui.unit_id + LEFT JOIN bm_project bpi ON bai2.project_id = bpi.pro_id and bpi.del_flag = '0' left join sys_user su on rd.create_by = su.user_id - left join sys_dic sd on sd.id = tt.task_status - where 1=1 - - AND (locate(#{keyword}, su.nick_name) > 0 + + + AND (locate(#{keyword}, su.nick_name) > 0 or locate(#{keyword}, tt.CODE) > 0) - - - AND bui.unit_id = #{backUnit} - - - AND bpi.lot_id = #{backPro} - - - AND mt2.type_id = #{type} - - - AND locate(#{backCode}, bai.CODE) > 0 - - - AND tt.task_status = #{repairStatus} - - - AND tt.create_time BETWEEN CONCAT(#{startTime}, ' 00:00:00') AND CONCAT(#{endTime}, ' 23:59:59') - - GROUP BY rd.task_id,bui.unit_name,bpi.lot_name,bai.code,su.nick_name + + + AND bui.unit_id = #{backUnit} + + + AND bpi.pro_id = #{backPro} + + + AND mt2.type_id = #{type} + + + AND locate(#{backCode}, bai.CODE) > 0 + + + AND tt.task_status = #{repairStatus} + + + AND tt.create_time BETWEEN CONCAT(#{startTime}, ' 00:00:00') AND CONCAT(#{endTime}, ' 23:59:59') + + + GROUP BY rd.task_id,bui.unit_name,bpi.pro_name,bai.code,su.nick_name order by tt.create_time desc @@ -139,7 +138,6 @@ su.nick_name AS createName, tt.create_time AS createTime, bai.CODE AS backCode, - sd.NAME AS repairStatus, tt.task_status AS repairStatusCode, tt.company_id AS companyId, mt2.type_name AS type, @@ -157,13 +155,12 @@ LEFT JOIN ma_type mt2 ON mt.parent_id = mt2.type_id LEFT JOIN tm_task tt ON rd.task_id = tt.task_id LEFT JOIN back_apply_info bai ON rd.back_id = bai.id - LEFT JOIN tm_task_agreement tta ON bai.task_id = tta.task_id + LEFT JOIN tm_task_agreement tta ON rd.task_id = tta.task_id LEFT JOIN bm_agreement_info bai2 ON tta.agreement_id = bai2.agreement_id LEFT JOIN bm_unit_info bui ON bai2.unit_id = bui.unit_id LEFT JOIN bm_project_lot bpi ON bai2.project_id = bpi.lot_id AND bpi.STATUS = '0' AND bpi.del_flag = '0' LEFT JOIN sys_user su ON rd.create_by = su.user_id left join sys_user su2 on rd.repairer = su2.user_id - LEFT JOIN sys_dic sd ON sd.id = tt.task_status LEFT JOIN ma_machine mm ON mm.ma_id = rd.ma_id where 1=1 From bfc4bcd1984e5aaa0beb9c7cb694974528662194 Mon Sep 17 00:00:00 2001 From: syruan <321359594@qq.com> Date: Fri, 15 Nov 2024 10:15:37 +0800 Subject: [PATCH 3/8] =?UTF-8?q?=E4=BF=AE=E9=A5=B0=E5=AE=A1=E6=A0=B8--SQL?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repair/controller/RepairController.java | 6 +- .../repair/domain/RepairAuditDetails.java | 6 ++ .../mapper/RepairAuditDetailsMapper.java | 3 +- .../impl/RepairAuditDetailsServiceImpl.java | 19 ++--- .../repair/RepairAuditDetailsMapper.xml | 38 +++++---- .../mapper/material/repair/RepairMapper.xml | 81 +++++++++---------- 6 files changed, 83 insertions(+), 70 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/controller/RepairController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/controller/RepairController.java index 64ecdaf7..5fe7e31f 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/controller/RepairController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/controller/RepairController.java @@ -77,9 +77,9 @@ public class RepairController extends BaseController { } /** - * 获取维修任务物资设备列表 + * 获取维修任务物资设备列表--不分页 */ - @ApiOperation(value = "获取维修物资设备列表") + @ApiOperation(value = "获取维修物资设备列表---分页") @GetMapping("/getRepairMaTypeList") @RequiresPermissions("repair:manage:preview") public TableDataInfo getRepairMaTypeList(RepairTaskDetails bean) { @@ -91,7 +91,7 @@ public class RepairController extends BaseController { /** * 获取维修任务机具列表 */ - @ApiOperation(value = "获取维修任务机具列表") + @ApiOperation(value = "获取维修物资设备列表---不分页") @GetMapping("/getAppRepairMaTypeList") public AjaxResult getAppRepairMaTypeList(RepairTaskDetails bean) { List list = service.getRepairMaTypeList(bean); diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/RepairAuditDetails.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/RepairAuditDetails.java index d1858f84..98a460f8 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/RepairAuditDetails.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/RepairAuditDetails.java @@ -51,6 +51,12 @@ public class RepairAuditDetails extends BaseEntity { @ApiModelProperty(value = "规格ID") private Long typeId; + @ApiModelProperty(value = "规格型号") + private String specificationType; + + @ApiModelProperty(value = "机具类型名称") + private String machineTypeName; + /** 维修总量 */ @Excel(name = "维修总量") @ApiModelProperty(value = "维修总量") diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/mapper/RepairAuditDetailsMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/mapper/RepairAuditDetailsMapper.java index 9e12add8..77313a48 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/mapper/RepairAuditDetailsMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/mapper/RepairAuditDetailsMapper.java @@ -9,6 +9,7 @@ import com.bonus.material.repair.domain.RepairRecord; import com.bonus.material.repair.domain.RepairTaskDetails; import com.bonus.material.repair.domain.vo.RepairAuditDetailsVO; import com.bonus.material.repair.domain.vo.ScrapApplyDetailsVO; +import org.apache.ibatis.annotations.Param; /** * 修试审核详细Mapper接口 @@ -88,7 +89,7 @@ public interface RepairAuditDetailsMapper { * 根据taskIds批量查询规格名称---批量 * @param taskIds 任务id集合 */ - Map selectTypeNamesByTaskIds(List taskIds); + Map selectTypeNamesByTaskIds(@Param("taskIds") List taskIds); List selectRepairAuditDetailsByTaskId(Long taskId); 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 b053ea5a..39568b11 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 @@ -103,9 +103,9 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService List repairQuestList = repairAuditDetailsMapper.selectRepairQuestList(repairAuditDetails); // 通过流过滤掉空对象 并转换为 List集合 List taskIds = repairQuestList.stream() - .filter(Objects::nonNull) // 过滤掉空的 ScrapApplyDetailsVO 对象 + .filter(Objects::nonNull) .map(ScrapApplyDetailsVO::getTaskId) - .filter(Objects::nonNull) // 过滤掉空的 taskId + .filter(Objects::nonNull) .distinct() .collect(Collectors.toList()); @@ -113,16 +113,17 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService Map typeNameMap = repairAuditDetailsMapper.selectTypeNamesByTaskIds(taskIds); // 设置 itemType - for (ScrapApplyDetailsVO scrapApplyDetailsVO : repairQuestList) { - Long taskId = scrapApplyDetailsVO.getTaskId(); - if (taskId != null) { - String typeName = typeNameMap.get(taskId); - if (typeName != null) { - scrapApplyDetailsVO.setItemType(typeName); + if (CollectionUtil.isNotEmpty(typeNameMap)) { + for (ScrapApplyDetailsVO scrapApplyDetailsVO : repairQuestList) { + Long taskId = scrapApplyDetailsVO.getTaskId(); + if (taskId != null) { + String typeName = typeNameMap.get(taskId); + if (typeName != null) { + scrapApplyDetailsVO.setItemType(typeName); + } } } } - return repairQuestList; } catch (Exception e) { // 异常处理 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 bd1a108e..111a8241 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 @@ -9,6 +9,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + @@ -31,21 +33,27 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" SELECT - rd.task_id, - tt.CODE AS repairCode, - bui.unit_name AS backUnit, - bpi.lot_name AS backPro, - su.nick_name AS createName, - tt.create_time AS createTime, - bai.CODE AS backCode, - sd.name AS repairStatus, - tt.task_status AS repairStatusCode, - tt.company_id AS companyId, - GROUP_CONCAT(DISTINCT mt2.type_name) as type + rd.task_id, + tt.CODE AS repairCode, + bui.unit_name AS backUnit, + bpi.pro_name AS backPro, + su.nick_name AS createName, + tt.create_time AS createTime, + bai.CODE AS backCode, + tt.task_status AS repairStatusCode, + tt.company_id AS companyId, + GROUP_CONCAT(DISTINCT mt2.type_name) as type FROM - repair_apply_details rd + repair_apply_details rd LEFT JOIN ma_type mt on rd.type_id = mt.type_id LEFT JOIN ma_type mt2 on mt.parent_id = mt2.type_id LEFT JOIN tm_task tt on rd.task_id = tt.task_id LEFT JOIN back_apply_info bai ON rd.back_id = bai.id - LEFT JOIN tm_task_agreement tta ON bai.task_id = tta.task_id + LEFT JOIN tm_task_agreement tta ON rd.task_id = tta.task_id LEFT JOIN bm_agreement_info bai2 ON tta.agreement_id = bai2.agreement_id - LEFT JOIN bm_unit_info bui ON bai2.unit_id = bui.unit_id - LEFT JOIN bm_project_lot bpi ON bai2.project_id = bpi.lot_id and bpi.status = '0' and bpi.del_flag = '0' + LEFT JOIN bm_unit bui ON bai2.unit_id = bui.unit_id + LEFT JOIN bm_project bpi ON bai2.project_id = bpi.pro_id and bpi.del_flag = '0' left join sys_user su on rd.create_by = su.user_id - left join sys_dic sd on sd.id = tt.task_status - where 1=1 - - AND (locate(#{keyword}, su.nick_name) > 0 + + + AND (locate(#{keyword}, su.nick_name) > 0 or locate(#{keyword}, tt.CODE) > 0) - - - AND bui.unit_id = #{backUnit} - - - AND bpi.lot_id = #{backPro} - - - AND mt2.type_id = #{type} - - - AND locate(#{backCode}, bai.CODE) > 0 - - - AND tt.task_status = #{repairStatus} - - - AND tt.create_time BETWEEN CONCAT(#{startTime}, ' 00:00:00') AND CONCAT(#{endTime}, ' 23:59:59') - - GROUP BY rd.task_id,bui.unit_name,bpi.lot_name,bai.code,su.nick_name + + + AND bui.unit_id = #{backUnit} + + + AND bpi.pro_id = #{backPro} + + + AND mt2.type_id = #{type} + + + AND locate(#{backCode}, bai.CODE) > 0 + + + AND tt.task_status = #{repairStatus} + + + AND tt.create_time BETWEEN CONCAT(#{startTime}, ' 00:00:00') AND CONCAT(#{endTime}, ' 23:59:59') + + + GROUP BY rd.task_id,bui.unit_name,bpi.pro_name,bai.code,su.nick_name order by tt.create_time desc @@ -139,7 +138,6 @@ su.nick_name AS createName, tt.create_time AS createTime, bai.CODE AS backCode, - sd.NAME AS repairStatus, tt.task_status AS repairStatusCode, tt.company_id AS companyId, mt2.type_name AS type, @@ -157,13 +155,12 @@ LEFT JOIN ma_type mt2 ON mt.parent_id = mt2.type_id LEFT JOIN tm_task tt ON rd.task_id = tt.task_id LEFT JOIN back_apply_info bai ON rd.back_id = bai.id - LEFT JOIN tm_task_agreement tta ON bai.task_id = tta.task_id + LEFT JOIN tm_task_agreement tta ON rd.task_id = tta.task_id LEFT JOIN bm_agreement_info bai2 ON tta.agreement_id = bai2.agreement_id LEFT JOIN bm_unit_info bui ON bai2.unit_id = bui.unit_id LEFT JOIN bm_project_lot bpi ON bai2.project_id = bpi.lot_id AND bpi.STATUS = '0' AND bpi.del_flag = '0' LEFT JOIN sys_user su ON rd.create_by = su.user_id left join sys_user su2 on rd.repairer = su2.user_id - LEFT JOIN sys_dic sd ON sd.id = tt.task_status LEFT JOIN ma_machine mm ON mm.ma_id = rd.ma_id where 1=1 From 02efaa2fcb755fa75e59873be9aad881a0ec17f6 Mon Sep 17 00:00:00 2001 From: mashuai Date: Fri, 15 Nov 2024 10:57:23 +0800 Subject: [PATCH 4/8] =?UTF-8?q?=E9=80=80=E6=96=99=E6=8E=A5=E6=94=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../back/mapper/BackApplyInfoMapper.java | 4 +- .../impl/BackApplyInfoServiceImpl.java | 71 +++++++++++-------- .../material/back/BackApplyInfoMapper.xml | 3 + 3 files changed, 45 insertions(+), 33 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/mapper/BackApplyInfoMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/mapper/BackApplyInfoMapper.java index b63bdfe6..a4c18e4f 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/mapper/BackApplyInfoMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/mapper/BackApplyInfoMapper.java @@ -158,10 +158,10 @@ public interface BackApplyInfoMapper { /** * 查询详情 - * @param id + * @param backApplyInfo * @return */ - List selectBackDetails(Long id); + List selectBackDetails(BackApplyInfo backApplyInfo); /** * 更新任务状态 diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/service/impl/BackApplyInfoServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/service/impl/BackApplyInfoServiceImpl.java index ed775ef4..e439835b 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/service/impl/BackApplyInfoServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/service/impl/BackApplyInfoServiceImpl.java @@ -556,7 +556,7 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService { @Transactional(rollbackFor = Exception.class) public AjaxResult submitBackApply(BackApplyInfo backApplyInfo) { // 根据传入的id查询退料申请信息 - List applyInfoList = backApplyInfoMapper.selectBackDetails(backApplyInfo.getId()); + List applyInfoList = backApplyInfoMapper.selectBackDetails(backApplyInfo); // 设置更新信息 backApplyInfo.setUpdateBy(SecurityUtils.getUsername()); backApplyInfo.setUpdateTime(DateUtils.getNowDate()); @@ -564,22 +564,29 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService { // 更新任务表及退料申请表状态 int result = updateTaskAndBackInfo(backApplyInfo); if (result > 0 && CollectionUtils.isNotEmpty(applyInfoList)) { - for (BackApplyInfo applyInfo : applyInfoList) { + // 获取applyInfoList的typeId并生成集合 + List typeIdList = applyInfoList.stream() + .map(BackApplyInfo::getTypeId).distinct() + .collect(Collectors.toList()); + // 插入任务表 + Long newTaskId = insertTt(SecurityUtils.getUsername()); + // 插入协议任务表 + result += insertTta(newTaskId, applyInfoList); + for (String typeId : typeIdList) { // 查询待维修的机具设备 - backApplyInfo.setTypeId(applyInfo.getTypeId()); + backApplyInfo.setTypeId(typeId); List wxList = backApplyInfoMapper.getWxList(backApplyInfo); if (CollectionUtils.isNotEmpty(wxList)) { - // 插入任务表 - Long newTaskId = insertTt(SecurityUtils.getUsername()); - // 插入协议任务表 - result += insertTta(newTaskId, wxList); // 插入维修记录表 result += insertRad(newTaskId, wxList); // 更新结算表 - int res = updateSlt4Bean(backApplyInfo, applyInfo); - // 检查机具是否领料 - if (res == 0) { - throw new RuntimeException("该机具未被领料使用"); + List allList = backApplyInfoMapper.selectBackDetails(backApplyInfo); + if (CollectionUtils.isNotEmpty(allList)) { + int res = updateSlt4Bean(backApplyInfo, allList); + // 检查机具是否领料 + if (res == 0) { + throw new RuntimeException("该机具未被领料使用"); + } } // 完成退料部分,更新 back_check_details finishBackCheckDetails(backApplyInfo); @@ -620,30 +627,32 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService { /** * 更新结算表 * @param record - * @param bean + * @param allList * @return */ - private int updateSlt4Bean(BackApplyInfo record, BackApplyInfo bean) { - List infoList = backApplyInfoMapper.getStlInfo(bean); - if (infoList.size() > 0) { - Integer backNum = bean.getBackNum(); - for (SltAgreementInfo info : infoList) { - Integer num = info.getBackNum(); - if (backNum.equals(num)) { - backApplyInfoMapper.updateStlInfo(info, record); - break; - } else if (backNum > num) { - backNum = backNum - num; - backApplyInfoMapper.updateStlInfo(info, record); - } else { - Integer many = num - backNum; - backApplyInfoMapper.updateStlInfoTwo(info, record, backNum); - backApplyInfoMapper.insStlInfoTwo(info, many); - break; + private int updateSlt4Bean(BackApplyInfo record, List allList) { + for (BackApplyInfo bean : allList) { + List infoList = backApplyInfoMapper.getStlInfo(bean); + if (infoList.size() > 0) { + Integer backNum = bean.getBackNum(); + for (SltAgreementInfo info : infoList) { + Integer num = info.getBackNum(); + if (backNum.equals(num)) { + backApplyInfoMapper.updateStlInfo(info, record); + break; + } else if (backNum > num) { + backNum = backNum - num; + backApplyInfoMapper.updateStlInfo(info, record); + } else { + Integer many = num - backNum; + backApplyInfoMapper.updateStlInfoTwo(info, record, backNum); + backApplyInfoMapper.insStlInfoTwo(info, many); + break; + } } + } else { + return 0; } - } else { - return 0; } return 1; } 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 904a9923..2bffb3af 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 @@ -213,6 +213,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" LEFT JOIN tm_task_agreement tta ON tta.task_id = bai.task_id WHERE bcd.parent_id = #{id} and (bcd.is_finished is null or bcd.is_finished != 1) + + and bcd.type_id = #{typeId} + GROUP By bcd.type_id,bcd.ma_id From 6a90f576b12953a8106d3925e3b07da422059c14 Mon Sep 17 00:00:00 2001 From: sxu <602087911@qq.com> Date: Fri, 15 Nov 2024 11:01:01 +0800 Subject: [PATCH 5/8] =?UTF-8?q?=E6=96=B0=E8=B4=AD=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/PurchaseCheckInfoServiceImpl.java | 33 ++++++++++++++----- 1 file changed, 24 insertions(+), 9 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseCheckInfoServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseCheckInfoServiceImpl.java index 41a56860..b0d53176 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseCheckInfoServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseCheckInfoServiceImpl.java @@ -240,15 +240,27 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService { AjaxResult result = new AjaxResult(); purchaseDto.getTaskIds().removeIf(Objects::isNull); for (Long taskId : purchaseDto.getTaskIds()) { - boolean updateResult = tmTaskMapper.updateTmTaskStatusByTaskId(taskId, - purchaseDto.getStatus() - ) > 0; - if (updateResult) { - result = purchaseCheckDetailsMapper.batchUpdateDetailsTaskStatus(taskId, - purchaseDto.getStatus(), purchaseDto.getCheckResult() - ) > 0 ? AjaxResult.success("验收状态更改成功") : AjaxResult.error("验收状态更改失败"); - } else { - result = AjaxResult.error("SQL未报错,但修改任务0条"); + PurchaseQueryDto purchaseQueryDto = new PurchaseQueryDto(); + purchaseQueryDto.setTaskId(purchaseQueryDto.getTaskId()); + List purchaseCheckDetails = purchaseCheckDetailsMapper.selectPurchaseCheckDetailsListByQueryDto(purchaseQueryDto); + List codeList = purchaseCheckDetails.stream().filter(o -> MaTypeManageTypeEnum.CODE_DEVICE.equals(o.getManageType())).collect(Collectors.toList()); + List numList = purchaseCheckDetails.stream().filter(o -> MaTypeManageTypeEnum.NUMBER_DEVICE.equals(o.getManageType())).collect(Collectors.toList()); + if (!CollectionUtils.isEmpty(numList) && numList.size() > 0) { + for (PurchaseCheckDetails details : numList) { + details.setStatus(PurchaseTaskStatusEnum.TO_STORE.getStatus()); + purchaseCheckDetailsMapper.updatePurchaseDetails(details); + } + } + if (!CollectionUtils.isEmpty(codeList) && codeList.size() > 0) { + for (PurchaseCheckDetails details : codeList) { + details.setStatus(PurchaseTaskStatusEnum.TO_CHECK.getStatus()); + purchaseCheckDetailsMapper.updatePurchaseDetails(details); + } + int taskCount = tmTaskMapper.updateTmTaskStatusByTaskId(taskId, PurchaseTaskStatusEnum.TO_CHECK.getStatus()); + result = taskCount > 0 ? AjaxResult.success("验收状态更改成功") : AjaxResult.error("验收状态更改失败"); + } if (!CollectionUtils.isEmpty(numList) && numList.size() > 0) { + int taskCount = tmTaskMapper.updateTmTaskStatusByTaskId(taskId, PurchaseTaskStatusEnum.TO_STORE.getStatus()); + result = taskCount > 0 ? AjaxResult.success("待入库状态更改成功") : AjaxResult.error("待入库状态更改失败"); } } return result; @@ -266,6 +278,9 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService { Long taskId = purchaseCheckDetailsList.get(0).getTaskId(); Integer status = purchaseCheckDetailsList.get(0).getStatus(); for (PurchaseCheckDetails details : purchaseCheckDetailsList) { + if (MaTypeManageTypeEnum.NUMBER_DEVICE.getTypeId().equals(details.getManageType())) { + details.setStatus(PurchaseTaskStatusEnum.TO_STORE.getStatus()); + } result = purchaseCheckDetailsMapper.updatePurchaseDetails(details) > 0 ? AjaxResult.success("details验收状态更改成功") : AjaxResult.error("details验收状态更改失败"); } //查询是否这个taskId是否已全部验收通过,如果是的,更新整个task的任务状态 From 1a091ecd6b40ff19961cdeeccd4f603defe944e5 Mon Sep 17 00:00:00 2001 From: sxu <602087911@qq.com> Date: Fri, 15 Nov 2024 11:11:36 +0800 Subject: [PATCH 6/8] =?UTF-8?q?=E6=96=B0=E8=B4=AD=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/PurchaseCheckInfoServiceImpl.java | 25 ++++++++++++------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseCheckInfoServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseCheckInfoServiceImpl.java index b0d53176..966470ad 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseCheckInfoServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseCheckInfoServiceImpl.java @@ -253,14 +253,14 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService { } if (!CollectionUtils.isEmpty(codeList) && codeList.size() > 0) { for (PurchaseCheckDetails details : codeList) { - details.setStatus(PurchaseTaskStatusEnum.TO_CHECK.getStatus()); + details.setStatus(PurchaseTaskStatusEnum.TO_BIND.getStatus()); purchaseCheckDetailsMapper.updatePurchaseDetails(details); } - int taskCount = tmTaskMapper.updateTmTaskStatusByTaskId(taskId, PurchaseTaskStatusEnum.TO_CHECK.getStatus()); - result = taskCount > 0 ? AjaxResult.success("验收状态更改成功") : AjaxResult.error("验收状态更改失败"); + int taskCount = tmTaskMapper.updateTmTaskStatusByTaskId(taskId, PurchaseTaskStatusEnum.TO_BIND.getStatus()); + result = taskCount > 0 ? AjaxResult.success("task绑定状态更改成功") : AjaxResult.error("task绑定状态更改失败"); } if (!CollectionUtils.isEmpty(numList) && numList.size() > 0) { int taskCount = tmTaskMapper.updateTmTaskStatusByTaskId(taskId, PurchaseTaskStatusEnum.TO_STORE.getStatus()); - result = taskCount > 0 ? AjaxResult.success("待入库状态更改成功") : AjaxResult.error("待入库状态更改失败"); + result = taskCount > 0 ? AjaxResult.success("task待入库状态更改成功") : AjaxResult.error("task待入库状态更改失败"); } } return result; @@ -276,17 +276,24 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService { AjaxResult result = new AjaxResult(); if (!CollectionUtils.isEmpty(purchaseCheckDetailsList)) { Long taskId = purchaseCheckDetailsList.get(0).getTaskId(); - Integer status = purchaseCheckDetailsList.get(0).getStatus(); + //Integer status = purchaseCheckDetailsList.get(0).getStatus(); for (PurchaseCheckDetails details : purchaseCheckDetailsList) { - if (MaTypeManageTypeEnum.NUMBER_DEVICE.getTypeId().equals(details.getManageType())) { + if (MaTypeManageTypeEnum.CODE_DEVICE.getTypeId().equals(details.getManageType())) { + details.setStatus(PurchaseTaskStatusEnum.TO_BIND.getStatus()); + } else if (MaTypeManageTypeEnum.NUMBER_DEVICE.getTypeId().equals(details.getManageType())) { details.setStatus(PurchaseTaskStatusEnum.TO_STORE.getStatus()); } - result = purchaseCheckDetailsMapper.updatePurchaseDetails(details) > 0 ? AjaxResult.success("details验收状态更改成功") : AjaxResult.error("details验收状态更改失败"); + result = purchaseCheckDetailsMapper.updatePurchaseDetails(details) > 0 ? AjaxResult.success("details绑定或待入库状态更改成功") : AjaxResult.error("details绑定或待入库状态更改失败"); } //查询是否这个taskId是否已全部验收通过,如果是的,更新整个task的任务状态 - int count = purchaseCheckDetailsMapper.getCountOfNoneThisStatus(taskId, status); + int count = purchaseCheckDetailsMapper.getCountOfNoneThisStatus(taskId, PurchaseTaskStatusEnum.TO_CHECK.getStatus()); if (count == 0) { - result = tmTaskMapper.updateTmTaskStatusByTaskId(taskId, status) > 0 ? AjaxResult.success("task验收状态更改成功") : AjaxResult.error("task验收状态更改失败"); + int toCheckCount = purchaseCheckDetailsMapper.getCountOfNoneThisStatus(taskId, PurchaseTaskStatusEnum.TO_BIND.getStatus()); + if (toCheckCount == 0) { + result = tmTaskMapper.updateTmTaskStatusByTaskId(taskId, PurchaseTaskStatusEnum.TO_STORE.getStatus()) > 0 ? AjaxResult.success("task待入库状态更改成功") : AjaxResult.error("task待入库状态更改失败"); + } else { + result = tmTaskMapper.updateTmTaskStatusByTaskId(taskId, PurchaseTaskStatusEnum.TO_BIND.getStatus()) > 0 ? AjaxResult.success("task绑定状态更改成功") : AjaxResult.error("task绑定状态更改失败"); + } } } return result; From 23f7fb06946dc1c1b627fb4045c00fd31dec60f6 Mon Sep 17 00:00:00 2001 From: syruan <321359594@qq.com> Date: Fri, 15 Nov 2024 11:26:57 +0800 Subject: [PATCH 7/8] =?UTF-8?q?=E7=BB=B4=E4=BF=AE=E4=B8=8E=E6=8A=A5?= =?UTF-8?q?=E5=BA=9F=E5=AE=A1=E6=A0=B8=E7=9A=84SQL=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=EF=BC=8C=E5=AD=97=E6=AE=B5=E5=A2=9E=E5=8A=A0,=E4=BC=98?= =?UTF-8?q?=E5=8C=96import?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bonus/material/repair/domain/RepairTask.java | 2 ++ .../material/repair/domain/RepairTaskDetails.java | 15 +++++++++++++++ .../impl/RepairAuditDetailsServiceImpl.java | 2 +- .../mapper/material/repair/RepairMapper.xml | 12 ++++++++---- 4 files changed, 26 insertions(+), 5 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 bed292e1..6155f031 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 @@ -147,4 +147,6 @@ public class RepairTask { @ApiModelProperty(value = "导出选中列表") private List dataCondition; + @ApiModelProperty(value = "备注") + private String remark; } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/RepairTaskDetails.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/RepairTaskDetails.java index 4fcf5db4..49aef973 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/RepairTaskDetails.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/RepairTaskDetails.java @@ -18,6 +18,7 @@ public class RepairTaskDetails extends BaseEntity { */ @ApiModelProperty(value = "id") private Long id; + /** * 任务ID */ @@ -38,6 +39,13 @@ public class RepairTaskDetails extends BaseEntity { */ @ApiModelProperty(value = "规格型号") private String type; + + @ApiModelProperty(value = "物资单位") + private String unitName; + + @ApiModelProperty(value = "管理模式") + private Integer manageType; + /** * 编码 */ @@ -73,5 +81,12 @@ public class RepairTaskDetails extends BaseEntity { @ApiModelProperty(value = "组织id") private Long companyId; + @ApiModelProperty(value = "退料id") private Long backId; + + @ApiModelProperty(value = "维修人员") + private String repairer; + + @ApiModelProperty(value = "关键字") + private String keyword; } 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 39568b11..1e47370a 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 @@ -23,7 +23,7 @@ import com.bonus.material.task.domain.TmTaskAgreement; import com.bonus.material.task.mapper.TmTaskAgreementMapper; import com.bonus.material.task.mapper.TmTaskMapper; import com.bonus.material.task.domain.TmTask; -import org.jetbrains.annotations.NotNull; +import javax.validation.constraints.NotNull; import org.springframework.stereotype.Service; import com.bonus.material.repair.mapper.RepairAuditDetailsMapper; import com.bonus.material.repair.service.IRepairAuditDetailsService; 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 a3c6e1db..2dc94a4b 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 @@ -80,15 +80,17 @@