From 7b3ea8773c06a366b946ee7da3db46b126ec2b81 Mon Sep 17 00:00:00 2001
From: renfan <2206580733@qq.com>
Date: Thu, 19 Sep 2024 22:20:32 +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=E6=96=B0=E5=A2=9E?=
=?UTF-8?q?=E5=90=8E=E5=8F=B0=E6=A8=A1=E5=9D=97=E7=BB=B4=E4=BF=AE=E6=8A=A5?=
=?UTF-8?q?=E8=A1=A8=E6=94=AF=E6=8C=81=E5=AF=BC=E5=87=BAexcel=202=E3=80=81?=
=?UTF-8?q?=E4=BC=98=E5=8C=96=E7=BB=B4=E4=BF=AE=E5=8D=95=E7=9A=84=E5=B7=A5?=
=?UTF-8?q?=E5=8D=95=E6=AD=A5=E9=AA=A4=E5=9B=BE=E7=89=87=E4=B8=8D=E6=98=BE?=
=?UTF-8?q?=E7=A4=BA=E9=97=AE=E9=A2=98=203=E3=80=81=E6=96=B0=E5=A2=9E?=
=?UTF-8?q?=E6=A3=80=E4=BF=AE=E5=8D=95=E3=80=81=E7=BB=B4=E4=BF=AE=E5=8D=95?=
=?UTF-8?q?=E6=98=BE=E7=A4=BA=E9=85=8D=E4=BB=B6=E9=A2=86=E7=94=A8=E7=8A=B6?=
=?UTF-8?q?=E6=80=81=204=E3=80=81=E6=96=B0=E5=A2=9E=E7=BB=B4=E4=BF=AE?=
=?UTF-8?q?=E5=8D=95=E6=98=BE=E7=A4=BA=E4=BB=93=E7=AE=A1=E5=91=98=E4=B8=8A?=
=?UTF-8?q?=E4=BC=A0=E7=9A=84=E7=85=A7=E7=89=87?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
admin/pom.xml | 5 -
.../order/RepairOrderController.java | 21 +++
.../service/crontab/impl/OrderCrontab.java | 4 +-
.../service/order/IRepairOrderService.java | 9 ++
.../admin/service/order/RepairOrderExcel.java | 47 ++++++
.../impl/MaintenanceOrderServiceImpl.java | 18 +++
.../order/impl/RepairOrderServiceImpl.java | 135 +++++++++++++++++-
.../impl/SparePartStockAuditServiceImpl.java | 2 +
.../validate/order/MaintenanceOrderParam.java | 2 +
.../validate/order/RepairOrderParam.java | 2 +
.../vo/order/MaintenanceOrderDetailVo.java | 3 +
.../vo/order/MaintenanceOrderListVo.java | 3 +
.../hcy/admin/vo/order/RepairOrderListVo.java | 4 +-
.../common/dto/order/MaintenanceOrderDto.java | 2 +
.../common/entity/order/MaintenanceOrder.java | 2 +-
.../SparePartStockAudit.java | 3 +-
.../enums/order/RepairOrderStopEnum.java | 3 +-
.../mapper/order/RepairOrderMapper.java | 7 +
.../plugin/storage/engine/AliyunStorage.java | 2 +-
.../resources/mapper/RepairOrderMapper.xml | 69 +++++++++
.../impl/MaintenanceOrderServiceImpl.java | 16 +++
.../order/impl/RepairOrderServiceImpl.java | 16 ++-
.../validate/order/MaintenanceOrderParam.java | 1 +
.../vo/order/MaintenanceOrderDetailVo.java | 2 +
.../vo/order/MaintenanceOrderListVo.java | 2 +
.../front/vo/order/RepairOrderDetailVo.java | 1 +
.../hcy/front/vo/order/RepairOrderListVo.java | 1 +
27 files changed, 364 insertions(+), 18 deletions(-)
create mode 100644 admin/src/main/java/com/hcy/admin/service/order/RepairOrderExcel.java
diff --git a/admin/pom.xml b/admin/pom.xml
index b958acf..2301c33 100644
--- a/admin/pom.xml
+++ b/admin/pom.xml
@@ -21,7 +21,6 @@
org.hcy
common
- 1.0.0
org.hcy
@@ -44,10 +43,6 @@
2.0.12
compile
-
- org.hcy
- common
-
org.apache.tomcat.embed
tomcat-embed-core
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 da5b1f0..5a6bd7a 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
@@ -1,8 +1,11 @@
package com.hcy.admin.controller.order;
import com.hcy.admin.config.aop.Log;
+import com.hcy.admin.service.order.DistributionOrderExcel;
import com.hcy.admin.service.order.IRepairOrderService;
+import com.hcy.admin.service.order.RepairOrderExcel;
import com.hcy.admin.validate.order.MaintenanceOrderParam;
+import com.hcy.admin.validate.order.OrderDistributionParam;
import com.hcy.admin.validate.order.RepairOrderParam;
import com.hcy.admin.validate.common.PageParam;
import com.hcy.admin.validate.order.RoutingInspectionOrderParam;
@@ -10,16 +13,22 @@ import com.hcy.admin.vo.order.RepairOrderListVo;
import com.hcy.admin.vo.order.RepairOrderDetailVo;
import com.hcy.common.core.AjaxResult;
import com.hcy.common.core.PageResult;
+import com.hcy.common.utils.ExcelUtils;
import com.hcy.common.validator.annotation.IDMust;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
import java.util.Map;
/**
* 维修订单管理
*/
+@Slf4j
@RestController
@RequestMapping("api/order/repairOrder")
public class RepairOrderController {
@@ -137,4 +146,16 @@ public class RepairOrderController {
iRepairOrderService.returnRepair(repairOrderParam);
return AjaxResult.success();
}
+
+ //导出Excel
+ @ApiOperation(value = "模块管理 - 导出模块维修报表")
+ @PostMapping(value="/exportModuleMaintenanceExcel")
+ public void exportModuleMaintenanceExcel(@Validated @RequestBody RepairOrderParam params, HttpServletResponse response) {
+ try {
+ List list = iRepairOrderService.getExportModuleMaintenanceExcel(params);
+ ExcelUtils.export2Web(response, "模块维修报表", "模块维修报表", RepairOrderExcel.class, list);
+ } catch (Exception e) {
+ log.error("报表导出异常:", e);
+ }
+ }
}
diff --git a/admin/src/main/java/com/hcy/admin/service/crontab/impl/OrderCrontab.java b/admin/src/main/java/com/hcy/admin/service/crontab/impl/OrderCrontab.java
index e9421c5..7e7d88a 100644
--- a/admin/src/main/java/com/hcy/admin/service/crontab/impl/OrderCrontab.java
+++ b/admin/src/main/java/com/hcy/admin/service/crontab/impl/OrderCrontab.java
@@ -211,7 +211,7 @@ public class OrderCrontab {
//判断当前维修单是加急还是普通 priority; // 优先级(0=普通,1=加急)
if(item.getPriority() == RepairOrderStatusEnum.URGENT.getStatus()){
//加急维修单状态停滞一天,需要提醒
- orderCreateTime.add(Calendar.MINUTE, 1);
+ orderCreateTime.add(Calendar.MINUTE, 1440);
if(currentTime.compareTo(orderCreateTime) > 0){
item.setTimeoutOrNot(RepairOrderStatusEnum.YES.getStatus());// 是否超时(0=是,1=否)
repairOrderMapper.updateById(item);
@@ -219,7 +219,7 @@ public class OrderCrontab {
} else if (item.getPriority() == RepairOrderStatusEnum.COMMON.getStatus()) {
//普通维修单状态停滞三天,需要提醒
- orderCreateTime.add(Calendar.MINUTE, 3);
+ orderCreateTime.add(Calendar.MINUTE, 4320);
if(currentTime.compareTo(orderCreateTime) > 0){
item.setTimeoutOrNot(RepairOrderStatusEnum.YES.getStatus());// 是否超时(0=是,1=否)
repairOrderMapper.updateById(item);
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 3cef49c..3432003 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
@@ -6,6 +6,8 @@ import com.hcy.admin.vo.order.RepairOrderListVo;
import com.hcy.admin.vo.order.RepairOrderDetailVo;
import com.hcy.common.core.PageResult;
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
import java.util.Map;
/**
@@ -71,4 +73,11 @@ public interface IRepairOrderService {
* @param repairOrderParam
*/
void returnRepair(RepairOrderParam repairOrderParam);
+
+ /**
+ * 导出模块维修报表
+ * @param params
+ * @return
+ */
+ List getExportModuleMaintenanceExcel(RepairOrderParam params);
}
diff --git a/admin/src/main/java/com/hcy/admin/service/order/RepairOrderExcel.java b/admin/src/main/java/com/hcy/admin/service/order/RepairOrderExcel.java
new file mode 100644
index 0000000..f2c61e2
--- /dev/null
+++ b/admin/src/main/java/com/hcy/admin/service/order/RepairOrderExcel.java
@@ -0,0 +1,47 @@
+package com.hcy.admin.service.order;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.hcy.admin.vo.sparePartStockAudit.SparePartStockAuditDetailVo;
+import com.hcy.common.entity.order.OrderPartCode;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * RepairOrderExcel
+ */
+@Data
+public class RepairOrderExcel implements Serializable {
+
+
+ /*private Long id; // 主键id
+ private String orderNo; // 订单编号*/
+
+ @ColumnWidth(20) // 定义列宽
+ @ExcelProperty(value = {"模块号"}, index = 0)
+ private String moduleNumber; // 模块号
+ @ColumnWidth(20) // 定义列宽
+ @ExcelProperty(value = {"模块代码"}, index = 1)
+ private String moduleCode; // 模块代码
+ @ColumnWidth(20) // 定义列宽
+ @ExcelProperty(value = {"发现时间"}, index = 2)
+ private Date createTime; // 创建时间
+ @ColumnWidth(20) // 定义列宽
+ @ExcelProperty(value = {"维修前(现场图片)"}, index = 3)
+ private String preMaintenanceImg; // 维修前照片
+ @ColumnWidth(20) // 定义列宽
+ @ExcelProperty(value = {"维修中"}, index = 4)
+ private String inMaintenanceImg; // 维修中照片
+ @ColumnWidth(20) // 定义列宽
+ @ExcelProperty(value = {"维修后"}, index = 5)
+ private String afterRepairImg; // 维修后照片
+ @ColumnWidth(20) // 定义列宽
+ @ExcelProperty(value = {"故障原因"}, index = 6)
+ private String faultName; //故障名称
+ @ExcelProperty(value = {"是否报废"}, index = 7)
+ private String scrapOrNot; // 是否报废(0=是,1=否)
+
+}
diff --git a/admin/src/main/java/com/hcy/admin/service/order/impl/MaintenanceOrderServiceImpl.java b/admin/src/main/java/com/hcy/admin/service/order/impl/MaintenanceOrderServiceImpl.java
index a817868..5565982 100644
--- a/admin/src/main/java/com/hcy/admin/service/order/impl/MaintenanceOrderServiceImpl.java
+++ b/admin/src/main/java/com/hcy/admin/service/order/impl/MaintenanceOrderServiceImpl.java
@@ -35,6 +35,8 @@ import com.hcy.common.entity.system.SystemAuthAdmin;
import com.hcy.common.entity.user.User;
import com.hcy.common.entity.warehouse.Warehouse;
import com.hcy.common.enums.ClientStatusEnum;
+import com.hcy.common.enums.OrderStatusEnum;
+import com.hcy.common.enums.OrderTypeEnum;
import com.hcy.common.enums.SparePartStockAuditEnum;
import com.hcy.common.enums.equipment.EquipmentStateEnum;
import com.hcy.common.enums.order.MaintenanceOrderStatusEnum;
@@ -187,6 +189,14 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
}
}
+ //配件领用状态
+ SparePartStockAudit sparePartStockAudit = sparePartStockAuditMapper.selectOne(new LambdaQueryWrapper()
+ .eq(SparePartStockAudit::getOrderId, item.getId())
+ .eq(SparePartStockAudit::getOrderType, SparePartStockAuditEnum.MAINTENANCE_ORDER.getStatus()));
+ if(sparePartStockAudit != null){
+ vo.setReceiveStatus(sparePartStockAudit.getReceiveStatus());
+ }
+
list.add(vo);
}
@@ -318,6 +328,14 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
}
}
+ //配件领用状态
+ SparePartStockAudit receiverStatus = sparePartStockAuditMapper.selectOne(new LambdaQueryWrapper()
+ .eq(SparePartStockAudit::getOrderId, model.getId())
+ .eq(SparePartStockAudit::getOrderType, SparePartStockAuditEnum.MAINTENANCE_ORDER.getStatus()));
+ if(receiverStatus != null){
+ vo.setReceiveStatus(receiverStatus.getReceiveStatus());
+ }
+
return vo;
}
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 b08191b..61a3e45 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
@@ -6,7 +6,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.query.MPJQueryWrapper;
import com.hcy.admin.AdminThreadLocal;
+import com.hcy.admin.service.order.DistributionOrderExcel;
import com.hcy.admin.service.order.IRepairOrderService;
+import com.hcy.admin.service.order.RepairOrderExcel;
import com.hcy.admin.service.region.IDevRegionService;
import com.hcy.admin.validate.common.PageParam;
import com.hcy.admin.validate.order.RepairOrderParam;
@@ -33,10 +35,7 @@ import com.hcy.common.entity.system.SystemAuthAdmin;
import com.hcy.common.entity.user.User;
import com.hcy.common.entity.warehouse.Warehouse;
import com.hcy.common.enums.SparePartStockAuditEnum;
-import com.hcy.common.enums.order.MaintenanceOrderStatusEnum;
-import com.hcy.common.enums.order.OrderOperateRecordEnum;
-import com.hcy.common.enums.order.OrderStateEnum;
-import com.hcy.common.enums.order.RepairOrderStatusEnum;
+import com.hcy.common.enums.order.*;
import com.hcy.common.exception.OperateException;
import com.hcy.common.mapper.address.UserAddressMapper;
import com.hcy.common.mapper.client.ClientMapper;
@@ -186,6 +185,36 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
.eq(OrderPartCode::getRepairOrderId, vo.getId()));
vo.setOrderPartCodeList(orderPartCodes);
+ //返回前中后照片
+ //返回维修前照片
+ RepairOrderStepData preMaintenanceImg = repairOrderStepDataMapper.selectOne(new LambdaQueryWrapper()
+ .eq(RepairOrderStepData::getRepairOrderId, item.getId())
+ .eq(RepairOrderStepData::getRepairStep, RepairOrderStopEnum.PRE_MAINTENANCE_IMG.getStatus()));
+ if(preMaintenanceImg != null){
+ vo.setPreMaintenanceImg(preMaintenanceImg.getImg());
+ }
+ //返回维修中照片
+ RepairOrderStepData inMaintenanceImg = repairOrderStepDataMapper.selectOne(new LambdaQueryWrapper()
+ .eq(RepairOrderStepData::getRepairOrderId, item.getId())
+ .eq(RepairOrderStepData::getRepairStep, RepairOrderStopEnum.IN_MAINTENANCE_IMG.getStatus()));
+ if(inMaintenanceImg != null){
+ vo.setInMaintenanceImg(inMaintenanceImg.getImg());
+ }
+ //返回维修后照片
+ RepairOrderStepData afterRepairImg = repairOrderStepDataMapper.selectOne(new LambdaQueryWrapper()
+ .eq(RepairOrderStepData::getRepairOrderId, item.getId())
+ .eq(RepairOrderStepData::getRepairStep, RepairOrderStopEnum.AFTER_REPAIR_IMG.getStatus()));
+ if(afterRepairImg != null){
+ vo.setAfterRepairImg(afterRepairImg.getImg());
+ }
+ //返回故障点照片 faultPointImg; // 故障点照片
+ RepairOrderStepData troubleshooting = repairOrderStepDataMapper.selectOne(new LambdaQueryWrapper()
+ .eq(RepairOrderStepData::getRepairOrderId, item.getId())
+ .eq(RepairOrderStepData::getRepairStep, RepairOrderStopEnum.TROUBLESHOOTING.getStatus()));
+ if(troubleshooting != null){
+ vo.setFaultPointImg(troubleshooting.getImg());
+ }
+
vo.setCreateTime(item.getCreateTime());
vo.setUpdateTime(item.getUpdateTime());
list.add(vo);
@@ -374,6 +403,36 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
vo.setOrderOperateRecords(stepDataVoList);
}
+ //返回前中后照片
+ //返回维修前照片
+ RepairOrderStepData preMaintenanceImg = repairOrderStepDataMapper.selectOne(new LambdaQueryWrapper()
+ .eq(RepairOrderStepData::getRepairOrderId, model.getId())
+ .eq(RepairOrderStepData::getRepairStep, RepairOrderStopEnum.PRE_MAINTENANCE_IMG.getStatus()));
+ if(preMaintenanceImg != null){
+ vo.setPreMaintenanceImg(preMaintenanceImg.getImg());
+ }
+ //返回维修中照片
+ RepairOrderStepData inMaintenanceImg = repairOrderStepDataMapper.selectOne(new LambdaQueryWrapper()
+ .eq(RepairOrderStepData::getRepairOrderId, model.getId())
+ .eq(RepairOrderStepData::getRepairStep, RepairOrderStopEnum.IN_MAINTENANCE_IMG.getStatus()));
+ if(inMaintenanceImg != null){
+ vo.setInMaintenanceImg(inMaintenanceImg.getImg());
+ }
+ //返回维修后照片
+ RepairOrderStepData afterRepairImg = repairOrderStepDataMapper.selectOne(new LambdaQueryWrapper()
+ .eq(RepairOrderStepData::getRepairOrderId, model.getId())
+ .eq(RepairOrderStepData::getRepairStep, RepairOrderStopEnum.AFTER_REPAIR_IMG.getStatus()));
+ if(afterRepairImg != null){
+ vo.setAfterRepairImg(afterRepairImg.getImg());
+ }
+ //返回故障点照片 faultPointImg; // 故障点照片
+ RepairOrderStepData troubleshooting = repairOrderStepDataMapper.selectOne(new LambdaQueryWrapper()
+ .eq(RepairOrderStepData::getRepairOrderId, model.getId())
+ .eq(RepairOrderStepData::getRepairStep, RepairOrderStopEnum.TROUBLESHOOTING.getStatus()));
+ if(troubleshooting != null){
+ vo.setFaultPointImg(troubleshooting.getImg());
+ }
+
return vo;
}
@@ -596,4 +655,72 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
throw new OperateException("当前工单状态,无法退回维修");
}
}
+
+ /**
+ * 导出模块维修报表
+ *
+ * @param params
+ * @return
+ */
+ @Override
+ public List getExportModuleMaintenanceExcel(RepairOrderParam params) {
+
+ RepairOrderDto repairOrderDto = new RepairOrderDto();
+ BeanUtils.copyProperties(params,repairOrderDto);
+
+ List resultDtoList = repairOrderMapper.getExportModuleMaintenanceExcel(repairOrderDto);
+ List list = new LinkedList<>();
+
+ for (RepairOrderDto item : resultDtoList) {
+ RepairOrderExcel repairOrderExcel = new RepairOrderExcel();
+ BeanUtils.copyProperties(item, repairOrderExcel);
+
+ //返回前中后照片
+ //返回维修前照片
+ RepairOrderStepData preMaintenanceImg = repairOrderStepDataMapper.selectOne(new LambdaQueryWrapper()
+ .eq(RepairOrderStepData::getRepairOrderId, item.getId())
+ .eq(RepairOrderStepData::getRepairStep, RepairOrderStopEnum.PRE_MAINTENANCE_IMG.getStatus()));
+ if(preMaintenanceImg != null){
+ repairOrderExcel.setPreMaintenanceImg(preMaintenanceImg.getImg());
+ }
+ //返回维修中照片
+ RepairOrderStepData inMaintenanceImg = repairOrderStepDataMapper.selectOne(new LambdaQueryWrapper()
+ .eq(RepairOrderStepData::getRepairOrderId, item.getId())
+ .eq(RepairOrderStepData::getRepairStep, RepairOrderStopEnum.IN_MAINTENANCE_IMG.getStatus()));
+ if(inMaintenanceImg != null){
+ repairOrderExcel.setInMaintenanceImg(inMaintenanceImg.getImg());
+ }
+ //返回维修后照片
+ RepairOrderStepData afterRepairImg = repairOrderStepDataMapper.selectOne(new LambdaQueryWrapper()
+ .eq(RepairOrderStepData::getRepairOrderId, item.getId())
+ .eq(RepairOrderStepData::getRepairStep, RepairOrderStopEnum.AFTER_REPAIR_IMG.getStatus()));
+ if(afterRepairImg != null){
+ repairOrderExcel.setAfterRepairImg(afterRepairImg.getImg());
+ }
+
+ //故障类型名称
+ Fault faultName = faultMapper.selectOne(
+ new LambdaQueryWrapper()
+ .eq(Fault::getId, item.getFaultId()));
+ if(faultName != null){
+ repairOrderExcel.setFaultName(faultName.getName());
+ }
+
+ // scrapOrNot 是否报废(0=是,1=否)
+ if(item.getScrapOrNot() != null){
+ if(item.getScrapOrNot() == 0){
+ repairOrderExcel.setScrapOrNot("是");
+ } else if (item.getScrapOrNot() == 1) {
+ repairOrderExcel.setScrapOrNot("否");
+ }
+ }
+
+
+ list.add(repairOrderExcel);
+ }
+
+ return list;
+ }
+
+
}
diff --git a/admin/src/main/java/com/hcy/admin/service/sparePartStockAudit/impl/SparePartStockAuditServiceImpl.java b/admin/src/main/java/com/hcy/admin/service/sparePartStockAudit/impl/SparePartStockAuditServiceImpl.java
index 40f3d66..c379974 100644
--- a/admin/src/main/java/com/hcy/admin/service/sparePartStockAudit/impl/SparePartStockAuditServiceImpl.java
+++ b/admin/src/main/java/com/hcy/admin/service/sparePartStockAudit/impl/SparePartStockAuditServiceImpl.java
@@ -1173,7 +1173,9 @@ public class SparePartStockAuditServiceImpl implements ISparePartStockAuditServi
//新增维修单操作记录
RepairOrderStepData repairOrderStepData = new RepairOrderStepData();
repairOrderStepData.setRepairOrderId(model.getOrderId());// 维修单id
+ repairOrderStepData.setRepairStep(RepairOrderStopEnum.WAREHOUSE_KEEPER_UPLOADS_IMG.getStatus()); // 仓管员上传图片
repairOrderStepData.setRemark("仓管员【"+AdminThreadLocal.get("username")+"】上传确认照片。");// 备注
+ repairOrderStepData.setImg(model.getWarehouseKeeperImg()); // 仓管员上传图片
repairOrderStepData.setTitle("仓管员上传确认照片"); // 标题
repairOrderStepData.setCreatorId(Long.valueOf(AdminThreadLocal.getAdminId())); //创建人
repairOrderStepData.setCreateTime(new Date()); // 创建时间
diff --git a/admin/src/main/java/com/hcy/admin/validate/order/MaintenanceOrderParam.java b/admin/src/main/java/com/hcy/admin/validate/order/MaintenanceOrderParam.java
index 85b3287..23c2501 100644
--- a/admin/src/main/java/com/hcy/admin/validate/order/MaintenanceOrderParam.java
+++ b/admin/src/main/java/com/hcy/admin/validate/order/MaintenanceOrderParam.java
@@ -105,4 +105,6 @@ public class MaintenanceOrderParam implements Serializable {
private String createTimeStart; //报修开始时间
private String createTimeEnd; //报修结束时间
+ private String createImg; // 创建照片
+
}
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 7734e71..99be23f 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
@@ -90,7 +90,9 @@ public class RepairOrderParam implements Serializable {
private BigDecimal totalAmount; // 总金额
private BigDecimal actualAmount; // 实际金额
private String returnCause; //退回原因
+ private Integer scrapOrNot; // 是否报废(0=是,1=否)
+ private Integer scrapConfirmation; // 报废确认(0=是,1=否)
private Integer priority; // 优先级(0=加急,1=普通)
private Integer isReassignment; // 是否在改派中(0=是,1=否)
private Integer reassignmentAgreeOrNot; // 改派是否同意(0=是,1=否)
diff --git a/admin/src/main/java/com/hcy/admin/vo/order/MaintenanceOrderDetailVo.java b/admin/src/main/java/com/hcy/admin/vo/order/MaintenanceOrderDetailVo.java
index 375c098..8bbe532 100644
--- a/admin/src/main/java/com/hcy/admin/vo/order/MaintenanceOrderDetailVo.java
+++ b/admin/src/main/java/com/hcy/admin/vo/order/MaintenanceOrderDetailVo.java
@@ -70,4 +70,7 @@ public class MaintenanceOrderDetailVo implements Serializable {
private List orderOperateRecords; //订单操作记录
private Date quotationTime; //报价时间
+ private Integer receiveStatus; // 配件领用状态(0=未审核,1=审核未通过,2=待领取,3=待确认,4=已完成)
+ private String createImg; // 创建照片
+
}
diff --git a/admin/src/main/java/com/hcy/admin/vo/order/MaintenanceOrderListVo.java b/admin/src/main/java/com/hcy/admin/vo/order/MaintenanceOrderListVo.java
index 9b5dc91..e90b318 100644
--- a/admin/src/main/java/com/hcy/admin/vo/order/MaintenanceOrderListVo.java
+++ b/admin/src/main/java/com/hcy/admin/vo/order/MaintenanceOrderListVo.java
@@ -57,5 +57,8 @@ public class MaintenanceOrderListVo implements Serializable {
private String receiverName; // 接单人姓名
private String shortName; //客户简称
private EquipmentModelDetailVo equipmentModel; //设备模块信息
+ private Integer receiveStatus; // 配件领用状态(0=未审核,1=审核未通过,2=待领取,3=待确认,4=已完成)
+ private String createImg; // 创建照片
+
}
diff --git a/admin/src/main/java/com/hcy/admin/vo/order/RepairOrderListVo.java b/admin/src/main/java/com/hcy/admin/vo/order/RepairOrderListVo.java
index f2dac04..3113865 100644
--- a/admin/src/main/java/com/hcy/admin/vo/order/RepairOrderListVo.java
+++ b/admin/src/main/java/com/hcy/admin/vo/order/RepairOrderListVo.java
@@ -59,8 +59,8 @@ public class RepairOrderListVo implements Serializable {
private String clientScrapRemark; // 客户报废备注
private String completeImg; // 完工照片
private Integer scrapOrNot; // 是否报废(0=是,1=否)
- private String preMaintenanceImg; // 维修前照片
private String faultPointImg; // 故障点照片
+ private String preMaintenanceImg; // 维修前照片
private String inMaintenanceImg; // 维修中照片
private String afterRepairImg; // 维修后照片
private Date orderAccomplishTime; // 订单完成时间
@@ -71,7 +71,7 @@ public class RepairOrderListVo implements Serializable {
private String refuseMaintenanceCause; // 拒绝维修原因
private Long clientScrapAddressId; // 客户报废收货地址id
- private Long scrapConfirmation; // 报废确认(0=是,1=否)
+ private Integer scrapConfirmation; // 报废确认(0=是,1=否)
private SparePartStockAuditDetailVo sparePartStockAudit; //备件领用信息
diff --git a/common/src/main/java/com/hcy/common/dto/order/MaintenanceOrderDto.java b/common/src/main/java/com/hcy/common/dto/order/MaintenanceOrderDto.java
index a456d4f..55790df 100644
--- a/common/src/main/java/com/hcy/common/dto/order/MaintenanceOrderDto.java
+++ b/common/src/main/java/com/hcy/common/dto/order/MaintenanceOrderDto.java
@@ -69,4 +69,6 @@ public class MaintenanceOrderDto implements Serializable {
private String completeImg; // 完工照片
private String createTimeStart; //报修开始时间
private String createTimeEnd; //报修结束时间
+ private String createImg; // 创建照片
+
}
diff --git a/common/src/main/java/com/hcy/common/entity/order/MaintenanceOrder.java b/common/src/main/java/com/hcy/common/entity/order/MaintenanceOrder.java
index e094405..9172dc1 100644
--- a/common/src/main/java/com/hcy/common/entity/order/MaintenanceOrder.java
+++ b/common/src/main/java/com/hcy/common/entity/order/MaintenanceOrder.java
@@ -58,5 +58,5 @@ public class MaintenanceOrder implements Serializable {
private Integer warehouseType; //仓库类型 0-我的仓库 1-公共仓库
private Integer isConfirmReceipt; //是否确认收货 0-未收货 1-已收货
private String completeImg; // 完工照片
-
+ private String createImg; // 创建照片
}
\ No newline at end of file
diff --git a/common/src/main/java/com/hcy/common/entity/sparePartStockAudit/SparePartStockAudit.java b/common/src/main/java/com/hcy/common/entity/sparePartStockAudit/SparePartStockAudit.java
index b085380..e290228 100644
--- a/common/src/main/java/com/hcy/common/entity/sparePartStockAudit/SparePartStockAudit.java
+++ b/common/src/main/java/com/hcy/common/entity/sparePartStockAudit/SparePartStockAudit.java
@@ -22,6 +22,7 @@ public class SparePartStockAudit implements Serializable {
private Long id; // 主键id
private String receiptNumber; // 单据编号
private Long orderId; //订单编号
+ private Integer orderType; // 0-检修工单 1-维修工单
private Integer receiptType; // 单据类型(0=入库单,1=出库单,2=仓库调拨单)
private Long warehouseId; // 所属仓库
private Long importWarehouse; // 调入仓库
@@ -40,7 +41,7 @@ public class SparePartStockAudit implements Serializable {
private Date updateTime; // 更新时间
private Date deleteTime; // 删除时间
private Integer outInWarehouseType; // 出入库类别(0=采购入库,1=库存调拨,2=员工领料,3=销售出库)
- private Integer orderType; // 0-检修工单 1-维修工单
+
private String shippingAddress; //收货地址
private String consigner; //发货人
private String consignerPhone; //发货人联系电话
diff --git a/common/src/main/java/com/hcy/common/enums/order/RepairOrderStopEnum.java b/common/src/main/java/com/hcy/common/enums/order/RepairOrderStopEnum.java
index d5d987e..ff3968e 100644
--- a/common/src/main/java/com/hcy/common/enums/order/RepairOrderStopEnum.java
+++ b/common/src/main/java/com/hcy/common/enums/order/RepairOrderStopEnum.java
@@ -12,7 +12,7 @@ public enum RepairOrderStopEnum {
// 步骤(0=拆机,1=清洗,2=故障排查,3=确认签名,4=重领配件,5=上传维修前图片,6=上传维修中图片,7=上传维修后图片,
// 8=补强三防漆,9=补强点胶,10=DC&PFC组装,11=补强三防漆和点胶,12=模块装配,13=功能测试,14=老化测试,
- // 15=包装出货,16=填写回单)
+ // 15=包装出货,16=填写回单) 99=仓管员上传图片
DISMANTLE(0,"拆机"),
RINSE(1,"清洗"),
TROUBLESHOOTING(2,"故障排查"),
@@ -31,6 +31,7 @@ public enum RepairOrderStopEnum {
PACKAGE_AND_SHIP(15,"包装出货"),
FILL_IN_THE_RECEIPT(16,"填写回单"),
FINISH(17, "结束"),
+ WAREHOUSE_KEEPER_UPLOADS_IMG(99,"仓管员上传图片"),
//描述类型:0-配件领用
ACCESSORY_REQUISITION(0,"配件领用");
diff --git a/common/src/main/java/com/hcy/common/mapper/order/RepairOrderMapper.java b/common/src/main/java/com/hcy/common/mapper/order/RepairOrderMapper.java
index 4cdc87e..f32d5f1 100644
--- a/common/src/main/java/com/hcy/common/mapper/order/RepairOrderMapper.java
+++ b/common/src/main/java/com/hcy/common/mapper/order/RepairOrderMapper.java
@@ -36,6 +36,13 @@ public interface RepairOrderMapper extends IBaseMapper {
*/
Page pageList(@Param("page") Page page, @Param("form") RepairOrderDto form);
+ /**
+ * 导出模块维修报表
+ * @param form
+ * @return
+ */
+ List getExportModuleMaintenanceExcel(@Param("form") RepairOrderDto form);
+
/**
* 通过订单id查询维修订单
* @return MaintenanceOrder
diff --git a/common/src/main/java/com/hcy/common/plugin/storage/engine/AliyunStorage.java b/common/src/main/java/com/hcy/common/plugin/storage/engine/AliyunStorage.java
index f173d62..4fcc7a2 100644
--- a/common/src/main/java/com/hcy/common/plugin/storage/engine/AliyunStorage.java
+++ b/common/src/main/java/com/hcy/common/plugin/storage/engine/AliyunStorage.java
@@ -34,7 +34,7 @@ public class AliyunStorage {
* @return String
*/
public OSS ossClient() {
- String endpoint = "https://oss-cn-shenzhen.aliyuncs.com";
+ String endpoint = "https://oss-cn-guangzhou.aliyuncs.com";
String accessKeyId = this.config.get("accessKey");
String accessKeySecret = this.config.get("secretKey");
return new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
diff --git a/common/src/main/resources/mapper/RepairOrderMapper.xml b/common/src/main/resources/mapper/RepairOrderMapper.xml
index 94359c4..78011ab 100644
--- a/common/src/main/resources/mapper/RepairOrderMapper.xml
+++ b/common/src/main/resources/mapper/RepairOrderMapper.xml
@@ -70,6 +70,15 @@
and ro.creator_id = #{form.creatorId}
+
+ and ro.scrap_or_not = #{form.scrapOrNot}
+
+
+ and ro.module_number LIKE concat('%', #{form.moduleNumber}, '%')
+
+
+ and ro.module_code LIKE concat('%', #{form.moduleCode}, '%')
+
and u1.username LIKE concat('%', #{form.creatorName}, '%')
@@ -107,4 +116,64 @@
+
diff --git a/front/src/main/java/com/hcy/front/service/order/impl/MaintenanceOrderServiceImpl.java b/front/src/main/java/com/hcy/front/service/order/impl/MaintenanceOrderServiceImpl.java
index 48192c9..4376848 100644
--- a/front/src/main/java/com/hcy/front/service/order/impl/MaintenanceOrderServiceImpl.java
+++ b/front/src/main/java/com/hcy/front/service/order/impl/MaintenanceOrderServiceImpl.java
@@ -317,6 +317,14 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
}
}
+ //配件领用状态
+ SparePartStockAudit receiveStatus = sparePartStockAuditMapper.selectOne(new LambdaQueryWrapper()
+ .eq(SparePartStockAudit::getOrderId, item.getId())
+ .eq(SparePartStockAudit::getOrderType, SparePartStockAuditEnum.MAINTENANCE_ORDER.getStatus()));
+ if(receiveStatus != null){
+ vo.setReceiveStatus(receiveStatus.getReceiveStatus());
+ }
+
returnData.add(vo);
}
@@ -539,6 +547,14 @@ public class MaintenanceOrderServiceImpl implements IMaintenanceOrderService {
}
}
+ //配件领用状态
+ SparePartStockAudit receiveStatus = sparePartStockAuditMapper.selectOne(new LambdaQueryWrapper()
+ .eq(SparePartStockAudit::getOrderId, maintenanceOrder.getId())
+ .eq(SparePartStockAudit::getOrderType, SparePartStockAuditEnum.MAINTENANCE_ORDER.getStatus()));
+ if(receiveStatus != null){
+ vo.setReceiveStatus(receiveStatus.getReceiveStatus());
+ }
+
return vo;
}
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 81bcffa..767772c 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
@@ -548,6 +548,14 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
.eq(OrderPartCode::getRepairOrderId, vo.getId()));
vo.setOrderPartCodeList(orderPartCodes);
+ //配件领用状态
+ SparePartStockAudit receiveStatus = sparePartStockAuditMapper.selectOne(new LambdaQueryWrapper()
+ .eq(SparePartStockAudit::getOrderId, item.getId())
+ .eq(SparePartStockAudit::getOrderType, SparePartStockAuditEnum.REPAIR_ORDER.getStatus()));
+ if(receiveStatus != null){
+ vo.setReceiveStatus(receiveStatus.getReceiveStatus());
+ }
+
list.add(vo);
}
@@ -702,7 +710,13 @@ public class RepairOrderServiceImpl implements IRepairOrderService {
vo.setRepairOrderStepDataList(stepDataVoList);
}
-
+ //配件领用状态
+ SparePartStockAudit receiveStatus = sparePartStockAuditMapper.selectOne(new LambdaQueryWrapper()
+ .eq(SparePartStockAudit::getOrderId, model.getId())
+ .eq(SparePartStockAudit::getOrderType, SparePartStockAuditEnum.REPAIR_ORDER.getStatus()));
+ if(receiveStatus != null){
+ vo.setReceiveStatus(receiveStatus.getReceiveStatus());
+ }
return vo;
}
diff --git a/front/src/main/java/com/hcy/front/validate/order/MaintenanceOrderParam.java b/front/src/main/java/com/hcy/front/validate/order/MaintenanceOrderParam.java
index 9f1860c..7b30844 100644
--- a/front/src/main/java/com/hcy/front/validate/order/MaintenanceOrderParam.java
+++ b/front/src/main/java/com/hcy/front/validate/order/MaintenanceOrderParam.java
@@ -123,5 +123,6 @@ public class MaintenanceOrderParam implements Serializable {
private String moduleNo; // 模块号
private String moduleImg; // 模块图片
private String completeImg; // 完工照片
+ private String createImg; // 创建照片
}
diff --git a/front/src/main/java/com/hcy/front/vo/order/MaintenanceOrderDetailVo.java b/front/src/main/java/com/hcy/front/vo/order/MaintenanceOrderDetailVo.java
index 7219ce3..10479fb 100644
--- a/front/src/main/java/com/hcy/front/vo/order/MaintenanceOrderDetailVo.java
+++ b/front/src/main/java/com/hcy/front/vo/order/MaintenanceOrderDetailVo.java
@@ -67,5 +67,7 @@ public class MaintenanceOrderDetailVo implements Serializable {
private MaintenanceRepairDetailVo maintenanceRepair; // 返修信息
private SparePartStockAuditDetailVo sparePartStockAudit; //备件领用信息
private String completeImg; // 完工照片
+ private Integer receiveStatus; // 配件领用状态(0=未审核,1=审核未通过,2=待领取,3=待确认,4=已完成)
+ private String createImg; // 创建照片
}
diff --git a/front/src/main/java/com/hcy/front/vo/order/MaintenanceOrderListVo.java b/front/src/main/java/com/hcy/front/vo/order/MaintenanceOrderListVo.java
index 16b79c0..c6a9036 100644
--- a/front/src/main/java/com/hcy/front/vo/order/MaintenanceOrderListVo.java
+++ b/front/src/main/java/com/hcy/front/vo/order/MaintenanceOrderListVo.java
@@ -70,5 +70,7 @@ public class MaintenanceOrderListVo implements Serializable {
private Integer completedCount; // 已完成数量
private String completeImg; // 完工照片
+ private Integer receiveStatus; // 配件领用状态(0=未审核,1=审核未通过,2=待领取,3=待确认,4=已完成)
+ private String createImg; // 创建照片
}
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 ae1c91f..4607c34 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
@@ -111,5 +111,6 @@ public class RepairOrderDetailVo implements Serializable {
private List repairOrderStepDataList; // 维修单步骤数据列表
private Integer timeoutOrNot; // 是否超时(0=是,1=否)
private Integer maintainType; // 模块维修类型 0-全包 1-半包
+ private Integer receiveStatus; // 配件领用状态(0=未审核,1=审核未通过,2=待领取,3=待确认,4=已完成)
}
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 71675d9..9ec5e85 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
@@ -89,5 +89,6 @@ public class RepairOrderListVo implements Serializable {
private Integer repairNextStep; // 下个步骤(0=拆机,1=清洗,2=故障排查,3=确认签名,4=重领配件,5=上传维修前图片,6=上传维修中图片,7=上传维修后图片,8=补强三防漆,9=补强点胶,10=DC&PFC组装,11=补强三防漆和点胶,12=模块装配,13=功能测试,14=老化测试,15=包装出货,16=填写回单)
private List orderPartCodeList; // 配件编码列表
private Integer timeoutOrNot; // 是否超时(0=是,1=否)
+ private Integer receiveStatus; // 配件领用状态(0=未审核,1=审核未通过,2=待领取,3=待确认,4=已完成)
}