From 54b734f047e79d0f8b272b6ffb74e54950315a0f Mon Sep 17 00:00:00 2001 From: maxiangong <298222784@qq.com> Date: Tue, 16 Jun 2026 17:39:28 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=96=E5=8D=8F=E5=AF=BC=E5=87=BA=EF=BC=9A?= =?UTF-8?q?=E5=A4=96=E5=8D=8F=E5=B7=A5=E5=BA=8F=E7=BB=B4=E6=8A=A4=E3=80=81?= =?UTF-8?q?=E5=A4=96=E5=8D=8F=E7=94=9F=E4=BA=A7=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../desk/oem/pojo/excel/OemApprovalExcel.java | 82 ++++++ .../desk/oem/pojo/excel/OemOrderExcel.java | 25 +- .../desk/oem/pojo/excel/OemProcessExcel.java | 16 +- .../desk/oem/pojo/vo/OemApprovalVO.java | 13 +- .../oem/controller/OemOrderController.java | 22 +- .../oem/controller/OemProcessController.java | 14 +- .../desk/oem/mapper/OemProcessMapper.java | 4 +- .../desk/oem/mapper/OemProcessMapper.xml | 51 +++- .../desk/oem/service/IOemProcessService.java | 4 +- .../service/impl/OemProcessServiceImpl.java | 7 +- .../produce/mapper/WorkOrderRunMapper.java | 4 + .../produce/mapper/WorkOrderRunMapper.xml | 266 ++++++++++++++++++ .../produce/service/IWorkOrderRunService.java | 5 + .../service/impl/WorkOrderRunServiceImpl.java | 14 + 14 files changed, 482 insertions(+), 45 deletions(-) create mode 100644 blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/oem/pojo/excel/OemApprovalExcel.java diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/oem/pojo/excel/OemApprovalExcel.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/oem/pojo/excel/OemApprovalExcel.java new file mode 100644 index 000000000..8651d1eb0 --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/oem/pojo/excel/OemApprovalExcel.java @@ -0,0 +1,82 @@ +package org.springblade.desk.oem.pojo.excel; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + +/** + * 转外协/转厂内审核Excel实体类 + */ +@Data +@ColumnWidth(25) +@HeadRowHeight(20) +@ContentRowHeight(18) +public class OemApprovalExcel implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + @ExcelProperty("车间订单号") + @ColumnWidth(20) + private String woCode; + + @ExcelProperty("零件号") + @ColumnWidth(20) + private String partCode; + + @ExcelProperty("批次号") + @ColumnWidth(20) + private String batchNo; + + @ExcelProperty("产品名称") + @ColumnWidth(20) + private String partName; + + @ExcelProperty("生产标识") + @ColumnWidth(20) + private String productIdent; + + @ExcelProperty("生产数量") + @ColumnWidth(20) + private Long makeQty; + + @ExcelProperty("面积(dm²)") + @ColumnWidth(20) + private String area; + + @ExcelProperty("建立时间") + @ColumnWidth(20) + private String createDate; + + @ExcelProperty("备注") + @ColumnWidth(20) + private String memo; + + @ExcelProperty("审核状态") + @ColumnWidth(20) + private String approvalName; + + @ExcelProperty("申请人") + @ColumnWidth(20) + private String proposer; + + @ExcelProperty("审批人") + @ColumnWidth(20) + private String approver; + + @ExcelProperty("审批时间") + @ColumnWidth(20) + private String approvalDate; + + @ExcelProperty("处理意见") + @ColumnWidth(20) + private String approvalMemo; +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/oem/pojo/excel/OemOrderExcel.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/oem/pojo/excel/OemOrderExcel.java index 7c4dff569..d992ba384 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/oem/pojo/excel/OemOrderExcel.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/oem/pojo/excel/OemOrderExcel.java @@ -32,6 +32,14 @@ public class OemOrderExcel implements Serializable { @ColumnWidth(20) private String planNumber; + @ExcelProperty("订单单号") + @ColumnWidth(20) + private String woCode; + + @ExcelProperty("零件号") + @ColumnWidth(20) + private String partCode; + @ExcelProperty("计划下达时间") @ColumnWidth(20) private Date planIssuanceTime; @@ -40,18 +48,14 @@ public class OemOrderExcel implements Serializable { @ColumnWidth(20) private LocalDateTime postPlatingStorageTime; - @ExcelProperty("车间订单状态") + @ExcelProperty("外协状态") @ColumnWidth(20) - private Integer workOrderStatus; + private String oemStatusTitle; @ExcelProperty("批次号") @ColumnWidth(20) private String batchNo; - @ExcelProperty("零件号") - @ColumnWidth(20) - private String partCode; - @ExcelProperty("产品名称") @ColumnWidth(20) private String partName; @@ -74,9 +78,9 @@ public class OemOrderExcel implements Serializable { @ExcelProperty("优先级") @ColumnWidth(20) - private String priority; + private String priorityName; - @ExcelProperty("使用部门") + @ExcelProperty("是用部门") @ColumnWidth(20) private String deptName; @@ -119,9 +123,4 @@ public class OemOrderExcel implements Serializable { @ExcelProperty("工艺路线") @ColumnWidth(20) private String craftWay; - - @ExcelProperty("外协订单分类") - @ColumnWidth(20) - private String oemOrderType; - } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/oem/pojo/excel/OemProcessExcel.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/oem/pojo/excel/OemProcessExcel.java index ce9635812..05f8fb823 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/oem/pojo/excel/OemProcessExcel.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/oem/pojo/excel/OemProcessExcel.java @@ -42,10 +42,22 @@ public class OemProcessExcel implements Serializable { @ExcelProperty("工序") private String paName; /** - * 工艺能力 + * 需结算工艺能力 */ @ColumnWidth(20) - @ExcelProperty("工艺能力") + @ExcelProperty("需结算工艺能力") private String caNames; + /** + * 工序大类 + */ + @ColumnWidth(20) + @ExcelProperty("工序大类") + private String statementCategory; + /** + * 手动结算 + */ + @ColumnWidth(20) + @ExcelProperty("手动结算") + private String manualName; } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/oem/pojo/vo/OemApprovalVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/oem/pojo/vo/OemApprovalVO.java index 056c209bb..7ae0edc4c 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/oem/pojo/vo/OemApprovalVO.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/oem/pojo/vo/OemApprovalVO.java @@ -41,10 +41,11 @@ public class OemApprovalVO extends WorkOrderRun { static { approvalStatusMap.put(APPROVAL_STATUS_NORMAL, "正常"); - approvalStatusMap.put(APPROVAL_STATUS_UNDER, "审批中"); - approvalStatusMap.put(APPROVAL_STATUS_FAIL, "审批不通过"); - approvalStatusMap.put(APPROVAL_STATUS_VIA, "审批通过"); + approvalStatusMap.put(APPROVAL_STATUS_UNDER, "待审核"); + approvalStatusMap.put(APPROVAL_STATUS_FAIL, "审核不通过"); + approvalStatusMap.put(APPROVAL_STATUS_VIA, "审核通过"); } + @Schema(description = "车间订单ID") private Long woId; @@ -89,6 +90,12 @@ public class OemApprovalVO extends WorkOrderRun { @Schema(description = "审批状态名称") private String approvalName; + @Schema(description = "审核时间") + private String approvalDate; + + @Schema(description = "建立时间") + private String createDate; + public String getApprovalName() { return approvalStatusMap.get(approvalStatus); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/controller/OemOrderController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/controller/OemOrderController.java index 6cceb08b2..8490be606 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/controller/OemOrderController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/controller/OemOrderController.java @@ -24,6 +24,7 @@ import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.DateUtil; import org.springblade.desk.basic.pojo.entity.Oem; import org.springblade.desk.basic.service.IOemService; +import org.springblade.desk.oem.pojo.excel.OemApprovalExcel; import org.springblade.desk.oem.pojo.excel.OemOrderExcel; import org.springblade.desk.oem.pojo.excel.PriceSheetExcel; import org.springblade.desk.oem.pojo.request.*; @@ -104,6 +105,21 @@ public class OemOrderController extends BladeController { IPage pages = workOrderRunService.queryOemApproval(Condition.getPage(query), approvalQuery); return R.data(pages); } + + @GetMapping("/export-oemApproval") + @ApiOperationSupport(order = 11) + @Operation(summary = "外协订单导出数据", description = "") + public void exportOemApproval(OemApprovalQuery approvalQuery, Query query, HttpServletResponse response) { + List vos = workOrderRunService.exportOemApproval(approvalQuery); + List excels = new ArrayList<>(); + for (OemApprovalVO oemApprovalVO : vos) { + OemApprovalExcel excel = new OemApprovalExcel(); + BeanUtils.copyProperties(oemApprovalVO, excel); + excels.add(excel); + } + ExcelUtil.export(response, "外协订单" + DateUtil.time(), "外协订单", excels, OemApprovalExcel.class); + } + /** * 批量审批 */ @@ -205,11 +221,9 @@ public class OemOrderController extends BladeController { @ApiOperationSupport(order = 11) @Operation(summary = "外协订单导出数据", description = "") public void exportPostHandle(OemOrderQuery oemOrderQuery, Query query, HttpServletResponse response) { - query.setSize(99999); - IPage pages = workOrderRunService.queryOemOrder(Condition.getPage(query), oemOrderQuery); - List list = pages.getRecords(); + List vos = workOrderRunService.exportOemOrder(oemOrderQuery); List excels = new ArrayList<>(); - for (OemOrderVO oemOrderVO : list) { + for (OemOrderVO oemOrderVO : vos) { OemOrderExcel excel = new OemOrderExcel(); BeanUtils.copyProperties(oemOrderVO, excel); excels.add(excel); diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/controller/OemProcessController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/controller/OemProcessController.java index c6ebad31e..b8e5da9af 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/controller/OemProcessController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/controller/OemProcessController.java @@ -157,20 +157,12 @@ public class OemProcessController extends BladeController { /** * 导出数据 */ - @GetMapping("/export-mesOemProcess") + @GetMapping("/export-excel") @ApiOperationSupport(order = 9) @Operation(summary = "导出数据", description = "传入mesOemProcess") public void exportOemProcess(OemProcessVO mesOemProcess, Query query, BladeUser bladeUser, HttpServletResponse response) { - query.setSize(99999); - IPage pages = mesOemProcessService.selectOemProcessPage(Condition.getPage(query), mesOemProcess); - List list = pages.getRecords(); - List excels = new ArrayList<>(); - for (OemProcessVO oemProcessVO : list) { - OemProcessExcel excel = new OemProcessExcel(); - BeanUtils.copyProperties(oemProcessVO, excel); - excels.add(excel); - } - ExcelUtil.export(response, "外协工序数据" + DateUtil.time(), "外协工序数据表", excels, OemProcessExcel.class); + List oemProcessExcels = mesOemProcessService.exportOemProcess(mesOemProcess); + ExcelUtil.export(response, "外协工序数据" + DateUtil.time(), "外协工序数据表", oemProcessExcels, OemProcessExcel.class); } /** diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/mapper/OemProcessMapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/mapper/OemProcessMapper.java index 774ea12fa..eda1371b6 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/mapper/OemProcessMapper.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/mapper/OemProcessMapper.java @@ -31,9 +31,9 @@ public interface OemProcessMapper extends BaseMapper { /** * 获取导出数据 * - * @param queryWrapper 查询条件 + * @param mesOemProcess 查询条件 * @return List */ - List exportOemProcess(@Param("ew") Wrapper queryWrapper); + List exportOemProcess(OemProcessVO mesOemProcess); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/mapper/OemProcessMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/mapper/OemProcessMapper.xml index 17e8aebba..d7b87bb02 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/mapper/OemProcessMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/mapper/OemProcessMapper.xml @@ -21,10 +21,17 @@ - + + + + + + + + - SELECT * - FROM MES_OEM_PROCESS ${ew.customSqlSegment} + SELECT + mop.*, + bps.NAME AS pa_name, + (SELECT LISTAGG( + UTL_I18N.RAW_TO_CHAR( + UTL_RAW.CAST_TO_RAW(bca2.CA_NAME), + 'AL16UTF16' -- 或 'UTF8'、'AL32UTF8' + ), + ', ' ) WITHIN GROUP (ORDER BY bca2.ID) + FROM BS_CRAFT_ABILITY bca2 + WHERE bca2.ID IN ( + SELECT TO_NUMBER(TRIM(COLUMN_VALUE)) + FROM XMLTABLE(('"' || REPLACE(mop.CRAFT_IDS, ',', '","') || '"')) + ) + ) AS ca_names, + mosc.STATEMENT_CATEGORY, + bu.REAL_NAME as UPDATE_USER_NAME, + CASE WHEN mop.manual = '0' THEN '否' WHEN mop.manual = '1' THEN '是' ELSE '' END as manual_name + FROM MES_OEM_PROCESS mop + LEFT JOIN BS_PROCESS_SET bps ON mop.PROCESS_ID = bps.ID + LEFT JOIN MES_OEM_STATEMENT_CATEGORY mosc ON mop.STATEMENT_CATEGORY_ID = mosc.ID + LEFT JOIN BLADE_USER bu ON mop.update_user = bu.id + WHERE mop.IS_DELETED = 0 + + AND mop.OEM_PROCESS_CODE LIKE CONCAT('%', CONCAT(#{oemProcessCode}, '%')) + + + AND mop.MANUAL = #{manual} + + + AND bps.NAME LIKE CONCAT('%', CONCAT(#{paName}, '%')) + + + + AND mosc.STATEMENT_CATEGORY LIKE CONCAT('%', CONCAT(#{statementCategory}, '%')) + + + AND mop.STATEMENT_CATEGORY_ID = #{statementCategoryId} + + ORDER BY bps.CODE ASC diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/service/IOemProcessService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/service/IOemProcessService.java index 1a5d9bb0c..8ccb7a437 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/service/IOemProcessService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/service/IOemProcessService.java @@ -31,10 +31,10 @@ public interface IOemProcessService extends BaseService { /** * 导出数据 * - * @param queryWrapper 查询条件 + * @param mesOemProcess 查询条件 * @return List */ - List exportOemProcess(Wrapper queryWrapper); + List exportOemProcess(OemProcessVO mesOemProcess); /** * 导入 diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/service/impl/OemProcessServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/service/impl/OemProcessServiceImpl.java index 9d1b88276..0546b70a8 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/service/impl/OemProcessServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/service/impl/OemProcessServiceImpl.java @@ -54,11 +54,8 @@ public class OemProcessServiceImpl extends BaseServiceImpl exportOemProcess(Wrapper queryWrapper) { - List mesOemProcessList = baseMapper.exportOemProcess(queryWrapper); - //mesOemProcessList.forEach(mesOemProcess -> { - // mesOemProcess.setTypeName(DictCache.getValue(DictEnum.YES_NO, OemProcess.getType())); - //}); + public List exportOemProcess(OemProcessVO mesOemProcess) { + List mesOemProcessList = baseMapper.exportOemProcess(mesOemProcess); return mesOemProcessList; } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/WorkOrderRunMapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/WorkOrderRunMapper.java index 54cdb36b9..82e0ec88d 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/WorkOrderRunMapper.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/WorkOrderRunMapper.java @@ -30,6 +30,8 @@ public interface WorkOrderRunMapper extends BaseMapper { */ List selectOemOrderPage(IPage page, @Param("query") OemOrderQuery query); + List exportOemOrder(OemOrderQuery query); + /** * 外协领料单打印 * @@ -48,6 +50,8 @@ public interface WorkOrderRunMapper extends BaseMapper { */ List selectOemApproval(IPage page, @Param("query") OemApprovalQuery query); + List exportOemApproval(OemApprovalQuery query); + Map selectRoamAndCraftNoByCraftId(Long craftId); Map selectRoamAndCraftNoByPartCode(String partCode); diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/WorkOrderRunMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/WorkOrderRunMapper.xml index 634adf57f..1119a59e8 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/WorkOrderRunMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/WorkOrderRunMapper.xml @@ -215,6 +215,170 @@ ORDER BY mwor.create_time DESC + + @@ -246,6 +410,8 @@ + + + + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/IWorkOrderRunService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/IWorkOrderRunService.java index a19a2edd2..465734775 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/IWorkOrderRunService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/IWorkOrderRunService.java @@ -29,6 +29,9 @@ public interface IWorkOrderRunService extends BaseService { */ IPage queryOemOrder(IPage page, OemOrderQuery oemOrderQuery); + + List exportOemOrder(OemOrderQuery oemOrderQuery); + /** * 外协审批分页查询 * @@ -38,6 +41,8 @@ public interface IWorkOrderRunService extends BaseService { */ IPage queryOemApproval(IPage page, OemApprovalQuery approvalQuery); + List exportOemApproval(OemApprovalQuery approvalQuery); + /** * 外协订单收回 * diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderRunServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderRunServiceImpl.java index 1c36121db..dd442f3cc 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderRunServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderRunServiceImpl.java @@ -828,12 +828,26 @@ public class WorkOrderRunServiceImpl extends BaseServiceImpl exportOemOrder(OemOrderQuery oemOrderQuery) { + oemOrderQuery.setRunType(WorkOrderRun.RUN_TYPE_1); + oemOrderQuery.setRunStatus(WorkOrderRun.RUN_STATUS_FAIL); + List oemOrderVOS = baseMapper.exportOemOrder(oemOrderQuery); + return oemOrderVOS; + } + @Override public IPage queryOemApproval(IPage page, OemApprovalQuery approvalQuery) { List approvals = baseMapper.selectOemApproval(page, approvalQuery); return page.setRecords(approvals); } + @Override + public List exportOemApproval(OemApprovalQuery approvalQuery) { + List approvals = baseMapper.exportOemApproval(approvalQuery); + return approvals; + } + /** * 查找可交件的最后一道外协工序 * 取第一个非外协未开工序的 front_wp_id