From 7a80d9dc300e7f0916bed05f667cf72c6baf89bb Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Fri, 18 Oct 2024 22:20:23 +0800 Subject: [PATCH] =?UTF-8?q?=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProOrderWorkorderController.java | 44 +++++++++++++++++++ .../plan/mapper/ProOrderWorkorderMapper.java | 2 + .../service/IProOrderWorkorderService.java | 3 ++ .../impl/ProOrderWorkorderServiceImpl.java | 32 ++++++++++++++ .../mapper/plan/ProOrderWorkorderMapper.xml | 6 +++ .../quality/domain/QcCheckReportIncome.java | 13 +++++- .../quality/QcCheckReportIncomeMapper.xml | 5 ++- .../quality/QcCheckTaskProduceMapper.xml | 4 +- .../mapper/quality/QcStaticTableMapper.xml | 2 +- 9 files changed, 106 insertions(+), 5 deletions(-) diff --git a/op-modules/op-plan/src/main/java/com/op/plan/controller/ProOrderWorkorderController.java b/op-modules/op-plan/src/main/java/com/op/plan/controller/ProOrderWorkorderController.java index c36f4115..3fbf61a3 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/controller/ProOrderWorkorderController.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/controller/ProOrderWorkorderController.java @@ -1,17 +1,22 @@ package com.op.plan.controller; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; import com.alibaba.fastjson2.JSONObject; +import com.op.common.core.domain.ExcelCol; import com.op.common.core.exception.ServiceException; +import com.op.common.core.utils.poi.ExcelMapUtil; import com.op.plan.domain.ProLine; import com.op.plan.domain.ProOrder; import com.op.plan.domain.ProOrderWorkorderBatch; import com.op.plan.domain.dto.SplitOrderDTO; import com.op.plan.service.IProWetMaterialPlanDetailService; import com.op.plan.service.IProWetMaterialPlanService; +import org.apache.poi.xssf.streaming.SXSSFWorkbook; import org.aspectj.weaver.loadtime.Aj; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; @@ -167,6 +172,45 @@ public class ProOrderWorkorderController extends BaseController { util.exportExcel(response, list, "生产工单数据"); } + @RequiresPermissions("mes:pro:workorder:powExport") + @Log(title = "排查计划导出", businessType = BusinessType.EXPORT) + @PostMapping("/powExport") + public void powExport(HttpServletResponse response, ProOrderWorkorder proOrderWorkorder) { + List list = proOrderWorkorderService.getPowExportData(proOrderWorkorder); + + String titleRow1 = "生产排产单"; + //表格结构数据 + ArrayList excelCols = new ArrayList<>(); + excelCols.add(new ExcelCol("序号", "xh", 10)); + excelCols.add(new ExcelCol("原订单编码", "orderCode", 25)); + excelCols.add(new ExcelCol("订单编码", "workorderSap", 25)); + excelCols.add(new ExcelCol("物料编码", "materialCode", 25)); + excelCols.add(new ExcelCol("物料描述", "materialDesc", 25)); + excelCols.add(new ExcelCol("数量", "quality", 20)); + excelCols.add(new ExcelCol("批号1", "batch1", 35)); + excelCols.add(new ExcelCol("批号2", "batch2", 35)); + excelCols.add(new ExcelCol("批号3", "batch3", 35)); + excelCols.add(new ExcelCol("批号4", "batch4", 35)); + String titleName = "生产排产信息"; + SXSSFWorkbook workbook = null; + try { + //设置响应头 + response.setHeader("Content-disposition", + "attachment; filename=" + titleName); + response.setContentType("application/octet-stream;charset=UTF-8"); + ServletOutputStream outputStream = response.getOutputStream(); + //调用工具类 + workbook = ExcelMapUtil.initWorkbook(titleName, titleRow1, excelCols, list); + workbook.write(outputStream); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (workbook != null) { + workbook.dispose(); + } + } + } + /** * 获取生产工单详细信息 */ diff --git a/op-modules/op-plan/src/main/java/com/op/plan/mapper/ProOrderWorkorderMapper.java b/op-modules/op-plan/src/main/java/com/op/plan/mapper/ProOrderWorkorderMapper.java index 5c459328..25a6fdbd 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/mapper/ProOrderWorkorderMapper.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/mapper/ProOrderWorkorderMapper.java @@ -256,5 +256,7 @@ public interface ProOrderWorkorderMapper { void clearMPDetail(List wcodes); List getWorkList(String workorderCode); + + List getBatchList(String workorderId); } diff --git a/op-modules/op-plan/src/main/java/com/op/plan/service/IProOrderWorkorderService.java b/op-modules/op-plan/src/main/java/com/op/plan/service/IProOrderWorkorderService.java index 2649e2f1..0a88237c 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/service/IProOrderWorkorderService.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/service/IProOrderWorkorderService.java @@ -7,6 +7,7 @@ import com.op.plan.domain.ProOrderWorkorder; import com.op.plan.domain.ProOrderWorkorderBatch; import com.op.plan.domain.dto.SplitOrderDTO; +import java.util.HashMap; import java.util.List; /** @@ -157,4 +158,6 @@ public interface IProOrderWorkorderService { List getIdCardListRefresh(ProOrderWorkorder proOrderWorkorder); int updateWorkOrderBom(String workorderCode); + + List getPowExportData(ProOrderWorkorder proOrderWorkorder); } diff --git a/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderWorkorderServiceImpl.java b/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderWorkorderServiceImpl.java index aa1e2b12..7671209d 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderWorkorderServiceImpl.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderWorkorderServiceImpl.java @@ -5,6 +5,7 @@ import com.alibaba.fastjson2.JSONObject; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder; import com.op.common.core.context.SecurityContextHolder; +import com.op.common.core.domain.ExcelCol; import com.op.common.core.domain.R; import com.op.common.core.exception.ServiceException; import com.op.common.core.utils.DateUtils; @@ -1481,6 +1482,37 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService { return 1; } + @Override + @DS("#header.poolName") + public List getPowExportData(ProOrderWorkorder proOrderWorkorder) { + List mapDatas = new ArrayList<>(); + List workorderList = proOrderWorkorderMapper.getLevelWorkOrderList(proOrderWorkorder); + if(CollectionUtils.isEmpty(workorderList)){ + return null; + } + List keys = Arrays.asList("batch1", "batch2", "batch3", "batch4"); + HashMap mapData = null; + int xh=1; + for(ProOrderWorkorder data:workorderList){ + mapData = new HashMap(); + mapData.put("xh", xh); + mapData.put("orderCode",data.getOrderCode().substring(4)); + mapData.put("workorderSap", data.getWorkorderCodeSap().substring(4)); + mapData.put("materialCode", data.getProductCode().substring(7)); + mapData.put("materialDesc", data.getProductName()); + mapData.put("quality", data.getQuantitySplit()); + List batchList = proOrderWorkorderMapper.getBatchList(data.getWorkorderId()); + for(int m=0;m + INSERT INTO pro_order_workorder_batch_pallet ( diff --git a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckReportIncome.java b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckReportIncome.java index 51793467..fe108425 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckReportIncome.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckReportIncome.java @@ -39,9 +39,10 @@ public class QcCheckReportIncome extends BaseEntity { /** * 订单号 */ - @Excel(name = "订单号") + @Excel(name = "工单号") private String orderNo; - + @Excel(name = "订单号") + private String workorderCodeSap; /** * 物料号 */ @@ -193,6 +194,14 @@ public class QcCheckReportIncome extends BaseEntity { private String cxzz; private String pgy; + public String getWorkorderCodeSap() { + return workorderCodeSap; + } + + public void setWorkorderCodeSap(String workorderCodeSap) { + this.workorderCodeSap = workorderCodeSap; + } + public String getFileNo() { return fileNo; } diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckReportIncomeMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckReportIncomeMapper.xml index 22e2cc14..4bfe6d36 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckReportIncomeMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckReportIncomeMapper.xml @@ -43,6 +43,8 @@ + + @@ -60,9 +62,10 @@ qct.supplier_code, qct.supplier_name, qct.income_time, qct.check_loc, qct.check_status, qct.check_man_code, qct.check_man_name,qct.check_time, qct.check_result, qct.status,qct.sample_quality, qct.create_by,qct.create_time, qct.update_by, qct.update_time,qct.check_type, - q.type_code,q.check_name + q.type_code,q.check_name,pow.workorder_code_sap from qc_check_task qct left join qc_check_type q on q.id = qct.check_type + left join pro_order_workorder pow on pow.workorder_code = qct.order_no and qct.check_no = #{checkNo} and qct.income_batch_no = #{incomeBatchNo} diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskProduceMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskProduceMapper.xml index 9cc197ec..775c85c4 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskProduceMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskProduceMapper.xml @@ -87,6 +87,8 @@ + + @@ -349,7 +351,7 @@