Sfoglia il codice sorgente

新增原料库存同步功能

hfxc226 1 mese fa
parent
commit
7ae093d85e

+ 50 - 11
platform-service/src/main/java/com/platform/service/produce/impl/ProduceReportServiceImpl.java

@@ -319,6 +319,9 @@ public class ProduceReportServiceImpl extends BaseServiceImpl<ProduceReportMappe
         generateCk(date, "0100086", sclList);//盐酸
         generateCk(date, "0100075", sclList);//氢氧化钠(工业级片碱),这个是手工录入,不计算
 
+        // 物料:库存数据
+
+
         // 动力用量生成dl_,手填,都先生成0
         generateDlAndHy(date, "dl_");
 
@@ -1087,17 +1090,6 @@ public class ProduceReportServiceImpl extends BaseServiceImpl<ProduceReportMappe
         monthHy.setCreatedTime(LocalDateTime.now());
         this.saveModel(monthHy);
 
-        // 库存量
-        ProduceData stock = produceDataService.selectByNo(hyPrefix + no + "_stock");
-        ProduceReport reportStock = BeanConverterUtil.copyObjectProperties(stock, ProduceReport.class);
-        reportStock.setValue("0");
-        reportStock.setDate(date);
-        reportStock.setDataId(stock.getId());
-        reportStock.setYear(date.getYear());
-        reportStock.setMonth(date.getMonthValue());
-        reportStock.setDay(date.getDayOfMonth());
-        reportStock.setCreatedTime(LocalDateTime.now());
-        this.saveModel(reportStock);
         // 可用天数
         ProduceData avg = produceDataService.selectByNo(hyPrefix + no + "_avg");
         ProduceReport reportAvg = BeanConverterUtil.copyObjectProperties(avg, ProduceReport.class);
@@ -1111,6 +1103,53 @@ public class ProduceReportServiceImpl extends BaseServiceImpl<ProduceReportMappe
         this.saveModel(reportAvg);
     }
 
+    /**
+     * 主要原物料用量数:库存数据
+     * GS-902   600032
+     * CS-977  0300027
+     * GS-903   100087
+     * GS-904   100074
+     * GS-905   100083
+     * GS-907   100003
+     * F-160C   100026
+     * CM47B    100010
+     * 氟化氢      100065
+     * 硫酰氯(合成)  100120
+     * 液碱32%      100160
+     * 盐酸           100086
+     * 氢氧化钠(工业级片碱)  100075
+     */
+    public void generateStockXCL(LocalDate date, String no) {
+        String prefix = "hy_";// 入库和出库一样,用ck统计
+        log.info("正在处理库存:" + prefix + no + "_stock");
+
+        // 统计当天数据
+        ProduceRecordDTO dto = new ProduceRecordDTO();
+        dto.setProductNo(no);
+        dto.setDate(date);
+        dto.setType(ProduceRecordTypeEnum.XCL_STOCK.getValue());
+        List<ProduceRecordVO> produceRecordList = produceRecordService.selectList(dto);
+
+        // 统计总额
+        BigDecimal total = new BigDecimal(0);
+        for (ProduceRecordVO vo : produceRecordList) {
+            total = total.add(vo.getNum());
+        }
+
+        // 当日库存数据
+        ProduceData produceData = produceDataService.selectByNo(prefix + no + "_stock");
+        ProduceReport report = BeanConverterUtil.copyObjectProperties(produceData, ProduceReport.class);
+        report.setDate(date);
+        report.setDataId(produceData.getId());
+        report.setValue(new BigDecimal(total.toString()).divide(new BigDecimal(1000), 2, BigDecimal.ROUND_HALF_UP).toString());
+        report.setYear(date.getYear());
+        report.setMonth(date.getMonthValue());
+        report.setDay(date.getDayOfMonth());
+        report.setCreatedTime(LocalDateTime.now());
+        this.saveModel(report);
+
+    }
+
     /**
      * 核算为吨
      *