From 6ee6cdd841e59ed5fb8bf743cf9fc731f28cf7a2 Mon Sep 17 00:00:00 2001 From: renfan <2206580733@qq.com> Date: Wed, 23 Oct 2024 12:03:33 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90admin&front=E3=80=91=20=E6=96=B0?= =?UTF-8?q?=E5=A2=9E&=E4=BC=98=E5=8C=96=20#=201=E3=80=81=E5=90=8E=E5=8F=B0?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=92=8C=E5=B0=8F=E7=A8=8B=E5=BA=8F=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E6=8E=A5=E5=8F=A3=E3=80=81=E6=A0=B9=E6=8D=AE=E7=BB=B4?= =?UTF-8?q?=E4=BF=AE=E6=A8=A1=E5=9D=97id=E5=92=8C=E7=BB=B4=E4=BF=AE?= =?UTF-8?q?=E6=A8=A1=E5=9D=97=E5=AE=A1=E6=A0=B8id=E6=9F=A5=E5=87=BA?= =?UTF-8?q?=E9=85=8D=E4=BB=B6=E5=88=97=E8=A1=A8=202=E3=80=81=E7=BB=B4?= =?UTF-8?q?=E4=BF=AE=E6=A8=A1=E5=9D=97=E5=8D=95=E6=96=B0=E5=A2=9E=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E6=A0=87=E6=98=8E=E6=98=AF=E5=90=A6=E5=9C=A8=E8=A1=A5?= =?UTF-8?q?=E6=96=99=E4=B8=AD=203=E3=80=81=E4=BC=98=E5=8C=96=E8=A1=A5?= =?UTF-8?q?=E6=96=99=E7=94=B3=E8=AF=B7=E8=A1=A5=E6=96=99=E7=94=B3=E8=AF=B7?= =?UTF-8?q?=E6=97=B6=EF=BC=8C=E8=8B=A5repairNextStep=3D=3D5=EF=BC=8C?= =?UTF-8?q?=E4=B8=8D=E9=9C=80=E8=A6=81=E6=94=B9=E5=8F=98=E6=AD=A5=E9=AA=A4?= =?UTF-8?q?=EF=BC=8C=E8=8B=A5repairNextStep=E5=A4=A7=E4=BA=8E5=EF=BC=8C?= =?UTF-8?q?=E8=AE=BE=E4=B8=BA6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../order/RepairOrderAuditController.java | 2 + .../order/RepairOrderController.java | 18 +- .../service/order/IRepairOrderService.java | 8 + .../order/impl/RepairOrderServiceImpl.java | 29 ++- .../impl/RepairOrderShippingServiceImpl.java | 175 +++++++------ .../validate/order/RepairOrderParam.java | 2 + .../vo/excel/ReleaseRecordListExcel.java | 10 +- .../excel/order/NormalMaintenanceExcel.java | 3 - .../admin/vo/order/OrderSparePartListVo.java | 2 + .../admin/vo/order/RepairOrderStepDataVo.java | 1 + .../templates/excel/deliveryNote.xlsx | Bin 11385 -> 11491 bytes .../hcy/common/dto/order/RepairOrderDto.java | 1 + .../hcy/common/entity/order/RepairOrder.java | 2 + .../entity/order/RepairOrderStepData.java | 26 +- .../order/RepairOrderController.java | 37 ++- .../service/order/IRepairOrderService.java | 8 + .../order/impl/RepairOrderServiceImpl.java | 232 +++++++++--------- .../validate/order/RepairOrderParam.java | 3 + .../front/vo/order/RepairOrderDetailVo.java | 2 + .../hcy/front/vo/order/RepairOrderListVo.java | 2 + 20 files changed, 357 insertions(+), 206 deletions(-) diff --git a/admin/src/main/java/com/hcy/admin/controller/order/RepairOrderAuditController.java b/admin/src/main/java/com/hcy/admin/controller/order/RepairOrderAuditController.java index d0ad46c..56f40c3 100644 --- a/admin/src/main/java/com/hcy/admin/controller/order/RepairOrderAuditController.java +++ b/admin/src/main/java/com/hcy/admin/controller/order/RepairOrderAuditController.java @@ -135,4 +135,6 @@ public class RepairOrderAuditController { iRepairOrderAuditService.distributionPrinting(repairOrderAuditParam); return AjaxResult.success(); } + + } diff --git a/admin/src/main/java/com/hcy/admin/controller/order/RepairOrderController.java b/admin/src/main/java/com/hcy/admin/controller/order/RepairOrderController.java index 4a650ab..d04ad0a 100644 --- a/admin/src/main/java/com/hcy/admin/controller/order/RepairOrderController.java +++ b/admin/src/main/java/com/hcy/admin/controller/order/RepairOrderController.java @@ -7,10 +7,7 @@ import com.hcy.admin.validate.order.ParentRepairOrderParam; import com.hcy.admin.validate.order.RepairOrderParam; import com.hcy.admin.validate.common.PageParam; import com.hcy.admin.validate.sparePartStockAudit.SparePartStockAuditParam; -import com.hcy.admin.vo.order.MaintenanceReportOrderListVo; -import com.hcy.admin.vo.order.ParentRepairOrderListVo; -import com.hcy.admin.vo.order.RepairOrderListVo; -import com.hcy.admin.vo.order.RepairOrderDetailVo; +import com.hcy.admin.vo.order.*; import com.hcy.common.core.AjaxResult; import com.hcy.common.core.PageResult; import com.hcy.common.utils.ExcelUtils; @@ -262,4 +259,17 @@ public class RepairOrderController { public void maintenanceReportExcel(@Validated @RequestBody RepairOrderParam params, HttpServletResponse response) { iRepairOrderService.maintenanceReportExcel(params,response); } + + /** + * 根据工单号和审核id查出配件列表 + * + * @author hcy + * @param repairOrderParam 搜索参数 + * @return Object + */ + @GetMapping("/partsList") + public Object partsList(RepairOrderParam repairOrderParam) { + List list = iRepairOrderService.partsList(repairOrderParam); + return AjaxResult.success(list); + } } diff --git a/admin/src/main/java/com/hcy/admin/service/order/IRepairOrderService.java b/admin/src/main/java/com/hcy/admin/service/order/IRepairOrderService.java index f3910c4..46a4abf 100644 --- a/admin/src/main/java/com/hcy/admin/service/order/IRepairOrderService.java +++ b/admin/src/main/java/com/hcy/admin/service/order/IRepairOrderService.java @@ -4,6 +4,7 @@ import com.hcy.admin.validate.common.PageParam; import com.hcy.admin.validate.order.RepairOrderParam; import com.hcy.admin.vo.excel.ModuleMaintenanceExcel; import com.hcy.admin.vo.order.MaintenanceReportOrderListVo; +import com.hcy.admin.vo.order.OrderSparePartListVo; import com.hcy.admin.vo.order.RepairOrderListVo; import com.hcy.admin.vo.order.RepairOrderDetailVo; import com.hcy.common.core.PageResult; @@ -146,4 +147,11 @@ public interface IRepairOrderService { * @param response */ void maintenanceReportExcel(RepairOrderParam params, HttpServletResponse response); + + /** + * 根据工单号和审核id查出配件列表 + * @param repairOrderParam + * @return + */ + List partsList(RepairOrderParam repairOrderParam); } diff --git a/admin/src/main/java/com/hcy/admin/service/order/impl/RepairOrderServiceImpl.java b/admin/src/main/java/com/hcy/admin/service/order/impl/RepairOrderServiceImpl.java index 5b0d797..1c41d98 100644 --- a/admin/src/main/java/com/hcy/admin/service/order/impl/RepairOrderServiceImpl.java +++ b/admin/src/main/java/com/hcy/admin/service/order/impl/RepairOrderServiceImpl.java @@ -1547,7 +1547,6 @@ public class RepairOrderServiceImpl implements IRepairOrderService { NormalMaintenanceExcel vo = new NormalMaintenanceExcel(); BeanUtils.copyProperties(item, vo); vo.setSpecificationsModel(item.getModuleNumber()); // 模块型号 - vo.setModelCode(item.getModuleCode()); // 模块代码 vo.setPower(distMap.get(item.getModulePower().toString()));// 功率 vo.setDeliveryTime(TimeUtil.dateToString(item.getCreateTime(), TimeConstant.DATE_FORMAT)); // 维修日期(返修日期) if(item.getMaintenanceResult() != null){// 维修结论 @@ -1915,4 +1914,32 @@ public class RepairOrderServiceImpl implements IRepairOrderService { } } + /** + * 根据工单号和审核id查出配件列表 + * + * @param repairOrderParam + * @return + */ + @Override + public List partsList(RepairOrderParam repairOrderParam) { + //根据工单号和审核id查出配件列表 + List orderSpareParts = orderSparePartMapper.selectList(new LambdaQueryWrapper() + .eq(OrderSparePart::getRepairOrderId, repairOrderParam.getId()) + .eq(OrderSparePart::getRepairOrderAuditId, repairOrderParam.getRepairOrderAuditId()) + .eq(OrderSparePart::getIsDelete, GlobalConstant.NOT_DELETE)); + + List orderSparePartListVos = new ArrayList<>(); + for (OrderSparePart item : orderSpareParts) { + OrderSparePartListVo orderSparePartListVo = new OrderSparePartListVo(); + BeanUtils.copyProperties(item, orderSparePartListVo); + //仓库名称 + Warehouse warehouse = warehouseMapper.selectOne(new LambdaQueryWrapper() + .eq(Warehouse::getId, item.getWarehouseId())); + orderSparePartListVo.setWarehouseName(warehouse.getWarehouseName()); + orderSparePartListVos.add(orderSparePartListVo); + } + + return orderSparePartListVos; + } + } diff --git a/admin/src/main/java/com/hcy/admin/service/order/impl/RepairOrderShippingServiceImpl.java b/admin/src/main/java/com/hcy/admin/service/order/impl/RepairOrderShippingServiceImpl.java index 4526021..0311261 100644 --- a/admin/src/main/java/com/hcy/admin/service/order/impl/RepairOrderShippingServiceImpl.java +++ b/admin/src/main/java/com/hcy/admin/service/order/impl/RepairOrderShippingServiceImpl.java @@ -12,22 +12,31 @@ import com.hcy.admin.AdminThreadLocal; import com.hcy.admin.service.order.IRepairOrderShippingService; import com.hcy.admin.validate.common.PageParam; import com.hcy.admin.validate.order.RepairOrderShippingParam; +import com.hcy.admin.vo.excel.OfferDetailEntity; import com.hcy.admin.vo.excel.ReleaseRecordListExcel; +import com.hcy.admin.vo.excel.order.WarehouseReceipt; import com.hcy.admin.vo.order.RepairOrderListVo; import com.hcy.admin.vo.order.RepairOrderShippingListVo; import com.hcy.admin.vo.order.RepairOrderShippingDetailVo; +import com.hcy.common.constant.GlobalConstant; +import com.hcy.common.constant.TimeConstant; import com.hcy.common.core.PageResult; import com.hcy.common.entity.client.Client; import com.hcy.common.entity.order.ParentRepairOrder; import com.hcy.common.entity.order.RepairOrder; import com.hcy.common.entity.order.RepairOrderShipping; +import com.hcy.common.entity.setting.DictData; import com.hcy.common.entity.system.SystemAuthAdmin; +import com.hcy.common.enums.order.RepairOrderAuditStatusEnum; import com.hcy.common.enums.order.RepairOrderStatusEnum; +import com.hcy.common.exception.OperateException; import com.hcy.common.mapper.client.ClientMapper; import com.hcy.common.mapper.order.ParentRepairOrderMapper; import com.hcy.common.mapper.order.RepairOrderMapper; import com.hcy.common.mapper.order.RepairOrderShippingMapper; +import com.hcy.common.mapper.setting.DictDataMapper; import com.hcy.common.mapper.system.SystemAuthAdminMapper; +import com.hcy.common.utils.TimeUtil; import com.hcy.common.utils.excel.EasyExcelUtil; import com.hcy.common.utils.excel.LocalImageModifyStrategy; import org.springframework.beans.BeanUtils; @@ -41,6 +50,7 @@ import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; import java.io.InputStream; import java.util.*; +import java.util.stream.Collectors; /** * 维修模块发货记录实现类 @@ -63,6 +73,9 @@ public class RepairOrderShippingServiceImpl implements IRepairOrderShippingServi @Resource SystemAuthAdminMapper systemAuthAdminMapper; + @Resource + DictDataMapper dictDataMapper; + /** * 维修模块发货记录列表 * @@ -320,96 +333,110 @@ public class RepairOrderShippingServiceImpl implements IRepairOrderShippingServi */ @Override public void releaseRecordListExcel(RepairOrderShippingParam params, HttpServletResponse response) { - List repairOrderShippings = repairOrderShippingMapper.selectList(new LambdaQueryWrapper() - .in(RepairOrderShipping::getId, params.getIds())); - - List list = new LinkedList<>(); - - for (RepairOrderShipping item : repairOrderShippings) { - ReleaseRecordListExcel releaseRecordListExcel = new ReleaseRecordListExcel(); - BeanUtils.copyProperties(item, releaseRecordListExcel); - - //规格型号 - RepairOrder repairOrder = repairOrderMapper.selectOne(new LambdaQueryWrapper() - .eq(RepairOrder::getShippingId, item.getId()) - .last("limit 1")); - releaseRecordListExcel.setModuleNumber(repairOrder.getModuleNumber()); - - //单位 - releaseRecordListExcel.setUnit("PCS"); - - //备注 功率 + 本次交货数量 + 返修结论 例如:20KW,5台OK - //模块功率(0=10kw,1=20kw,2=30kw,3=40kw,4=50kw,5=60kw,6=70kw) - String modulePower = null; - if(repairOrder.getModulePower() == 0){ - modulePower = "10KW"; - }else if(repairOrder.getModulePower() == 1){ - modulePower = "20KW"; - }else if(repairOrder.getModulePower() == 2){ - modulePower = "30KW"; - }else if(repairOrder.getModulePower() == 3){ - modulePower = "40KW"; - }else if(repairOrder.getModulePower() == 4){ - modulePower = "50KW"; - }else if(repairOrder.getModulePower() == 5){ - modulePower = "60KW"; - }else if(repairOrder.getModulePower() == 6){ - modulePower = "70KW"; - } - //维修结论(0=报废,1=OK) - String maintenanceResult = null; - if(repairOrder.getMaintenanceResult() == 0){ - maintenanceResult = "报废"; - }else if(repairOrder.getMaintenanceResult() == 1){ - maintenanceResult = "OK"; - } - releaseRecordListExcel.setRemark(modulePower + "," + item.getTheQuantityShipped() + "台" + maintenanceResult); - - //工单编号 -// ParentRepairOrder parentRepairOrder = parentRepairOrderMapper.selectOne(new LambdaQueryWrapper() -// .eq(ParentRepairOrder::getId, repairOrder.getParentRepairOrderId())); -// releaseRecordListExcel.setOrderNo(parentRepairOrder.getOrderNo()); - - //发货人名称 -// SystemAuthAdmin authAdmin = systemAuthAdminMapper.selectOne(new LambdaQueryWrapper() -// .eq(SystemAuthAdmin::getId, item.getConsignerId())); -// releaseRecordListExcel.setConsignerName(authAdmin.getUsername()); - - //合计 -// releaseRecordListExcel.setTotal(item.getTheQuantityShipped()); - - list.add(releaseRecordListExcel); - } - try { - ServletOutputStream out = response.getOutputStream(); - - EasyExcelUtil.initResponse(response, "创先捷送货单"); - // 文件模板输入流,将 excel 模板放到 resources 目录下 InputStream templateFile = new ClassPathResource("templates/excel/deliveryNote.xlsx").getInputStream(); + ServletOutputStream out = response.getOutputStream(); + FillConfig fillConfig = FillConfig.builder().forceNewRow(true).build(); + //设置多sheet输出流 ExcelWriter writer = EasyExcel .write(out) .withTemplate(templateFile) // 使用图片处理策略 .registerWriteHandler( - // 设置每张图片的宽度为 200px,转换因子为 32 + // 设置每张图片的宽度为 100px,转换因子为 32 new LocalImageModifyStrategy(100, 32)) .build(); + //公共数据 + OfferDetailEntity offerDetail = new OfferDetailEntity(); + //送货单 + List releaseRecordListExcelList = new LinkedList<>(); + int index = 1; - WriteSheet sheet = EasyExcel.writerSheet().build(); + //功率字典 + Map distMap = dictDataMapper.selectList(new LambdaQueryWrapper() + .eq(DictData::getIsDelete, GlobalConstant.NOT_DELETE) + .eq(DictData::getTypeId, 46)) + .stream() + .collect(Collectors.toMap(DictData::getValue, DictData::getName)); - // 填充配置,开启组合填充换行 - FillConfig fillConfig = FillConfig.builder().forceNewRow(true).build(); + //获取制单人 + SystemAuthAdmin contentAdmin = systemAuthAdminMapper.findSystemAuthAdminById(Math.toIntExact(Long.valueOf(AdminThreadLocal.getAdminId()))); + if(contentAdmin != null){ + offerDetail.setCreator(contentAdmin.getUsername()); + } - // 填充列表占位符 - writer.fill(list, fillConfig, sheet); + List repairOrderShippings = repairOrderShippingMapper.selectList(new LambdaQueryWrapper() + .in(RepairOrderShipping::getId, params.getIds()) + .orderByDesc(RepairOrderShipping::getDeliveryTime)); + + repairOrderMapper.selectList(new LambdaQueryWrapper() + .in(RepairOrder::getShippingId, params.getIds()) + .orderByDesc(RepairOrder::getCreateTime)); + + for (RepairOrderShipping item : repairOrderShippings) { + ReleaseRecordListExcel releaseRecordListExcel = new ReleaseRecordListExcel(); + BeanUtils.copyProperties(item, releaseRecordListExcel); + //序号 + releaseRecordListExcel.setIndex(index); + //规格型号 + RepairOrder repairOrder = repairOrderMapper.selectOne(new LambdaQueryWrapper() + .eq(RepairOrder::getShippingId, item.getId()) + .eq(RepairOrder::getIsDelete, GlobalConstant.NOT_DELETE) + .orderByDesc(RepairOrder::getCreateTime) + .last("limit 1")); + releaseRecordListExcel.setModuleNumber(repairOrder.getModuleNumber()); + releaseRecordListExcel.setModelCode(repairOrder.getModuleCode()); // 料号 + //工单编号 + ParentRepairOrder parentRepairOrder = parentRepairOrderMapper.selectOne(new LambdaQueryWrapper() + .eq(ParentRepairOrder::getId, repairOrder.getParentRepairOrderId())); + releaseRecordListExcel.setOrderNo(parentRepairOrder.getOrderNo()); + + //单位 + releaseRecordListExcel.setUnit("PCS"); + + //备注 功率 + 本次交货数量 + 返修结论 例如:20KW,5台OK + //模块功率(0=10kw,1=20kw,2=30kw,3=40kw,4=50kw,5=60kw,6=70kw) + String modulePower = distMap.get(repairOrder.getModulePower().toString()); + + //1、查询出维修结论报废的数量 + Integer scrapCount = repairOrderMapper.selectCount(new LambdaQueryWrapper() + .eq(RepairOrder::getShippingId, item.getId()) + .eq(RepairOrder::getMaintenanceResult, RepairOrderStatusEnum.SCRAP.getStatus()) + .eq(RepairOrder::getIsDelete, GlobalConstant.NOT_DELETE)); + + //2、查询出维修结论ok的数量 + Integer okCount = repairOrderMapper.selectCount(new LambdaQueryWrapper() + .eq(RepairOrder::getShippingId, item.getId()) + .eq(RepairOrder::getMaintenanceResult, RepairOrderStatusEnum.OK.getStatus()) + .eq(RepairOrder::getIsDelete, GlobalConstant.NOT_DELETE)); + + if(scrapCount != 0 && okCount != 0){ + releaseRecordListExcel.setRemark(modulePower + "," + scrapCount + "台报废," + okCount + "台OK"); + }else if(scrapCount != 0){ + releaseRecordListExcel.setRemark(modulePower + "," + scrapCount + "台报废"); + }else if(okCount != 0){ + releaseRecordListExcel.setRemark(modulePower + "," + okCount + "台OK"); + } + + //送货日期 + releaseRecordListExcel.setDeliveryTime(TimeUtil.dateToString(item.getDeliveryTime(), TimeConstant.DATE_FORMAT)); + + releaseRecordListExcelList.add(releaseRecordListExcel); + index++; // 序号累计 + offerDetail.setTotalQty(offerDetail.getTotalQty() + item.getTheQuantityShipped()); // 合计 + } + WriteSheet sheet = EasyExcel.writerSheet(0).build(); + writer.fill(offerDetail, sheet); + writer.fill(releaseRecordListExcelList, fillConfig, sheet); - //填充完成 writer.finish(); - } catch (Exception e) { - System.out.println("导出异常:" + e); + out.close(); + templateFile.close(); + }catch (Exception e){ + e.printStackTrace(); + throw new OperateException("导出报表出现错误:"+e.getLocalizedMessage()); } } diff --git a/admin/src/main/java/com/hcy/admin/validate/order/RepairOrderParam.java b/admin/src/main/java/com/hcy/admin/validate/order/RepairOrderParam.java index 032fd7c..6676ad9 100644 --- a/admin/src/main/java/com/hcy/admin/validate/order/RepairOrderParam.java +++ b/admin/src/main/java/com/hcy/admin/validate/order/RepairOrderParam.java @@ -126,4 +126,6 @@ public class RepairOrderParam implements Serializable { private Integer maintenanceState; // 维修状态(0=正常维修,1=返修,2=报废) private String typeIds; //表单类型 :0-正常维修 1-返修 2-报废 + private Long repairOrderAuditId; //维修单审核id + } diff --git a/admin/src/main/java/com/hcy/admin/vo/excel/ReleaseRecordListExcel.java b/admin/src/main/java/com/hcy/admin/vo/excel/ReleaseRecordListExcel.java index 55d532b..390707b 100644 --- a/admin/src/main/java/com/hcy/admin/vo/excel/ReleaseRecordListExcel.java +++ b/admin/src/main/java/com/hcy/admin/vo/excel/ReleaseRecordListExcel.java @@ -21,8 +21,14 @@ public class ReleaseRecordListExcel implements Serializable { @ApiModelProperty(value = "序号") private Integer index; // 序号 + @ApiModelProperty(value = "单据编号") + private String orderNo; + @ApiModelProperty(value = "模块代码") + private String modelCode; @ApiModelProperty(value = "型号/规格") private String moduleNumber; // 模块型号 + @ApiModelProperty(value = "功率") + private String power; @ApiModelProperty(value = "单位") private String unit; //单位 @ApiModelProperty(value = "订单数量") @@ -35,6 +41,6 @@ public class ReleaseRecordListExcel implements Serializable { private Integer undeliveredQuantity; // 未交数量 @ApiModelProperty(value = "备注") private String remark; //备注 - - + @ApiModelProperty(value = "送货日期") + private String deliveryTime; } diff --git a/admin/src/main/java/com/hcy/admin/vo/excel/order/NormalMaintenanceExcel.java b/admin/src/main/java/com/hcy/admin/vo/excel/order/NormalMaintenanceExcel.java index bf88f00..917a89e 100644 --- a/admin/src/main/java/com/hcy/admin/vo/excel/order/NormalMaintenanceExcel.java +++ b/admin/src/main/java/com/hcy/admin/vo/excel/order/NormalMaintenanceExcel.java @@ -31,9 +31,6 @@ public class NormalMaintenanceExcel { @ApiModelProperty(value = "型号/规格") private String specificationsModel; - @ApiModelProperty(value = "模块代码") - private String modelCode; - @ApiModelProperty(value = "功率") private String power; diff --git a/admin/src/main/java/com/hcy/admin/vo/order/OrderSparePartListVo.java b/admin/src/main/java/com/hcy/admin/vo/order/OrderSparePartListVo.java index c9dd7f0..3cd9041 100644 --- a/admin/src/main/java/com/hcy/admin/vo/order/OrderSparePartListVo.java +++ b/admin/src/main/java/com/hcy/admin/vo/order/OrderSparePartListVo.java @@ -15,6 +15,8 @@ public class OrderSparePartListVo implements Serializable { private Long id; // id private Long maintenanceOrderId; //检修单id + private Long repairOrderId; //维修单id + private Long repairOrderAuditId; //维修单审核id private Long sparePartsId; // 备件id private String sparePartsCode; // 备件编码 private String sparePartsName; // 备件名称 diff --git a/admin/src/main/java/com/hcy/admin/vo/order/RepairOrderStepDataVo.java b/admin/src/main/java/com/hcy/admin/vo/order/RepairOrderStepDataVo.java index ee27724..baa6b17 100644 --- a/admin/src/main/java/com/hcy/admin/vo/order/RepairOrderStepDataVo.java +++ b/admin/src/main/java/com/hcy/admin/vo/order/RepairOrderStepDataVo.java @@ -9,6 +9,7 @@ import java.util.Date; public class RepairOrderStepDataVo implements Serializable { private Long id; // 主键id private Long repairOrderId; // 维修单id + private Long repairOrderAuditId; //维修模块审核id private Integer repairStep; // 当前步骤(0=拆机,1=清洗,2=故障排查,3=确认签名,4=重领配件,5=上传维修前图片,6=上传维修中图片,7=上传维修后图片,8=补强三防漆,9=补强点胶,10=DC&PFC组装,11=补强三防漆和点胶,12=模块装配,13=功能测试,14=老化测试,15=包装出货,16=填写回单) private String remark; // 备注 private String img; // 照片 diff --git a/admin/src/main/resources/templates/excel/deliveryNote.xlsx b/admin/src/main/resources/templates/excel/deliveryNote.xlsx index 045daea2491c0537dd4783dcc5f7d5a7c0e46e0e..70915c237918923c33e39177db56b3a6192cf267 100644 GIT binary patch literal 11491 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 diff --git a/common/src/main/java/com/hcy/common/dto/order/RepairOrderDto.java b/common/src/main/java/com/hcy/common/dto/order/RepairOrderDto.java index 65c54c4..c64b3b4 100644 --- a/common/src/main/java/com/hcy/common/dto/order/RepairOrderDto.java +++ b/common/src/main/java/com/hcy/common/dto/order/RepairOrderDto.java @@ -111,4 +111,5 @@ public class RepairOrderDto implements Serializable { private String startTime; //开始时间 private String endTime; //结束时间 private String maintenanceMan; //维修人员 + private Integer feedingOrNot; //是否在补料中(0=是,1=否) } diff --git a/common/src/main/java/com/hcy/common/entity/order/RepairOrder.java b/common/src/main/java/com/hcy/common/entity/order/RepairOrder.java index 2258ddf..caa9a67 100644 --- a/common/src/main/java/com/hcy/common/entity/order/RepairOrder.java +++ b/common/src/main/java/com/hcy/common/entity/order/RepairOrder.java @@ -101,4 +101,6 @@ public class RepairOrder implements Serializable { private Integer type; // 扫码核对(0=入库,1=返修) private String returnReason; // 返修原因 private Integer returning; //是否在退仓中(0=是,1=否) + private Integer feedingOrNot; //是否在补料中(0=是,1=否) + } \ No newline at end of file diff --git a/common/src/main/java/com/hcy/common/entity/order/RepairOrderStepData.java b/common/src/main/java/com/hcy/common/entity/order/RepairOrderStepData.java index 4d528d2..db83144 100644 --- a/common/src/main/java/com/hcy/common/entity/order/RepairOrderStepData.java +++ b/common/src/main/java/com/hcy/common/entity/order/RepairOrderStepData.java @@ -56,7 +56,17 @@ public class RepairOrderStepData implements Serializable { this.auditStatus = auditStatus; this.creatorId = creatorId; } - + public RepairOrderStepData(Long repairOrderId, Integer repairStep, String remark, String img, String title, Integer dscType, Integer auditStatus, Long creatorId, Long repairOrderAuditId) { + this.repairOrderId = repairOrderId; + this.repairStep = repairStep; + this.remark = remark; + this.img = img; + this.title = title; + this.dscType = dscType; + this.auditStatus = auditStatus; + this.creatorId = creatorId; + this.repairOrderAuditId = repairOrderAuditId; + } public RepairOrderStepData(Long repairOrderId, Integer repairStep, String remark, String img, String title, Integer auditStatus, Long creatorId) { this.repairOrderId = repairOrderId; this.repairStep = repairStep; @@ -91,6 +101,20 @@ public class RepairOrderStepData implements Serializable { this.createTime = createTime; } + public RepairOrderStepData(Long id ,Long repairOrderId, Integer repairStep, String remark, String img, String title, Integer dscType, Integer auditStatus, Long creatorId, Date createTime, Long repairOrderAuditId) { + this.id = id; + this.repairOrderId = repairOrderId; + this.repairStep = repairStep; + this.remark = remark; + this.img = img; + this.title = title; + this.dscType = dscType; + this.auditStatus = auditStatus; + this.creatorId = creatorId; + this.createTime = createTime; + this.repairOrderAuditId = repairOrderAuditId; + } + public RepairOrderStepData(Long id ,Long repairOrderId, Integer repairStep, String remark, String img, String title, Integer auditStatus, Long creatorId, Date createTime) { this.id = id; this.repairOrderId = repairOrderId; diff --git a/front/src/main/java/com/hcy/front/controller/order/RepairOrderController.java b/front/src/main/java/com/hcy/front/controller/order/RepairOrderController.java index 8908601..a14bed7 100644 --- a/front/src/main/java/com/hcy/front/controller/order/RepairOrderController.java +++ b/front/src/main/java/com/hcy/front/controller/order/RepairOrderController.java @@ -9,6 +9,7 @@ import com.hcy.front.service.order.IRepairOrderService; import com.hcy.front.validate.PageParam; import com.hcy.front.validate.order.MaintenanceOrderParam; import com.hcy.front.validate.order.RepairOrderParam; +import com.hcy.front.vo.order.OrderSparePartListVo; import com.hcy.front.vo.order.RepairOrderDetailVo; import com.hcy.front.vo.order.RepairOrderListVo; import lombok.extern.java.Log; @@ -16,6 +17,7 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.util.List; /** * 维修订单管理 @@ -165,17 +167,6 @@ public class RepairOrderController { return AjaxResult.success(); } - /** - * 备件领用补料申请 - * @param repairOrderParam 参数 - * @return Object - */ - @PostMapping("/sparePartsRequisition") - public Object sparePartsRequisition(@RequestBody RepairOrderParam repairOrderParam) { - iRepairOrderService.sparePartsRequisition(repairOrderParam); - return AjaxResult.success(); - } - /** * 确认收货 * @param repairOrderParam 参数 @@ -291,4 +282,28 @@ public class RepairOrderController { iRepairOrderService.cancelMaterialRequisition(repairOrderParam); return AjaxResult.success(); } + + /** + * 根据工单号和审核id查出配件列表 + * + * @author hcy + * @param repairOrderParam 搜索参数 + * @return Object + */ + @GetMapping("/partsList") + public Object partsList(RepairOrderParam repairOrderParam) { + List list = iRepairOrderService.partsList(repairOrderParam); + return AjaxResult.success(list); + } + + /** + * 备件领用补料申请 + * @param repairOrderParam 参数 + * @return Object + */ + @PostMapping("/sparePartsRequisition") + public Object sparePartsRequisition(@RequestBody RepairOrderParam repairOrderParam) { + iRepairOrderService.sparePartsRequisition(repairOrderParam); + return AjaxResult.success(); + } } diff --git a/front/src/main/java/com/hcy/front/service/order/IRepairOrderService.java b/front/src/main/java/com/hcy/front/service/order/IRepairOrderService.java index 13f8360..bc263b2 100644 --- a/front/src/main/java/com/hcy/front/service/order/IRepairOrderService.java +++ b/front/src/main/java/com/hcy/front/service/order/IRepairOrderService.java @@ -3,6 +3,7 @@ package com.hcy.front.service.order; import com.hcy.common.core.PageResult; import com.hcy.front.validate.PageParam; import com.hcy.front.validate.order.RepairOrderParam; +import com.hcy.front.vo.order.OrderSparePartListVo; import com.hcy.front.vo.order.OrderStatusCountVo; import com.hcy.front.vo.order.RepairOrderDetailVo; import com.hcy.front.vo.order.RepairOrderListVo; @@ -144,4 +145,11 @@ public interface IRepairOrderService { * @param repairOrderParam */ void cancelMaterialRequisition(RepairOrderParam repairOrderParam); + + /** + * 根据工单号和审核id查出配件列表 + * @param repairOrderParam + * @return + */ + List partsList(RepairOrderParam repairOrderParam); } diff --git a/front/src/main/java/com/hcy/front/service/order/impl/RepairOrderServiceImpl.java b/front/src/main/java/com/hcy/front/service/order/impl/RepairOrderServiceImpl.java index 88f4e28..793e823 100644 --- a/front/src/main/java/com/hcy/front/service/order/impl/RepairOrderServiceImpl.java +++ b/front/src/main/java/com/hcy/front/service/order/impl/RepairOrderServiceImpl.java @@ -669,7 +669,8 @@ public class RepairOrderServiceImpl implements IRepairOrderService { //设置配件清单 List orderSpareParts = orderSparePartMapper.selectList(new LambdaQueryWrapper() - .eq(OrderSparePart::getRepairOrderId, model.getId())); + .eq(OrderSparePart::getRepairOrderId, model.getId()) + .eq(OrderSparePart::getIsDelete, GlobalConstant.NOT_DELETE)); List orderSparePartListVos = new ArrayList<>(); for (OrderSparePart item : orderSpareParts) { OrderSparePartListVo orderSparePartListVo = new OrderSparePartListVo(); @@ -1228,20 +1229,6 @@ public class RepairOrderServiceImpl implements IRepairOrderService { repairOrderParam.getMaintenanceResult(), FrontThreadLocal.getUserId().longValue())); -// Client client = clientMapper.findClientById(repairOrder.getClientId()); - //判断当前客户是全包还是半包 -// if(client.getMaintainType() == ClientStatusEnum.MODULE_MAINTENANCE_ALL_WRAPPED.getStatus()){ -// repairOrder.setScrapConfirmation(RepairOrderStatusEnum.YES.getStatus()); // 报废确认(0=是,1=否) -// -// //维修单步骤数据 -// RepairOrderStepData repairOrderStepData = new RepairOrderStepData(); -// repairOrderStepData.setRepairOrderId(repairOrder.getId()); -// repairOrderStepData.setRemark("全包客户自动确认报废"); -// repairOrderStepData.setTitle("全包客户自动确认报废"); -// repairOrderStepData.setAuditStatus(Math.toIntExact(repairOrder.getScrapConfirmation())); -// repairOrderStepData.setCreatorId(FrontThreadLocal.getUserId().longValue()); -// repairOrderStepDataMapper.insert(repairOrderStepData); -// } repairOrderMapper.updateById(repairOrder); // 更新维修单 return; }else{ @@ -1310,18 +1297,35 @@ public class RepairOrderServiceImpl implements IRepairOrderService { RepairOrderStopEnum.ACCESSORY_REQUISITION.getStatus(), repairOrderParam.getScrapOrNot(), FrontThreadLocal.getUserId().longValue(), - new Date())); + new Date(), + repairOrderStepData1.getRepairOrderAuditId())); }else{ - //维修单步骤数据 - repairOrderStepDataMapper.insert(new RepairOrderStepData( - repairOrderParam.getId(), - repairOrder.getRepairStep(), - repairOrderParam.getRepairOrderStepRemark(), - repairOrderParam.getRepairOrderStepImg(), - RepairOrderStopEnum.getMsgByCode(repairOrder.getRepairStep()), - RepairOrderStopEnum.ACCESSORY_REQUISITION.getStatus(), - repairOrderParam.getScrapOrNot(), - FrontThreadLocal.getUserId().longValue())); + if(resultRoa != null){ + //维修单步骤数据 + repairOrderStepDataMapper.insert(new RepairOrderStepData( + repairOrderParam.getId(), + repairOrder.getRepairStep(), + repairOrderParam.getRepairOrderStepRemark(), + repairOrderParam.getRepairOrderStepImg(), + RepairOrderStopEnum.getMsgByCode(repairOrder.getRepairStep()), + RepairOrderStopEnum.ACCESSORY_REQUISITION.getStatus(), + repairOrderParam.getScrapOrNot(), + FrontThreadLocal.getUserId().longValue(), + resultRoa.getId())); + }else{ + //维修单步骤数据 + repairOrderStepDataMapper.insert(new RepairOrderStepData( + repairOrderParam.getId(), + repairOrder.getRepairStep(), + repairOrderParam.getRepairOrderStepRemark(), + repairOrderParam.getRepairOrderStepImg(), + RepairOrderStopEnum.getMsgByCode(repairOrder.getRepairStep()), + RepairOrderStopEnum.ACCESSORY_REQUISITION.getStatus(), + repairOrderParam.getScrapOrNot(), + FrontThreadLocal.getUserId().longValue(), + repairOrderAudit.getId())); + } + } repairOrderMapper.updateById(repairOrder); // 更新维修单 }else{ @@ -1377,6 +1381,7 @@ public class RepairOrderServiceImpl implements IRepairOrderService { RepairOrderAudit resultRoa = repairOrderAuditMapper.selectOne(new LambdaQueryWrapper() .eq(RepairOrderAudit::getRepairOrderId, repairOrder.getId()) .eq(RepairOrderAudit::getReviewRequest, RepairOrderStatusEnum.STORES_REQUISITION.getStatus())); + if(resultRoa != null){ //已有领取记录但被拒绝则重新审核 resultRoa.setAuditStatus(AuditStateEnum.UNREVIEWED.getStatus()); @@ -1422,18 +1427,35 @@ public class RepairOrderServiceImpl implements IRepairOrderService { RepairOrderStopEnum.RECOLLAR_FITTING.getStatus(), repairOrderParam.getScrapOrNot(), FrontThreadLocal.getUserId().longValue(), - new Date())); + new Date(), + repairOrderStepData1.getRepairOrderAuditId())); }else{ - //维修单步骤数据 - repairOrderStepDataMapper.insert(new RepairOrderStepData( - repairOrderParam.getId(), - repairOrder.getRepairStep(), - repairOrderParam.getRepairOrderStepRemark(), - repairOrderParam.getRepairOrderStepImg(), - RepairOrderStopEnum.getMsgByCode(repairOrder.getRepairStep()), - RepairOrderStopEnum.RECOLLAR_FITTING.getStatus(), - repairOrderParam.getScrapOrNot(), - FrontThreadLocal.getUserId().longValue())); + if(resultRoa != null){ + //维修单步骤数据 + repairOrderStepDataMapper.insert(new RepairOrderStepData( + repairOrderParam.getId(), + repairOrder.getRepairStep(), + repairOrderParam.getRepairOrderStepRemark(), + repairOrderParam.getRepairOrderStepImg(), + RepairOrderStopEnum.getMsgByCode(repairOrder.getRepairStep()), + RepairOrderStopEnum.RECOLLAR_FITTING.getStatus(), + repairOrderParam.getScrapOrNot(), + FrontThreadLocal.getUserId().longValue(), + resultRoa.getId())); + }else{ + //维修单步骤数据 + repairOrderStepDataMapper.insert(new RepairOrderStepData( + repairOrderParam.getId(), + repairOrder.getRepairStep(), + repairOrderParam.getRepairOrderStepRemark(), + repairOrderParam.getRepairOrderStepImg(), + RepairOrderStopEnum.getMsgByCode(repairOrder.getRepairStep()), + RepairOrderStopEnum.RECOLLAR_FITTING.getStatus(), + repairOrderParam.getScrapOrNot(), + FrontThreadLocal.getUserId().longValue(), + repairOrderAudit.getId())); + } + } // 确认签名 repairOrder.setRepairNextStep(RepairOrderStopEnum.CONFIRMATION_SIGNATURE.getStatus()); // 下个步骤 @@ -1494,7 +1516,8 @@ public class RepairOrderServiceImpl implements IRepairOrderService { if(repairOrderAudit.getAuditStatus() != RepairOrderAuditStatusEnum.TO_BE_CONFIRMED.getStatus()){ throw new OperateException("当前审核状态不可操作,请联系管理审核领料申请!"); } - + // feedingOrNot; //是否在补料中(0=是,1=否) + repairOrder.setFeedingOrNot(RepairOrderStatusEnum.NO.getStatus()); // 确认签名 repairOrder.setRepairNextStep(RepairOrderStopEnum.PRE_MAINTENANCE_IMG.getStatus()); // 下个步骤 //确认签名完变成维修中 @@ -1507,19 +1530,21 @@ public class RepairOrderServiceImpl implements IRepairOrderService { }else if (repairOrderParam.getRepairStep() == RepairOrderStopEnum.PRE_MAINTENANCE_IMG.getStatus()) { // 上传维修前图片 + repairOrder.setRepairNextStep(RepairOrderStopEnum.IN_MAINTENANCE_IMG.getStatus()); // 下个步骤 + }else if (repairOrderParam.getRepairStep() == RepairOrderStopEnum.IN_MAINTENANCE_IMG.getStatus()) { // 上传维修中图片 // 更新不更新步骤 - if(repairOrderStepData1 == null){ + repairOrder.setRepairNextStep(RepairOrderStopEnum.AFTER_REPAIR_IMG.getStatus()); // 下个步骤 - } + }else if (repairOrderParam.getRepairStep() == RepairOrderStopEnum.AFTER_REPAIR_IMG.getStatus()) { // 上传维修后图片 // 更新不更新步骤 - if(repairOrderStepData1 == null){ - repairOrder.setRepairNextStep(RepairOrderStopEnum.FUNCTIONAL_TEST.getStatus()); // 下个步骤8、功能测试 - } + + repairOrder.setRepairNextStep(RepairOrderStopEnum.FUNCTIONAL_TEST.getStatus()); // 下个步骤8、功能测试 + }else if (repairOrderParam.getRepairStep() == RepairOrderStopEnum.FUNCTIONAL_TEST.getStatus()) { // 功能测试 // 更新不更新步骤 @@ -1559,23 +1584,23 @@ public class RepairOrderServiceImpl implements IRepairOrderService { } else if (repairOrderParam.getRepairStep() == RepairOrderStopEnum.DC_AND_PFC_ASSEMBLE.getStatus()) { // DC&PFC组装 // 更新不更新步骤 - if(repairOrderStepData1 == null){ + repairOrder.setRepairNextStep(RepairOrderStopEnum.REINFORCING_THREE_ANTI_PAINT_AND_DISPENSING.getStatus()); // 下个步骤 - } + }else if (repairOrderParam.getRepairStep() == RepairOrderStopEnum.REINFORCING_THREE_ANTI_PAINT_AND_DISPENSING.getStatus()) { // 补强三防漆和点胶 // 更新不更新步骤 - if(repairOrderStepData1 == null){ + repairOrder.setRepairNextStep(RepairOrderStopEnum.MODULE_ASSEMBLY.getStatus()); // 下个步骤 - } + }else if (repairOrderParam.getRepairStep() == RepairOrderStopEnum.MODULE_ASSEMBLY.getStatus()) { // 模块装配 //模块装配完变成测试中 // 更新不更新步骤 - if(repairOrderStepData1 == null){ + repairOrder.setOrderStatus(RepairOrderStatusEnum.TEST_IN_PROCESS.getStatus()); repairOrder.setRepairNextStep(RepairOrderStopEnum.AGING_TEST.getStatus()); // 下个步骤12、老化测试 - } + }else if (repairOrderParam.getRepairStep() == RepairOrderStopEnum.AGING_TEST.getStatus()) { // 老化测试 // 更新不更新步骤 @@ -1684,64 +1709,7 @@ public class RepairOrderServiceImpl implements IRepairOrderService { //良品入库申请,工单状态改为审核中 repairOrder.setRepairNextStep(RepairOrderStopEnum.FINISH.getStatus()); // 下个步骤 - } -// }else if (repairOrderParam.getRepairStep() == RepairOrderStopEnum.PACKAGE_AND_SHIP.getStatus()) { -// // 包装出货 -// repairOrder.setExpressName(repairOrderParam.getExpressName());// 快递名称 -// repairOrder.setExpressNo(repairOrderParam.getExpressNo());// 快递单号 -// //客户确认报废,完成包装出货就已完成 -// if(repairOrder.getScrapConfirmation() != null){ -// if(repairOrder.getScrapConfirmation() == RepairOrderStatusEnum.YES.getStatus()){ -// repairOrder.setOrderStatus(RepairOrderStatusEnum.FINISHED.getStatus()); // 已完成 -// repairOrder.setOrderAccomplishTime(new Date()); // 订单完成时间 -// repairOrderMapper.updateById(repairOrder); // 更新维修单 -// //维修单步骤数据 -// repairOrderStepDataMapper.insert(new RepairOrderStepData( -// repairOrderParam.getId(), -// repairOrder.getRepairStep(), -// repairOrderParam.getRepairOrderStepRemark(), -// repairOrderParam.getRepairOrderStepImg(), -// RepairOrderStopEnum.getMsgByCode(repairOrder.getRepairStep()), -// FrontThreadLocal.getUserId().longValue())); -// -// //新增维修单操作记录 -// RepairOrderStepData repairOrderStepData = new RepairOrderStepData(); -// repairOrderStepData.setRepairOrderId(repairOrder.getId()); -// repairOrderStepData.setTitle("结束"); -// repairOrderStepData.setCreatorId(FrontThreadLocal.getUserId().longValue()); -// repairOrderStepDataMapper.insert(repairOrderStepData); -// return; -// } -// } else { -// repairOrder.setRepairNextStep(RepairOrderStopEnum.FILL_IN_THE_RECEIPT.getStatus()); // 下个步骤 -// } -// }else if (repairOrderParam.getRepairStep() == RepairOrderStopEnum.FILL_IN_THE_RECEIPT.getStatus()) { -// // 填写回单 -// //填写回单完变成已完成 -// repairOrder.setOrderStatus(RepairOrderStatusEnum.FINISHED.getStatus()); -// repairOrder.setOrderAccomplishTime(new Date()); // 完成时间 -// repairOrder.setRepairNextStep(RepairOrderStopEnum.FINISH.getStatus()); // 下个步骤 -//// repairOrder.setFaultId(repairOrderParam.getFaultId()); // 维修结论类型id -//// repairOrder.setFaultDescription(repairOrderParam.getFaultDescription()); // 维修结论描述 -// repairOrder.setRepairStep(repairOrderParam.getRepairStep());// 当前步骤 -// repairOrderMapper.updateById(repairOrder); // 更新维修单 -// //维修单步骤数据 -// repairOrderStepDataMapper.insert(new RepairOrderStepData( -// repairOrderParam.getId(), -// repairOrder.getRepairStep(), -// repairOrderParam.getRepairOrderStepRemark(), -// repairOrderParam.getRepairOrderStepImg(), -// RepairOrderStopEnum.getMsgByCode(repairOrder.getRepairStep()), -// FrontThreadLocal.getUserId().longValue())); -// -// //新增维修单操作记录 -// RepairOrderStepData repairOrderStepData = new RepairOrderStepData(); -// repairOrderStepData.setRepairOrderId(repairOrder.getId()); -// repairOrderStepData.setTitle("结束"); -// repairOrderStepData.setCreatorId(FrontThreadLocal.getUserId().longValue()); -// repairOrderStepDataMapper.insert(repairOrderStepData); -// return; - else { + } else { throw new OperateException("当前步骤不正确!"); } @@ -1803,6 +1771,16 @@ public class RepairOrderServiceImpl implements IRepairOrderService { orderSparePartMapper.insert(orderSparePart); } + //1、补料申请时,若repairNextStep==5,不需要改变步骤,若repairNextStep大于5,设为6 + if(repairOrder.getRepairNextStep() == 5){ + + } else if (repairOrder.getRepairNextStep() > 5) { + repairOrder.setRepairNextStep(RepairOrderStopEnum.IN_MAINTENANCE_IMG.getStatus()); + } + //feedingOrNot; //是否在补料中(0=是,1=否) + repairOrder.setFeedingOrNot(RepairOrderStatusEnum.YES.getStatus()); + repairOrderMapper.updateById(repairOrder); + //维修单步骤数据 RepairOrderStepData repairOrderStepData = new RepairOrderStepData(); repairOrderStepData.setRepairOrderId(repairOrder.getId()); @@ -2285,9 +2263,15 @@ public class RepairOrderServiceImpl implements IRepairOrderService { repairOrderAudit.setAuditStatus(RepairOrderAuditStatusEnum.CANCELED.getStatus()); // 审核状态改为已取消 repairOrderAuditMapper.updateById(repairOrderAudit); - repairOrder.setRepairStep(RepairOrderStopEnum.RECOLLAR_FITTING.getStatus());// 下个步骤 重领配件 - repairOrder.setRepairNextStep(RepairOrderStopEnum.RECOLLAR_FITTING.getStatus()); // 下个步骤 重领配件 - repairOrderMapper.updateById(repairOrder); // 更新维修模块单信息 + if(repairOrder.getFeedingOrNot() != null && repairOrder.getFeedingOrNot() == RepairOrderStatusEnum.YES.getStatus()){ + repairOrder.setFeedingOrNot(RepairOrderStatusEnum.NO.getStatus()); //feedingOrNot; //是否在补料中(0=是,1=否) + repairOrderMapper.updateById(repairOrder); // 更新维修模块单信息 + }else{ + repairOrder.setFeedingOrNot(RepairOrderStatusEnum.NO.getStatus()); //feedingOrNot; //是否在补料中(0=是,1=否) + //repairOrder.setRepairStep(RepairOrderStopEnum.RECOLLAR_FITTING.getStatus());// 下个步骤 重领配件 + repairOrder.setRepairNextStep(RepairOrderStopEnum.RECOLLAR_FITTING.getStatus()); // 下个步骤 重领配件 + repairOrderMapper.updateById(repairOrder); // 更新维修模块单信息 + } //维修单步骤数据 RepairOrderStepData repairOrderStepData = new RepairOrderStepData(); @@ -2298,4 +2282,32 @@ public class RepairOrderServiceImpl implements IRepairOrderService { repairOrderStepData.setCreatorId(FrontThreadLocal.getUserId().longValue()); repairOrderStepDataMapper.insert(repairOrderStepData); } + + /** + * 根据工单号和审核id查出配件列表 + * + * @param repairOrderParam + * @return + */ + @Override + public List partsList(RepairOrderParam repairOrderParam) { + //根据工单号和审核id查出配件列表 + List orderSpareParts = orderSparePartMapper.selectList(new LambdaQueryWrapper() + .eq(OrderSparePart::getRepairOrderId, repairOrderParam.getId()) + .eq(OrderSparePart::getRepairOrderAuditId, repairOrderParam.getRepairOrderAuditId()) + .eq(OrderSparePart::getIsDelete, GlobalConstant.NOT_DELETE)); + + List orderSparePartListVos = new ArrayList<>(); + for (OrderSparePart item : orderSpareParts) { + OrderSparePartListVo orderSparePartListVo = new OrderSparePartListVo(); + BeanUtils.copyProperties(item, orderSparePartListVo); + //仓库名称 + Warehouse warehouse = warehouseMapper.selectOne(new LambdaQueryWrapper() + .eq(Warehouse::getId, item.getWarehouseId())); + orderSparePartListVo.setWarehouseName(warehouse.getWarehouseName()); + orderSparePartListVos.add(orderSparePartListVo); + } + + return orderSparePartListVos; + } } diff --git a/front/src/main/java/com/hcy/front/validate/order/RepairOrderParam.java b/front/src/main/java/com/hcy/front/validate/order/RepairOrderParam.java index 82bc7b4..964a35d 100644 --- a/front/src/main/java/com/hcy/front/validate/order/RepairOrderParam.java +++ b/front/src/main/java/com/hcy/front/validate/order/RepairOrderParam.java @@ -167,4 +167,7 @@ public class RepairOrderParam implements Serializable { private List repairOrderList; //扫码核对列表 private String withdrawalImg; // 退仓图片 + private Long repairOrderAuditId; //维修单审核id + private Integer feedingOrNot; //是否在补料中(0=是,1=否) + } diff --git a/front/src/main/java/com/hcy/front/vo/order/RepairOrderDetailVo.java b/front/src/main/java/com/hcy/front/vo/order/RepairOrderDetailVo.java index 2036167..b35b0ff 100644 --- a/front/src/main/java/com/hcy/front/vo/order/RepairOrderDetailVo.java +++ b/front/src/main/java/com/hcy/front/vo/order/RepairOrderDetailVo.java @@ -162,5 +162,7 @@ public class RepairOrderDetailVo implements Serializable { private RepairOrderAuditListVo repairOrderAuditListVo; // 填写维修信息 private Integer returning; //是否在退仓中(0=是,1=否) private RepairOrderAuditListVo cancellationRequestListVo; // 退仓申请信息 + private Integer feedingOrNot; //是否在补料中(0=是,1=否) + } diff --git a/front/src/main/java/com/hcy/front/vo/order/RepairOrderListVo.java b/front/src/main/java/com/hcy/front/vo/order/RepairOrderListVo.java index f04b58e..8c3d8b8 100644 --- a/front/src/main/java/com/hcy/front/vo/order/RepairOrderListVo.java +++ b/front/src/main/java/com/hcy/front/vo/order/RepairOrderListVo.java @@ -135,5 +135,7 @@ public class RepairOrderListVo implements Serializable { private Integer type; // 扫码核对(0=入库,1=返修) private String returnReason; // 返修原因 private Integer returning; //是否在退仓中(0=是,1=否) + private Integer feedingOrNot; //是否在补料中(0=是,1=否) + }