From c1b2458d2ee837e53eb75e5d17f1b323641a11b3 Mon Sep 17 00:00:00 2001 From: hayu <1604366271@qq.com> Date: Tue, 6 Jan 2026 15:06:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=89=E5=85=A8=E5=B7=A5=E5=99=A8=E5=85=B7?= =?UTF-8?q?=E5=8F=B0=E8=B4=A6=E5=8F=8A=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inventory/InventoryCountController.java | 38 ++++- .../entity/ProjectMaterialLedger.java | 5 + .../inventory/ProjectMaterialLedgers.java | 152 ++++++++++++++++++ .../inventory/InventoryCountMapper.java | 5 +- .../service/PurchaseServiceImpl.java | 5 + .../inventory/InventoryCountService.java | 3 +- .../inventory/InventoryCountServiceImpl.java | 3 +- .../backstage/InventoryCountMapper.xml | 134 ++++++++++----- .../business/backstage/PurchaseMapper.xml | 2 +- 9 files changed, 300 insertions(+), 47 deletions(-) create mode 100644 src/main/java/com/bonus/aqgqj/business/backstage/entity/inventory/ProjectMaterialLedgers.java diff --git a/src/main/java/com/bonus/aqgqj/business/backstage/controller/inventory/InventoryCountController.java b/src/main/java/com/bonus/aqgqj/business/backstage/controller/inventory/InventoryCountController.java index 04c7d3e..bfeaabf 100644 --- a/src/main/java/com/bonus/aqgqj/business/backstage/controller/inventory/InventoryCountController.java +++ b/src/main/java/com/bonus/aqgqj/business/backstage/controller/inventory/InventoryCountController.java @@ -5,6 +5,7 @@ import cn.afterturn.easypoi.excel.entity.ExportParams; import cn.afterturn.easypoi.excel.entity.enmus.ExcelType; import com.bonus.aqgqj.business.backstage.entity.ProjectMaterialLedger; import com.bonus.aqgqj.business.backstage.entity.inventory.InventoryCountVo; +import com.bonus.aqgqj.business.backstage.entity.inventory.ProjectMaterialLedgers; import com.bonus.aqgqj.business.backstage.service.inventory.InventoryCountService; import com.bonus.aqgqj.manager.annotation.DecryptAndVerify; import com.bonus.aqgqj.manager.core.entity.EncryptedReq; @@ -56,10 +57,12 @@ public class InventoryCountController { * @return PageInfo */ @GetMapping("getSafetyToolsLedger") - @DecryptAndVerify(decryptedClass = ProjectMaterialLedger.class) - public PageInfo getSafetyToolsLedger(EncryptedReq dto) { - List projectMaterialLedgers = service.getSafetyToolsLedger(dto.getData()); - return new PageInfo<>(projectMaterialLedgers); + @DecryptAndVerify(decryptedClass = ProjectMaterialLedgers.class) + public PageInfo getSafetyToolsLedger(EncryptedReq dto) { + PageHelper.startPage(dto.getPageNum(), dto.getPageSize()); + List projectMaterialLedgers = service.getSafetyToolsLedger(dto.getData()); + PageInfo pageInfo = new PageInfo<>(projectMaterialLedgers); + return pageInfo; } /** @@ -147,4 +150,31 @@ public class InventoryCountController { log.error(e.toString(), e); } } + + + /** + * 台账导出 + */ + @GetMapping("exportLedgerList") + @DecryptAndVerify(decryptedClass = ProjectMaterialLedgers.class) + public void exportLedgerList(HttpServletResponse response, EncryptedReq dto) { + try { + List list = service.getSafetyToolsLedger(dto.getData()); + final int[] num = {1}; + list.forEach(vo -> { + vo.setId(num[0]); + num[0]++; + }); + ExportParams exportParams = new ExportParams("安全用品发放台账", "安全用品发放台账", ExcelType.XSSF); + Workbook workbook = ExcelExportUtil.exportExcel(exportParams, ProjectMaterialLedgers.class, list); + response.setContentType("application/vnd.ms-excel"); + response.setHeader("content-disposition", "attachment;fileName=" + URLEncoder.encode("工程领退及差缺台账" + ".xlsx", "UTF-8")); + ServletOutputStream outputStream = response.getOutputStream(); + workbook.write(outputStream); + outputStream.close(); + workbook.close(); + } catch (Exception e) { + log.error(e.toString(), e); + } + } } diff --git a/src/main/java/com/bonus/aqgqj/business/backstage/entity/ProjectMaterialLedger.java b/src/main/java/com/bonus/aqgqj/business/backstage/entity/ProjectMaterialLedger.java index 85b1b4f..326793a 100644 --- a/src/main/java/com/bonus/aqgqj/business/backstage/entity/ProjectMaterialLedger.java +++ b/src/main/java/com/bonus/aqgqj/business/backstage/entity/ProjectMaterialLedger.java @@ -106,4 +106,9 @@ public class ProjectMaterialLedger { * 库存数量 */ private String storageNum; + + /** + * 计划数量 + */ + private String applyNum; } diff --git a/src/main/java/com/bonus/aqgqj/business/backstage/entity/inventory/ProjectMaterialLedgers.java b/src/main/java/com/bonus/aqgqj/business/backstage/entity/inventory/ProjectMaterialLedgers.java new file mode 100644 index 0000000..efdbf34 --- /dev/null +++ b/src/main/java/com/bonus/aqgqj/business/backstage/entity/inventory/ProjectMaterialLedgers.java @@ -0,0 +1,152 @@ +package com.bonus.aqgqj.business.backstage.entity.inventory; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import lombok.Data; +import lombok.experimental.Accessors; + +@Data +@Accessors(chain = true) +public class ProjectMaterialLedgers { + + private Integer id; + + /** + * 工程id + */ + private Integer proId; + + /** + * 工程名称 + */ + @Excel(name = "工程名称", width = 70) + private String proName; + + /** + * 领用单位 + */ + private String leaseUnit; + + /** + * 物资类型、名称、规格型号 + */ + private String type; + + @Excel(name = "物资名称", width = 18) + private String name; + + @Excel(name = "规格型号", width = 18) + private String model; + + @Excel(name = "单位") + private String unit; + + /** + * 计划编号 + */ + @Excel(name = "计划编号", width = 18) + private String planApplyCode; + + /** + * 需用数量 + */ + @Excel(name = "总需用量", width = 18) + private Double needNum = 0.00; + + /** + * 单价 + */ + @Excel(name = "单价", width = 18) + private String price; + + @Excel(name = "总价", width = 18) + private String totalPrice; + + /** + * 发货时间及数量 + */ + @Excel(name = "发货时间", width = 18) + private String outInfo; + + @Excel(name = "发货地址", width = 18) + private String outAddress; + + /** + * 供应商 + */ + @Excel(name = "供应商", width = 18) + private String supName; + + /** + * 退还数量 + */ + @Excel(name = "退还数量", width = 18) + private String backNum; + + /** + * 退库时间 + */ + @Excel(name = "退还时间", width = 18) + private String backTime; + + @Excel(name = "差缺", width = 18) + private String shortage; + + @Excel(name = "差缺总价", width = 18) + private String shortageTotalPrice; + + /** + * 备注 + */ + @Excel(name = "备注", width = 18) + private String remark; + + /** + * 物资规格型号id + */ + private Integer modelId; + + + + /** + * 采购量--出库 + */ + private Double totalCg = 0.00; + + /** + * 利库量--出库 + */ + private Double totalLk = 0.00; + + /** + * 出库量--出库 + */ + private Double totalCk = 0.00; + + /** + * 退货量--退库 + */ + private Double totalBack = 0.00; + + /** + * 差缺量 + */ + private Double totalDiff = 0.00; + + /** + * 差缺状态 1-缺货 2-不缺货 + */ + private Integer isShortage; + + private String keyWord; + + /** + * 库存数量 + */ + private String storageNum; + + /** + * 计划数量 + */ + private String applyNum; + +} diff --git a/src/main/java/com/bonus/aqgqj/business/backstage/mapper/inventory/InventoryCountMapper.java b/src/main/java/com/bonus/aqgqj/business/backstage/mapper/inventory/InventoryCountMapper.java index 8a95d20..1debb03 100644 --- a/src/main/java/com/bonus/aqgqj/business/backstage/mapper/inventory/InventoryCountMapper.java +++ b/src/main/java/com/bonus/aqgqj/business/backstage/mapper/inventory/InventoryCountMapper.java @@ -2,6 +2,7 @@ package com.bonus.aqgqj.business.backstage.mapper.inventory; import com.bonus.aqgqj.business.backstage.entity.ProjectMaterialLedger; import com.bonus.aqgqj.business.backstage.entity.inventory.InventoryCountVo; +import com.bonus.aqgqj.business.backstage.entity.inventory.ProjectMaterialLedgers; import org.springframework.stereotype.Repository; import java.util.List; @@ -46,7 +47,7 @@ public interface InventoryCountMapper { /** * 安全工具台账 * @param data - * @return List + * @return List */ - List getSafetyToolsLedger(ProjectMaterialLedger data); + List getSafetyToolsLedger(ProjectMaterialLedgers data); } diff --git a/src/main/java/com/bonus/aqgqj/business/backstage/service/PurchaseServiceImpl.java b/src/main/java/com/bonus/aqgqj/business/backstage/service/PurchaseServiceImpl.java index 1daed09..3890766 100644 --- a/src/main/java/com/bonus/aqgqj/business/backstage/service/PurchaseServiceImpl.java +++ b/src/main/java/com/bonus/aqgqj/business/backstage/service/PurchaseServiceImpl.java @@ -689,6 +689,11 @@ public class PurchaseServiceImpl implements PurchaseService { List supInfoList = details.getSupList(); //出入库 for (OutPlanVoSupInfo outSup : supInfoList) { + if (outSup.getCgNum() <= 0) { + outSup.setContractId("10086"); + outSup.setSupId("10086"); + outSup.setSupName("库存发出"); + } // 是空的就需要新增 if (StringHelper.isEmpty(outSup.getId()) || "undefined".equals(outSup.getId())) { List addList = new ArrayList<>(); diff --git a/src/main/java/com/bonus/aqgqj/business/backstage/service/inventory/InventoryCountService.java b/src/main/java/com/bonus/aqgqj/business/backstage/service/inventory/InventoryCountService.java index 6269cb3..51e9d12 100644 --- a/src/main/java/com/bonus/aqgqj/business/backstage/service/inventory/InventoryCountService.java +++ b/src/main/java/com/bonus/aqgqj/business/backstage/service/inventory/InventoryCountService.java @@ -3,6 +3,7 @@ package com.bonus.aqgqj.business.backstage.service.inventory; import com.bonus.aqgqj.business.backstage.entity.ProjectMaterialLedger; import com.bonus.aqgqj.business.backstage.entity.inventory.InventoryApplyVo; import com.bonus.aqgqj.business.backstage.entity.inventory.InventoryCountVo; +import com.bonus.aqgqj.business.backstage.entity.inventory.ProjectMaterialLedgers; import com.bonus.aqgqj.manager.webResult.ServerResponse; import java.util.List; @@ -44,5 +45,5 @@ public interface InventoryCountService { * @param data * @return List */ - List getSafetyToolsLedger(ProjectMaterialLedger data); + List getSafetyToolsLedger(ProjectMaterialLedgers data); } diff --git a/src/main/java/com/bonus/aqgqj/business/backstage/service/inventory/InventoryCountServiceImpl.java b/src/main/java/com/bonus/aqgqj/business/backstage/service/inventory/InventoryCountServiceImpl.java index ff08041..ce44487 100644 --- a/src/main/java/com/bonus/aqgqj/business/backstage/service/inventory/InventoryCountServiceImpl.java +++ b/src/main/java/com/bonus/aqgqj/business/backstage/service/inventory/InventoryCountServiceImpl.java @@ -2,6 +2,7 @@ package com.bonus.aqgqj.business.backstage.service.inventory; import com.bonus.aqgqj.business.backstage.entity.ProjectMaterialLedger; import com.bonus.aqgqj.business.backstage.entity.inventory.InventoryCountVo; +import com.bonus.aqgqj.business.backstage.entity.inventory.ProjectMaterialLedgers; import com.bonus.aqgqj.business.backstage.mapper.inventory.InventoryCountMapper; import com.bonus.aqgqj.manager.webResult.ServerResponse; import lombok.extern.slf4j.Slf4j; @@ -86,7 +87,7 @@ public class InventoryCountServiceImpl implements InventoryCountService{ } @Override - public List getSafetyToolsLedger(ProjectMaterialLedger data) { + public List getSafetyToolsLedger(ProjectMaterialLedgers data) { try { return mapper.getSafetyToolsLedger(data); } catch (Exception e) { diff --git a/src/main/resources/mappers/business/backstage/InventoryCountMapper.xml b/src/main/resources/mappers/business/backstage/InventoryCountMapper.xml index f8acd7a..41b0cb9 100644 --- a/src/main/resources/mappers/business/backstage/InventoryCountMapper.xml +++ b/src/main/resources/mappers/business/backstage/InventoryCountMapper.xml @@ -107,46 +107,104 @@ SELECT IFNULL(COUNT(*),0) AS num FROM st_ma_type where `level`= '3' AND is_active= '0' AND storage_num = 0 diff --git a/src/main/resources/mappers/business/backstage/PurchaseMapper.xml b/src/main/resources/mappers/business/backstage/PurchaseMapper.xml index 2b3c323..3c05d19 100644 --- a/src/main/resources/mappers/business/backstage/PurchaseMapper.xml +++ b/src/main/resources/mappers/business/backstage/PurchaseMapper.xml @@ -230,7 +230,7 @@