From 8109f4b9d2ae389f8081538cd9147598d0f261a0 Mon Sep 17 00:00:00 2001 From: mashuai Date: Wed, 15 Jan 2025 17:34:00 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=B4=E4=BF=AE=E5=8A=9F=E8=83=BD=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/biz/enums/TmTaskTypeEnum.java | 3 +- .../material/basic/mapper/BmQrBoxMapper.java | 7 +++ .../impl/LeaseOutDetailsServiceImpl.java | 12 +++- .../ma/controller/TypeRepairController.java | 13 +++++ .../bonus/material/ma/domain/TypeRepair.java | 3 + .../material/ma/mapper/PartTypeMapper.java | 7 +++ .../material/ma/mapper/TypeRepairMapper.java | 9 +++ .../ma/service/ITypeRepairService.java | 9 +++ .../ma/service/impl/PartTypeServiceImpl.java | 52 +++++++++++++++--- .../service/impl/TypeRepairServiceImpl.java | 11 ++++ .../RepairAuditDetailsController.java | 13 +++++ .../repair/controller/RepairController.java | 14 +++++ .../repair/domain/RepairAuditDetails.java | 6 ++ .../repair/domain/RepairPartDetails.java | 12 ++++ .../repair/domain/vo/RepairDeviceVO.java | 7 +++ .../mapper/RepairAuditDetailsMapper.java | 9 ++- .../material/repair/mapper/RepairMapper.java | 28 ++++++++++ .../service/IRepairAuditDetailsService.java | 7 +++ .../repair/service/RepairService.java | 8 +++ .../impl/RepairAuditDetailsServiceImpl.java | 16 +++++- .../service/impl/RepairServiceImpl.java | 41 +++++++++++++- .../material/warning/ScheduledTasks.java | 1 + .../warning/WashHouseScheduledTasks.java | 4 ++ .../mapper/material/basic/BmQrBoxMapper.xml | 16 ++++++ .../mapper/material/ma/PartTypeMapper.xml | 10 ++++ .../mapper/material/ma/TypeRepairMapper.xml | 17 ++++++ .../repair/RepairAuditDetailsMapper.xml | 25 +++++++++ .../mapper/material/repair/RepairMapper.xml | 55 +++++++++++++++++++ 28 files changed, 399 insertions(+), 16 deletions(-) diff --git a/bonus-common-biz/src/main/java/com/bonus/common/biz/enums/TmTaskTypeEnum.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/enums/TmTaskTypeEnum.java index 21dcbbd3..0cb71ff4 100644 --- a/bonus-common-biz/src/main/java/com/bonus/common/biz/enums/TmTaskTypeEnum.java +++ b/bonus-common-biz/src/main/java/com/bonus/common/biz/enums/TmTaskTypeEnum.java @@ -18,7 +18,8 @@ public enum TmTaskTypeEnum { TM_TASK_AGREEMENT_MANAGEMENT(10, "新增协议任务"), TM_TASK_REPAIR_INPUT(11, "修饰后入库任务"), TM_TASK_PART_LEASE(12, "配件领料任务"), - TM_TASK_PART_TYPE(13, "配件新购"); + TM_TASK_PART_TYPE(13, "配件新购"), + TM_TASK_REPAIR_NUM(14, "数量维修人员信息附件"); private final Integer taskTypeId; private final String taskTypeName; diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmQrBoxMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmQrBoxMapper.java index 222f5214..386f8629 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmQrBoxMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/BmQrBoxMapper.java @@ -122,4 +122,11 @@ public interface BmQrBoxMapper { * @return */ List getBoxBindListById(BmQrBoxInfo bmQrBoxInfo); + + /** + * 根据物资ID查询标准箱绑定详情 + * @param maId + * @return + */ + List selectByMaId(Long maId); } 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 f77eadc8..8993fa7d 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 @@ -13,6 +13,7 @@ import com.bonus.common.core.utils.DateUtils; import com.bonus.common.core.utils.StringUtils; import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.security.utils.SecurityUtils; +import com.bonus.material.basic.domain.BmQrBoxInfo; import com.bonus.material.basic.mapper.BmAgreementInfoMapper; import com.bonus.material.basic.mapper.BmQrBoxMapper; import com.bonus.material.lease.domain.LeaseApplyDetails; @@ -33,6 +34,7 @@ import com.bonus.material.lease.mapper.LeaseOutDetailsMapper; import com.bonus.common.biz.domain.lease.LeaseOutDetails; import com.bonus.material.lease.service.ILeaseOutDetailsService; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; import javax.annotation.Resource; @@ -192,9 +194,13 @@ public class LeaseOutDetailsServiceImpl implements ILeaseOutDetailsService { } // 6、如果标准箱入库,需要将设备从标准箱移出 if (record.getMaId() != null) { - res = updateBoxBind(record); - if (res == 0) { - throw new RuntimeException("出库失败,移出设备失败"); + // 先查询设备是否在标准箱中 + List list = bmQrBoxMapper.selectByMaId(record.getMaId()); + if (!CollectionUtils.isEmpty(list)) { + res = updateBoxBind(record); + if (res == 0) { + throw new RuntimeException("出库失败,移出设备失败"); + } } } } else { diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/TypeRepairController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/TypeRepairController.java index eb65e729..6b4f46a8 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/TypeRepairController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/TypeRepairController.java @@ -51,6 +51,19 @@ public class TypeRepairController extends BaseController return getDataTable(list); } + /** + * 查询维修班机具配置下拉列表 + * @param typeRepair + * @return + */ + @ApiOperation(value = "查询维修班机具配置下拉") + @RequiresPermissions("ma:repair:list") + @GetMapping("/getRepairList") + public AjaxResult getRepairList(TypeRepair typeRepair) + { + return typeRepairService.getRepairList(typeRepair); + } + /** * 导出维修班机具配置列表 */ diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/domain/TypeRepair.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/domain/TypeRepair.java index 7b0b44dc..f592840b 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/domain/TypeRepair.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/domain/TypeRepair.java @@ -33,6 +33,9 @@ public class TypeRepair extends BaseEntity { @ApiModelProperty(value = "用户姓名") private String userName; + @ApiModelProperty(value = "维修人") + private String repairer; + /** 数据所属组织 */ @Excel(name = "数据所属组织") @ApiModelProperty(value = "数据所属组织") diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/mapper/PartTypeMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/mapper/PartTypeMapper.java index f8910016..d0144f78 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/mapper/PartTypeMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/mapper/PartTypeMapper.java @@ -97,4 +97,11 @@ public interface PartTypeMapper List selectParentId(PartType partType); List getListByTypeName(@Param("paId") Long id, @Param("type") PartType partType); + + /** + * 查询配件库存 + * @param partType + * @return + */ + List select(PartType partType); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/mapper/TypeRepairMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/mapper/TypeRepairMapper.java index 647e36f2..f078e8f5 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/mapper/TypeRepairMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/mapper/TypeRepairMapper.java @@ -1,6 +1,8 @@ package com.bonus.material.ma.mapper; import java.util.List; + +import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.material.ma.domain.TypeRepair; import org.apache.ibatis.annotations.Param; @@ -70,4 +72,11 @@ public interface TypeRepairMapper { * @return */ int deleteTypeRepairByUserIdAndTypeId(@Param("list") List typeRepairs); + + /** + * 查询维修班机具配置列表并关联查询用户姓名 + * @param typeRepair + * @return + */ + List getRepairList(TypeRepair typeRepair); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/ITypeRepairService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/ITypeRepairService.java index a43a02f8..dbc5cabe 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/ITypeRepairService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/ITypeRepairService.java @@ -1,6 +1,8 @@ package com.bonus.material.ma.service; import java.util.List; + +import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.material.ma.domain.TypeRepair; /** @@ -67,4 +69,11 @@ public interface ITypeRepairService { * 根据用户id和类型id删除配置信息 */ int deleteTypeRepairByUserIdAndTypeId(List typeRepairs); + + /** + * 查询维修班机具配置下拉列表 + * @param typeRepair + * @return + */ + AjaxResult getRepairList(TypeRepair typeRepair); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/PartTypeServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/PartTypeServiceImpl.java index a7ad207e..8e1f1616 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/PartTypeServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/PartTypeServiceImpl.java @@ -3,6 +3,7 @@ package com.bonus.material.ma.service.impl; import java.util.ArrayList; import java.util.List; import java.util.Objects; +import java.util.Optional; import com.bonus.common.biz.domain.TreeBuild; import com.bonus.common.biz.domain.TreeNode; @@ -10,7 +11,6 @@ import com.bonus.common.biz.enums.HttpCodeEnum; import com.bonus.common.core.utils.DateUtils; import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.security.utils.SecurityUtils; -import com.bonus.material.ma.domain.vo.MaTypeVo; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -51,17 +51,55 @@ public class PartTypeServiceImpl implements IPartTypeService * @return 配件类型管理 */ @Override - public AjaxResult selectPartTypeList(PartType partType) - { + public AjaxResult selectPartTypeList(PartType partType) { List groupList = new ArrayList<>(); List list = new ArrayList<>(); try { + String userId = SecurityUtils.getUserId().toString(); + partType.setCreateBy(userId); + List partTypeList = partTypeMapper.select(partType); list = partTypeMapper.selectPartTypeList(partType); + List newList = new ArrayList<>(); if (CollectionUtils.isNotEmpty(list)) { - // 创建树形结构(数据集合作为参数) - TreeBuild treeBuild = new TreeBuild(list); - // 原查询结果转换树形结构 - groupList = treeBuild.buildTree(); + if (CollectionUtils.isNotEmpty(partTypeList)) { + for (TreeNode treeNode : list) { + for (PartType type : partTypeList) { + if (treeNode.getId() == (type.getId())) { + long parentId = treeNode.getParentId(); + // 从 list 集合中获取 id 为 parentId 的数据 + Optional parentNodeOpt = list.stream() + .filter(node -> node.getId() == parentId) + .findFirst(); + if (parentNodeOpt.isPresent()) { + TreeNode parentNode = parentNodeOpt.get(); + long parentNodeParentId = parentNode.getParentId(); + Optional newParentNodeOpt = list.stream() + .filter(node -> node.getId() == parentNodeParentId) + .findFirst(); + if (newParentNodeOpt.isPresent()) { + TreeNode newParentNode = newParentNodeOpt.get(); + // 检查 parentNode 是否已经存在于 newList 中 + if (!newList.contains(parentNode)) { + newList.add(parentNode); + } + // 检查 newParentNode 是否已经存在于 newList 中 + if (!newList.contains(newParentNode)) { + newList.add(newParentNode); + } + } + // 检查 treeNode 是否已经存在于 newList 中 + if (!newList.contains(treeNode)) { + newList.add(treeNode); + } + } + } + } + } + // 创建树形结构(数据集合作为参数) + TreeBuild treeBuild = new TreeBuild(newList); + // 原查询结果转换树形结构 + groupList = treeBuild.buildTree(); + } } } catch (Exception e) { log.error("配件类型树-查询失败", e); diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/TypeRepairServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/TypeRepairServiceImpl.java index b4668065..495f6f0f 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/TypeRepairServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/TypeRepairServiceImpl.java @@ -2,6 +2,7 @@ package com.bonus.material.ma.service.impl; import java.util.List; import com.bonus.common.core.utils.DateUtils; +import com.bonus.common.core.web.domain.AjaxResult; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.bonus.material.ma.mapper.TypeRepairMapper; @@ -118,4 +119,14 @@ public class TypeRepairServiceImpl implements ITypeRepairService { public int deleteTypeRepairByUserIdAndTypeId(List typeRepairs) { return typeRepairMapper.deleteTypeRepairByUserIdAndTypeId(typeRepairs); } + + /** + * 查询维修班机具配置下拉列表 + * @param typeRepair + * @return + */ + @Override + public AjaxResult getRepairList(TypeRepair typeRepair) { + return AjaxResult.success(typeRepairMapper.getRepairList(typeRepair)); + } } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/controller/RepairAuditDetailsController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/controller/RepairAuditDetailsController.java index 8714de3a..c8a0840b 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/controller/RepairAuditDetailsController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/controller/RepairAuditDetailsController.java @@ -63,6 +63,19 @@ public class RepairAuditDetailsController extends BaseController { return getDataTable(list); } + /** + * 查询修试审核任务详情 + * @param repairAuditDetails + * @return + */ + @ApiOperation("查询修试审核任务详情") + @GetMapping("/getDetailsList") + public TableDataInfo getDetailsList(RepairAuditDetails repairAuditDetails) { + startPage(); + List list = repairAuditDetailsService.getDetailsList(repairAuditDetails); + return getDataTable(list); + } + /** * 导出修试审核任务列表 */ 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 7bb7890d..9b7d7703 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 @@ -60,6 +60,20 @@ public class RepairController extends BaseController { return getDataTable(list); } + /** + * 获取维修任务列表--分页 + * @param bean + * @return + */ + @ApiOperation(value = "获取维修任务详情列表--分页") + @GetMapping("/getDetailsList") + //@RequiresPermissions(value = "repair:manage:list") + public TableDataInfo getDetailsList(RepairPartDetails bean) { + startPage(); + List list = service.getDetailsList(bean); + return getDataTable(list); + } + /** * 获取维修任务列表--不分页--NO_PAGE */ 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 f1849146..a6c0cca0 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 @@ -83,6 +83,9 @@ public class RepairAuditDetails extends BaseEntity { @ApiModelProperty(value = "审核人") private Long auditBy; + @ApiModelProperty(value = "审核人") + private String auditName; + /** 审核时间 */ @ApiModelProperty(value = "审核时间") @JsonFormat(pattern = "yyyy-MM-dd") @@ -120,6 +123,9 @@ public class RepairAuditDetails extends BaseEntity { @ApiModelProperty(value = "设备类型") private String typeName; + @ApiModelProperty(value = "设备编号") + private String maCode; + @ApiModelProperty(value = "管理模式") private String manageType; } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/RepairPartDetails.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/RepairPartDetails.java index 2603d056..357a353c 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/RepairPartDetails.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/RepairPartDetails.java @@ -36,11 +36,20 @@ public class RepairPartDetails extends BaseEntity { @ApiModelProperty(value = "机具ID") private Long maId; + @ApiModelProperty(value = "机具编码") + private String maCode; + /** 规格ID */ @Excel(name = "规格ID") @ApiModelProperty(value = "规格ID") private Long typeId; + @ApiModelProperty(value = "设备名称") + private String typeName; + + @ApiModelProperty(value = "规格型号") + private String typeModelName; + /** 配件ID */ @Excel(name = "配件ID") @ApiModelProperty(value = "配件ID") @@ -51,6 +60,9 @@ public class RepairPartDetails extends BaseEntity { @ApiModelProperty(value = "配件数量") private Integer partNum; + @ApiModelProperty(value = "配件库存数量") + private Integer storageNum; + /** 配件费用 */ @Excel(name = "配件费用") @ApiModelProperty(value = "配件费用") diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/vo/RepairDeviceVO.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/vo/RepairDeviceVO.java index 9c11d646..5119e1aa 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/vo/RepairDeviceVO.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/vo/RepairDeviceVO.java @@ -2,12 +2,14 @@ package com.bonus.material.repair.domain.vo; import com.bonus.material.basic.domain.BmFileInfo; import com.bonus.material.repair.domain.RepairPartDetails; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.experimental.Accessors; import java.math.BigDecimal; import java.util.ArrayList; +import java.util.Date; import java.util.List; /** @@ -81,6 +83,11 @@ public class RepairDeviceVO { @ApiModelProperty(value = "维修费用小计计") private BigDecimal totalCost; + @ApiModelProperty(value = "数量--维修人员信息集合") + private List repairList; + + private String remark; + @ApiModelProperty(value = "编码--内部维修配件集合") private List codeInRepairPartList; 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 6bb9122b..18bf5b9b 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 @@ -71,7 +71,7 @@ public interface RepairAuditDetailsMapper { * @param ids 批量修试审核详细 * @return 结果 */ - int updateRepairAuditDetailsBatch(@Param("ids") List ids, @Param("status") String status); + int updateRepairAuditDetailsBatch(@Param("ids") List ids, @Param("status") String status, @Param("auditBy") Long auditBy); /** * 删除修试审核详细 @@ -136,4 +136,11 @@ public interface RepairAuditDetailsMapper { * @param details */ void updateMachine(RepairAuditDetails details); + + /** + * 查询修试审核任务详情 + * @param repairAuditDetails + * @return + */ + List getDetailsList(RepairAuditDetails repairAuditDetails); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/mapper/RepairMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/mapper/RepairMapper.java index 80498a8c..4a83f346 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/mapper/RepairMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/mapper/RepairMapper.java @@ -184,4 +184,32 @@ public interface RepairMapper { List getRepairedList(RepairInputDetailsVo dto); List getRepairedDetailList(RepairInputDetailsVo dto); + + /** + * 维修人信息修改 + * @param bean + * @return + */ + int updateRepairer(RepairDeviceVO bean); + + /** + * 扣减个人库配件库存数量 + * @param partDetails + * @return + */ + int updateStorageNum(RepairPartDetails partDetails); + + /** + * 扣减ma_part_type表库存 + * @param partDetails + * @return + */ + int updateMaTypeStockNum(RepairPartDetails partDetails); + + /** + * 查询维修明细 + * @param bean + * @return + */ + List getDetailsList(RepairPartDetails bean); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/IRepairAuditDetailsService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/IRepairAuditDetailsService.java index 75e9da0d..02e587e0 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/IRepairAuditDetailsService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/IRepairAuditDetailsService.java @@ -112,4 +112,11 @@ public interface IRepairAuditDetailsService { * @return 结果 */ int deleteRepairAuditDetailsById(Long id); + + /** + * 查询修试审核任务详情 + * @param repairAuditDetails + * @return + */ + List getDetailsList(RepairAuditDetails repairAuditDetails); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/RepairService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/RepairService.java index c5d3df3e..64881601 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/RepairService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/RepairService.java @@ -3,6 +3,7 @@ package com.bonus.material.repair.service; import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.material.repair.domain.RepairApplyRecord; +import com.bonus.material.repair.domain.RepairPartDetails; import com.bonus.material.repair.domain.RepairTask; import com.bonus.material.repair.domain.RepairTaskDetails; import com.bonus.material.repair.domain.vo.RepairDeviceSummaryVo; @@ -86,4 +87,11 @@ public interface RepairService { List getRepairedList(RepairInputDetailsVo dto); List getRepairedDetailList(RepairInputDetailsVo dto); + + /** + * 获取维修明细列表 + * @param bean + * @return + */ + List getDetailsList(RepairPartDetails bean); } 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 427cbaa8..6d38c515 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 @@ -520,7 +520,8 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService .map(RepairAuditDetails::getId) .filter(Objects::nonNull) .collect(Collectors.toList()); - return repairAuditDetailsMapper.updateRepairAuditDetailsBatch(ids, String.valueOf(status)); + Long auditBy = SecurityUtils.getUserId(); + return repairAuditDetailsMapper.updateRepairAuditDetailsBatch(ids, String.valueOf(status), auditBy); } catch (final Exception e) { throw new ServiceException("错误信息描述"); } @@ -557,7 +558,8 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService } try { - return repairAuditDetailsMapper.updateRepairAuditDetailsBatch(ids, status); + Long userId = SecurityUtils.getUserId(); + return repairAuditDetailsMapper.updateRepairAuditDetailsBatch(ids, status, userId); } catch (final Exception e) { throw new ServiceException("错误信息描述"); } @@ -660,4 +662,14 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService public int deleteRepairAuditDetailsById(Long id) { return repairAuditDetailsMapper.deleteRepairAuditDetailsById(id); } + + /** + * 查询修试审核任务详情 + * @param repairAuditDetails + * @return + */ + @Override + public List getDetailsList(RepairAuditDetails repairAuditDetails) { + return repairAuditDetailsMapper.getDetailsList(repairAuditDetails); + } } 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 eb006227..7d9f1654 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 @@ -434,6 +434,7 @@ public class RepairServiceImpl implements RepairService { for (RepairDeviceVO bean : repairDeviceVOList) { if (bean.getManageType() == null) {throw new ServiceException("请选择物资管理方式");} if (Objects.equals(MaTypeManageTypeEnum.CODE_DEVICE.getTypeId(), bean.getManageType())) { + partList = bean.getNumberInRepairPartList(); // 物资管理方式--编码管理 if (bean.getRepairType() == null) {continue;} // 根据维修方式,更新维修数量、报废数量 @@ -472,7 +473,23 @@ public class RepairServiceImpl implements RepairService { if (null == bean.getRepairType()) { continue; } - + // 更新维修人员信息 + if (!CollectionUtils.isEmpty(bean.getRepairList())) { + RepairPartDetails repairPartDetails = bean.getRepairList().get(0); + bean.setRepairer(repairPartDetails.getRepairer()); + bean.setRemark(repairPartDetails.getRemark()); + repairMapper.updateRepairer(bean); + for (RepairPartDetails partDetails : bean.getRepairList()) { + if (!CollectionUtils.isEmpty(partDetails.getFileList())) { + for (BmFileInfo bmFileInfo : partDetails.getFileList()) { + bmFileInfo.setTaskType(TmTaskTypeEnum.TM_TASK_REPAIR_NUM.getTaskTypeId()) + .setTaskId(bean.getTaskId()).setModelId(bean.getId()) + .setCreateBy(loginUser.getUsername()); + bmFileInfoMapper.insertBmFileInfo(bmFileInfo); + } + } + } + } BigDecimal innerRepairNum = BigDecimal.ZERO; BigDecimal outerRepairNum = BigDecimal.ZERO; BigDecimal scrapNum = BigDecimal.ZERO; @@ -686,7 +703,8 @@ public class RepairServiceImpl implements RepairService { repairApplyRecord.setCreateBy(loginUser.getUsername()); repairApplyRecord.setStatus(0L); - if (null != partDetails.getPartId() && null != partDetails.getPartNum()) { + if ((partDetails.getId() != null || partDetails.getPartId() != null) && null != partDetails.getPartNum()) { + partDetails.setPartId(partDetails.getPartId() != null ? partDetails.getPartId() : partDetails.getId()); // 有维修配件时,如果价格为空,设置为0 if (null == partDetails.getPartCost()) {partDetails.setPartCost(BigDecimal.ZERO);} @@ -709,6 +727,15 @@ public class RepairServiceImpl implements RepairService { .setPartId(Optional.ofNullable(partDetails.getPartId()).orElse(0L)); // 添加【维修记录表】 repairMapper.addRecord(repairApplyRecord); + // 扣减个人库配件库存数量 + int res = repairMapper.updateStorageNum(partDetails); + if (res > 0) { + // 扣减ma_part_type表库存 + res = repairMapper.updateMaTypeStockNum(partDetails); + if (res == 0) { + throw new ServiceException("配件库存不足"); + } + } } else { // 不选维修配件时, 只添加【维修记录表】 repairMapper.addRecord(repairApplyRecord); @@ -951,4 +978,14 @@ public class RepairServiceImpl implements RepairService { // } return repairedDetailList; } + + /** + * 获取维修明细列表 + * @param bean + * @return + */ + @Override + public List getDetailsList(RepairPartDetails bean) { + return repairMapper.getDetailsList(bean); + } } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/warning/ScheduledTasks.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/warning/ScheduledTasks.java index 664f132e..295544db 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/warning/ScheduledTasks.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/warning/ScheduledTasks.java @@ -108,6 +108,7 @@ public class ScheduledTasks { System.out.println("没有未签字的退料单"); } // 记录任务执行时间 + log.info("退料人未签字任务执行时间:" + LocalDateTime.now().format(FORMATTER)); System.out.println("退料人未签字任务执行时间:" + LocalDateTime.now().format(FORMATTER)); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/warning/WashHouseScheduledTasks.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/warning/WashHouseScheduledTasks.java index cc7b5d1a..971338b4 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/warning/WashHouseScheduledTasks.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/warning/WashHouseScheduledTasks.java @@ -69,6 +69,9 @@ public class WashHouseScheduledTasks { return "0 0 9 */2 * ?"; } + /** + * 未入库定时任务 + */ public void taskWithWashHouse() { log.info("开始执行未入库定时推送任务"); boolean hasNullTask = false; @@ -96,6 +99,7 @@ public class WashHouseScheduledTasks { System.out.println("没有待入库的单子"); } // 记录任务执行时间 + log.info("待入库定时任务执行时间:" + LocalDateTime.now().format(FORMATTER)); System.out.println("待入库定时任务执行时间:" + LocalDateTime.now().format(FORMATTER)); } diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmQrBoxMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmQrBoxMapper.xml index c687f5f6..c9a8373d 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmQrBoxMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/BmQrBoxMapper.xml @@ -287,4 +287,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" (mm.ma_status = 0 or mm.ma_status =5) and qb.box_id = #{boxId} + + \ No newline at end of file diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/PartTypeMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/PartTypeMapper.xml index 9c9e0ed0..cd330fac 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/PartTypeMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/PartTypeMapper.xml @@ -198,4 +198,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ) + + \ No newline at end of file diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/TypeRepairMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/TypeRepairMapper.xml index 3a6dfafa..48c4fc87 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/TypeRepairMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/TypeRepairMapper.xml @@ -77,6 +77,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" left join sys_user su on mtk.user_id = su.user_id + + delete from ma_type_repair where type_id in 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 8959a4b6..068e1ee8 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 @@ -502,6 +502,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update repair_audit_details set status = #{status}, update_time = now() + ,audit_time = now(), audit_by = #{auditBy} where id in #{id} @@ -540,4 +541,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + \ No newline at end of file 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 ca35340e..ae4de482 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 @@ -522,6 +522,31 @@ task_id = #{taskId} + + update repair_apply_details @@ -532,4 +557,34 @@ where id = #{id} + + + update + repair_apply_details + set + repairer = #{repairer}, + remark = #{remark}, + update_time = now() + where + id = #{id} + + + + update + pa_person_storage + set + part_num = part_num - #{partNum} + where + part_id = #{partId} + and creator = #{createBy} + + + update + ma_part_type + set + storage_num = storage_num - #{partNum}, + update_time = now() + where + pa_id = #{partId} +