From 5a2b04c8fecb4224f69085cf9d703ac688db4e71 Mon Sep 17 00:00:00 2001 From: JaxCen <1694546944@qq.com> Date: Thu, 17 Oct 2024 15:33:26 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90admin=E3=80=91=E6=96=B0=E5=A2=9E#=201.?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=BB=B4=E4=BF=AE=E5=8D=95=E6=8A=A5=E8=A1=A8?= =?UTF-8?q?=E5=AF=BC=E5=87=BA=E5=8A=9F=E8=83=BD=EF=BC=88=E5=B7=B2=E5=AE=8C?= =?UTF-8?q?=E6=88=90=E5=89=8D=E5=9B=9B=E5=BC=A0=E8=A1=A8=E6=A0=BC=EF=BC=8C?= =?UTF-8?q?=E4=BD=86=E6=98=AF=E8=BF=98=E5=B7=AE=E5=9B=BE=E7=89=87=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../order/ParentRepairOrderController.java | 1 + .../impl/ParentRepairOrderServiceImpl.java | 258 +++++++++++++++--- .../hcy/admin/vo/excel/OfferDetailEntity.java | 6 + .../vo/excel/order/ExcelRepairOrder.java | 71 +++++ .../vo/excel/order/GetMaterialsOrder.java | 9 + .../hcy/admin/vo/excel/order/ScrapForm.java | 61 +++++ .../vo/excel/order/WarehouseReceipt.java | 44 +++ .../templates/excel/materialRequisition.xlsx | Bin 11127 -> 15728 bytes .../com/hcy/common/constant/TimeConstant.java | 9 + .../mapper/order/RepairOrderAuditMapper.java | 4 + .../java/com/hcy/common/utils/TimeUtil.java | 10 + 11 files changed, 438 insertions(+), 35 deletions(-) create mode 100644 admin/src/main/java/com/hcy/admin/vo/excel/order/ExcelRepairOrder.java create mode 100644 admin/src/main/java/com/hcy/admin/vo/excel/order/ScrapForm.java create mode 100644 admin/src/main/java/com/hcy/admin/vo/excel/order/WarehouseReceipt.java create mode 100644 common/src/main/java/com/hcy/common/constant/TimeConstant.java diff --git a/admin/src/main/java/com/hcy/admin/controller/order/ParentRepairOrderController.java b/admin/src/main/java/com/hcy/admin/controller/order/ParentRepairOrderController.java index 7d95156..1a94695 100644 --- a/admin/src/main/java/com/hcy/admin/controller/order/ParentRepairOrderController.java +++ b/admin/src/main/java/com/hcy/admin/controller/order/ParentRepairOrderController.java @@ -113,6 +113,7 @@ public class ParentRepairOrderController { @ApiOperation(value = "模块管理 - 导出Excel报表") @PostMapping(value="/exportExcel") + @ResponseBody public void exportExcel(@Validated @RequestBody ParentRepairOrderParam params, HttpServletResponse response) { iParentRepairOrderService.exportExcel(params,response); } diff --git a/admin/src/main/java/com/hcy/admin/service/order/impl/ParentRepairOrderServiceImpl.java b/admin/src/main/java/com/hcy/admin/service/order/impl/ParentRepairOrderServiceImpl.java index 588edec..e9bb8e0 100644 --- a/admin/src/main/java/com/hcy/admin/service/order/impl/ParentRepairOrderServiceImpl.java +++ b/admin/src/main/java/com/hcy/admin/service/order/impl/ParentRepairOrderServiceImpl.java @@ -13,21 +13,32 @@ import com.hcy.admin.service.order.IParentRepairOrderService; import com.hcy.admin.validate.common.PageParam; import com.hcy.admin.validate.order.ParentRepairOrderParam; import com.hcy.admin.vo.excel.OfferDetailEntity; +import com.hcy.admin.vo.excel.order.ExcelRepairOrder; import com.hcy.admin.vo.excel.order.GetMaterialsOrder; +import com.hcy.admin.vo.excel.order.ScrapForm; +import com.hcy.admin.vo.excel.order.WarehouseReceipt; import com.hcy.admin.vo.order.*; import com.hcy.common.constant.GlobalConstant; +import com.hcy.common.constant.TimeConstant; import com.hcy.common.core.PageResult; import com.hcy.common.dto.order.*; import com.hcy.common.entity.client.Client; +import com.hcy.common.entity.fault.Fault; import com.hcy.common.entity.order.ParentRepairOrder; import com.hcy.common.entity.order.RepairOrder; +import com.hcy.common.entity.order.RepairOrderAudit; +import com.hcy.common.entity.setting.DictData; import com.hcy.common.entity.system.SystemAuthAdmin; import com.hcy.common.entity.user.User; 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.fault.FaultMapper; import com.hcy.common.mapper.order.OrderSparePartMapper; import com.hcy.common.mapper.order.ParentRepairOrderMapper; +import com.hcy.common.mapper.order.RepairOrderAuditMapper; import com.hcy.common.mapper.order.RepairOrderMapper; +import com.hcy.common.mapper.setting.DictDataMapper; import com.hcy.common.mapper.system.SystemAuthAdminMapper; import com.hcy.common.mapper.user.UserMapper; import com.hcy.common.utils.ArrayUtil; @@ -36,6 +47,7 @@ import com.hcy.common.utils.TimeUtil; import com.hcy.common.utils.UrlUtil; import com.hcy.common.config.GlobalConfig; import com.hcy.common.utils.excel.EasyExcelUtil; +import org.apache.poi.ss.formula.functions.T; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.beans.BeanUtils; import org.springframework.core.io.ClassPathResource; @@ -45,7 +57,10 @@ import org.springframework.util.Assert; import javax.annotation.Resource; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; import java.io.InputStream; +import java.net.URL; import java.util.*; import java.util.stream.Collectors; @@ -70,6 +85,18 @@ public class ParentRepairOrderServiceImpl implements IParentRepairOrderService { @Resource OrderSparePartMapper orderSparePartMapper; + @Resource + ClientMapper clientMapper; + + @Resource + RepairOrderAuditMapper repairOrderAuditMapper; + + @Resource + FaultMapper faultMapper; + + @Resource + DictDataMapper dictDataMapper; + /** * 总维修单列表 * @@ -319,60 +346,108 @@ public class ParentRepairOrderServiceImpl implements IParentRepairOrderService { public void exportExcel(ParentRepairOrderParam params, HttpServletResponse response) { try { Assert.notNull(params.getClientId(),"客户id不可为空"); - ServletOutputStream out = response.getOutputStream(); LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper() .eq(ParentRepairOrder::getIsDelete, GlobalConstant.NOT_DELETE) .eq(ParentRepairOrder::getClientId, params.getClientId()) - .between(ParentRepairOrder::getCreateTime, params.getStartTime(), params.getEndTime()); - FillConfig fillConfig = FillConfig.builder().forceNewRow(true).build(); - + .between(params.getStartTime() != null && params.getEndTime() != null + ,ParentRepairOrder::getCreateTime, params.getStartTime(), params.getEndTime()); + //查询待导出的维修单 List parentRepairOrders = parentRepairOrderMapper.selectList(lambdaQueryWrapper); + //获取前端传的类型 String[] typeIdList = params.getTypeIds().split(","); - EasyExcelUtil.initResponse(response, "领料单"); // 文件模板输入流,将 excel 模板放到 resources 目录下 InputStream templateFile = new ClassPathResource("templates/excel/materialRequisition.xlsx").getInputStream(); - int index1 = 0; + //优化查询用户数据 Map adminMap = new HashMap<>(); -// XSSFWorkbook workbook = new XSSFWorkbook(templateFile); -// for (int i = 0; i < parentRepairOrders.size(); i++) { -// if(i == 0){ -// workbook.setSheetName(0, parentRepairOrders.get(i).getOrderNo() + "领料单"); -// }else{ -// workbook.cloneSheet(0,parentRepairOrders.get(i).getOrderNo() + "领料单"); -// } -// } -// workbook.write(out); + + //动态模板 + /*ByteArrayOutputStream bos = new ByteArrayOutputStream(); + //原模板只有一个sheet,通过poi复制出需要的sheet个数的模板 + XSSFWorkbook workbook = new XSSFWorkbook(templateFile); + //设置模板的第一个sheet的名称 + workbook.setSheetName(0, parentRepairOrders.get(0).getOrderNo()); + for (int i = 1; i < parentRepairOrders.size(); i++) { + //复制模板,得到第i个sheet + workbook.cloneSheet(0, parentRepairOrders.get(i).getOrderNo()); + } + //写到流里 + workbook.write(bos); + byte[] bArray = bos.toByteArray(); + //获取设置多个sheet的输出流 + InputStream templateInputStream = new ByteArrayInputStream(bArray);*/ + + //功率字典 + Map distMap = dictDataMapper.selectList(new LambdaQueryWrapper() + .eq(DictData::getIsDelete, GlobalConstant.NOT_DELETE) + .eq(DictData::getTypeId, 46)) + .stream() + .collect(Collectors.toMap(DictData::getValue, DictData::getName)); + + ServletOutputStream out = response.getOutputStream(); + FillConfig fillConfig = FillConfig.builder().forceNewRow(true).build(); + //设置多sheet输出流 ExcelWriter writer = EasyExcel .write(out) .withTemplate(templateFile) .build(); + //公共数据 + OfferDetailEntity offerDetail = new OfferDetailEntity(); + //入仓单 + List warehouseReceiptList = new ArrayList<>(); + int index0 = 1; + //领料单 + List getMaterialsOrderList = new ArrayList<>(); + int index1 = 1; + //维修单 + List excelRepairOrderList = new ArrayList<>(); + int index2 = 1; + //报废单 + List scrapFormList = new ArrayList<>(); + int index3 = 1; for (ParentRepairOrder parentRepairOrder : parentRepairOrders) { List repairOrderList = repairOrderMapper.findRepairOrderByParentId(parentRepairOrder.getId()); - int totalQuantity = 0; - int index = 1; - - OfferDetailEntity offerDetail = new OfferDetailEntity(); - offerDetail.setDeliveryTime(TimeUtil.timestampToDate(System.currentTimeMillis() / 1000,"yyyy-MM-dd")); - offerDetail.setOrderNo(parentRepairOrder.getOrderNo()); //获取创建者信息 - SystemAuthAdmin contentAdmin= systemAuthAdminMapper.findSystemAuthAdminByUserId(Math.toIntExact(parentRepairOrder.getCreatorId())); + SystemAuthAdmin contentAdmin = systemAuthAdminMapper.findSystemAuthAdminByUserId(Math.toIntExact(parentRepairOrder.getCreatorId())); if(contentAdmin != null){ offerDetail.setCreator(contentAdmin.getUsername()); } - offerDetail.setTotalQty(totalQuantity); + //设置客户信息 + Client client = clientMapper.findClientById(parentRepairOrder.getClientId()); + if(client != null){ + offerDetail.setClientName(client.getClientName()); + } - WriteSheet sheet = EasyExcel.writerSheet(0,parentRepairOrder.getOrderNo() + "领料单").build(); - //填充内容占位符 - writer.fill(offerDetail, sheet); - - List getMaterialsOrderList = new ArrayList<>(); for (RepairOrder item : repairOrderList) { for (String ids : typeIdList) { + if(ids.equals("0")){ + WarehouseReceipt warehouseReceipt = new WarehouseReceipt(); + warehouseReceipt.setOrderNo(parentRepairOrder.getOrderNo()); + warehouseReceipt.setIndex(index0); + warehouseReceipt.setSpecificationsModel(item.getModuleNumber()); + warehouseReceipt.setModelCode(item.getModuleCode()); + warehouseReceipt.setPower(distMap.get(item.getModulePower().toString())); + if(item.getRepairOrNot() != null){ + warehouseReceipt.setIsRepair(item.getRepairOrNot() == 0 ? "是" : "否"); + } + if(item.getMaintenanceResult() != null){ + warehouseReceipt.setResult(item.getMaintenanceResult() == 0 ? "报废" : "OK"); + } + if(item.getReceiverId() != null){ + SystemAuthAdmin maintenanceMan = systemAuthAdminMapper.findSystemAuthAdminById(Math.toIntExact(item.getReceiverId())); + if(maintenanceMan != null){ + warehouseReceipt.setMaintenanceMan(maintenanceMan.getUsername()); + } + } + warehouseReceipt.setCreator(offerDetail.getCreator()); + warehouseReceipt.setDeliveryTime(TimeUtil.dateToString(parentRepairOrder.getCreateTime(), TimeConstant.DATE_FORMAT)); + warehouseReceiptList.add(warehouseReceipt); + index0++; + } if(ids.equals("1")){ List orderSparePartList = orderSparePartMapper.findOrderSparePartByModuleId(item.getId()); if(orderSparePartList.isEmpty()){ @@ -380,7 +455,8 @@ public class ParentRepairOrderServiceImpl implements IParentRepairOrderService { } for (OrderSparePartDto orderSparePartDto : orderSparePartList) { GetMaterialsOrder getMaterialsOrder = new GetMaterialsOrder(); - getMaterialsOrder.setIndex(index); + getMaterialsOrder.setOrderNo(parentRepairOrder.getOrderNo()); + getMaterialsOrder.setIndex(index1); getMaterialsOrder.setModelType(item.getModuleNumber()); getMaterialsOrder.setModelCode(item.getModuleCode()); getMaterialsOrder.setSparePartsCode(orderSparePartDto.getSparePartsCode()); @@ -389,6 +465,8 @@ public class ParentRepairOrderServiceImpl implements IParentRepairOrderService { getMaterialsOrder.setUnit(orderSparePartDto.getUnit()); getMaterialsOrder.setQuantityClaimed(orderSparePartDto.getCount().toString()); getMaterialsOrder.setActualQuantity(orderSparePartDto.getCount().toString()); + getMaterialsOrder.setDeliveryTime(TimeUtil.dateToString(parentRepairOrder.getCreateTime(), TimeConstant.DATE_FORMAT)); + getMaterialsOrder.setCreator(offerDetail.getCreator()); SystemAuthAdmin systemAuthAdmin; if(adminMap.get(orderSparePartDto.getApplicantId()) != null){ systemAuthAdmin = adminMap.get(orderSparePartDto.getApplicantId()); @@ -399,19 +477,129 @@ public class ParentRepairOrderServiceImpl implements IParentRepairOrderService { if(systemAuthAdmin != null){ getMaterialsOrder.setRecipient(systemAuthAdmin.getUsername()); } + index1++; getMaterialsOrderList.add(getMaterialsOrder); - index++; - totalQuantity += orderSparePartDto.getCount(); + offerDetail.setTotalQty(offerDetail.getTotalQty() + orderSparePartDto.getCount()); + } + } + if(ids.equals("2")){ + ExcelRepairOrder excelRepairOrder = new ExcelRepairOrder(); + excelRepairOrder.setOrderNo(parentRepairOrder.getOrderNo()); + excelRepairOrder.setIndex(index2); + excelRepairOrder.setSpecificationsModel(item.getModuleNumber()); + excelRepairOrder.setModelCode(item.getModuleCode()); + excelRepairOrder.setPower(distMap.get(item.getModulePower().toString())); + if(item.getRepairOrNot() != null){ + excelRepairOrder.setIsRepair(item.getRepairOrNot() == 0 ? "是" : "否"); + } + if(item.getMaintenanceResult() != null){ + excelRepairOrder.setResult(item.getMaintenanceResult() == 0 ? "报废" : "OK"); + } + if(item.getReceiverId() != null){ + SystemAuthAdmin maintenanceMan = systemAuthAdminMapper.findSystemAuthAdminById(Math.toIntExact(item.getReceiverId())); + if(maintenanceMan != null){ + excelRepairOrder.setMaintenanceMan(maintenanceMan.getUsername()); + } } + RepairOrderAudit repairOrderAudit = repairOrderAuditMapper.findRepairOrderAuditByRepairOrderIdAndReviewRequest(item.getId(), 3L); + if(repairOrderAudit != null){ + Fault faultPhenomenon = faultMapper.findFaultById(repairOrderAudit.getFaultPhenomenonId()); + if(faultPhenomenon != null){ + excelRepairOrder.setFaultPhenomenon(faultPhenomenon.getName()); + } + Fault faultCause = faultMapper.findFaultById(repairOrderAudit.getFaultCauseId()); + if(faultCause != null){ + excelRepairOrder.setFaultCause(faultCause.getName()); + } + Fault sourceOfDamage = faultMapper.findFaultById(repairOrderAudit.getSourceOfDamageId()); + if(sourceOfDamage != null){ + excelRepairOrder.setSourceOfDamage(sourceOfDamage.getName()); + } + Fault operationsSuggest = faultMapper.findFaultById(repairOrderAudit.getOperationsSuggestId()); + if(operationsSuggest != null){ + excelRepairOrder.setOperationsSuggest(operationsSuggest.getName()); + } + } + excelRepairOrder.setCreator(offerDetail.getCreator()); + excelRepairOrder.setDeliveryTime(TimeUtil.dateToString(parentRepairOrder.getCreateTime(), TimeConstant.DATE_FORMAT)); + excelRepairOrderList.add(excelRepairOrder); + index2++; + } + if(ids.equals("3")){ + RepairOrderAudit repairOrderAudit = repairOrderAuditMapper.findRepairOrderAuditByRepairOrderIdAndReviewRequest(item.getId(), 3L); + if(repairOrderAudit == null){ + continue; + } + ScrapForm scrapForm = new ScrapForm(); + scrapForm.setOrderNo(parentRepairOrder.getOrderNo()); + scrapForm.setIndex(index3); + scrapForm.setSpecificationsModel(item.getModuleNumber()); + scrapForm.setModelCode(item.getModuleCode()); + scrapForm.setPower(distMap.get(item.getModulePower().toString())); + + //scrapForm.setScrapImg(new URL(repairOrderAudit.getScrapImg())); + scrapForm.setScrapImg(repairOrderAudit.getScrapImg()); + if(item.getRepairOrNot() != null){ + scrapForm.setIsRepair(item.getRepairOrNot() == 0 ? "是" : "否"); + } + if(item.getMaintenanceResult() != null){ + scrapForm.setResult(item.getMaintenanceResult() == 0 ? "报废" : "OK"); + } + if(item.getReceiverId() != null){ + SystemAuthAdmin maintenanceMan = systemAuthAdminMapper.findSystemAuthAdminById(Math.toIntExact(item.getReceiverId())); + if(maintenanceMan != null){ + scrapForm.setMaintenanceMan(maintenanceMan.getUsername()); + } + } + Fault faultPhenomenon = faultMapper.findFaultById(repairOrderAudit.getFaultPhenomenonId()); + if(faultPhenomenon != null){ + scrapForm.setFaultPhenomenon(faultPhenomenon.getName()); + } + Fault faultCause = faultMapper.findFaultById(repairOrderAudit.getFaultCauseId()); + if(faultCause != null){ + scrapForm.setFaultCause(faultCause.getName()); + } + Fault sourceOfDamage = faultMapper.findFaultById(repairOrderAudit.getSourceOfDamageId()); + if(sourceOfDamage != null){ + scrapForm.setSourceOfDamage(sourceOfDamage.getName()); + } + Fault operationsSuggest = faultMapper.findFaultById(repairOrderAudit.getOperationsSuggestId()); + if(operationsSuggest != null){ + scrapForm.setOperationsSuggest(operationsSuggest.getName()); + } + scrapForm.setCreator(offerDetail.getCreator()); + scrapForm.setDeliveryTime(TimeUtil.dateToString(parentRepairOrder.getCreateTime(), TimeConstant.DATE_FORMAT)); + scrapFormList.add(scrapForm); + index3++; } } } - - // 填充列表占位符 - writer.fill(getMaterialsOrderList, fillConfig, sheet); - index1++; } + + for (int i = 0; i < 5; i++) { + WriteSheet sheet = EasyExcel.writerSheet(i).build(); + writer.fill(offerDetail, sheet); + switch (i){ + case 0: + writer.fill(warehouseReceiptList, fillConfig, sheet); + break; + case 1: + writer.fill(getMaterialsOrderList, fillConfig, sheet); + break; + case 2: + writer.fill(excelRepairOrderList,fillConfig,sheet); + break; + case 3: + writer.fill(scrapFormList, fillConfig, sheet); + break; + case 4: + break; + case 5: + break; + } + } + writer.finish(); out.close(); templateFile.close(); diff --git a/admin/src/main/java/com/hcy/admin/vo/excel/OfferDetailEntity.java b/admin/src/main/java/com/hcy/admin/vo/excel/OfferDetailEntity.java index bbde0e0..99191a4 100644 --- a/admin/src/main/java/com/hcy/admin/vo/excel/OfferDetailEntity.java +++ b/admin/src/main/java/com/hcy/admin/vo/excel/OfferDetailEntity.java @@ -27,4 +27,10 @@ public class OfferDetailEntity { @ApiModelProperty(value = "合计数量") private Integer totalQty; + public Integer getTotalQty() { + if(totalQty == null){ + return 0; + } + return totalQty; + } } diff --git a/admin/src/main/java/com/hcy/admin/vo/excel/order/ExcelRepairOrder.java b/admin/src/main/java/com/hcy/admin/vo/excel/order/ExcelRepairOrder.java new file mode 100644 index 0000000..5bbe5d1 --- /dev/null +++ b/admin/src/main/java/com/hcy/admin/vo/excel/order/ExcelRepairOrder.java @@ -0,0 +1,71 @@ +package com.hcy.admin.vo.excel.order; + +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.net.URL; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ExcelRepairOrder { + + + @ApiModelProperty(value = "单据编号") + private String orderNo; + + @ApiModelProperty(value = "序号") + private Integer index; + + @ApiModelProperty(value = "型号/规格") + private String specificationsModel; + + @ApiModelProperty(value = "模块代码") + private String modelCode; + + @ApiModelProperty(value = "功率") + private String power; + + @ApiModelProperty(value = "是否返修") + private String isRepair; + + @ApiModelProperty(value = "维修人员") + private String maintenanceMan; + + @ApiModelProperty(value = "故障现象") + private String faultPhenomenon; + + @ApiModelProperty(value = "故障原因") + private String faultCause; + + @ApiModelProperty(value = "维修前图片") + private URL repairFront; + + @ApiModelProperty(value = "维修中图片") + private URL repairIng; + + @ApiModelProperty(value = "维修后图片") + private URL repairBack; + + @ApiModelProperty(value = "更换明细") + private String replacementDetail; + + @ApiModelProperty(value = "维修结论") + private String result; + + @ApiModelProperty(value = "损坏原因") + private String sourceOfDamage; + + @ApiModelProperty(value = "运维建议") + private String operationsSuggest; + + @ApiModelProperty(value = "制单及经手人") + private String creator; + + @ApiModelProperty(value = "制单日期") + private String deliveryTime; +} diff --git a/admin/src/main/java/com/hcy/admin/vo/excel/order/GetMaterialsOrder.java b/admin/src/main/java/com/hcy/admin/vo/excel/order/GetMaterialsOrder.java index 06e3ac9..0ce5dfb 100644 --- a/admin/src/main/java/com/hcy/admin/vo/excel/order/GetMaterialsOrder.java +++ b/admin/src/main/java/com/hcy/admin/vo/excel/order/GetMaterialsOrder.java @@ -12,6 +12,9 @@ import lombok.NoArgsConstructor; @AllArgsConstructor public class GetMaterialsOrder { + @ApiModelProperty(value = "单据编号") + private String orderNo; + @ApiModelProperty(value = "序号") private Integer index; @@ -41,4 +44,10 @@ public class GetMaterialsOrder { @ApiModelProperty(value = "领取人员") private String recipient; + + @ApiModelProperty(value = "制单人") + private String creator; + + @ApiModelProperty(value = "制单日期") + private String deliveryTime; } diff --git a/admin/src/main/java/com/hcy/admin/vo/excel/order/ScrapForm.java b/admin/src/main/java/com/hcy/admin/vo/excel/order/ScrapForm.java new file mode 100644 index 0000000..f6572fb --- /dev/null +++ b/admin/src/main/java/com/hcy/admin/vo/excel/order/ScrapForm.java @@ -0,0 +1,61 @@ +package com.hcy.admin.vo.excel.order; + +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.net.URL; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ScrapForm { + + @ApiModelProperty(value = "单据编号") + private String orderNo; + + @ApiModelProperty(value = "序号") + private Integer index; + + @ApiModelProperty(value = "型号/规格") + private String specificationsModel; + + @ApiModelProperty(value = "模块代码") + private String modelCode; + + @ApiModelProperty(value = "功率") + private String power; + + @ApiModelProperty(value = "是否返修") + private String isRepair; + + @ApiModelProperty(value = "维修人员") + private String maintenanceMan; + + @ApiModelProperty(value = "故障现象") + private String faultPhenomenon; + + @ApiModelProperty(value = "故障原因") + private String faultCause; + + @ApiModelProperty(value = "报废图片") + private String scrapImg; + + @ApiModelProperty(value = "维修结论") + private String result; + + @ApiModelProperty(value = "损坏原因") + private String sourceOfDamage; + + @ApiModelProperty(value = "运维建议") + private String operationsSuggest; + + @ApiModelProperty(value = "制单及经手人") + private String creator; + + @ApiModelProperty(value = "制单日期") + private String deliveryTime; +} diff --git a/admin/src/main/java/com/hcy/admin/vo/excel/order/WarehouseReceipt.java b/admin/src/main/java/com/hcy/admin/vo/excel/order/WarehouseReceipt.java new file mode 100644 index 0000000..39d4635 --- /dev/null +++ b/admin/src/main/java/com/hcy/admin/vo/excel/order/WarehouseReceipt.java @@ -0,0 +1,44 @@ +package com.hcy.admin.vo.excel.order; + +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class WarehouseReceipt { + + @ApiModelProperty(value = "单据编号") + private String orderNo; + + @ApiModelProperty(value = "序号") + private Integer index; + + @ApiModelProperty(value = "型号/规格") + private String specificationsModel; + + @ApiModelProperty(value = "模块代码") + private String modelCode; + + @ApiModelProperty(value = "功率") + private String power; + + @ApiModelProperty(value = "是否返修") + private String isRepair; + + @ApiModelProperty(value = "维修结果") + private String result; + + @ApiModelProperty(value = "维修人员") + private String maintenanceMan; + + @ApiModelProperty(value = "制单人") + private String creator; + + @ApiModelProperty(value = "制单日期") + private String deliveryTime; +} diff --git a/admin/src/main/resources/templates/excel/materialRequisition.xlsx b/admin/src/main/resources/templates/excel/materialRequisition.xlsx index a1d9960adad147866dd9c72f708e6b66b2b1a574..36abacf1bbeb4f8cca39f83ea42f87ba43379bdd 100644 GIT binary patch delta 12343 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 aMEaMTRhC0Q{L?+|%L#s&#c{enZ~p~&#%rMf diff --git a/common/src/main/java/com/hcy/common/constant/TimeConstant.java b/common/src/main/java/com/hcy/common/constant/TimeConstant.java new file mode 100644 index 0000000..dccc895 --- /dev/null +++ b/common/src/main/java/com/hcy/common/constant/TimeConstant.java @@ -0,0 +1,9 @@ +package com.hcy.common.constant; + +public class TimeConstant { + + public final static String DATETIME_FORMAT = "yyyy-MM-dd HH:mm:ss"; + public final static String DATETIME_NO_SS_FORMAT = "yyyy-MM-dd HH:mm"; + public final static String DATE_FORMAT = "yyyy-MM-dd"; + public final static String MONTH_DAY_HOUR_MINUTE = "MM-dd HH:mm"; +} \ No newline at end of file diff --git a/common/src/main/java/com/hcy/common/mapper/order/RepairOrderAuditMapper.java b/common/src/main/java/com/hcy/common/mapper/order/RepairOrderAuditMapper.java index 331e509..2e8c37f 100644 --- a/common/src/main/java/com/hcy/common/mapper/order/RepairOrderAuditMapper.java +++ b/common/src/main/java/com/hcy/common/mapper/order/RepairOrderAuditMapper.java @@ -9,6 +9,7 @@ import com.hcy.common.dto.order.RepairOrderDto; import com.hcy.common.entity.order.RepairOrderAudit; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; /** * 维修模块审核Mapper @@ -23,4 +24,7 @@ public interface RepairOrderAuditMapper extends IBaseMapper { * @return */ IPage auditMattersList(@Param("page") Page page, @Param("param")RepairOrderAuditDto repairOrderAuditDto); + + @Select("select * from la_repair_order_audit where repair_order_id = #{repairOrderId} and review_request = #{reviewRequest}") + RepairOrderAudit findRepairOrderAuditByRepairOrderIdAndReviewRequest(@Param("repairOrderId") Long repairOrderId,@Param("reviewRequest") Long ReviewRequest); } diff --git a/common/src/main/java/com/hcy/common/utils/TimeUtil.java b/common/src/main/java/com/hcy/common/utils/TimeUtil.java index e6a3b1c..4e237e8 100644 --- a/common/src/main/java/com/hcy/common/utils/TimeUtil.java +++ b/common/src/main/java/com/hcy/common/utils/TimeUtil.java @@ -37,6 +37,16 @@ public class TimeUtil { return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(time * 1000)); } + /** + * 将时间转换为指定格式的字符串 + * @param date 时间 + * @param format 格式 + * @return string + */ + public static String dateToString(Date date, String format) { + return new SimpleDateFormat(format).format(date); + } + /** * 时间戳转换为Date * @param time 参数