Browse Source

Merge remote-tracking branch 'origin/master'

qt5107 2 years ago
parent
commit
b844000f46
25 changed files with 383 additions and 65 deletions
  1. 1 1
      hx-common/code-generator/src/main/java/com/fjhx/modular/SyringeProduction.java
  2. 5 0
      hx-service-api/storage-api/src/main/java/com/fjhx/entity/stock/StockBackPlanDetails.java
  3. 15 0
      hx-service-api/storage-api/src/main/java/com/fjhx/params/stock/StatisticsResult.java
  4. 2 0
      hx-service-api/syringe-production-api/src/main/java/com/fjhx/constants/RedisConstant.java
  5. 34 0
      hx-service-api/syringe-production-api/src/main/java/com/fjhx/entity/data/DataPacker.java
  6. 17 0
      hx-service-api/syringe-production-api/src/main/java/com/fjhx/params/data/DataPackerEx.java
  7. 17 0
      hx-service-api/syringe-production-api/src/main/java/com/fjhx/params/data/DataPackerVo.java
  8. 1 4
      hx-service-api/victoriatourist-api/src/main/java/com/fjhx/entity/order/OrderFollow.java
  9. 13 0
      hx-service/storage/src/main/java/com/fjhx/stock/controller/StockBackController.java
  10. 3 1
      hx-service/storage/src/main/java/com/fjhx/stock/mapper/StockBackMapper.xml
  11. 2 0
      hx-service/storage/src/main/java/com/fjhx/stock/mapper/StockBackPlanMapper.java
  12. 11 0
      hx-service/storage/src/main/java/com/fjhx/stock/mapper/StockBackPlanMapper.xml
  13. 3 1
      hx-service/storage/src/main/java/com/fjhx/stock/service/StockBackDetailsService.java
  14. 18 2
      hx-service/storage/src/main/java/com/fjhx/stock/service/impl/StockBackDetailsServiceImpl.java
  15. 51 16
      hx-service/storage/src/main/java/com/fjhx/stock/service/impl/StockBackPlanServiceImpl.java
  16. 8 6
      hx-service/storage/src/main/java/com/fjhx/stock/service/impl/StockBackServiceImpl.java
  17. 13 23
      hx-service/storage/src/main/java/com/fjhx/stock/service/impl/StockCheckrecordServiceImpl.java
  18. 41 0
      hx-service/syringe-production/src/main/java/com/fjhx/controller/data/DataPackerController.java
  19. 16 0
      hx-service/syringe-production/src/main/java/com/fjhx/mapper/data/DataPackerMapper.java
  20. 5 0
      hx-service/syringe-production/src/main/java/com/fjhx/mapper/data/DataPackerMapper.xml
  21. 23 0
      hx-service/syringe-production/src/main/java/com/fjhx/service/data/DataPackerService.java
  22. 72 0
      hx-service/syringe-production/src/main/java/com/fjhx/service/data/impl/DataPackerServiceImpl.java
  23. 1 0
      hx-service/victoriatourist/src/main/java/com/fjhx/mapper/order/OrderInfoMapper.xml
  24. 1 1
      hx-service/victoriatourist/src/main/java/com/fjhx/service/order/impl/OrderFollowServiceImpl.java
  25. 10 10
      hx-service/victoriatourist/src/main/java/com/fjhx/service/order/impl/OrderInfoInfoServiceImpl.java

+ 1 - 1
hx-common/code-generator/src/main/java/com/fjhx/modular/SyringeProduction.java

