From 62a823f984317505d7d780527925b009547c9738 Mon Sep 17 00:00:00 2001 From: liuhanqing Date: Mon, 23 Mar 2026 16:01:42 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=80=E8=B4=A7=E5=85=A5=E5=BA=93=E9=80=BB?= =?UTF-8?q?=E8=BE=91=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../job/mydojob/mapper/MydoJobMapper.java | 3 ++ .../job/mydojob/service/IMydoJobService.java | 3 ++ .../service/impl/MydoJobServiceImpl.java | 6 +++ .../controller/OutStockoutController.java | 15 +++++++- .../out/outStockout/domain/OutJobExcel.java | 38 +++++++++++++++++++ .../service/IOutStockoutService.java | 3 ++ .../service/impl/OutStockoutServiceImpl.java | 9 +++++ .../resources/mapper/job/MydoJobMapper.xml | 9 +++++ ruoyi-ui/src/views/out/outJobFlow.vue | 1 + ruoyi-ui/src/views/out/outStockoutManage.vue | 29 +++++++++++++- 10 files changed, 114 insertions(+), 2 deletions(-) create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/domain/OutJobExcel.java diff --git a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/mapper/MydoJobMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/mapper/MydoJobMapper.java index f809e1e..454158a 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/mapper/MydoJobMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/mapper/MydoJobMapper.java @@ -1,6 +1,7 @@ package com.ruoyi.job.mydojob.mapper; import com.ruoyi.job.mydojob.domain.MydoJob; +import com.ruoyi.out.outStockout.domain.OutJobExcel; import java.util.HashMap; import java.util.List; @@ -76,4 +77,6 @@ public interface MydoJobMapper MydoJob selectMydoJobByEntranceId(MydoJob mydoJob); void cargoSpaceOut(HashMap map); + + List exportOutJob(String stockoutId); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/service/IMydoJobService.java b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/service/IMydoJobService.java index f3b7a70..24afef0 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/service/IMydoJobService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/service/IMydoJobService.java @@ -2,6 +2,7 @@ package com.ruoyi.job.mydojob.service; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.job.mydojob.domain.MydoJob; +import com.ruoyi.out.outStockout.domain.OutJobExcel; import java.util.List; @@ -117,4 +118,6 @@ public interface IMydoJobService public void insertHistory(String jobId) ; AjaxResult cargoSpaceOut(String warehouseId, String cargoSpaceId, String exitId); + + List exportOutJob(String stockoutId); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/service/impl/MydoJobServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/service/impl/MydoJobServiceImpl.java index e4f027a..a20b7df 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/service/impl/MydoJobServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/service/impl/MydoJobServiceImpl.java @@ -27,6 +27,7 @@ import com.ruoyi.job.mydojob.mapper.MydoJobMapper; import com.ruoyi.job.mydojob.service.IMydoJobService; import com.ruoyi.job.mydojobdetail.domain.MydoJobDetail; import com.ruoyi.job.mydojobdetail.service.IMydoJobDetailService; +import com.ruoyi.out.outStockout.domain.OutJobExcel; import com.ruoyi.out.outStockoutDetail.domain.OutStockoutDetail; import com.ruoyi.out.outStockoutDetail.service.IOutStockoutDetailService; import com.ruoyi.pda.mapper.PdaMapper; @@ -311,6 +312,11 @@ public class MydoJobServiceImpl implements IMydoJobService { return AjaxResult.success(map.get("v_resultmsg")); } + @Override + public List exportOutJob(String stockoutId) { + return mydoJobMapper.exportOutJob(stockoutId); + } + /** * 手动完成任务表 */ diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/controller/OutStockoutController.java b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/controller/OutStockoutController.java index a4f8274..59a7493 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/controller/OutStockoutController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/controller/OutStockoutController.java @@ -9,6 +9,7 @@ import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.out.outStockout.domain.OutJobExcel; import com.ruoyi.out.outStockout.domain.OutStockout; import com.ruoyi.out.outStockout.domain.OutStockoutVo; import com.ruoyi.out.outStockout.service.IOutStockoutService; @@ -54,13 +55,25 @@ public class OutStockoutController extends BaseController { /** * 导出出库主单列表 */ - @PreAuthorize("@ss.hasPermi('out:outStockout:export')") + /*@PreAuthorize("@ss.hasPermi('out:outStockout:export')") @Log(title = "出库主单", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, OutStockout outStockout) { List list = outStockoutService.selectOutStockoutList(outStockout); ExcelUtil util = new ExcelUtil(OutStockout.class); util.exportExcel(response, list, "出库主单数据"); + }*/ + + /** + * 导出出库主单列表 + */ + @PreAuthorize("@ss.hasPermi('out:outStockout:export')") + @Log(title = "出库任务导出", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, OutStockout outStockout) { + List list = outStockoutService.exportOutJob(outStockout.getStockoutId()); + ExcelUtil util = new ExcelUtil(OutJobExcel.class); + util.exportExcel(response, list, "出库任务"); } /** diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/domain/OutJobExcel.java b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/domain/OutJobExcel.java new file mode 100644 index 0000000..9236f16 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/domain/OutJobExcel.java @@ -0,0 +1,38 @@ +package com.ruoyi.out.outStockout.domain; + +import com.ruoyi.common.annotation.Excel; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class OutJobExcel { + + @Excel(name = "台次") + private String spare5; + @Excel(name = "合同号") + private String spare6; + @Excel(name = "产品号") + private String spare7; + @Excel(name = "代号") + private String spare9; + @Excel(name = "存货编码") + private String productId; + @Excel(name = "存货名称") + private String productName; + @Excel(name = "托盘条码") + private String trayCode; + @Excel(name = "出库数量") + private String outQuantity; + @Excel(name = "货位编码") + private String cargoSpaceId; + @Excel(name = "货位名称") + private String cargoSpaceName; + @Excel(name = "规格") + private String spec; + @Excel(name = "单位") + private String unit; + +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/service/IOutStockoutService.java b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/service/IOutStockoutService.java index 94b2787..d4eba35 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/service/IOutStockoutService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/service/IOutStockoutService.java @@ -1,6 +1,7 @@ package com.ruoyi.out.outStockout.service; import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.out.outStockout.domain.OutJobExcel; import com.ruoyi.out.outStockout.domain.OutStockout; import com.ruoyi.out.outStockout.domain.OutStockoutVo; @@ -73,4 +74,6 @@ public interface IOutStockoutService List selectOutStockoutListApi(OutStockout outStockoutParam); AjaxResult manualAllot(String[] stockList,String stockoutDetailId); + + List exportOutJob(String stockoutId); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/service/impl/OutStockoutServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/service/impl/OutStockoutServiceImpl.java index 8b12ab9..0f0de54 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/service/impl/OutStockoutServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/service/impl/OutStockoutServiceImpl.java @@ -7,6 +7,8 @@ import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.text.Convert; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.uuid.UUID; +import com.ruoyi.job.mydojob.service.IMydoJobService; +import com.ruoyi.out.outStockout.domain.OutJobExcel; import com.ruoyi.out.outStockout.domain.OutStockout; import com.ruoyi.out.outStockout.domain.OutStockoutVo; import com.ruoyi.out.outStockout.mapper.OutStockoutMapper; @@ -46,6 +48,8 @@ public class OutStockoutServiceImpl implements IOutStockoutService { private IOutStockoutDetailService outStockoutDetailService; @Autowired private IToWcsService toWcsService; + @Autowired + private IMydoJobService mydoJobService; /** * 查询出库主单 @@ -230,4 +234,9 @@ public class OutStockoutServiceImpl implements IOutStockoutService { } return AjaxResult.success(); } + + @Override + public List exportOutJob(String stockoutId) { + return mydoJobService.exportOutJob(stockoutId); + } } diff --git a/ruoyi-admin/src/main/resources/mapper/job/MydoJobMapper.xml b/ruoyi-admin/src/main/resources/mapper/job/MydoJobMapper.xml index 22333c1..29c9e70 100644 --- a/ruoyi-admin/src/main/resources/mapper/job/MydoJobMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/job/MydoJobMapper.xml @@ -247,4 +247,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{v_resultmsg,mode=OUT,jdbcType=VARCHAR} )} + diff --git a/ruoyi-ui/src/views/out/outJobFlow.vue b/ruoyi-ui/src/views/out/outJobFlow.vue index ea63cec..a0c3be0 100644 --- a/ruoyi-ui/src/views/out/outJobFlow.vue +++ b/ruoyi-ui/src/views/out/outJobFlow.vue @@ -80,6 +80,7 @@ size="mini" :disabled="multiple" @click="handleCreateReturnStockIn" + v-hasPermi="['in:stockIn:productBack']" >生成退料入库单 diff --git a/ruoyi-ui/src/views/out/outStockoutManage.vue b/ruoyi-ui/src/views/out/outStockoutManage.vue index c24604c..2a05313 100644 --- a/ruoyi-ui/src/views/out/outStockoutManage.vue +++ b/ruoyi-ui/src/views/out/outStockoutManage.vue @@ -119,6 +119,17 @@ v-hasPermi="['out:outStockout:manualAllot']" >{{'手动分配'}} + + {{'生成excel'}} + @@ -407,6 +418,10 @@ export default { outStockDetailList: [], // 选中数据 selectedRows: [], + // 非单个禁用 + single: true, + // 非多个禁用 + multiple: true, // 选中的子表数据 selectedDetailRows: [], // 审核弹窗显示状态 @@ -571,6 +586,8 @@ export default { /** 多选框选中数据 */ handleSelectionChange(selection) { this.selectedRows = selection + this.single = selection.length!==1 + this.multiple = !selection.length }, /** 子表多选框选中数据 */ handleDetailSelectionChange(selection) { @@ -690,7 +707,17 @@ export default { this.resetStockQuery() this.getStockList() }, - + /** 导出任务 */ + handleExportTask() { + if (this.selectedRows.length !== 1) { + this.$modal.msgWarning("请选择一条数据进行导出"); + return; + } + const stockoutId = this.selectedRows[0].stockoutId; + this.download('/out/outStockout/export', { + stockoutId: stockoutId + }, `out_stockout_task_${stockoutId}_${new Date().getTime()}.xlsx`) + }, /** 提交审核 */ submitAudit() { this.$refs["auditForm"].validate(valid => {