【admin】新增# 1.新增维修单报表导出功能(已完成前四张表格,但是还差图片)
parent
575cee7125
commit
5a2b04c8fe
|
@ -113,6 +113,7 @@ public class ParentRepairOrderController {
|
||||||
|
|
||||||
@ApiOperation(value = "模块管理 - 导出Excel报表")
|
@ApiOperation(value = "模块管理 - 导出Excel报表")
|
||||||
@PostMapping(value="/exportExcel")
|
@PostMapping(value="/exportExcel")
|
||||||
|
@ResponseBody
|
||||||
public void exportExcel(@Validated @RequestBody ParentRepairOrderParam params, HttpServletResponse response) {
|
public void exportExcel(@Validated @RequestBody ParentRepairOrderParam params, HttpServletResponse response) {
|
||||||
iParentRepairOrderService.exportExcel(params,response);
|
iParentRepairOrderService.exportExcel(params,response);
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,21 +13,32 @@ import com.hcy.admin.service.order.IParentRepairOrderService;
|
||||||
import com.hcy.admin.validate.common.PageParam;
|
import com.hcy.admin.validate.common.PageParam;
|
||||||
import com.hcy.admin.validate.order.ParentRepairOrderParam;
|
import com.hcy.admin.validate.order.ParentRepairOrderParam;
|
||||||
import com.hcy.admin.vo.excel.OfferDetailEntity;
|
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.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.admin.vo.order.*;
|
||||||
import com.hcy.common.constant.GlobalConstant;
|
import com.hcy.common.constant.GlobalConstant;
|
||||||
|
import com.hcy.common.constant.TimeConstant;
|
||||||
import com.hcy.common.core.PageResult;
|
import com.hcy.common.core.PageResult;
|
||||||
import com.hcy.common.dto.order.*;
|
import com.hcy.common.dto.order.*;
|
||||||
import com.hcy.common.entity.client.Client;
|
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.ParentRepairOrder;
|
||||||
import com.hcy.common.entity.order.RepairOrder;
|
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.system.SystemAuthAdmin;
|
||||||
import com.hcy.common.entity.user.User;
|
import com.hcy.common.entity.user.User;
|
||||||
import com.hcy.common.enums.order.RepairOrderStatusEnum;
|
import com.hcy.common.enums.order.RepairOrderStatusEnum;
|
||||||
import com.hcy.common.exception.OperateException;
|
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.OrderSparePartMapper;
|
||||||
import com.hcy.common.mapper.order.ParentRepairOrderMapper;
|
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.order.RepairOrderMapper;
|
||||||
|
import com.hcy.common.mapper.setting.DictDataMapper;
|
||||||
import com.hcy.common.mapper.system.SystemAuthAdminMapper;
|
import com.hcy.common.mapper.system.SystemAuthAdminMapper;
|
||||||
import com.hcy.common.mapper.user.UserMapper;
|
import com.hcy.common.mapper.user.UserMapper;
|
||||||
import com.hcy.common.utils.ArrayUtil;
|
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.utils.UrlUtil;
|
||||||
import com.hcy.common.config.GlobalConfig;
|
import com.hcy.common.config.GlobalConfig;
|
||||||
import com.hcy.common.utils.excel.EasyExcelUtil;
|
import com.hcy.common.utils.excel.EasyExcelUtil;
|
||||||
|
import org.apache.poi.ss.formula.functions.T;
|
||||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.core.io.ClassPathResource;
|
import org.springframework.core.io.ClassPathResource;
|
||||||
|
@ -45,7 +57,10 @@ import org.springframework.util.Assert;
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import javax.servlet.ServletOutputStream;
|
import javax.servlet.ServletOutputStream;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import java.io.ByteArrayInputStream;
|
||||||
|
import java.io.ByteArrayOutputStream;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
|
import java.net.URL;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
@ -70,6 +85,18 @@ public class ParentRepairOrderServiceImpl implements IParentRepairOrderService {
|
||||||
@Resource
|
@Resource
|
||||||
OrderSparePartMapper orderSparePartMapper;
|
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) {
|
public void exportExcel(ParentRepairOrderParam params, HttpServletResponse response) {
|
||||||
try {
|
try {
|
||||||
Assert.notNull(params.getClientId(),"客户id不可为空");
|
Assert.notNull(params.getClientId(),"客户id不可为空");
|
||||||
ServletOutputStream out = response.getOutputStream();
|
|
||||||
|
|
||||||
LambdaQueryWrapper<ParentRepairOrder> lambdaQueryWrapper = new LambdaQueryWrapper<ParentRepairOrder>()
|
LambdaQueryWrapper<ParentRepairOrder> lambdaQueryWrapper = new LambdaQueryWrapper<ParentRepairOrder>()
|
||||||
.eq(ParentRepairOrder::getIsDelete, GlobalConstant.NOT_DELETE)
|
.eq(ParentRepairOrder::getIsDelete, GlobalConstant.NOT_DELETE)
|
||||||
.eq(ParentRepairOrder::getClientId, params.getClientId())
|
.eq(ParentRepairOrder::getClientId, params.getClientId())
|
||||||
.between(ParentRepairOrder::getCreateTime, params.getStartTime(), params.getEndTime());
|
.between(params.getStartTime() != null && params.getEndTime() != null
|
||||||
FillConfig fillConfig = FillConfig.builder().forceNewRow(true).build();
|
,ParentRepairOrder::getCreateTime, params.getStartTime(), params.getEndTime());
|
||||||
|
//查询待导出的维修单
|
||||||
List<ParentRepairOrder> parentRepairOrders = parentRepairOrderMapper.selectList(lambdaQueryWrapper);
|
List<ParentRepairOrder> parentRepairOrders = parentRepairOrderMapper.selectList(lambdaQueryWrapper);
|
||||||
|
|
||||||
|
//获取前端传的类型
|
||||||
String[] typeIdList = params.getTypeIds().split(",");
|
String[] typeIdList = params.getTypeIds().split(",");
|
||||||
EasyExcelUtil.initResponse(response, "领料单");
|
|
||||||
// 文件模板输入流,将 excel 模板放到 resources 目录下
|
// 文件模板输入流,将 excel 模板放到 resources 目录下
|
||||||
InputStream templateFile = new ClassPathResource("templates/excel/materialRequisition.xlsx").getInputStream();
|
InputStream templateFile = new ClassPathResource("templates/excel/materialRequisition.xlsx").getInputStream();
|
||||||
|
|
||||||
int index1 = 0;
|
//优化查询用户数据
|
||||||
Map<Long,SystemAuthAdmin> adminMap = new HashMap<>();
|
Map<Long,SystemAuthAdmin> adminMap = new HashMap<>();
|
||||||
// XSSFWorkbook workbook = new XSSFWorkbook(templateFile);
|
|
||||||
// for (int i = 0; i < parentRepairOrders.size(); i++) {
|
//动态模板
|
||||||
// if(i == 0){
|
/*ByteArrayOutputStream bos = new ByteArrayOutputStream();
|
||||||
// workbook.setSheetName(0, parentRepairOrders.get(i).getOrderNo() + "领料单");
|
//原模板只有一个sheet,通过poi复制出需要的sheet个数的模板
|
||||||
// }else{
|
XSSFWorkbook workbook = new XSSFWorkbook(templateFile);
|
||||||
// workbook.cloneSheet(0,parentRepairOrders.get(i).getOrderNo() + "领料单");
|
//设置模板的第一个sheet的名称
|
||||||
// }
|
workbook.setSheetName(0, parentRepairOrders.get(0).getOrderNo());
|
||||||
// }
|
for (int i = 1; i < parentRepairOrders.size(); i++) {
|
||||||
// workbook.write(out);
|
//复制模板,得到第i个sheet
|
||||||
|
workbook.cloneSheet(0, parentRepairOrders.get(i).getOrderNo());
|
||||||
|
}
|
||||||
|
//写到流里
|
||||||
|
workbook.write(bos);
|
||||||
|
byte[] bArray = bos.toByteArray();
|
||||||
|
//获取设置多个sheet的输出流
|
||||||
|
InputStream templateInputStream = new ByteArrayInputStream(bArray);*/
|
||||||
|
|
||||||
|
//功率字典
|
||||||
|
Map<String, String> distMap = dictDataMapper.selectList(new LambdaQueryWrapper<DictData>()
|
||||||
|
.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
|
ExcelWriter writer = EasyExcel
|
||||||
.write(out)
|
.write(out)
|
||||||
.withTemplate(templateFile)
|
.withTemplate(templateFile)
|
||||||
.build();
|
.build();
|
||||||
|
//公共数据
|
||||||
|
OfferDetailEntity offerDetail = new OfferDetailEntity();
|
||||||
|
//入仓单
|
||||||
|
List<WarehouseReceipt> warehouseReceiptList = new ArrayList<>();
|
||||||
|
int index0 = 1;
|
||||||
|
//领料单
|
||||||
|
List<GetMaterialsOrder> getMaterialsOrderList = new ArrayList<>();
|
||||||
|
int index1 = 1;
|
||||||
|
//维修单
|
||||||
|
List<ExcelRepairOrder> excelRepairOrderList = new ArrayList<>();
|
||||||
|
int index2 = 1;
|
||||||
|
//报废单
|
||||||
|
List<ScrapForm> scrapFormList = new ArrayList<>();
|
||||||
|
int index3 = 1;
|
||||||
|
|
||||||
for (ParentRepairOrder parentRepairOrder : parentRepairOrders) {
|
for (ParentRepairOrder parentRepairOrder : parentRepairOrders) {
|
||||||
List<RepairOrder> repairOrderList = repairOrderMapper.findRepairOrderByParentId(parentRepairOrder.getId());
|
List<RepairOrder> 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){
|
if(contentAdmin != null){
|
||||||
offerDetail.setCreator(contentAdmin.getUsername());
|
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<GetMaterialsOrder> getMaterialsOrderList = new ArrayList<>();
|
|
||||||
for (RepairOrder item : repairOrderList) {
|
for (RepairOrder item : repairOrderList) {
|
||||||
for (String ids : typeIdList) {
|
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")){
|
if(ids.equals("1")){
|
||||||
List<OrderSparePartDto> orderSparePartList = orderSparePartMapper.findOrderSparePartByModuleId(item.getId());
|
List<OrderSparePartDto> orderSparePartList = orderSparePartMapper.findOrderSparePartByModuleId(item.getId());
|
||||||
if(orderSparePartList.isEmpty()){
|
if(orderSparePartList.isEmpty()){
|
||||||
|
@ -380,7 +455,8 @@ public class ParentRepairOrderServiceImpl implements IParentRepairOrderService {
|
||||||
}
|
}
|
||||||
for (OrderSparePartDto orderSparePartDto : orderSparePartList) {
|
for (OrderSparePartDto orderSparePartDto : orderSparePartList) {
|
||||||
GetMaterialsOrder getMaterialsOrder = new GetMaterialsOrder();
|
GetMaterialsOrder getMaterialsOrder = new GetMaterialsOrder();
|
||||||
getMaterialsOrder.setIndex(index);
|
getMaterialsOrder.setOrderNo(parentRepairOrder.getOrderNo());
|
||||||
|
getMaterialsOrder.setIndex(index1);
|
||||||
getMaterialsOrder.setModelType(item.getModuleNumber());
|
getMaterialsOrder.setModelType(item.getModuleNumber());
|
||||||
getMaterialsOrder.setModelCode(item.getModuleCode());
|
getMaterialsOrder.setModelCode(item.getModuleCode());
|
||||||
getMaterialsOrder.setSparePartsCode(orderSparePartDto.getSparePartsCode());
|
getMaterialsOrder.setSparePartsCode(orderSparePartDto.getSparePartsCode());
|
||||||
|
@ -389,6 +465,8 @@ public class ParentRepairOrderServiceImpl implements IParentRepairOrderService {
|
||||||
getMaterialsOrder.setUnit(orderSparePartDto.getUnit());
|
getMaterialsOrder.setUnit(orderSparePartDto.getUnit());
|
||||||
getMaterialsOrder.setQuantityClaimed(orderSparePartDto.getCount().toString());
|
getMaterialsOrder.setQuantityClaimed(orderSparePartDto.getCount().toString());
|
||||||
getMaterialsOrder.setActualQuantity(orderSparePartDto.getCount().toString());
|
getMaterialsOrder.setActualQuantity(orderSparePartDto.getCount().toString());
|
||||||
|
getMaterialsOrder.setDeliveryTime(TimeUtil.dateToString(parentRepairOrder.getCreateTime(), TimeConstant.DATE_FORMAT));
|
||||||
|
getMaterialsOrder.setCreator(offerDetail.getCreator());
|
||||||
SystemAuthAdmin systemAuthAdmin;
|
SystemAuthAdmin systemAuthAdmin;
|
||||||
if(adminMap.get(orderSparePartDto.getApplicantId()) != null){
|
if(adminMap.get(orderSparePartDto.getApplicantId()) != null){
|
||||||
systemAuthAdmin = adminMap.get(orderSparePartDto.getApplicantId());
|
systemAuthAdmin = adminMap.get(orderSparePartDto.getApplicantId());
|
||||||
|
@ -399,19 +477,129 @@ public class ParentRepairOrderServiceImpl implements IParentRepairOrderService {
|
||||||
if(systemAuthAdmin != null){
|
if(systemAuthAdmin != null){
|
||||||
getMaterialsOrder.setRecipient(systemAuthAdmin.getUsername());
|
getMaterialsOrder.setRecipient(systemAuthAdmin.getUsername());
|
||||||
}
|
}
|
||||||
|
index1++;
|
||||||
getMaterialsOrderList.add(getMaterialsOrder);
|
getMaterialsOrderList.add(getMaterialsOrder);
|
||||||
index++;
|
offerDetail.setTotalQty(offerDetail.getTotalQty() + orderSparePartDto.getCount());
|
||||||
totalQuantity += 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();
|
writer.finish();
|
||||||
out.close();
|
out.close();
|
||||||
templateFile.close();
|
templateFile.close();
|
||||||
|
|
|
@ -27,4 +27,10 @@ public class OfferDetailEntity {
|
||||||
@ApiModelProperty(value = "合计数量")
|
@ApiModelProperty(value = "合计数量")
|
||||||
private Integer totalQty;
|
private Integer totalQty;
|
||||||
|
|
||||||
|
public Integer getTotalQty() {
|
||||||
|
if(totalQty == null){
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
return totalQty;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
|
}
|
|
@ -12,6 +12,9 @@ import lombok.NoArgsConstructor;
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public class GetMaterialsOrder {
|
public class GetMaterialsOrder {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "单据编号")
|
||||||
|
private String orderNo;
|
||||||
|
|
||||||
@ApiModelProperty(value = "序号")
|
@ApiModelProperty(value = "序号")
|
||||||
private Integer index;
|
private Integer index;
|
||||||
|
|
||||||
|
@ -41,4 +44,10 @@ public class GetMaterialsOrder {
|
||||||
|
|
||||||
@ApiModelProperty(value = "领取人员")
|
@ApiModelProperty(value = "领取人员")
|
||||||
private String recipient;
|
private String recipient;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "制单人")
|
||||||
|
private String creator;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "制单日期")
|
||||||
|
private String deliveryTime;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
|
}
|
|
@ -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;
|
||||||
|
}
|
Binary file not shown.
|
@ -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";
|
||||||
|
}
|
|
@ -9,6 +9,7 @@ import com.hcy.common.dto.order.RepairOrderDto;
|
||||||
import com.hcy.common.entity.order.RepairOrderAudit;
|
import com.hcy.common.entity.order.RepairOrderAudit;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
import org.apache.ibatis.annotations.Select;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 维修模块审核Mapper
|
* 维修模块审核Mapper
|
||||||
|
@ -23,4 +24,7 @@ public interface RepairOrderAuditMapper extends IBaseMapper<RepairOrderAudit> {
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
IPage<RepairOrderAuditDto> auditMattersList(@Param("page") Page page, @Param("param")RepairOrderAuditDto repairOrderAuditDto);
|
IPage<RepairOrderAuditDto> 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);
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,6 +37,16 @@ public class TimeUtil {
|
||||||
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(time * 1000));
|
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
|
* 时间戳转换为Date
|
||||||
* @param time 参数
|
* @param time 参数
|
||||||
|
|
Loading…
Reference in New Issue