@@ -12,7 +12,7 @@ public class SyringeProduction {
         CodeGenerator.MODULAR_NAME = "syringe-production";
 
         // 需要生成的表名称,多表用,隔开
-        CodeGenerator.INCLUDE = "factory_product";
+        CodeGenerator.INCLUDE = "data_packer";
 
         // mysql连接
         CodeGenerator.MYSQL_URL = "36.134.91.96:17330";

+ 5 - 0
hx-service-api/storage-api/src/main/java/com/fjhx/entity/stock/StockBackPlanDetails.java

@@ -132,6 +132,11 @@ public class StockBackPlanDetails implements Serializable {
     private BigDecimal transferOutArea;
 
     /**
+     * 布头布尾面料
+     */
+    private BigDecimal headTailCorrectArea;
+
+    /**
      * 创建时间
      */
     private Date createTime;

+ 15 - 0
hx-service-api/storage-api/src/main/java/com/fjhx/params/stock/StatisticsResult.java

@@ -9,6 +9,11 @@ import java.math.BigDecimal;
 public class StatisticsResult {
 
     /**
+     * 工艺
+     */
+    private String tech;
+
+    /**
      * 排班面积
      */
     private BigDecimal scheduleArea;
@@ -93,6 +98,11 @@ public class StatisticsResult {
     private BigDecimal transferOutArea;
 
     /**
+     * 布头布尾面料
+     */
+    private BigDecimal headTailCorrectArea;
+
+    /**
      * 用户id
      */
     private String userId;
@@ -130,6 +140,7 @@ public class StatisticsResult {
                 .subtract(getBackArea())
                 .subtract(getCorrectArea())
                 .subtract(getTransferOutArea())
+                .subtract(getHeadTailCorrectArea())
                 .add(getTransferInArea());
     }
 
@@ -187,4 +198,8 @@ public class StatisticsResult {
     public BigDecimal getTransferOutArea() {
         return BigDecimalUtil.keepDecimals(transferOutArea);
     }
+
+    public BigDecimal getHeadTailCorrectArea() {
+        return BigDecimalUtil.keepDecimals(headTailCorrectArea);
+    }
 }

+ 2 - 0
hx-service-api/syringe-production-api/src/main/java/com/fjhx/constants/RedisConstant.java

@@ -6,6 +6,8 @@ public interface RedisConstant {
 
     String DATA_AUTOCLAVES = PREFIX + "dataAutoclaves:";
 
+    String DATA_PACKER = PREFIX + "dataPacker:";
+
     /**
      * 设备数据前缀
      */

+ 34 - 0
hx-service-api/syringe-production-api/src/main/java/com/fjhx/entity/data/DataPacker.java

@@ -0,0 +1,34 @@
+package com.fjhx.entity.data;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.Version;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fjhx.base.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 包装机数据
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-12-19
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class DataPacker extends BaseEntity {
+
+
+    /**
+     * 设备id
+     */
+    private String machineId;
+
+    /**
+     * 灭菌柜数据
+     */
+    private String jsonData;
+
+
+}

+ 17 - 0
hx-service-api/syringe-production-api/src/main/java/com/fjhx/params/data/DataPackerEx.java

@@ -0,0 +1,17 @@
+package com.fjhx.params.data;
+
+import com.fjhx.entity.data.DataPacker;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 包装机数据
+ *
+ * @author ${author}
+ * @since 2022-12-19
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class DataPackerEx extends DataPacker {
+
+}

+ 17 - 0
hx-service-api/syringe-production-api/src/main/java/com/fjhx/params/data/DataPackerVo.java

@@ -0,0 +1,17 @@
+package com.fjhx.params.data;
+
+import com.fjhx.entity.data.DataPacker;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 包装机数据
+ *
+ * @author ${author}
+ * @since 2022-12-19
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class DataPackerVo extends DataPacker {
+
+}

+ 1 - 4
hx-service-api/victoriatourist-api/src/main/java/com/fjhx/entity/order/OrderFollow.java

@@ -1,8 +1,5 @@
 package com.fjhx.entity.order;
 
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.Version;
-import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.fjhx.base.BaseEntity;
@@ -26,7 +23,7 @@ public class OrderFollow extends BaseEntity {
     /**
      * 订单id
      */
-    private Long oredrInfoId;
+    private Long orderInfoId;
 
     /**
      * 售后状态 1跟进中(补发中、未补发未收到退货) 2已补发 3未补发收到退货 4已补发收到退货 5已补发未收到退货 6结束

+ 13 - 0
hx-service/storage/src/main/java/com/fjhx/stock/controller/StockBackController.java

@@ -239,5 +239,18 @@ public class StockBackController {
         return R.success();
     }
 
+
+    // /**
+    //  * 领料
+    //  */
+    // @PostMapping("/picking")
+    // public R picking(@RequestBody Condition condition) {
+    //
+    //     List<Map<String, Object>> result = stockBackDetailsService.picking(condition);
+    //
+    //     return R.success(result);
+    // }
+
+
 }
 

+ 3 - 1
hx-service/storage/src/main/java/com/fjhx/stock/mapper/StockBackMapper.xml

@@ -175,6 +175,7 @@
         uu.JobNo jobNo,
         uu.RealName userName,
         sbpd.plan_material materialName,
+        sbpd.tech tech,
         sum(sbpd.quantity) scheduleArea,
         sum(sbpd.correct_area) correctArea,
         sum(sbpd.picking_money) pickingMoney,
@@ -186,7 +187,8 @@
         sum(sbpd.back_meters) backMeters,
         sum(sbpd.back_area) backArea,
         sum(sbpd.transfer_in_area) transferInArea,
-        sum(sbpd.transfer_out_area) transferOutArea
+        sum(sbpd.transfer_out_area) transferOutArea,
+        sum(sbpd.head_tail_correct_area) headTailCorrectArea
         from stock_back_plan_details sbpd
         left join u_user uu on uu.JobNo = sbpd.job_no
         where

+ 2 - 0
hx-service/storage/src/main/java/com/fjhx/stock/mapper/StockBackPlanMapper.java

@@ -41,4 +41,6 @@ public interface StockBackPlanMapper extends BaseMapper<StockBackPlan> {
     @TenantIgnore
     List<Map<String, Object>> getReturnWarehouse(@Param("ew") QueryWrapper<Object> wrapper);
 
+    List<Map<String, Object>> getHeadTailCorrectList(@Param("ew") QueryWrapper<Object> wrapper);
+
 }

+ 11 - 0
hx-service/storage/src/main/java/com/fjhx/stock/mapper/StockBackPlanMapper.xml

@@ -97,4 +97,15 @@
             ${ew.customSqlSegment}
     </select>
 
+    <select id="getHeadTailCorrectList" resultType="java.util.Map">
+        SELECT sc.correct_area area,
+               sc.correct_date createTime,
+               m.NAME          materialName,
+               uu.JobNo        jobNo
+        FROM stock_correct sc
+                 LEFT JOIN material m ON sc.material_id = m.ID
+                 LEFT JOIN u_user uu ON sc.correct_user = uu.ID
+            ${ew.customSqlSegment}
+    </select>
+
 </mapper>

+ 3 - 1
hx-service/storage/src/main/java/com/fjhx/stock/service/StockBackDetailsService.java

@@ -1,9 +1,9 @@
 package com.fjhx.stock.service;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.base.BaseService;
 import com.fjhx.entity.stock.StockBackDetails;
 import com.fjhx.params.stock.StockBackDetailsVo;
-import com.fjhx.base.BaseService;
 
 import java.util.Map;
 
@@ -25,4 +25,6 @@ public interface StockBackDetailsService extends BaseService<StockBackDetails> {
 
     void delete(StockBackDetailsVo stockBackDetailsVo);
 
+    // List<Map<String, Object>> picking(Condition condition);
+
 }

+ 18 - 2
hx-service/storage/src/main/java/com/fjhx/stock/service/impl/StockBackDetailsServiceImpl.java

@@ -3,12 +3,12 @@ package com.fjhx.stock.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.fjhx.utils.WrapperUtil;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.entity.stock.StockBackDetails;
 import com.fjhx.params.stock.StockBackDetailsVo;
 import com.fjhx.stock.mapper.StockBackDetailsMapper;
 import com.fjhx.stock.service.StockBackDetailsService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.utils.WrapperUtil;
 import org.springframework.stereotype.Service;
 
 import java.util.Map;
@@ -51,4 +51,20 @@ public class StockBackDetailsServiceImpl extends ServiceImpl<StockBackDetailsMap
         removeById(stockBackDetailsVo.getId());
     }
 
+    // @Override
+    // public List<Map<String, Object>> picking(Condition condition) {
+    //
+    //     // 人员
+    //     String userId = condition.getStr("userId");
+    //     // 开始时间
+    //     Date beginTime = condition.getBeginTime();
+    //     // 结束时间
+    //     Date endTime = condition.getEndTime();
+    //     // 物料名称
+    //     String materialName = condition.getStr("materialName");
+    //
+    //
+    //     return null;
+    // }
+
 }

+ 51 - 16
hx-service/storage/src/main/java/com/fjhx/stock/service/impl/StockBackPlanServiceImpl.java

@@ -4,7 +4,6 @@ import cn.hutool.core.convert.Convert;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.constants.StatusConstant;
@@ -140,7 +139,7 @@ public class StockBackPlanServiceImpl extends ServiceImpl<StockBackPlanMapper, S
 
             // 工号,物料名称,排班时间封装成key,对象为value
             Map<String, StockBackPlanDetails> stockBackPlanMap = list.stream().collect(Collectors.toMap(
-                    item -> item.getJobNo() + item.getPlanMaterial() + item.getPlanTime(),
+                    item -> item.getJobNo() + item.getPlanMaterial() + item.getPlanTime().getTime(),
                     item -> {
                         StockBackPlanDetails stockBackPlanDetails =
                                 createStockBackPlanDetails(item.getJobNo(), item.getPlanMaterial(), item.getPlanTime());
@@ -171,12 +170,16 @@ public class StockBackPlanServiceImpl extends ServiceImpl<StockBackPlanMapper, S
             // 转出
             transferOut(beginDate, stockBackPlanMap);
 
+            // 布头布尾修正
+            headTailCorrect(beginDate, stockBackPlanMap);
+
             stockBackPlanDetailsService.saveBatch(new ArrayList<>(stockBackPlanMap.values()));
 
         }
 
     }
 
+
     private StockBackPlanDetails createStockBackPlanDetails(String jobNo, String materialName, Date planDate) {
         StockBackPlanDetails stockBackPlanDetails = new StockBackPlanDetails();
         stockBackPlanDetails.setPlanMaterial(materialName);
@@ -205,6 +208,8 @@ public class StockBackPlanServiceImpl extends ServiceImpl<StockBackPlanMapper, S
         stockBackPlanDetails.setTransferInArea(BigDecimal.ZERO);
         stockBackPlanDetails.setTransferInNum(0);
 
+        stockBackPlanDetails.setHeadTailCorrectArea(BigDecimal.ZERO);
+
         stockBackPlanDetails.setCreateTime(new Date());
 
         return stockBackPlanDetails;
@@ -291,10 +296,10 @@ public class StockBackPlanServiceImpl extends ServiceImpl<StockBackPlanMapper, S
             BigDecimal width = BigDecimalUtil.keepDecimals(map.get("width"));
 
             // 排班对象
-            StockBackPlanDetails stockBackPlanDetails = stockBackPlanMap.get(jobNo + materialName + planDate);
+            StockBackPlanDetails stockBackPlanDetails = stockBackPlanMap.get(jobNo + materialName + planDate.getTime());
             if (stockBackPlanDetails == null) {
                 stockBackPlanDetails = createStockBackPlanDetails(jobNo, materialName, planDate);
-                stockBackPlanMap.put(jobNo + materialName + planDate, stockBackPlanDetails);
+                stockBackPlanMap.put(jobNo + materialName + planDate.getTime(), stockBackPlanDetails);
             }
 
             // 金额
@@ -353,10 +358,10 @@ public class StockBackPlanServiceImpl extends ServiceImpl<StockBackPlanMapper, S
             BigDecimal width = BigDecimalUtil.keepDecimals(map.get("width"));
 
             // 排班对象
-            StockBackPlanDetails stockBackPlanDetails = stockBackPlanMap.get(jobNo + materialName + planDate);
+            StockBackPlanDetails stockBackPlanDetails = stockBackPlanMap.get(jobNo + materialName + planDate.getTime());
             if (stockBackPlanDetails == null) {
                 stockBackPlanDetails = createStockBackPlanDetails(jobNo, materialName, planDate);
-                stockBackPlanMap.put(jobNo + materialName + planDate, stockBackPlanDetails);
+                stockBackPlanMap.put(jobNo + materialName + planDate.getTime(), stockBackPlanDetails);
             }
 
             // 金额
@@ -417,10 +422,10 @@ public class StockBackPlanServiceImpl extends ServiceImpl<StockBackPlanMapper, S
             BigDecimal width = BigDecimalUtil.keepDecimals(map.get("width"));
 
             // 排班对象
-            StockBackPlanDetails stockBackPlanDetails = stockBackPlanMap.get(jobNo + materialName + planDate);
+            StockBackPlanDetails stockBackPlanDetails = stockBackPlanMap.get(jobNo + materialName + planDate.getTime());
             if (stockBackPlanDetails == null) {
                 stockBackPlanDetails = createStockBackPlanDetails(jobNo, materialName, planDate);
-                stockBackPlanMap.put(jobNo + materialName + planDate, stockBackPlanDetails);
+                stockBackPlanMap.put(jobNo + materialName + planDate.getTime(), stockBackPlanDetails);
             }
 
             // 金额
@@ -476,10 +481,10 @@ public class StockBackPlanServiceImpl extends ServiceImpl<StockBackPlanMapper, S
             BigDecimal width = BigDecimalUtil.keepDecimals(map.get("width"));
 
             // 排班对象
-            StockBackPlanDetails stockBackPlanDetails = stockBackPlanMap.get(jobNo + materialName + planDate);
+            StockBackPlanDetails stockBackPlanDetails = stockBackPlanMap.get(jobNo + materialName + planDate.getTime());
             if (stockBackPlanDetails == null) {
                 stockBackPlanDetails = createStockBackPlanDetails(jobNo, materialName, planDate);
-                stockBackPlanMap.put(jobNo + materialName + planDate, stockBackPlanDetails);
+                stockBackPlanMap.put(jobNo + materialName + planDate.getTime(), stockBackPlanDetails);
             }
 
             // 金额
@@ -523,10 +528,10 @@ public class StockBackPlanServiceImpl extends ServiceImpl<StockBackPlanMapper, S
             BigDecimal correctArea = BigDecimalUtil.keepDecimals(map.get("correctArea"));
 
             // 排班对象
-            StockBackPlanDetails stockBackPlanDetails = stockBackPlanMap.get(jobNo + materialName + planDate);
+            StockBackPlanDetails stockBackPlanDetails = stockBackPlanMap.get(jobNo + materialName + planDate.getTime());
             if (stockBackPlanDetails == null) {
                 stockBackPlanDetails = createStockBackPlanDetails(jobNo, materialName, planDate);
-                stockBackPlanMap.put(jobNo + materialName + planDate, stockBackPlanDetails);
+                stockBackPlanMap.put(jobNo + materialName + planDate.getTime(), stockBackPlanDetails);
             }
             // 金额
             stockBackPlanDetails.setCorrectArea(stockBackPlanDetails.getCorrectArea().add(correctArea));
@@ -572,10 +577,10 @@ public class StockBackPlanServiceImpl extends ServiceImpl<StockBackPlanMapper, S
             BigDecimal width = BigDecimalUtil.keepDecimals(map.get("width"));
 
             // 排班对象
-            StockBackPlanDetails stockBackPlanDetails = stockBackPlanMap.get(jobNo + materialName + planDate);
+            StockBackPlanDetails stockBackPlanDetails = stockBackPlanMap.get(jobNo + materialName + planDate.getTime());
             if (stockBackPlanDetails == null) {
                 stockBackPlanDetails = createStockBackPlanDetails(jobNo, materialName, planDate);
-                stockBackPlanMap.put(jobNo + materialName + planDate, stockBackPlanDetails);
+                stockBackPlanMap.put(jobNo + materialName + planDate.getTime(), stockBackPlanDetails);
             }
 
             // 金额
@@ -633,10 +638,10 @@ public class StockBackPlanServiceImpl extends ServiceImpl<StockBackPlanMapper, S
             BigDecimal width = BigDecimalUtil.keepDecimals(map.get("width"));
 
             // 排班对象
-            StockBackPlanDetails stockBackPlanDetails = stockBackPlanMap.get(jobNo + materialName + planDate);
+            StockBackPlanDetails stockBackPlanDetails = stockBackPlanMap.get(jobNo + materialName + planDate.getTime());
             if (stockBackPlanDetails == null) {
                 stockBackPlanDetails = createStockBackPlanDetails(jobNo, materialName, planDate);
-                stockBackPlanMap.put(jobNo + materialName + planDate, stockBackPlanDetails);
+                stockBackPlanMap.put(jobNo + materialName + planDate.getTime(), stockBackPlanDetails);
             }
 
             // 金额
@@ -655,4 +660,34 @@ public class StockBackPlanServiceImpl extends ServiceImpl<StockBackPlanMapper, S
         }
     }
 
+    private void headTailCorrect(Date beginDate, Map<String, StockBackPlanDetails> stockBackPlanMap) {
+        List<Map<String, Object>> list = baseMapper.getHeadTailCorrectList(Wrappers.query()
+                .ge("sc.correct_date", beginDate)
+                .notIn("m.CategoryCode", "99.999.", "01.007.")
+        );
+
+        for (Map<String, Object> map : list) {
+
+            // 工号
+            String jobNo = map.get("jobNo").toString();
+            // 物料名称
+            String materialName = map.get("materialName").toString().split("-")[0];
+            // 排班时间
+            Date planDate = DateUtil.beginOfDay((Date) map.get("createTime"));
+
+
+            // 排班对象
+            StockBackPlanDetails stockBackPlanDetails = stockBackPlanMap.get(jobNo + materialName + planDate.getTime());
+            if (stockBackPlanDetails == null) {
+                stockBackPlanDetails = createStockBackPlanDetails(jobNo, materialName, planDate);
+                stockBackPlanMap.put(jobNo + materialName + planDate.getTime(), stockBackPlanDetails);
+            }
+
+            // 面积
+            stockBackPlanDetails.setHeadTailCorrectArea(stockBackPlanDetails.getHeadTailCorrectArea().add(
+                    Convert.toBigDecimal(map.get("area"), BigDecimal.ZERO)));
+        }
+
+    }
+
 }

+ 8 - 6
hx-service/storage/src/main/java/com/fjhx/stock/service/impl/StockBackServiceImpl.java

@@ -309,7 +309,8 @@ public class StockBackServiceImpl extends ServiceImpl<StockBackMapper, StockBack
         Assert.notEmpty(endTimeStr, "结束时间不能为空");
         Date endTime = DateUtil.endOfDay(DateUtil.parse(endTimeStr));
 
-        List<Map<String, Object>> userList = userList();
+        List<Map<String, Object>> userList = baseMapper.userStatistics(
+                Wrappers.query().eq("uu.IsDelete", 0).isNotNull("uu.JobNo"));
 
         List<StockBackPlanDetails> planList = stockBackPlanDetailsService.list(Wrappers.<StockBackPlanDetails>lambdaQuery()
                 .between(StockBackPlanDetails::getPlanTime, beginTime, endTime)
@@ -335,7 +336,7 @@ public class StockBackServiceImpl extends ServiceImpl<StockBackMapper, StockBack
             List<Map<String, Object>> list = new ArrayList<>();
 
             v.forEach((k2, v2) -> {
-                Map<String, Object> map = jobNoMap.get(k);
+                Map<String, Object> map = jobNoMap.get(k2);
                 if (map != null) {
                     if (v2 != null && v2.size() > 0) {
                         BigDecimal scheduleArea = BigDecimal.ZERO;
@@ -345,8 +346,8 @@ public class StockBackServiceImpl extends ServiceImpl<StockBackMapper, StockBack
 
                         for (StockBackPlanDetails item : v2) {
                             scheduleArea = scheduleArea.add(item.getQuantity());
-                            pickingArea = pickingArea.add(item.getPickingArea()).add(item.getTransferInArea() == null ? BigDecimal.ZERO : item.getTransferInArea());
-                            backArea = backArea.add(item.getBackArea()).add(item.getTransferOutArea() == null ? BigDecimal.ZERO : item.getTransferOutArea());
+                            pickingArea = pickingArea.add(item.getPickingArea()).add(ObjectUtil.defaultIfNull(item.getTransferInArea(), BigDecimal.ZERO));
+                            backArea = backArea.add(item.getBackArea()).add(ObjectUtil.defaultIfNull(item.getTransferOutArea(), BigDecimal.ZERO));
                             correctArea = correctArea.add(item.getCorrectArea());
                         }
 
@@ -407,8 +408,9 @@ public class StockBackServiceImpl extends ServiceImpl<StockBackMapper, StockBack
             result.setBackNum(result.getBackNum() + item.getBackNum());
             result.setBackMeters(result.getBackMeters().add(item.getBackMeters()));
             result.setBackArea(result.getBackArea().add(item.getBackArea()));
-            result.setTransferInArea(result.getTransferInArea().add(item.getTransferInArea() == null ? BigDecimal.ZERO : item.getTransferInArea()));
-            result.setTransferOutArea(result.getTransferOutArea().add(item.getTransferOutArea() == null ? BigDecimal.ZERO : item.getTransferOutArea()));
+            result.setTransferInArea(result.getTransferInArea().add(ObjectUtil.defaultIfNull(item.getTransferInArea(), BigDecimal.ZERO)));
+            result.setTransferOutArea(result.getTransferOutArea().add(ObjectUtil.defaultIfNull(item.getTransferOutArea(), BigDecimal.ZERO)));
+            result.setHeadTailCorrectArea(result.getHeadTailCorrectArea().add(ObjectUtil.defaultIfNull(item.getHeadTailCorrectArea(), BigDecimal.ZERO)));
         }
 
         return result;

+ 13 - 23
hx-service/storage/src/main/java/com/fjhx/stock/service/impl/StockCheckrecordServiceImpl.java

@@ -98,26 +98,22 @@ public class StockCheckrecordServiceImpl extends ServiceImpl<StockCheckrecordMap
         List<String> rfidList = map.remove(stockHouseId);
 
         ArrayList<String> copyRfidList = new ArrayList<>(rfidList);
-        List<String> excludeRfidCodeList = new ArrayList<>();
 
-        if (rfidList.size() > 0) {
-            List<Map<String, Object>> list = stockDetailService.listMaps(Wrappers.<StockDetail>query()
-                    .ge("ExpiredDt", date)
-                    .select("RfidCode rfidCode")
-            );
-
-            excludeRfidCodeList = list.stream().map(item -> Convert.toStr(item.get("rfidCode"))).collect(Collectors.toList());
+        // 默认在库rfid
+        List<Map<String, Object>> inHouseList = stockDetailService.listMaps(Wrappers.<StockDetail>query()
+                .select("RfidCode rfidCode"));
 
-            for (Map<String, Object> map : list) {
-                rfidList.remove(Convert.toStr(map.get("rfidCode")));
+        for (Map<String, Object> map : inHouseList) {
+            String rfidCode = Convert.toStr(map.get("rfidCode"));
+            if (!rfidList.contains(rfidCode)) {
+                rfidList.add(rfidCode);
             }
         }
 
-        log.error("\r\n盘点结束:\r\n扫描仓库:{}\r\n扫描到的rfid:{},\r\n排除的rfid:{},\r\n排除之后的rfid:{}",
-                stockHouseId.equals("c185883dba22478cb593d33f6b66cc53") ? "一楼仓库" : "四楼仓库",
+        log.error("\r\n盘点结束:\r\n扫描仓库:{}\r\n扫描到的rfid:{},\r\n添加默认在库后的rfid:{}",
+                (stockHouseId.equals("c185883dba22478cb593d33f6b66cc53") ? "一楼仓库" : "四楼仓库") + stockHouseId,
                 JSONObject.toJSONString(copyRfidList),
-                JSONObject.toJSONString(excludeRfidCodeList),
-                rfidList
+                JSONObject.toJSONString(rfidList)
         );
 
         // 添加盘点记录
@@ -143,7 +139,6 @@ public class StockCheckrecordServiceImpl extends ServiceImpl<StockCheckrecordMap
                         "sum(Quantity) quantity" // 库存数量
                 )
                 .eq("StockHouseId", stockHouseId) // 对应仓库id
-                .lt("ExpiredDt", date) // 排除确认在库的标签
                 .eq("IsDelete", "0") // 未删除
                 .groupBy("MaterialCode") // 物料编码分组
         );
@@ -187,12 +182,7 @@ public class StockCheckrecordServiceImpl extends ServiceImpl<StockCheckrecordMap
             // 获取此物料库存信息,并删除map中的物料信息
             Map<String, Object> stock = stockMap.remove(materialCode);
 
-            // 无库存信息
-            if (stock == null) {
-                // 添加异常,扫描出rfid,但库存没有
-//                list.add(createStockCheckrecorddetail(
-//                        date, recordId, stockHouseId, materialCode, BigDecimal.ZERO, quantity, 0, count));
-            } else {
+            if (stock != null) {
                 // 库存卷数
                 int stockCount = Convert.toInt(stock.get("count"), 0);
                 // 库存数量
@@ -200,8 +190,8 @@ public class StockCheckrecordServiceImpl extends ServiceImpl<StockCheckrecordMap
 
                 // 库存卷数大于扫描卷数
                 if (stockCount > count) {
-                    list.add(createStockCheckrecorddetail(
-                            date, recordId, stockHouseId, materialCode, stockQuantity, quantity, stockCount, count));
+                    StockCheckrecorddetail stockCheckrecorddetail = createStockCheckrecorddetail(date, recordId, stockHouseId, materialCode, stockQuantity, quantity, stockCount, count);
+                    list.add(stockCheckrecorddetail);
                 }
 
             }

+ 41 - 0
hx-service/syringe-production/src/main/java/com/fjhx/controller/data/DataPackerController.java

@@ -0,0 +1,41 @@
+package com.fjhx.controller.data;
+
+import com.alibaba.fastjson.JSONObject;
+import com.fjhx.base.Condition;
+import com.fjhx.service.data.DataPackerService;
+import org.springblade.core.tool.api.R;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 包装机数据 前端控制器
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-12-19
+ */
+@RestController
+@RequestMapping("/dataPacker")
+public class DataPackerController {
+
+    @Autowired
+    private DataPackerService dataPackerService;
+
+    @PostMapping("/add")
+    public R add(@RequestBody JSONObject json) {
+        boolean flag = dataPackerService.add(json);
+        return R.success(flag);
+    }
+
+    @PostMapping("/getData")
+    public R getData(@RequestBody Condition condition) {
+        JSONObject result = dataPackerService.getData(condition);
+        return R.success(result);
+    }
+
+}
+

+ 16 - 0
hx-service/syringe-production/src/main/java/com/fjhx/mapper/data/DataPackerMapper.java

@@ -0,0 +1,16 @@
+package com.fjhx.mapper.data;
+
+import com.fjhx.entity.data.DataPacker;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 包装机数据 Mapper 接口
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-12-19
+ */
+public interface DataPackerMapper extends BaseMapper<DataPacker> {
+
+}

+ 5 - 0
hx-service/syringe-production/src/main/java/com/fjhx/mapper/data/DataPackerMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fjhx.mapper.data.DataPackerMapper">
+
+</mapper>

+ 23 - 0
hx-service/syringe-production/src/main/java/com/fjhx/service/data/DataPackerService.java

@@ -0,0 +1,23 @@
+package com.fjhx.service.data;
+
+import com.alibaba.fastjson.JSONObject;
+import com.fjhx.base.BaseService;
+import com.fjhx.base.Condition;
+import com.fjhx.entity.data.DataPacker;
+
+/**
+ * <p>
+ * 包装机数据 服务类
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-12-19
+ */
+public interface DataPackerService extends BaseService<DataPacker> {
+
+    boolean add(JSONObject json);
+
+    JSONObject getData(Condition condition);
+
+
+}

+ 72 - 0
hx-service/syringe-production/src/main/java/com/fjhx/service/data/impl/DataPackerServiceImpl.java

@@ -0,0 +1,72 @@
+package com.fjhx.service.data.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.base.Condition;
+import com.fjhx.constants.RedisConstant;
+import com.fjhx.entity.data.DataPacker;
+import com.fjhx.mapper.data.DataPackerMapper;
+import com.fjhx.service.data.DataPackerService;
+import org.springblade.core.redis.cache.BladeRedis;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.Date;
+
+/**
+ * <p>
+ * 包装机数据 服务实现类
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-12-19
+ */
+@Service
+public class DataPackerServiceImpl extends ServiceImpl<DataPackerMapper, DataPacker> implements DataPackerService {
+
+    @Resource
+    private BladeRedis bladeRedis;
+
+
+    @Override
+    public boolean add(JSONObject json) {
+
+        bladeRedis.set(RedisConstant.DATA_PACKER, json);
+
+        // JSONObject module = json.getJSONObject("Module");
+        // String machineId = module.getString("MachineId");
+
+        DataPacker dataPacker = new DataPacker();
+        dataPacker.setJsonData(json.toJSONString());
+        // dataPacker.setMachineId(machineId);
+        dataPacker.setCreateTime(new Date());
+
+        return save(dataPacker);
+    }
+
+    @Override
+    public JSONObject getData(Condition condition) {
+        // String nodeId = condition.getStr("nodeId");
+        // Assert.notEmpty(nodeId, "设备标识不能够为空");
+
+        JSONObject json = bladeRedis.get(RedisConstant.DATA_PACKER);
+
+        if (json == null) {
+            DataPacker dataPacker = getOne(Wrappers.<DataPacker>lambdaQuery()
+                    // .eq(DataPacker::getMachineId, nodeId)
+                    .orderByDesc(DataPacker::getId)
+                    .last("limit 1"));
+
+            if (dataPacker == null) {
+                return new JSONObject();
+            }
+
+            json = JSONObject.parseObject(dataPacker.getJsonData());
+            bladeRedis.set(RedisConstant.DATA_PACKER, json);
+        }
+
+        return json;
+    }
+
+}

+ 1 - 0
hx-service/victoriatourist/src/main/java/com/fjhx/mapper/order/OrderInfoMapper.xml

@@ -20,6 +20,7 @@
                oi.phone_prefix_type,
                oi.remark,
                oi.create_time,
+               oi.after_sales_status,
                ci.name customerName
         from order_info oi
                  left join customer_info ci on oi.customer_info_id = ci.id

+ 1 - 1
hx-service/victoriatourist/src/main/java/com/fjhx/service/order/impl/OrderFollowServiceImpl.java

@@ -58,7 +58,7 @@ public class OrderFollowServiceImpl extends ServiceImpl<OrderFollowMapper, Order
         save(orderFollow);
 
         OrderInfo orderInfo = new OrderInfo();
-        orderInfo.setId(orderFollow.getOredrInfoId());
+        orderInfo.setId(orderFollow.getOrderInfoId());
         orderInfo.setAfterSalesStatus(orderFollow.getAfterSalesStatus());
         orderInfoService.updateById(orderInfo);
     }

+ 10 - 10
hx-service/victoriatourist/src/main/java/com/fjhx/service/order/impl/OrderInfoInfoServiceImpl.java

@@ -278,6 +278,7 @@ public class OrderInfoInfoServiceImpl extends ServiceImpl<OrderInfoMapper, Order
         return orderInfoEx;
     }
 
+    @Transactional(rollbackFor = Exception.class)
     @Override
     public void addAfterSales(OrderInfoVo orderInfoVo) {
         Long oldId = orderInfoVo.getId();
@@ -288,21 +289,20 @@ public class OrderInfoInfoServiceImpl extends ServiceImpl<OrderInfoMapper, Order
         orderInfo.setStatus(1);
         orderInfo.setIssueStatus(1);
         orderInfo.setAfterSalesStatus(1);
-        orderInfo.setRemark(orderInfo.getRemark());
+        orderInfo.setRemark(orderInfoVo.getRemark());
         save(orderInfo);
 
         if (orderInfoVo.getType().equals(4)) {
             compensateFlowService.create(orderInfoVo);
-        } else {
-            List<OrderDetails> list = orderDetailsService.list(q -> q.eq(OrderDetails::getOrderId, oldId));
-            for (OrderDetails orderDetails : list) {
-                orderDetails.setId(null);
-                orderDetails.setOrderId(orderInfo.getId());
-                orderDetails.setNotIssuedQuantity(orderDetails.getQuantity());
-                orderDetails.setRemark(null);
-            }
-            orderDetailsService.saveBatch(list);
         }
+
+        List<OrderDetails> list = orderDetailsService.list(q -> q.eq(OrderDetails::getOrderId, oldId));
+        for (OrderDetails orderDetails : list) {
+            orderDetails.setId(null);
+            orderDetails.setOrderId(orderInfo.getId());
+            orderDetails.setNotIssuedQuantity(orderDetails.getQuantity());
+        }
+        orderDetailsService.saveBatch(list);
     }
 
     /**