فهرست منبع

新增原料库存同步功能

hfxc226 1 ماه پیش
والد
کامیت
82f8202cf2

+ 5 - 1
platform-dao/src/main/java/com/platform/dao/enums/ProduceRecordTypeEnum.java

@@ -44,7 +44,11 @@ public enum ProduceRecordTypeEnum {
     /**
      * 液位
      */
-    YEWEI(8);
+    YEWEI(8),
+    /**
+     * 主要原物料用量-库存
+     */
+    XCL_STOCK(9);
 
     private final Integer value;
 

+ 11 - 0
platform-rest/src/main/java/com/platform/rest/controller/produce/ProduceController.java

@@ -92,6 +92,17 @@ public class ProduceController {
         return new R<>(produceRecordService.saveIgnoresStrStock(produceRecordDTO.getStr()));
     }
 
+    /**
+     * 新增记录-str类型,后台自行解析
+     *
+     * @param produceRecordDTO
+     * @return R
+     */
+    @SysLog("新增原料库存同步记录")
+    @PostMapping("/record/stock/xcl")
+    public R saveRecordStockXCL(@Validated({AddGroup.class}) @RequestBody ProduceRecordDTO produceRecordDTO) {
+        return new R<>(produceRecordService.saveIgnoresStrStockXCL(produceRecordDTO.getStr()));
+    }
 
     /**
      * 接收设备管理系统发送的-电力记录

+ 9 - 0
platform-service/src/main/java/com/platform/service/produce/ProduceRecordService.java

@@ -67,5 +67,14 @@ public interface ProduceRecordService extends IBaseService<ProduceRecord, Produc
      * @return :
      */
     ProduceRecord saveIgnoresStrStock(String str);
+
+    /**
+     * 主要原物料用量-库存
+     *
+     * @param str :
+     * @return :
+     */
+    ProduceRecord saveIgnoresStrStockXCL(String str);
+
     ProduceRecordVO sumMonthYear(ProduceRecordDTO record);
 }

+ 43 - 0
platform-service/src/main/java/com/platform/service/produce/impl/ProduceRecordServiceImpl.java

@@ -155,6 +155,49 @@ public class ProduceRecordServiceImpl extends BaseServiceImpl<ProduceRecordMappe
         return record;
     }
 
+    /**
+     * 主要原物料用量-库存
+     *
+     *
+     * 因为编号会重复,所以只能通过日期来判断,如果当前日期已经有了?
+     * 存货编码,存货名称,期末结存数量
+     * <p>
+     * 注意:前端需要处理数字的逗号,把逗号去掉才行,把数字逗号去掉
+     * python: text = text.replace(",", "")
+     *
+     * @param str
+     * @return
+     */
+    @Override
+    public ProduceRecord saveIgnoresStrStockXCL(String str) {
+        log.info("str: " + str);
+        ProduceRecord record = new ProduceRecord();
+        String[] strs = str.split(",");
+        if (strs[0].trim().isEmpty()) {
+            return null;
+        }
+
+        // 如果不是 这三个数据,就返回,不写入
+        /*if (!"0300027".equals(strs[0].trim()) && !"0300083".equals(strs[0].trim()) && !"0300073".equals(strs[0].trim())) {
+            return null;
+        }*/
+        record.setProductNo(strs[0].trim());
+        record.setProductName(strs[1]);
+        if (strs.length == 2 || StringUtils.isBlank(strs[2])) {
+            record.setNum(new BigDecimal(0));
+        } else {
+            record.setNum(new BigDecimal(strs[2].trim()));
+        }
+        record.setTypeName("主要原物料用量库存");
+        record.setType(ProduceRecordTypeEnum.XCL_STOCK.getValue());
+        record.setId(IdGeneratorUtils.getObjectId());
+        record.setCreatedTime(LocalDateTime.now());
+        record.setStatus(YesNoEnum.NO.getValue());
+        record.setDate(LocalDate.now());
+        mapper.insert(record);
+        return record;
+    }
+
     @Override
     public ProduceRecordVO sumMonthYear(ProduceRecordDTO record) {
         ProduceRecordVO vo = mapper.sumMonthYear(record);