Kaynağa Gözat

出入库明细导出字段新增

fgd 1 yıl önce
ebeveyn
işleme
2d63c605f8

+ 15 - 0
sd-business/src/main/java/com/sd/business/entity/in/vo/InOutStorageBomErpExportVo.java

@@ -49,4 +49,19 @@ public class InOutStorageBomErpExportVo {
      * 仓库编号
      */
     private String warehouseCode;
+
+    /**
+     * 来源单据RTK
+     */
+    private String sourceRtk;
+
+    /**
+     * 单位成本
+     */
+    private BigDecimal unitCost;
+
+    /**
+     * 成本金额
+     */
+    private BigDecimal costAmt;
 }

+ 11 - 2
sd-business/src/main/java/com/sd/business/entity/in/vo/InOutStorageErpExportVo.java

@@ -3,7 +3,6 @@ package com.sd.business.entity.in.vo;
 import lombok.Getter;
 import lombok.Setter;
 
-import java.util.Date;
 
 /**
  * 出入库信息 erp导出实体
@@ -33,11 +32,21 @@ public class InOutStorageErpExportVo {
     /**
      * 单据日期
      */
-    private Date createTime;
+    private String createTime;
 
     /**
      * 单据类型
      */
     private String docCode;
 
+    /**
+     * 部门编号
+     */
+    private String deptCode;
+
+    /**
+     * 员工编号
+     */
+    private String employeeCode;
+
 }

+ 22 - 5
sd-business/src/main/java/com/sd/business/service/in/impl/InOutStorageBomServiceImpl.java

@@ -26,9 +26,12 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import javax.servlet.http.HttpServletResponse;
+import java.math.BigDecimal;
 import java.util.*;
 import java.util.stream.Collectors;
 
+import static java.util.Comparator.comparing;
+
 
 /**
  * <p>
@@ -123,7 +126,9 @@ public class InOutStorageBomServiceImpl extends ServiceImpl<InOutStorageBomMappe
             }
             String code = inOutStorageErpExportVo.getDocCode() + format + String.format("%04d", codeNum);
             inOutStorageErpExportVo.setCode(code);
-            inOutStorageErpExportVo.setCreateTime(inOutStorage.getCreateTime());
+            inOutStorageErpExportVo.setCreateTime(DateUtil.format(inOutStorage.getCreateTime(), "yyyy/MM/dd HH:mm:ss"));
+            inOutStorageErpExportVo.setDeptCode("GPIT");
+            inOutStorageErpExportVo.setEmployeeCode("GPIT02");
 
             inOutStorageErpExportVoList.add(inOutStorageErpExportVo);
             codeNum++;
@@ -131,7 +136,7 @@ public class InOutStorageBomServiceImpl extends ServiceImpl<InOutStorageBomMappe
 
         Map<Long, String> map = inOutStorageErpExportVoList.stream()
                 .collect(Collectors.toMap(InOutStorageErpExportVo::getId, InOutStorageErpExportVo::getCode));
-        Integer[] serialNumber = {1};
+        Map<String, Integer> serialNumberMap = new HashMap<>();
         List<InOutStorageBomErpExportVo> inOutStorageBomErpExportVoList = list.stream().map(item -> {
             InOutStorageBomErpExportVo inOutStorageBomErpExportVo = new InOutStorageBomErpExportVo();
             inOutStorageBomErpExportVo.setCode(map.get(item.getInOutStorageId()));
@@ -140,10 +145,22 @@ public class InOutStorageBomServiceImpl extends ServiceImpl<InOutStorageBomMappe
             inOutStorageBomErpExportVo.setWarehouseCode(item.getWarehouseCode());
             inOutStorageBomErpExportVo.setUnit("PCS");
             inOutStorageBomErpExportVo.setPieces("0");
-            inOutStorageBomErpExportVo.setSerialNumber(serialNumber[0]++);
+            inOutStorageBomErpExportVo.setSourceRtk("OTHER");
+            inOutStorageBomErpExportVo.setUnitCost(BigDecimal.ZERO);
+            inOutStorageBomErpExportVo.setCostAmt(BigDecimal.ZERO);
             return inOutStorageBomErpExportVo;
-        }).collect(Collectors.toList());
-
+        })
+                .sorted(comparing(InOutStorageBomErpExportVo::getCode))
+                .peek(item -> {
+                    Integer serialNumber = serialNumberMap.get(item.getCode());
+                    if (serialNumber == null) {
+                        serialNumber = 1;
+                        serialNumberMap.put(item.getCode(), serialNumber);
+                    } else {
+                        serialNumberMap.put(item.getCode(), serialNumber+=1);
+                    }
+                    item.setSerialNumber(serialNumber);
+                }).collect(Collectors.toList());
         String fileName;
         if (Objects.equals(dto.getType(), 1)) {
             fileName = "入库单";

BIN
sd-starter/src/main/resources/template/inOutStorageDetails.xlsx