From 16b1b0ad4a024eded711862b05ac6680cf345ca4 Mon Sep 17 00:00:00 2001 From: wws <18630710203@163.com> Date: Thu, 7 Dec 2023 14:30:11 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=85=E9=9A=9C=E4=BF=AE=E6=94=B9=E6=8F=90?= =?UTF-8?q?=E4=BA=A4BUG=E8=A7=A3=E5=86=B3=EF=BC=8C=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E4=BC=98=E5=8C=96+=E6=B3=A8=E8=A7=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/DevicePDAController.java | 4 +- .../controller/EquCheckItemController.java | 2 + .../EquSpotInspectionOrderController.java | 2 +- .../com/op/device/domain/EquPlanEquSpare.java | 10 + .../device/mapper/SparePartsLedgerMapper.java | 5 +- .../op/device/service/IDevicePDAService.java | 4 +- .../op/device/service/IEquPlanService.java | 137 ++++---- .../service/impl/DevicePDAServiceImpl.java | 66 ++-- .../service/impl/EquCheckItemServiceImpl.java | 194 +++++------ .../service/impl/EquFaultTypeServiceImpl.java | 20 +- .../service/impl/EquOrderServiceImpl.java | 59 +++- .../service/impl/EquPlanServiceImpl.java | 307 ++++++++++-------- .../service/impl/EquSpotCheckServiceImpl.java | 103 +++--- .../impl/EquUpkeepOrderServiceImpl.java | 91 +++--- .../service/impl/EquUpkeepServiceImpl.java | 74 ++--- .../mapper/device/SparePartsLedgerMapper.xml | 4 +- 16 files changed, 599 insertions(+), 483 deletions(-) diff --git a/op-modules/op-device/src/main/java/com/op/device/controller/DevicePDAController.java b/op-modules/op-device/src/main/java/com/op/device/controller/DevicePDAController.java index f223e6653..57cc27cf8 100644 --- a/op-modules/op-device/src/main/java/com/op/device/controller/DevicePDAController.java +++ b/op-modules/op-device/src/main/java/com/op/device/controller/DevicePDAController.java @@ -30,7 +30,7 @@ public class DevicePDAController extends BaseController { private IEquRepairOrderService equRepairOrderService; /** - * 获取今日巡检任务工单list + * 获取今日任务工单list * * @param pdadto * @return @@ -41,7 +41,7 @@ public class DevicePDAController extends BaseController { } /** - * 获取巡检记录 + * 获取记录列表 * * @param pdadto * @return diff --git a/op-modules/op-device/src/main/java/com/op/device/controller/EquCheckItemController.java b/op-modules/op-device/src/main/java/com/op/device/controller/EquCheckItemController.java index 911304797..bce69c032 100644 --- a/op-modules/op-device/src/main/java/com/op/device/controller/EquCheckItemController.java +++ b/op-modules/op-device/src/main/java/com/op/device/controller/EquCheckItemController.java @@ -37,6 +37,7 @@ public class EquCheckItemController extends BaseController { /** * 通过检查项code查询关联设备code列表 + * * @return */ @RequiresPermissions("device:item:list") @@ -47,6 +48,7 @@ public class EquCheckItemController extends BaseController { /** * 获取全部设备list信息 + * * @return */ @RequiresPermissions("device:item:list") diff --git a/op-modules/op-device/src/main/java/com/op/device/controller/EquSpotInspectionOrderController.java b/op-modules/op-device/src/main/java/com/op/device/controller/EquSpotInspectionOrderController.java index 7e6910024..9abaad2d0 100644 --- a/op-modules/op-device/src/main/java/com/op/device/controller/EquSpotInspectionOrderController.java +++ b/op-modules/op-device/src/main/java/com/op/device/controller/EquSpotInspectionOrderController.java @@ -16,7 +16,7 @@ import javax.servlet.http.HttpServletResponse; import java.util.List; /** - * 点检工单Controller + * 点检工单Controller-未使用 * * @author wws * @date 2023-10-31 diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/EquPlanEquSpare.java b/op-modules/op-device/src/main/java/com/op/device/domain/EquPlanEquSpare.java index f53e4e8db..614ee3f33 100644 --- a/op-modules/op-device/src/main/java/com/op/device/domain/EquPlanEquSpare.java +++ b/op-modules/op-device/src/main/java/com/op/device/domain/EquPlanEquSpare.java @@ -67,6 +67,16 @@ public class EquPlanEquSpare extends BaseEntity { private BigDecimal amount; + private BigDecimal storageAmount; + + public BigDecimal getStorageAmount() { + return storageAmount; + } + + public void setStorageAmount(BigDecimal storageAmount) { + this.storageAmount = storageAmount; + } + public BigDecimal getAmount() { return amount; } diff --git a/op-modules/op-device/src/main/java/com/op/device/mapper/SparePartsLedgerMapper.java b/op-modules/op-device/src/main/java/com/op/device/mapper/SparePartsLedgerMapper.java index e46cdd5b3..b060df671 100644 --- a/op-modules/op-device/src/main/java/com/op/device/mapper/SparePartsLedgerMapper.java +++ b/op-modules/op-device/src/main/java/com/op/device/mapper/SparePartsLedgerMapper.java @@ -3,6 +3,7 @@ package com.op.device.mapper; import java.math.BigDecimal; import java.util.List; +import com.op.device.domain.EquPlanEquSpare; import com.op.device.domain.EquSpareApply; import com.op.device.domain.SparePartsLedger; @@ -62,11 +63,11 @@ public interface SparePartsLedgerMapper { public int deleteSparePartsLedgerByStorageIds(String[] storageIds); /** - * 通过备件编码获取备件真实库存(总数量-冻结数量) + * 通过备件编码获取备件真实库存、冻结数量 * @param materialCode * @return */ - BigDecimal selectRealAmountByMaterialCode(String materialCode); + EquPlanEquSpare selectRealAmountByMaterialCode(String materialCode); /** * 减少库存数量 diff --git a/op-modules/op-device/src/main/java/com/op/device/service/IDevicePDAService.java b/op-modules/op-device/src/main/java/com/op/device/service/IDevicePDAService.java index 43003f4fb..063b01ebf 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/IDevicePDAService.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/IDevicePDAService.java @@ -15,14 +15,14 @@ import java.util.List; public interface IDevicePDAService { /** - * 获取今日巡检任务工单list + * 获取今日任务工单list * * @return */ AjaxResult getTodayTask(PDADTO pdadto); /** - * 获取巡检记录 + * 获取记录列表 * * @param pdadto * @return diff --git a/op-modules/op-device/src/main/java/com/op/device/service/IEquPlanService.java b/op-modules/op-device/src/main/java/com/op/device/service/IEquPlanService.java index 6948032ba..ed731a5b7 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/IEquPlanService.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/IEquPlanService.java @@ -11,89 +11,94 @@ import com.op.device.domain.vo.InspectionPlanVO; /** * 计划Service接口 - * + * * @author Open Platform * @date 2023-10-16 */ public interface IEquPlanService { - /** - * 查询计划 - * - * @param planId 计划主键 - * @return 计划 - */ - public EquPlan selectEquPlanByPlanId(String planId); + /** + * 查询计划 + * + * @param planId 计划主键 + * @return 计划 + */ + public EquPlan selectEquPlanByPlanId(String planId); - /** - * 查询计划列表 - * - * @param equPlan 计划 - * @return 计划集合 - */ - public List selectEquPlanList(EquPlan equPlan); + /** + * 查询计划列表 + * + * @param equPlan 计划 + * @return 计划集合 + */ + public List selectEquPlanList(EquPlan equPlan); - /** - * 新增计划 - * - * @param equPlan 计划 - * @return 结果 - */ - public AjaxResult insertEquPlan(EquPlan equPlan); + /** + * 新增计划 + * + * @param equPlan 计划 + * @return 结果 + */ + public AjaxResult insertEquPlan(EquPlan equPlan); - /** - * 修改计划 - * - * @param equPlan 计划 - * @return 结果 - */ - public AjaxResult updateEquPlan(EquPlan equPlan); + /** + * 修改计划 + * + * @param equPlan 计划 + * @return 结果 + */ + public AjaxResult updateEquPlan(EquPlan equPlan); - /** - * 批量删除计划 - * - * @param planIds 需要删除的计划主键集合 - * @return 结果 - */ - public AjaxResult deleteEquPlanByPlanIds(String[] planIds); + /** + * 批量删除计划 + * + * @param planIds 需要删除的计划主键集合 + * @return 结果 + */ + public AjaxResult deleteEquPlanByPlanIds(String[] planIds); - /** - * 删除计划信息 - * - * @param planId 计划主键 - * @return 结果 - */ - public int deleteEquPlanByPlanId(String planId); + /** + * 删除计划信息 + * + * @param planId 计划主键 + * @return 结果 + */ + public int deleteEquPlanByPlanId(String planId); - /** - * 获取设备信息list - * @param equEquipment - * @return - */ + /** + * 获取设备信息list + * + * @param equEquipment + * @return + */ List getEquList(EquEquipment equEquipment); - /** - * 处理计划-设备信息 - * @param equPlanEquList - * @return - */ + /** + * 处理计划-设备信息 + * + * @param equPlanEquList + * @return + */ AjaxResult formatEquItem(List equPlanEquList); - /** - * 获取人员list - * @return - */ + /** + * 获取人员list + * + * @return + */ AjaxResult getPersonList(); - /** - * 获取工作中心 - * @return - */ + /** + * 获取工作中心 + * + * @return + */ AjaxResult getWorkCenter(); - /** - * 修改计划初始化信息 - * @param equPlan - * @return - */ + /** + * 修改计划初始化信息 + * + * @param equPlan + * @return + */ AjaxResult initUpdatePlanInfo(EquPlan equPlan); } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java index 8f1e2f3ed..74708c60d 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java @@ -74,7 +74,7 @@ public class DevicePDAServiceImpl implements IDevicePDAService { /** - * 获取今日巡检任务工单list-状态不为已完成 + * 获取今日任务工单list-状态不为已完成 * * @return */ @@ -86,7 +86,7 @@ public class DevicePDAServiceImpl implements IDevicePDAService { } /** - * 获取巡检记录 + * 获取记录 * * @param pdadto * @return @@ -121,51 +121,57 @@ public class DevicePDAServiceImpl implements IDevicePDAService { timeArray.add(order.getOrderEnd()); order.setTimeArray(timeArray); + // 查询并设置计划名称 String planName = equOrderMapper.selectPlanNameByPlanCode(order.getPlanCode()); if (planName != null) { order.setPlanName(planName); } - // 设备名称 + // 设置设备名称 order.setEquipmentName(equipmentMapper.selectEquipmentByEquipmentCode(order.getEquipmentCode()).getEquipmentName()); + // 设置工作中心名称 order.setWorkCenterName(equOrderMapper.selectCenterNameByCenterCode(order.getPlanWorkshop())); + // 通过工单编码查询检查项信息列表 List detailList = equOrderDetailMapper.selectEquOrderDetailByOrderCode(order.getOrderCode()); for (EquOrderDetail detail : detailList) { + // 通过检查项id查询标准信息列表 List standardList = equOrderStandardMapper.selectEquOrderStandardByParentCode(detail.getId()); for (EquOrderStandard standard : standardList) { - // 未达标图片 + // 查询未达标图片 BaseFileData selectTemp = new BaseFileData(); selectTemp.setSourceId(standard.getId()); selectTemp.setImageType("3"); List checkPictrueList = equFileMapper.selectUrlList(selectTemp); if (checkPictrueList != null) { - standard.setCheckPictrueList(checkPictrueList); + standard.setCheckPictrueList(checkPictrueList);// 将图片地址置入 } } + // 将处理好的标准信息列表置入检查项 detail.setStandardList(standardList); } + // 将处理好的检查项信息列表置入工单 order.setDetailList(detailList); - // 人员信息 + // 通过工单编码获取人员信息列表 List users = equOrderPersonMapper.selectEquOrderPersonByOrderCode(order.getOrderCode()); + // 处理人员信息 List personList = new ArrayList<>(); - for (String id : users) { personList.add(personMapper.selectSysUserByUserId(Long.valueOf(id))); } - - // 备件 - List spareList = equSpareApplyMapper.selectEquSpareApplyListByWorkCode(order.getOrderCode()); - if (spareList != null) { - order.setSpareList(spareList); - } - + // 将人员信息置入工单 order.setPersonList(personList); - // 保养图片 + // 通过工单编码获取备件信息列表 + List spareList = equSpareApplyMapper.selectEquSpareApplyListByWorkCode(order.getOrderCode()); + if (spareList != null) { + order.setSpareList(spareList);// 将备件信息列表置入工单 + } + + // 获取保养图片 BaseFileData selectTemp = new BaseFileData(); selectTemp.setSourceId(order.getOrderId()); List upkeepPictures = equFileMapper.selectUrlList(selectTemp); @@ -200,16 +206,23 @@ public class DevicePDAServiceImpl implements IDevicePDAService { } } + // 是否含有未达标 boolean hasError = false; + // 是否为保养逻辑 boolean maintenanceFlag = false; + // 如果类型为保养 if (equOrder.getPlanType().equals("maintenance")) { maintenanceFlag = true; } + // 获取检查项信息列表 List detailList = equOrder.getDetailList(); + // 处理检查项信息 for (EquOrderDetail detail : detailList) { + // 获取标准信息列表 List standardList = detail.getStandardList(); + // 处理标准信息 for (EquOrderStandard standard : standardList) { //上传附件 @@ -225,13 +238,13 @@ public class DevicePDAServiceImpl implements IDevicePDAService { file.setSourceId(standard.getId()); file.setCreateBy(SecurityUtils.getUsername()); file.setCreateTime(new Date()); - file.setImageType("3"); + file.setImageType("3");// 设置类型为3(维修前) files.add(file); } equFileMapper.insertEquFileBatch(files); } - // 校验标准信息-是否申请报修 + // 校验标准信息是否达标 if (standard.getStandardType().equals("quantify")) { int up = standard.getActualValue().compareTo(standard.getDetailUpLimit()); int down = standard.getActualValue().compareTo(standard.getDetailDownLimit()); @@ -256,16 +269,16 @@ public class DevicePDAServiceImpl implements IDevicePDAService { // 更新工单信息 equOrder.setOrderStatus("1"); // 状态为已完成 - equOrder.setOrderStart(DateUtils.getNowDate());// 设置检查时间 equOrder.setUpdateTime(DateUtils.getNowDate()); equOrder.setUpdateBy(SecurityContextHolder.getUserName()); - equOrder.setPlanPerson(SecurityContextHolder.getUserName()); - equOrder.setPlanPerson(SecurityContextHolder.getUserName()); + equOrder.setPlanPerson(SecurityContextHolder.getUserName());// 设置负责人 if (equOrder.getTimeArray().size() > 0) { - equOrder.setOrderStart(equOrder.getTimeArray().get(0)); - equOrder.setOrderEnd(equOrder.getTimeArray().get(1)); + equOrder.setOrderStart(equOrder.getTimeArray().get(0));// 工单开始时间 + equOrder.setOrderEnd(equOrder.getTimeArray().get(1));// 工单结束时间 } + equOrder.setOrderStart(DateUtils.getNowDate());// 设置检查时间 + // 是否存在报修单 boolean checkRepair = false; if (equOrder.getRepairCode() == null) { @@ -276,7 +289,7 @@ public class DevicePDAServiceImpl implements IDevicePDAService { } } - // 报修信息 + // 报修逻辑 if (checkRepair && hasError && !maintenanceFlag) { // 获取故障报修流水号 EquRepairOrder equRepairOrder = new EquRepairOrder(); @@ -318,6 +331,7 @@ public class DevicePDAServiceImpl implements IDevicePDAService { equRepairOrderMapper.insertEquRepairOrder(equRepairOrder); } + // 如果不存在未达标信息 if (!hasError) { // 删除报修单 if (equOrder.getRepairCode() != null) { @@ -332,7 +346,7 @@ public class DevicePDAServiceImpl implements IDevicePDAService { if (maintenanceFlag) { // 设置结束时间 equOrder.setOrderEnd(DateUtils.getNowDate()); - // 设置保养用时 + // 用时(分钟) long diff = equOrder.getOrderEnd().getTime() - equOrder.getOrderStart().getTime(); equOrder.setOrderCostTime(String.valueOf(diff/60000)); // 创建设备对象用于更新设备状态 @@ -467,6 +481,7 @@ public class DevicePDAServiceImpl implements IDevicePDAService { @Override @DS("#header.poolName") public AjaxResult startMaintenanceTask(PDADTO pdadto) { + // 通过工单编码获取工单信息 EquOrder order = equOrderMapper.selectEquOrderByOrderCode(pdadto.getOrderCode()); // 改为进行中 order.setOrderStatus("3"); @@ -868,9 +883,10 @@ public class DevicePDAServiceImpl implements IDevicePDAService { private void updateOperationRecord(String equipmentCode,String operationType,String type) { // 设备最后一条运行记录 EquOperationRecord lastRecord = equOperationRecordMapper.selectLastOperationRecordByEquipmentCode(equipmentCode); + // 如果在维修中则不添加运行记录 if (lastRecord.getMaintenanceType() != null) { if (!lastRecord.getMaintenanceType().isEmpty()) { - if (lastRecord.getMaintenanceType().equals("repair")) { + if (lastRecord.getMaintenanceType().equals("repair") && type.equals("upkeep")) { return; } } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquCheckItemServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquCheckItemServiceImpl.java index 9c2691ed5..4d2e6c046 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquCheckItemServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquCheckItemServiceImpl.java @@ -61,6 +61,7 @@ public class EquCheckItemServiceImpl implements IEquCheckItemService { EquCheckItemVO equCheckItemVO = new EquCheckItemVO(); BeanUtils.copyProperties(equCheckItem, equCheckItemVO); + // 通过检查项编码获取标准信息列表并置入检查项 equCheckItemVO.setFormStandard(equCheckItemDetailMapper.selectEquCheckItemDetailByParentCode(equCheckItem.getItemCode())); return equCheckItemVO; @@ -75,6 +76,7 @@ public class EquCheckItemServiceImpl implements IEquCheckItemService { @Override @DS("#header.poolName") public List selectEquCheckItemList(EquCheckItem equCheckItem) { + // 创建时间列表不为空 if (equCheckItem.getCreateTimeArray() != null) { // 设置创建日期开始和结束值 if (equCheckItem.getCreateTimeArray().size() == 2) { @@ -83,6 +85,7 @@ public class EquCheckItemServiceImpl implements IEquCheckItemService { equCheckItem.setCreateTimeEnd(formatter.format(equCheckItem.getCreateTimeArray().get(1))); } } + // 更新时间列表不为空 if (equCheckItem.getUpdateTimeArray() != null) { // 设置更新日期开始和结束 if (equCheckItem.getUpdateTimeArray().size() == 2) { @@ -104,13 +107,13 @@ public class EquCheckItemServiceImpl implements IEquCheckItemService { @DS("#header.poolName") @Transactional public AjaxResult insertEquCheckItem(EquCheckItemDTO equCheckItemDTO) { - // 检验重复 + // 校验检查项是否存在 EquCheckItem checkItem = new EquCheckItem(); checkItem.setItemType(equCheckItemDTO.getItemType()); checkItem.setItemName(equCheckItemDTO.getItemName()); List check = equCheckItemMapper.selectEquCheckItemList(checkItem); if (check.size() > 0) { - return error(500,"检查项已存在!新增失败!"); + return error(500, "检查项已存在!新增失败!"); } // 创建检查项对象 @@ -128,64 +131,20 @@ public class EquCheckItemServiceImpl implements IEquCheckItemService { String serialNum = String.format("%03d", equCheckItemMapper.selectSerialNumber()); // 处理检查项信息 - equCheckItem.setItemId(IdUtils.fastSimpleUUID()); - equCheckItem.setFactoryCode(factory); - equCheckItem.setItemCode(DateUtils.dateTimeNow(DateUtils.YYYYMMDD) + serialNum); + equCheckItem.setItemId(IdUtils.fastSimpleUUID());// id + equCheckItem.setFactoryCode(factory);// 工厂编码 + equCheckItem.setItemCode(DateUtils.dateTimeNow(DateUtils.YYYYMMDD) + serialNum);// 检查项编码 equCheckItem.setCreateBy(SecurityContextHolder.getUserName()); equCheckItem.setCreateTime(DateUtils.getNowDate()); equCheckItem.setUpdateBy(SecurityContextHolder.getUserName()); equCheckItem.setUpdateTime(DateUtils.getNowDate()); - if (equCheckItem.getItemType().equals("spotInspection")) { - equCheckItem.setItemTypeName("点检"); - } - if (equCheckItem.getItemType().equals("inspection")) { - equCheckItem.setItemTypeName("巡检"); - } - if (equCheckItem.getItemType().equals("maintenance")) { - equCheckItem.setItemTypeName("保养"); - } + equCheckItem.setItemTypeName(exchangeItemType(equCheckItem.getItemType()));// 维护类型 - // 插入数据库 + // 检查项新增至数据库 equCheckItemMapper.insertEquCheckItem(equCheckItem); - // 处理标准信息 - for (EquCheckItemDetail detail : equCheckItemDTO.getFormStandard()) { - // 获取标准流水号 - String detailSerialNum = String.format("%03d", equCheckItemDetailMapper.selectSerialNumber(equCheckItem.getItemCode())); - - detail.setDetailId(IdUtils.fastSimpleUUID()); - detail.setParentCode(equCheckItem.getItemCode()); - detail.setFactoryCode(factory); - detail.setDetailCode(equCheckItem.getItemCode() + detailSerialNum); - detail.setCreateBy(SecurityContextHolder.getUserName()); - detail.setCreateTime(DateUtils.getNowDate()); - detail.setUpdateBy(SecurityContextHolder.getUserName()); - detail.setUpdateTime(DateUtils.getNowDate()); - - // 插入到数据库 - equCheckItemDetailMapper.insertEquCheckItemDetail(detail); - } - - // 处理关联设备信息 - for (String code : equCheckItemDTO.getEquipmentCodeList()) { - EquItemEquipment equItemEquipment = new EquItemEquipment(); - - // 获取流水号 - String cnnSerialNum = String.format("%03d", equItemEquipmentMapper.selectSerialNumber()); - - equItemEquipment.setId(IdUtils.fastSimpleUUID()); - equItemEquipment.setConnCode(DateUtils.dateTimeNow(DateUtils.YYYYMMDD)+cnnSerialNum); - equItemEquipment.setItemCode(equCheckItem.getItemCode()); - equItemEquipment.setEquipmentCode(code); - equItemEquipment.setFactoryCode(factory); - equItemEquipment.setCreateBy(SecurityContextHolder.getUserName()); - equItemEquipment.setCreateTime(DateUtils.getNowDate()); - equItemEquipment.setUpdateBy(SecurityContextHolder.getUserName()); - equItemEquipment.setUpdateTime(DateUtils.getNowDate()); - - // 插入数据库 - equItemEquipmentMapper.insertEquItemEquipment(equItemEquipment); - } + // 处理标准信息、关联设备信息 + insertInfoCommon(equCheckItem,equCheckItemDTO.getFormStandard(),equCheckItemDTO.getEquipmentCodeList()); return success("新增成功"); } @@ -201,79 +160,37 @@ public class EquCheckItemServiceImpl implements IEquCheckItemService { @Transactional public AjaxResult updateEquCheckItem(EquCheckItemDTO equCheckItemDTO) { - // 检验 + // 校验检查项是否已存在 EquCheckItem checkQuery = new EquCheckItem(); checkQuery.setItemType(equCheckItemDTO.getItemType()); checkQuery.setItemName(equCheckItemDTO.getItemName()); List check = equCheckItemMapper.selectEquCheckItemList(checkQuery); - if (check.size()>0) { + if (check.size() > 0) { if (!check.get(0).getItemCode().equals(equCheckItemDTO.getItemCode())) { - return error(500,"检查项已存在!不可修改!"); + return error(500, "检查项已存在!不可修改!"); } } + // 创建检查项对象 EquCheckItem equCheckItem = new EquCheckItem(); BeanUtils.copyProperties(equCheckItemDTO, equCheckItem); // 处理检查项信息 equCheckItem.setUpdateBy(SecurityContextHolder.getUserName()); equCheckItem.setUpdateTime(DateUtils.getNowDate()); - if (equCheckItem.getItemType().equals("spotInspection")) { - equCheckItem.setItemTypeName("点检"); - } - if (equCheckItem.getItemType().equals("inspection")) { - equCheckItem.setItemTypeName("巡检"); - } - if (equCheckItem.getItemType().equals("maintenance")) { - equCheckItem.setItemTypeName("保养"); - } + equCheckItem.setItemTypeName(exchangeItemType(equCheckItem.getItemType()));// 维护类型 + // 更新检查项信息 equCheckItemMapper.updateEquCheckItem(equCheckItem); // 删除所有该检查项标准 equCheckItemDetailMapper.deleteEquCheckItemDetailByItemId(equCheckItem.getItemId()); - - // 处理检查项详情信息 - for (EquCheckItemDetail detail : equCheckItemDTO.getFormStandard()) { - // 获取标准流水号 - String detailSerialNum = String.format("%03d", equCheckItemDetailMapper.selectSerialNumber(equCheckItem.getItemCode())); - - detail.setDetailId(IdUtils.fastSimpleUUID()); - detail.setParentCode(equCheckItem.getItemCode()); - detail.setFactoryCode(equCheckItem.getFactoryCode()); - detail.setDetailCode(equCheckItem.getItemCode() + detailSerialNum); - detail.setCreateBy(SecurityContextHolder.getUserName()); - detail.setCreateTime(DateUtils.getNowDate()); - detail.setUpdateBy(SecurityContextHolder.getUserName()); - detail.setUpdateTime(DateUtils.getNowDate()); - - // 插入到数据库 - equCheckItemDetailMapper.insertEquCheckItemDetail(detail); - } - // 删除所有该检查项关联设备 equItemEquipmentMapper.deleteEquItemEquipmentByItemCode(equCheckItemDTO.getItemCode()); - // 处理关联设备信息 - for (String code : equCheckItemDTO.getEquipmentCodeList()) { - EquItemEquipment equItemEquipment = new EquItemEquipment(); + // 处理标准信息、关联设备信息 + insertInfoCommon(equCheckItem,equCheckItemDTO.getFormStandard(),equCheckItemDTO.getEquipmentCodeList()); - // 获取流水号 - String cnnSerialNum = String.format("%03d", equItemEquipmentMapper.selectSerialNumber()); - - equItemEquipment.setId(IdUtils.fastSimpleUUID()); - equItemEquipment.setConnCode(DateUtils.dateTimeNow(DateUtils.YYYYMMDD)+cnnSerialNum); - equItemEquipment.setItemCode(equCheckItem.getItemCode()); - equItemEquipment.setEquipmentCode(code); - equItemEquipment.setFactoryCode(equCheckItemDTO.getFactoryCode()); - equItemEquipment.setCreateBy(SecurityContextHolder.getUserName()); - equItemEquipment.setCreateTime(DateUtils.getNowDate()); - equItemEquipment.setUpdateBy(SecurityContextHolder.getUserName()); - equItemEquipment.setUpdateTime(DateUtils.getNowDate()); - - // 插入数据库 - equItemEquipmentMapper.insertEquItemEquipment(equItemEquipment); - } return success("修改成功"); } @@ -289,11 +206,10 @@ public class EquCheckItemServiceImpl implements IEquCheckItemService { // 检验 for (String data : itemIds) { - // 检验 EquCheckItem equCheckItem = equCheckItemMapper.selectEquCheckItemByItemId(data); List checkItemList = equCheckItemMapper.checkDelItem(equCheckItem.getItemCode()); if (checkItemList.size() > 0) { - return error(500,"该检查项已有计划使用,删除失败!"); + return error(500, "该检查项已有计划使用,删除失败!"); } } @@ -326,6 +242,7 @@ public class EquCheckItemServiceImpl implements IEquCheckItemService { /** * 获取全部设备信息 + * * @return */ @Override @@ -337,6 +254,7 @@ public class EquCheckItemServiceImpl implements IEquCheckItemService { /** * 通过检查项code查询关联设备code列表 + * * @return */ @Override @@ -345,4 +263,70 @@ public class EquCheckItemServiceImpl implements IEquCheckItemService { List equipmentCodeList = equItemEquipmentMapper.selectEquipmentCodeList(itemCode); return success(equipmentCodeList); } + + /** + * 类型转换 + * @param itemType + * @return + */ + private String exchangeItemType(String itemType){ + if (itemType.equals("spotInspection")) { + return "点检"; + } + if (itemType.equals("inspection")) { + return "巡检"; + } + if (itemType.equals("maintenance")) { + return "保养"; + } + return null; + } + + /** + * 信息插入公共方法(标准、关联设备) + * @param equCheckItem + * @param detailList + * @param equipmentCodes + */ + private void insertInfoCommon(EquCheckItem equCheckItem,List detailList, List equipmentCodes) { + + // 处理标准信息 + for (EquCheckItemDetail detail : detailList) { + // 获取标准流水号 + String detailSerialNum = String.format("%03d", equCheckItemDetailMapper.selectSerialNumber(equCheckItem.getItemCode())); + + detail.setDetailId(IdUtils.fastSimpleUUID());// id + detail.setParentCode(equCheckItem.getItemCode());// 检查项code + detail.setFactoryCode(equCheckItem.getFactoryCode());// 工厂 + detail.setDetailCode(equCheckItem.getItemCode() + detailSerialNum);// 标准code + detail.setCreateBy(SecurityContextHolder.getUserName()); + detail.setCreateTime(DateUtils.getNowDate()); + detail.setUpdateBy(SecurityContextHolder.getUserName()); + detail.setUpdateTime(DateUtils.getNowDate()); + + // 插入到数据库(可优化) + equCheckItemDetailMapper.insertEquCheckItemDetail(detail); + } + + // 处理关联设备信息 + for (String code : equipmentCodes) { + EquItemEquipment equItemEquipment = new EquItemEquipment(); + + // 获取流水号 + String cnnSerialNum = String.format("%03d", equItemEquipmentMapper.selectSerialNumber()); + + equItemEquipment.setId(IdUtils.fastSimpleUUID());// id + equItemEquipment.setConnCode(equCheckItem.getItemCode() + cnnSerialNum);// 关联设备编码 + equItemEquipment.setItemCode(equCheckItem.getItemCode());// 检查项编码 + equItemEquipment.setEquipmentCode(code);// 设备编码 + equItemEquipment.setFactoryCode(equCheckItem.getFactoryCode());// 工厂 + equItemEquipment.setCreateBy(SecurityContextHolder.getUserName()); + equItemEquipment.setCreateTime(DateUtils.getNowDate()); + equItemEquipment.setUpdateBy(SecurityContextHolder.getUserName()); + equItemEquipment.setUpdateTime(DateUtils.getNowDate()); + + // 插入数据库(可优化) + equItemEquipmentMapper.insertEquItemEquipment(equItemEquipment); + } + } } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquFaultTypeServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquFaultTypeServiceImpl.java index e375ca969..04ba15379 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquFaultTypeServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquFaultTypeServiceImpl.java @@ -53,6 +53,7 @@ public class EquFaultTypeServiceImpl implements IEquFaultTypeService { @Override @DS("#header.poolName") public List selectEquFaultTypeList(EquFaultType equFaultType) { + // 创建时间不为空 if (equFaultType.getCreateTimeArray() != null) { // 设置创建日期开始和结束值 if (equFaultType.getCreateTimeArray().size() == 2) { @@ -61,6 +62,7 @@ public class EquFaultTypeServiceImpl implements IEquFaultTypeService { equFaultType.setCreateTimeEnd(formatter.format(equFaultType.getCreateTimeArray().get(1))); } } + // 更新时间不为空 if (equFaultType.getUpdateTimeArray() != null) { // 设置更新日期开始和结束 if (equFaultType.getUpdateTimeArray().size() == 2) { @@ -82,13 +84,13 @@ public class EquFaultTypeServiceImpl implements IEquFaultTypeService { @DS("#header.poolName") public AjaxResult insertEquFaultType(EquFaultType equFaultType) { - // 检验 + // 校验 EquFaultType checkQuery = new EquFaultType(); checkQuery.setFaultType(equFaultType.getFaultType()); checkQuery.setFaultSubclass(equFaultType.getFaultSubclass()); List check = equFaultTypeMapper.selectEquFaultTypeList(checkQuery); if (check.size() > 0) { - return error(500,"故障子类已存在!不可添加!"); + return error(500, "故障子类已存在!不可添加!"); } //获取当前所选工厂 @@ -102,9 +104,9 @@ public class EquFaultTypeServiceImpl implements IEquFaultTypeService { String serialNum = String.format("%03d", equFaultTypeMapper.selectSerialNumber()); // 处理故障信息 - equFaultType.setFaultId(IdUtils.fastSimpleUUID()); - equFaultType.setFaultCode(DateUtils.dateTimeNow(DateUtils.YYYYMMDD) + serialNum); - equFaultType.setFactoryCode(factory); + equFaultType.setFaultId(IdUtils.fastSimpleUUID());// id + equFaultType.setFaultCode(DateUtils.dateTimeNow(DateUtils.YYYYMMDD) + serialNum);// 故障编码 + equFaultType.setFactoryCode(factory);// 工厂 equFaultType.setCreateBy(SecurityContextHolder.getUserName()); equFaultType.setCreateTime(DateUtils.getNowDate()); equFaultType.setUpdateBy(SecurityContextHolder.getUserName()); @@ -126,14 +128,16 @@ public class EquFaultTypeServiceImpl implements IEquFaultTypeService { @DS("#header.poolName") public AjaxResult updateEquFaultType(EquFaultType equFaultType) { - // 检验 + // 校验 EquFaultType checkQuery = new EquFaultType(); checkQuery.setFaultType(equFaultType.getFaultType()); checkQuery.setFaultSubclass(equFaultType.getFaultSubclass()); List check = equFaultTypeMapper.selectEquFaultTypeList(checkQuery); if (check.size() > 0) { - if (!check.get(0).equals(equFaultType.getFaultCode())) { - return error(500,"故障子类已存在!修改失败!"); + for (EquFaultType faultType : check) { + if (!faultType.getFaultCode().equals(equFaultType.getFaultCode())){ + return error(500, "故障子类已存在!修改失败!"); + } } } equFaultType.setUpdateBy(SecurityContextHolder.getUserName()); diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquOrderServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquOrderServiceImpl.java index 5b87bf6e8..ef1ade0bd 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquOrderServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquOrderServiceImpl.java @@ -67,7 +67,7 @@ public class EquOrderServiceImpl implements IEquOrderService { @Override @DS("#header.poolName") public EquOrder selectEquOrderByOrderCode(String orderCode) { - // 查询工单信息 + // 通过工单编码获取工单信息 EquOrder order = equOrderMapper.selectEquOrderByOrderCode(orderCode); List timeArray = new ArrayList<>(); @@ -122,32 +122,32 @@ public class EquOrderServiceImpl implements IEquOrderService { @DS("#header.poolName") public List selectEquOrderList(EquOrder equOrder) { + // 循环开始时间列表不为空 if (equOrder.getLoopStartArray() != null) { equOrder.setLoopStart(equOrder.getLoopStartArray().get(0)); equOrder.setLoopEnd(equOrder.getLoopStartArray().get(1)); } + // 循环结束时间不为空 if (equOrder.getLoopEndArray() != null) { equOrder.setLoopEndArrayStart(equOrder.getLoopEndArray().get(0)); equOrder.setGetLoopEndArrayEnd(equOrder.getLoopEndArray().get(1)); } + // 执行开始时间不为空 if (equOrder.getOrderStartArray() != null) { equOrder.setOrderStartArrayStart(equOrder.getOrderStartArray().get(0)); equOrder.setOrderStartArrayEnd(equOrder.getOrderStartArray().get(1)); } + // 执行结束时间不为空 if (equOrder.getOrderEndArray() != null) { equOrder.setOrderEndArrayStart(equOrder.getOrderEndArray().get(0)); equOrder.setOrderEndArrayEnd(equOrder.getOrderEndArray().get(1)); } + // 获取工单列表 List orderList = equOrderMapper.selectEquOrderList(equOrder); - //获取当前所选工厂 - HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); - String key = "#header.poolName"; - String str = request.getHeader(key.substring(8)); - int index = str.indexOf("_"); - String factory = str.substring(index + 1); - List workCenters = equPlanMapper.selectWorkCenter(factory); + // 获取工作中心 + List workCenters = getWorkCenterCommon(); // 设置工作中心 for (EquOrder order : orderList) { @@ -203,16 +203,23 @@ public class EquOrderServiceImpl implements IEquOrderService { } } + // 是否含有未达标 boolean hasError = false; + // 是否为保养逻辑 boolean maintenanceFlag = false; + // 如果类型为保养 if (equOrder.getPlanType().equals("maintenance")) { maintenanceFlag = true; } + // 获取检查项信息列表 List detailList = equOrder.getDetailList(); + // 处理检查项信息 for (EquOrderDetail detail : detailList) { + // 获取标准列表 List standardList = detail.getStandardList(); + // 处理标准信息 for (EquOrderStandard standard : standardList) { //上传附件 @@ -228,13 +235,13 @@ public class EquOrderServiceImpl implements IEquOrderService { file.setSourceId(standard.getId()); file.setCreateBy(SecurityUtils.getUsername()); file.setCreateTime(new Date()); - file.setImageType("3"); + file.setImageType("3");// 设置类型为3(维修前) files.add(file); } equFileMapper.insertEquFileBatch(files); } - // 校验标准信息-是否申请报修 + // 校验标准信息是否达标 if (standard.getStandardType().equals("quantify")) { int up = standard.getActualValue().compareTo(standard.getDetailUpLimit()); int down = standard.getActualValue().compareTo(standard.getDetailDownLimit()); @@ -255,19 +262,19 @@ public class EquOrderServiceImpl implements IEquOrderService { } } - // 更新工单信息 + // 更新工单信息排除保养(PC),PC端手动操作状态 if (!equOrder.getPlanType().equals("maintenance")) { equOrder.setOrderStatus("1"); // 状态为已完成 } equOrder.setUpdateTime(DateUtils.getNowDate()); equOrder.setUpdateBy(SecurityContextHolder.getUserName()); - equOrder.setPlanPerson(SecurityContextHolder.getUserName()); - equOrder.setPlanPerson(SecurityContextHolder.getUserName()); + equOrder.setPlanPerson(SecurityContextHolder.getUserName());// 设置负责人 if (equOrder.getTimeArray().size() > 0) { - equOrder.setOrderStart(equOrder.getTimeArray().get(0)); - equOrder.setOrderEnd(equOrder.getTimeArray().get(1)); + equOrder.setOrderStart(equOrder.getTimeArray().get(0));// 工单开始时间 + equOrder.setOrderEnd(equOrder.getTimeArray().get(1));// 工单结束时间 } + // 是否存在报修单 boolean checkRepair = false; if (equOrder.getRepairCode() == null) { @@ -278,7 +285,7 @@ public class EquOrderServiceImpl implements IEquOrderService { } } - // 报修信息 + // 报修逻辑 if (checkRepair && hasError && !maintenanceFlag) { // 获取故障报修流水号 EquRepairOrder equRepairOrder = new EquRepairOrder(); @@ -322,6 +329,7 @@ public class EquOrderServiceImpl implements IEquOrderService { equRepairOrderMapper.insertEquRepairOrder(equRepairOrder); } + // 如果不存在未达标信息 if (!hasError) { // 删除报修单 if (equOrder.getRepairCode() != null) { @@ -334,7 +342,7 @@ public class EquOrderServiceImpl implements IEquOrderService { // 保养逻辑 if (maintenanceFlag) { - // 用时 + // 用时(分钟) if (equOrder.getOrderStart() != null) { long diffSeconds = (equOrder.getOrderEnd().getTime() - equOrder.getOrderStart().getTime()) / 60000; equOrder.setOrderCostTime(String.valueOf(diffSeconds)); @@ -410,4 +418,21 @@ public class EquOrderServiceImpl implements IEquOrderService { public int deleteEquOrderByOrderId(String orderId) { return equOrderMapper.deleteEquOrderByOrderId(orderId); } + + /** + * 获取工作中心列表公共方法 + * + * @return + */ + private List getWorkCenterCommon() { + //获取当前所选工厂 + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + String key = "#header.poolName"; + String str = request.getHeader(key.substring(8)); + int index = str.indexOf("_"); + String factory = str.substring(index + 1); + // 根据当前工厂获取该工厂下的所有工作中心 + List workCenters = equPlanMapper.selectWorkCenter(factory); + return workCenters; + } } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquPlanServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquPlanServiceImpl.java index 61a0467f0..46265d987 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquPlanServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquPlanServiceImpl.java @@ -1,6 +1,5 @@ package com.op.device.service.impl; -import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; @@ -78,6 +77,7 @@ public class EquPlanServiceImpl implements IEquPlanService { @Override @DS("#header.poolName") public List selectEquPlanList(EquPlan equPlan) { + // 创建时间列表不为空 if (equPlan.getCreateTimeArray() != null) { // 设置创建日期开始和结束值 if (equPlan.getCreateTimeArray().size() == 2) { @@ -86,6 +86,7 @@ public class EquPlanServiceImpl implements IEquPlanService { equPlan.setCreateTimeEnd(formatter.format(equPlan.getCreateTimeArray().get(1))); } } + // 更新时间列表不为空 if (equPlan.getUpdateTimeArray() != null) { // 设置更新日期开始和结束 if (equPlan.getUpdateTimeArray().size() == 2) { @@ -94,30 +95,28 @@ public class EquPlanServiceImpl implements IEquPlanService { equPlan.setUpdateTimeEnd(formatter.format(equPlan.getUpdateTimeArray().get(1))); } } + // 循环开始时间列表不为空 if (equPlan.getLoopStartArray() != null) { equPlan.setLoopStart(equPlan.getLoopStartArray().get(0)); equPlan.setLoopEnd(equPlan.getLoopStartArray().get(1)); } + // 循环结束时间列表不为空 if (equPlan.getLoopEndArray() != null) { equPlan.setLoopEndArrayStart(equPlan.getLoopEndArray().get(0)); equPlan.setGetLoopEndArrayEnd(equPlan.getLoopEndArray().get(1)); } + // 查询计划信息列表 List equPlans = equPlanMapper.selectEquPlanList(equPlan); - //获取当前所选工厂 - HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); - String key = "#header.poolName"; - String str = request.getHeader(key.substring(8)); - int index = str.indexOf("_"); - String factory = str.substring(index + 1); - - List workCenters = equPlanMapper.selectWorkCenter(factory); - + // 获取工作中心 + List workCenters = getWorkCenterCommon(); + // 处理计划信息 for (EquPlan plan : equPlans) { for (WorkCenter center : workCenters) { + // 工作中心(车间)一致 if (plan.getPlanWorkshop().equals(center.getFactoryCode())) { - plan.setWorkCenterName(center.getFactoryName()); + plan.setWorkCenterName(center.getFactoryName());// 置入工作中心名称 } } } @@ -144,13 +143,13 @@ public class EquPlanServiceImpl implements IEquPlanService { int index = str.indexOf("_"); String factory = str.substring(index + 1); - equPlan.setPlanId(IdUtils.fastSimpleUUID()); - equPlan.setPlanCode((DateUtils.dateTimeNow(DateUtils.YYYYMMDD) + planSerialNum)); + equPlan.setPlanId(IdUtils.fastSimpleUUID());// 计划id + equPlan.setPlanCode((DateUtils.dateTimeNow(DateUtils.YYYYMMDD) + planSerialNum));// 计划编码 if (equPlan.getPlanTimeArray().size() > 0) { - equPlan.setPlanLoopStart(equPlan.getPlanTimeArray().get(0)); - equPlan.setPlanLoopEnd(equPlan.getPlanTimeArray().get(1)); + equPlan.setPlanLoopStart(equPlan.getPlanTimeArray().get(0));// 计划循环周期开始时间 + equPlan.setPlanLoopEnd(equPlan.getPlanTimeArray().get(1));// 计划循环周期结束时间 } - equPlan.setFactoryCode(factory); + equPlan.setFactoryCode(factory);// 工厂编码 equPlan.setCreateBy(SecurityContextHolder.getUserName()); equPlan.setCreateTime(DateUtils.getNowDate()); equPlan.setUpdateBy(SecurityContextHolder.getUserName()); @@ -174,17 +173,21 @@ public class EquPlanServiceImpl implements IEquPlanService { @Override @DS("#header.poolName") public AjaxResult updateEquPlan(EquPlan equPlan) { - // 更新巡检计划 - equPlan.setPlanLoopStart(equPlan.getPlanTimeArray().get(0)); - equPlan.setPlanLoopEnd(equPlan.getPlanTimeArray().get(1)); + // 设置循环范围时间 + if (equPlan.getPlanTimeArray().size() != 0) { + equPlan.setPlanLoopStart(equPlan.getPlanTimeArray().get(0));// 循环开始时间 + equPlan.setPlanLoopEnd(equPlan.getPlanTimeArray().get(1));// 循环结束时间 + } + // 更新计划 equPlanMapper.updateEquPlan(equPlan); - // 删除该计划下设备、人员、检查项、标准 - equPlanPersonMapper.deleteEquPlanPersonByPlanCode(equPlan.getPlanCode()); - equPlanDetailMapper.deleteEquPlanDetailByPlanCode(equPlan.getPlanCode()); - equPlanEquMapper.deleteEquPlanEquByPlanCode(equPlan.getPlanCode()); - equPlanStandardMapper.deleteEquPlanStandardByPlanCode(equPlan.getPlanCode()); + // 删除该计划下设备、人员、检查项、标准、备件 + equPlanPersonMapper.deleteEquPlanPersonByPlanCode(equPlan.getPlanCode());// 人员 + equPlanDetailMapper.deleteEquPlanDetailByPlanCode(equPlan.getPlanCode());// 检查项 + equPlanEquMapper.deleteEquPlanEquByPlanCode(equPlan.getPlanCode());// 设备 + equPlanStandardMapper.deleteEquPlanStandardByPlanCode(equPlan.getPlanCode());// 标准 + equPlanEquSpareMapper.deleteEquPlanEquSpareByPlanCode(equPlan.getPlanCode());// 备件 - //获取当前所选工厂 + // 获取当前所选工厂 HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); String key = "#header.poolName"; String str = request.getHeader(key.substring(8)); @@ -209,13 +212,12 @@ public class EquPlanServiceImpl implements IEquPlanService { // 逻辑删除信息 for (String id : planIds) { EquPlan equPlan = equPlanMapper.selectEquPlanByPlanId(id); - equPlanMapper.delEquPlanByPlanCode(equPlan.getPlanCode()); - equPlanPersonMapper.delEquPlanPersonByPlanCode(equPlan.getPlanCode()); - equPlanDetailMapper.delEquPlanDetailByPlanCode(equPlan.getPlanCode()); - equPlanEquMapper.delEquPlanEquByPlanCode(equPlan.getPlanCode()); - equPlanStandardMapper.delEquPlanStandardByPlanCode(equPlan.getPlanCode()); - // TODO 有问题没有删除成功 - equPlanEquSpareMapper.delEquPlanEquSpareByPlanCode(equPlan.getPlanCode()); + equPlanMapper.delEquPlanByPlanCode(equPlan.getPlanCode());// 计划 + equPlanPersonMapper.delEquPlanPersonByPlanCode(equPlan.getPlanCode());// 人员 + equPlanDetailMapper.delEquPlanDetailByPlanCode(equPlan.getPlanCode());// 检查项 + equPlanEquMapper.delEquPlanEquByPlanCode(equPlan.getPlanCode());// 设备 + equPlanStandardMapper.delEquPlanStandardByPlanCode(equPlan.getPlanCode());// 标准 + equPlanEquSpareMapper.delEquPlanEquSpareByPlanCode(equPlan.getPlanCode());// TODO 备件(没有删除成功?) } return success(); } @@ -253,46 +255,7 @@ public class EquPlanServiceImpl implements IEquPlanService { @Override @DS("#header.poolName") public AjaxResult formatEquItem(List equPlanEquList) { - for (EquPlanEqu data : equPlanEquList) { - - StringBuilder itemTempName = new StringBuilder(); - - // 获取检查项list - List equCheckItemList = equCheckItemMapper.selectCheckItemByEquipmentCode(data.getEquipmentCode(),"inspection"); - if (equCheckItemList.size() > 0) { - List detailList = new ArrayList<>(); - for (EquCheckItem checkItem : equCheckItemList) { - // 只需要循环周期一致的检查项 - if(checkItem.getItemLoop() == data.getItemLoop() && checkItem.getItemLoopType().equals(data.getItemLoopType())) { - EquPlanDetail detail = new EquPlanDetail(); - BeanUtils.copyProperties(checkItem,detail); - - if (!detail.getItemCode().isEmpty()) { - itemTempName.append(detail.getItemName()).append(","); - // 获取检查项详情list - List equCheckItemDetailList = equCheckItemDetailMapper.selectCheckItemDetailByItemCode(detail.getItemCode()); - if (equCheckItemList.size() > 0) { - List standardList = new ArrayList<>(); - for (EquCheckItemDetail standardTemp : equCheckItemDetailList) { - EquPlanStandard standard = new EquPlanStandard(); - BeanUtils.copyProperties(standardTemp,standard); - - standard.setShowFlag(true); - standardList.add(standard); - } - detail.setEquPlanStandardList(standardList); - } - } - detailList.add(detail); - } - } - data.setEquPlanDetailList(detailList); - data.setItemTempName(itemTempName.toString()); - }else { - return error(500,"存在设备未设置巡检项!"); - } - } - return success(equPlanEquList); + return formatEquItemCommon(equPlanEquList, "inspection", "存在未设置巡检项!"); } /** @@ -315,14 +278,7 @@ public class EquPlanServiceImpl implements IEquPlanService { @Override @DS("#header.poolName") public AjaxResult getWorkCenter() { - //获取当前所选工厂 - HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); - String key = "#header.poolName"; - String str = request.getHeader(key.substring(8)); - int index = str.indexOf("_"); - String factory = str.substring(index + 1); - - return success(equPlanMapper.selectWorkCenter(factory)); + return success(getWorkCenterCommon()); } /** @@ -335,9 +291,9 @@ public class EquPlanServiceImpl implements IEquPlanService { @DS("#header.poolName") public AjaxResult initUpdatePlanInfo(EquPlan equPlan) { - // 获取计划信息 + // 通过计划编码获取计划信息 EquPlan plan = equPlanMapper.selectEquPlanByPlanCode(equPlan.getPlanCode()); - // 处理计划信息 + // 处理计划循环时间信息(用于前端) List planTimeArray = new ArrayList<>(); if (plan.getPlanLoopStart() != null) { planTimeArray.add(plan.getPlanLoopStart()); @@ -346,138 +302,146 @@ public class EquPlanServiceImpl implements IEquPlanService { } - // 获取人员信息 + // 通过计划编码获取人员信息列表 List personList = equPlanPersonMapper.selectEquPlanPersonByPlanCode(equPlan.getPlanCode()); + // 处理人员信息列表信息用于前端穿梭框信息回填 List persons = new ArrayList<>(); - for (EquPlanPerson person : personList) { persons.add(person.getUserId()); } - // 获取设备信息 + // 通过计划编码获取设备信息列表 List equipmentList = equPlanEquMapper.selectEquPlanEquByPlanCode(equPlan.getPlanCode()); + // 处理设备信息 for (EquPlanEqu equipment : equipmentList) { - // 获取检查项list + // 通过设备表id获取检查项列表 List detailList = equPlanDetailMapper.selectEquPlanDetailListByParentCode(equipment.getId()); for (EquPlanDetail detail : detailList) { - // 获取标准list + // 通过检查项id获取标准信息列表 List standardList = equPlanStandardMapper.selectEquPlanStandardListByParentCode(detail.getId()); + // 处理标准信息 for (EquPlanStandard standard : standardList) { - standard.setShowFlag(true); - standard.setItemLoop(detail.getItemLoop()); - standard.setItemLoopType(detail.getItemLoopType()); + standard.setShowFlag(true);// 设置默认值(用于前端) + standard.setItemLoop(detail.getItemLoop());// 设置循环周期(用于前端) + standard.setItemLoopType(detail.getItemLoopType());// 设置循环周期类型(用于前端) } - // 置入标准 + // 将处理好的标准列表置入检查项 detail.setEquPlanStandardList(standardList); } - // 置入检查项 + // 将处理好的检查项列表置入设备 equipment.setEquPlanDetailList(detailList); - EquPlanEquSpare spare = new EquPlanEquSpare(); - spare.setParentCode(equipment.getId()); - // 备件信息 - List spareList = equPlanEquSpareMapper.selectEquPlanEquSpareList(spare); + // 创建备件搜索临时对象 + EquPlanEquSpare spareSelectTemp = new EquPlanEquSpare(); + spareSelectTemp.setParentCode(equipment.getId());// 设置parentCode(设备表id) + // 通过临时搜索对象查询备件信息列表 + List spareList = equPlanEquSpareMapper.selectEquPlanEquSpareList(spareSelectTemp); if (spareList.size() > 0) { + // 处理备件信息 for (EquPlanEquSpare equSpare : spareList) { - // 通过备件编码查询备件库存信息(总量-冻结) - equSpare.setAmount(sparePartsLedgerMapper.selectRealAmountByMaterialCode(equSpare.getMaterialCode())); + // 通过备件编码查询备件库存、冻结数量信息信息 + EquPlanEquSpare spareTemp = sparePartsLedgerMapper.selectRealAmountByMaterialCode(equSpare.getMaterialCode()); + equSpare.setAmount(spareTemp.getAmount());// 设置库存数量信息 + equSpare.setStorageAmount(spareTemp.getStorageAmount());// 设置冻结数量信息 } + // 将处理好的备件信息列表置入设备 equipment.setSpareList(spareList); } } + // 将处理好的设备信息列表置入计划 plan.setEquipmentItem(equipmentList); + // 将处理好的人员信息列表置入计划 plan.setPersonListVO(persons); return success(plan); } /** - * 插入设备、人员、检查项、标准 + * 插入设备、人员、检查项、标准、备件 * * @param equPlan * @param factory */ private void insertCommonInfo(EquPlan equPlan, String factory) { - // 处理计划-巡检人员信息 + // 获取人员信息列表 List personList = equPlan.getPersonList(); + // 处理人员信息 for (SysUser user : personList) { EquPlanPerson equPlanPerson = new EquPlanPerson(); - equPlanPerson.setId(IdUtils.fastSimpleUUID()); - equPlanPerson.setUserId(user.getUserId()); - equPlanPerson.setPlanCode(equPlan.getPlanCode()); - equPlanPerson.setFactoryCode(factory); + equPlanPerson.setId(IdUtils.fastSimpleUUID());// id + equPlanPerson.setUserId(user.getUserId());// 用户id + equPlanPerson.setPlanCode(equPlan.getPlanCode());// 计划编码 + equPlanPerson.setFactoryCode(factory);// 工厂code equPlanPerson.setCreateBy(SecurityContextHolder.getUserName()); equPlanPerson.setCreateTime(DateUtils.getNowDate()); equPlanPerson.setUpdateBy(SecurityContextHolder.getUserName()); equPlanPerson.setUpdateTime(DateUtils.getNowDate()); + // 人员信息插入数据库(可优化) equPlanPersonMapper.insertEquPlanPerson(equPlanPerson); } - // 处理计划1-n设备信息 + // 获取设备信息列表 List equipmentItemList = equPlan.getEquipmentItem(); + // 处理设备信息 for (EquPlanEqu equipment : equipmentItemList) { - equipment.setId(IdUtils.fastSimpleUUID()); - equipment.setPlanCode(equPlan.getPlanCode()); - equipment.setParentCode(equPlan.getPlanId()); - equipment.setFactoryCode(factory); + equipment.setId(IdUtils.fastSimpleUUID());// id + equipment.setPlanCode(equPlan.getPlanCode());// 计划编码 + equipment.setParentCode(equPlan.getPlanId());// 计划id + equipment.setFactoryCode(factory);// 工厂 equipment.setCreateBy(SecurityContextHolder.getUserName()); equipment.setCreateTime(DateUtils.getNowDate()); equipment.setUpdateBy(SecurityContextHolder.getUserName()); equipment.setUpdateTime(DateUtils.getNowDate()); - // 处理检查项信息 + // 获取检查项信息列表 List detailList = equipment.getEquPlanDetailList(); + // 处理检查项信息 if (detailList != null) { - for (EquPlanDetail item : detailList) { - if (item != null) { - item.setId(IdUtils.fastSimpleUUID()); - item.setPlanCode(equPlan.getPlanCode()); - item.setParentCode(equipment.getId()); + item.setId(IdUtils.fastSimpleUUID());// id + item.setPlanCode(equPlan.getPlanCode());// 计划编码 + item.setParentCode(equipment.getId());// 设备表id item.setCreateBy(SecurityContextHolder.getUserName()); item.setCreateTime(DateUtils.getNowDate()); item.setUpdateBy(SecurityContextHolder.getUserName()); item.setUpdateTime(DateUtils.getNowDate()); - // 处理标准 + // 获取标准信息列表 List standardList = item.getEquPlanStandardList(); // 判断是否插入检查项 boolean checkInsert = false; for (EquPlanStandard standard : standardList) { - if (standard.getShowFlag()) { - - checkInsert = true; - - standard.setId(IdUtils.fastSimpleUUID()); - standard.setParentCode(item.getId()); - standard.setPlanCode(equPlan.getPlanCode()); + checkInsert = true;// 只要存在标准信息,则checkInsert设置为true + standard.setId(IdUtils.fastSimpleUUID());// id + standard.setParentCode(item.getId());// 检查项id + standard.setPlanCode(equPlan.getPlanCode());// 计划编码 standard.setCreateBy(SecurityContextHolder.getUserName()); standard.setCreateTime(DateUtils.getNowDate()); standard.setUpdateBy(SecurityContextHolder.getUserName()); standard.setUpdateTime(DateUtils.getNowDate()); - // 详情插入数据库 + // 标准信息插入数据库(可优化) equPlanStandardMapper.insertEquPlanStandard(standard); } } - // 检查项详情为空则不生成检查项信息-检查项插入数据库 + // 存在标准信息则该检查项插入数据库 if (checkInsert) { equPlanDetailMapper.insertEquPlanDetail(item); } @@ -485,24 +449,26 @@ public class EquPlanServiceImpl implements IEquPlanService { } - // 设备插入数据库 + // 设备信息插入数据库(可优化) equPlanEquMapper.insertEquPlanEqu(equipment); } - // 保养逻辑-备件 + // 保养逻辑-备件信息处理 if (equPlan.getPlanType().equals("maintenance")) { + // 获取备件信息列表 List spareList = equipment.getSpareList(); if (spareList != null) { for (EquPlanEquSpare spare : spareList) { - spare.setId(IdUtils.fastSimpleUUID()); - spare.setPlanCode(equPlan.getPlanCode()); - spare.setParentCode(equipment.getId()); - spare.setFactoryCode(factory); + spare.setId(IdUtils.fastSimpleUUID());// id + spare.setPlanCode(equPlan.getPlanCode());// 计划编码 + spare.setParentCode(equipment.getId());// 设备id + spare.setFactoryCode(factory);// 工厂 spare.setCreateBy(SecurityContextHolder.getUserName()); spare.setCreateTime(DateUtils.getNowDate()); spare.setUpdateBy(SecurityContextHolder.getUserName()); spare.setUpdateTime(DateUtils.getNowDate()); + // 备件信息插入数据库(可优化) equPlanEquSpareMapper.insertEquPlanEquSpare(spare); } } @@ -511,4 +477,83 @@ public class EquPlanServiceImpl implements IEquPlanService { } } + + /** + * 处理计划-设备信息公共方法 + * + * @param equPlanEquList + * @param planType + * @param message + * @return + */ + private AjaxResult formatEquItemCommon(List equPlanEquList, String planType, String message) { + for (EquPlanEqu data : equPlanEquList) { + + // 检查项名称临时对象 + StringBuilder itemTempName = new StringBuilder(); + + // 通过设备编码、计划类型,获取检查项信息列表 + List equCheckItemList = equCheckItemMapper.selectCheckItemByEquipmentCode(data.getEquipmentCode(), planType); + if (equCheckItemList.size() > 0) { + // 创建检查项列表返回对象 + List detailList = new ArrayList<>(); + + // 处理检查项信息 + for (EquCheckItem checkItem : equCheckItemList) { + // 获取循环周期一致的检查项 + if (checkItem.getItemLoop() == data.getItemLoop() && checkItem.getItemLoopType().equals(data.getItemLoopType())) { + // 创建检查项返回对象 + EquPlanDetail detail = new EquPlanDetail(); + BeanUtils.copyProperties(checkItem, detail); + + if (!detail.getItemCode().isEmpty()) { + // 累加检查项名称(前端信息回显) + itemTempName.append(detail.getItemName()).append(","); + // 通过检查项code获取标准信息列表 + List equCheckItemDetailList = equCheckItemDetailMapper.selectCheckItemDetailByItemCode(detail.getItemCode()); + // 处理标准信息 + if (equCheckItemList.size() > 0) { + // 创建标准列表返回对象 + List standardList = new ArrayList<>(); + for (EquCheckItemDetail standardTemp : equCheckItemDetailList) { + // 创建标准返回对象 + EquPlanStandard standard = new EquPlanStandard(); + BeanUtils.copyProperties(standardTemp, standard); + + standard.setShowFlag(true);// 设置默认值(用于前端) + standardList.add(standard);// 返回对象添加到返回列表对象 + } + detail.setEquPlanStandardList(standardList);// 标准列表信息置入检查项 + } + } + detailList.add(detail);// 返回对象添加到返回列表对象 + } + } + data.setEquPlanDetailList(detailList);// 处理好的检查项信息列表置入检查项信息列表 + data.setItemTempName(itemTempName.toString());//处理好的检查项名称置入检查项名称(用于前端信息回显) + } else { + // 未查询到对应检查项信息 + return error(500, message); + } + } + return success(equPlanEquList); + } + + /** + * 获取工作中心列表公共方法 + * + * @return + */ + private List getWorkCenterCommon() { + //获取当前所选工厂 + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + String key = "#header.poolName"; + String str = request.getHeader(key.substring(8)); + int index = str.indexOf("_"); + String factory = str.substring(index + 1); + // 根据当前工厂获取该工厂下的所有工作中心 + List workCenters = equPlanMapper.selectWorkCenter(factory); + return workCenters; + } + } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquSpotCheckServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquSpotCheckServiceImpl.java index 7301bc0a2..474cba85c 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquSpotCheckServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquSpotCheckServiceImpl.java @@ -37,46 +37,7 @@ public class EquSpotCheckServiceImpl implements IEquSpotCheckService { @Override @DS("#header.poolName") public AjaxResult formatEquItem(List equPlanEquList) { - for (EquPlanEqu data : equPlanEquList) { - - StringBuilder itemTempName = new StringBuilder(); - - // 获取检查项list - List equCheckItemList = equCheckItemMapper.selectCheckItemByEquipmentCode(data.getEquipmentCode(),"spotInspection"); - if (equCheckItemList.size() > 0) { - List detailList = new ArrayList<>(); - for (EquCheckItem checkItem : equCheckItemList) { - // 只需要循环周期一致的检查项 - if(checkItem.getItemLoop() == data.getItemLoop() && checkItem.getItemLoopType().equals(data.getItemLoopType())) { - EquPlanDetail detail = new EquPlanDetail(); - BeanUtils.copyProperties(checkItem,detail); - - if (!detail.getItemCode().isEmpty()) { - itemTempName.append(detail.getItemName()).append(","); - // 获取检查项详情list - List equCheckItemDetailList = equCheckItemDetailMapper.selectCheckItemDetailByItemCode(detail.getItemCode()); - if (equCheckItemList.size() > 0) { - List standardList = new ArrayList<>(); - for (EquCheckItemDetail standardTemp : equCheckItemDetailList) { - EquPlanStandard standard = new EquPlanStandard(); - BeanUtils.copyProperties(standardTemp,standard); - - standard.setShowFlag(true); - standardList.add(standard); - } - detail.setEquPlanStandardList(standardList); - } - } - detailList.add(detail); - } - } - data.setEquPlanDetailList(detailList); - data.setItemTempName(itemTempName.toString()); - }else { - return error(500,"存在设备未设置点检项!"); - } - } - return success(equPlanEquList); + return formatEquItemCommon(equPlanEquList, "spotInspection", "存在设备未设置点检项!"); } /** @@ -152,4 +113,66 @@ public class EquSpotCheckServiceImpl implements IEquSpotCheckService { public int deleteEquPlanByPlanId(String planId) { return equPlanMapper.deleteEquPlanByPlanId(planId); } + + /** + * 处理计划-设备信息公共方法 + * + * @param equPlanEquList + * @param planType + * @param message + * @return + */ + private AjaxResult formatEquItemCommon(List equPlanEquList, String planType, String message) { + for (EquPlanEqu data : equPlanEquList) { + + // 检查项名称临时对象 + StringBuilder itemTempName = new StringBuilder(); + + // 通过设备编码、计划类型,获取检查项信息列表 + List equCheckItemList = equCheckItemMapper.selectCheckItemByEquipmentCode(data.getEquipmentCode(), planType); + if (equCheckItemList.size() > 0) { + // 创建检查项列表返回对象 + List detailList = new ArrayList<>(); + + // 处理检查项信息 + for (EquCheckItem checkItem : equCheckItemList) { + // 获取循环周期一致的检查项 + if (checkItem.getItemLoop() == data.getItemLoop() && checkItem.getItemLoopType().equals(data.getItemLoopType())) { + // 创建检查项返回对象 + EquPlanDetail detail = new EquPlanDetail(); + BeanUtils.copyProperties(checkItem, detail); + + if (!detail.getItemCode().isEmpty()) { + // 累加检查项名称(前端信息回显) + itemTempName.append(detail.getItemName()).append(","); + // 通过检查项code获取标准信息列表 + List equCheckItemDetailList = equCheckItemDetailMapper.selectCheckItemDetailByItemCode(detail.getItemCode()); + // 处理标准信息 + if (equCheckItemList.size() > 0) { + // 创建标准列表返回对象 + List standardList = new ArrayList<>(); + for (EquCheckItemDetail standardTemp : equCheckItemDetailList) { + // 创建标准返回对象 + EquPlanStandard standard = new EquPlanStandard(); + BeanUtils.copyProperties(standardTemp, standard); + + standard.setShowFlag(true);// 设置默认值(用于前端) + standardList.add(standard);// 返回对象添加到返回列表对象 + } + detail.setEquPlanStandardList(standardList);// 标准列表信息置入检查项 + } + } + detailList.add(detail);// 返回对象添加到返回列表对象 + } + } + data.setEquPlanDetailList(detailList);// 处理好的检查项信息列表置入检查项信息列表 + data.setItemTempName(itemTempName.toString());//处理好的检查项名称置入检查项名称(用于前端信息回显) + } else { + // 未查询到对应检查项信息 + return error(500, message); + } + } + return success(equPlanEquList); + } + } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquUpkeepOrderServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquUpkeepOrderServiceImpl.java index 10e375552..631077cf1 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquUpkeepOrderServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquUpkeepOrderServiceImpl.java @@ -86,56 +86,57 @@ public class EquUpkeepOrderServiceImpl implements IEquUpkeepOrderService { int index = str.indexOf("_"); String factory = str.substring(index + 1); - // 生成主工单信息 + // 创建主工单对象 EquOrder equOrder = new EquOrder(); BeanUtils.copyProperties(equPlan,equOrder); - equOrder.setOrderId(IdUtils.fastSimpleUUID()); - // 流水号 + equOrder.setOrderId(IdUtils.fastSimpleUUID());// id + // 获取工单流水号 String serialNum = String.format("%03d",equOrderMapper.selectSerialNumber()); - equOrder.setOrderCode("F"+DateUtils.dateTimeNow(DateUtils.YYYYMMDD)+serialNum); + equOrder.setOrderCode("F"+DateUtils.dateTimeNow(DateUtils.YYYYMMDD)+serialNum);// 工单编码 equOrder.setPlanLoopType(""); if (equPlan.getPlanTimeArray() != null) { - equOrder.setPlanLoopStart(equPlan.getPlanTimeArray().get(0)); - equOrder.setPlanLoopEnd(equPlan.getPlanTimeArray().get(1)); + equOrder.setPlanLoopStart(equPlan.getPlanTimeArray().get(0));// 循环开始时间 + equOrder.setPlanLoopEnd(equPlan.getPlanTimeArray().get(1));// 循环结束时间 } - // 设置工单状态 - equOrder.setOrderStatus("0"); - equOrder.setFactoryCode(factory); + equOrder.setOrderStatus("0");// 设置工单状态 + equOrder.setFactoryCode(factory);// 工厂 equOrder.setCreateBy(SecurityContextHolder.getUserName()); equOrder.setCreateTime(DateUtils.getNowDate()); equOrder.setUpdateBy(SecurityContextHolder.getUserName()); equOrder.setUpdateTime(DateUtils.getNowDate()); - equOrder.setPlanType("maintenance"); - equOrder.setUpkeep("0"); - equOrder.setEquipmentCode(equPlan.getEquipmentItem().get(0).getEquipmentCode()); + equOrder.setPlanType("maintenance");// 计划类型 + equOrder.setUpkeep("0");// 内部保养 + equOrder.setEquipmentCode(equPlan.getEquipmentItem().get(0).getEquipmentCode());// 设备编码 // 工单插入数据库 equOrderMapper.insertEquOrder(equOrder); EquPlanEqu equPlanEqu = equPlan.getEquipmentItem().get(0); - // 生成工单-备件 + // 获取备件信息列表 List equSpareList = equPlanEqu.getSpareList(); if (equSpareList != null) { - // 获取流水单号 + // 获取备件表流水号 int applySerialNum = equSpareApplyMapper.selectSerialNumber(); + // 处理备件信息(申领单) for (EquPlanEquSpare spare : equSpareList) { EquSpareApply apply = new EquSpareApply(); - apply.setApplyId(IdUtils.fastSimpleUUID()); - apply.setApplyCode("A"+DateUtils.dateTimeNow(DateUtils.YYYYMMDD)+String.format("%03d",applySerialNum)); - applySerialNum++; - apply.setSpareCode(spare.getMaterialCode()); - apply.setSpareName(spare.getMaterialDesc()); - apply.setSpareModel(spare.getSpareType()); - apply.setSpareQuantity(spare.getApplyNum()); - apply.setFactoryCode(factory); + apply.setApplyId(IdUtils.fastSimpleUUID());// id + apply.setApplyCode("A"+equOrder.getOrderCode()+String.format("%02d",applySerialNum));// 申领单编码 + applySerialNum++;// 流水号递增 + apply.setSpareCode(spare.getMaterialCode());// 备件号 + apply.setSpareName(spare.getMaterialDesc());// 备件名称 + apply.setSpareModel(spare.getSpareType());// 备件类型 + apply.setSpareQuantity(spare.getApplyNum());// 备件数量 + apply.setFactoryCode(factory);// 工厂 apply.setApplyPeople(SecurityContextHolder.getUserName()); - apply.setWorkCode(equOrder.getOrderCode()); + apply.setWorkCode(equOrder.getOrderCode());// 设置关联单号 apply.setCreateBy(SecurityContextHolder.getUserName()); apply.setCreateTime(DateUtils.getNowDate()); - apply.setSpareUseEquipment(equOrder.getEquipmentCode()); - apply.setApplyTime(DateUtils.getNowDate()); - // 插入备件信息 + apply.setSpareUseEquipment(equOrder.getEquipmentCode());// 设置使用设备编码 + apply.setApplyTime(DateUtils.getNowDate());// 设置申领时间 + + // 插入备件信息(可优化) equSpareApplyMapper.insertEquSpareApply(apply); // 减少备件仓库中备件数量 @@ -143,53 +144,53 @@ public class EquUpkeepOrderServiceImpl implements IEquUpkeepOrderService { } } - // 生成工单-设备-保养项 + // 获取检查项信息列表 List detailList = equPlanEqu.getEquPlanDetailList(); + // 处理检查项信息 for (EquPlanDetail detail : detailList) { EquOrderDetail equOrderDetail = new EquOrderDetail(); - List orderStandardList = new ArrayList<>(); List standardList = detail.getEquPlanStandardList(); - BeanUtils.copyProperties(detail,equOrderDetail); - equOrderDetail.setId(IdUtils.fastSimpleUUID()); - equOrderDetail.setOrderCode(equOrder.getOrderCode()); - equOrderDetail.setFactoryCode(factory); - equOrderDetail.setStandardList(orderStandardList); + BeanUtils.copyProperties(detail,equOrderDetail);// 类型转换 + equOrderDetail.setId(IdUtils.fastSimpleUUID());// id + equOrderDetail.setOrderCode(equOrder.getOrderCode());// 检查项编码 + equOrderDetail.setFactoryCode(factory);// 工厂 equOrderDetail.setCreateBy(SecurityContextHolder.getUserName()); equOrderDetail.setCreateTime(DateUtils.getNowDate()); equOrderDetail.setUpdateBy(SecurityContextHolder.getUserName()); equOrderDetail.setUpdateTime(DateUtils.getNowDate()); - // 插入检查项信息 + // 新增检查项信息(可优化) equOrderDetailMapper.insertEquOrderDetail(equOrderDetail); for (EquPlanStandard standard : standardList) { EquOrderStandard orderStandard = new EquOrderStandard(); - BeanUtils.copyProperties(standard,orderStandard); - orderStandard.setId(IdUtils.fastSimpleUUID()); - orderStandard.setParentCode(equOrderDetail.getId()); - orderStandard.setOrderCode(equOrder.getOrderCode()); + BeanUtils.copyProperties(standard,orderStandard);// 类型转换 + orderStandard.setId(IdUtils.fastSimpleUUID());// id + orderStandard.setParentCode(equOrderDetail.getId());// 检查项id + orderStandard.setOrderCode(equOrder.getOrderCode());// 工单编码 orderStandard.setCreateBy(SecurityContextHolder.getUserName()); orderStandard.setCreateTime(DateUtils.getNowDate()); orderStandard.setUpdateBy(SecurityContextHolder.getUserName()); orderStandard.setUpdateTime(DateUtils.getNowDate()); - // 插入标准信息 + // 新增标准信息(可优化) equOrderStandardMapper.insertEquOrderStandard(orderStandard); } } - // 生成工单-人员 + // 获取人员信息列表 List personList = equPlan.getPersonList(); + // 处理人员信息 for (SysUser user : personList) { EquOrderPerson equOrderPerson = new EquOrderPerson(); - equOrderPerson.setId(IdUtils.fastSimpleUUID()); - equOrderPerson.setOrderCode(equOrder.getOrderCode()); - equOrderPerson.setFactoryCode(factory); - equOrderPerson.setUserId(user.getUserId()); + equOrderPerson.setId(IdUtils.fastSimpleUUID());// id + equOrderPerson.setOrderCode(equOrder.getOrderCode());// 工单编码 + equOrderPerson.setFactoryCode(factory);// 工厂 + equOrderPerson.setUserId(user.getUserId());// 用户id equOrderPerson.setCreateBy(SecurityContextHolder.getUserName()); equOrderPerson.setCreateTime(DateUtils.getNowDate()); equOrderPerson.setUpdateBy(SecurityContextHolder.getUserName()); equOrderPerson.setUpdateTime(DateUtils.getNowDate()); - // 插入人员信息 + // 插入人员信息(可优化) equOrderPersonMapper.insertEquOrderPerson(equOrderPerson); } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquUpkeepServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquUpkeepServiceImpl.java index dba1743b9..5c89d49c4 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquUpkeepServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquUpkeepServiceImpl.java @@ -113,65 +113,65 @@ public class EquUpkeepServiceImpl implements IEquUpkeepService { @Override @DS("#header.poolName") public AjaxResult formatEquItem(List equPlanEquList) { + return formatEquItemCommon(equPlanEquList, "maintenance", "存在设备未设置保养项!"); + } + + /** + * 处理计划-设备信息公共方法 + * + * @param equPlanEquList + * @param planType + * @param message + * @return + */ + private AjaxResult formatEquItemCommon(List equPlanEquList, String planType, String message) { for (EquPlanEqu data : equPlanEquList) { + // 检查项名称临时对象 StringBuilder itemTempName = new StringBuilder(); - // 获取检查项list - List equCheckItemList = equCheckItemMapper.selectCheckItemByEquipmentCode(data.getEquipmentCode(),"maintenance"); + // 通过设备编码、计划类型,获取检查项信息列表 + List equCheckItemList = equCheckItemMapper.selectCheckItemByEquipmentCode(data.getEquipmentCode(), planType); if (equCheckItemList.size() > 0) { + // 创建检查项列表返回对象 List detailList = new ArrayList<>(); + + // 处理检查项信息 for (EquCheckItem checkItem : equCheckItemList) { - // 只需要循环周期一致的检查项 - if(checkItem.getItemLoop() == data.getItemLoop() && checkItem.getItemLoopType().equals(data.getItemLoopType())) { + // 获取循环周期一致的检查项 + if (checkItem.getItemLoop() == data.getItemLoop() && checkItem.getItemLoopType().equals(data.getItemLoopType())) { + // 创建检查项返回对象 EquPlanDetail detail = new EquPlanDetail(); - BeanUtils.copyProperties(checkItem,detail); + BeanUtils.copyProperties(checkItem, detail); if (!detail.getItemCode().isEmpty()) { + // 累加检查项名称(前端信息回显) itemTempName.append(detail.getItemName()).append(","); - // 获取检查项详情list + // 通过检查项code获取标准信息列表 List equCheckItemDetailList = equCheckItemDetailMapper.selectCheckItemDetailByItemCode(detail.getItemCode()); + // 处理标准信息 if (equCheckItemList.size() > 0) { + // 创建标准列表返回对象 List standardList = new ArrayList<>(); for (EquCheckItemDetail standardTemp : equCheckItemDetailList) { + // 创建标准返回对象 EquPlanStandard standard = new EquPlanStandard(); - BeanUtils.copyProperties(standardTemp,standard); + BeanUtils.copyProperties(standardTemp, standard); - standard.setShowFlag(true); - standardList.add(standard); + standard.setShowFlag(true);// 设置默认值(用于前端) + standardList.add(standard);// 返回对象添加到返回列表对象 } - detail.setEquPlanStandardList(standardList); + detail.setEquPlanStandardList(standardList);// 标准列表信息置入检查项 } } - detailList.add(detail); - } - if (data.getItemLoop() == 0) { - EquPlanDetail detail = new EquPlanDetail(); - BeanUtils.copyProperties(checkItem,detail); - - if (!detail.getItemCode().isEmpty()) { - itemTempName.append(detail.getItemName()).append(","); - // 获取检查项详情list - List equCheckItemDetailList = equCheckItemDetailMapper.selectCheckItemDetailByItemCode(detail.getItemCode()); - if (equCheckItemList.size() > 0) { - List standardList = new ArrayList<>(); - for (EquCheckItemDetail standardTemp : equCheckItemDetailList) { - EquPlanStandard standard = new EquPlanStandard(); - BeanUtils.copyProperties(standardTemp,standard); - - standard.setShowFlag(true); - standardList.add(standard); - } - detail.setEquPlanStandardList(standardList); - } - } - detailList.add(detail); + detailList.add(detail);// 返回对象添加到返回列表对象 } } - data.setEquPlanDetailList(detailList); - data.setItemTempName(itemTempName.toString()); - }else { - return error(500,"存在设备未设置保养项!"); + data.setEquPlanDetailList(detailList);// 处理好的检查项信息列表置入检查项信息列表 + data.setItemTempName(itemTempName.toString());//处理好的检查项名称置入检查项名称(用于前端信息回显) + } else { + // 未查询到对应检查项信息 + return error(500, message); } } return success(equPlanEquList); diff --git a/op-modules/op-device/src/main/resources/mapper/device/SparePartsLedgerMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/SparePartsLedgerMapper.xml index f1eb13d42..f1b7a8d6c 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/SparePartsLedgerMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/SparePartsLedgerMapper.xml @@ -124,8 +124,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and storage_tpye = 'SP' - + select amount AS 'amount',storage_amount AS 'storageAmount' from wms_ods_mate_storage_news where material_code = #{materialCode}