2 Commits f49b530e7c ... 62027ae109

Author SHA1 Message Date
  wangyuanbo 62027ae109 Merge branch 'master' of http://106.14.142.95:3000/wangyuanbo/bt 2 years ago
  wangyuanbo 5faf56ad5c 完善换料接口商品是否缺料的逻辑 修复生产完成后料筒物料和商品物料的状态bug 2 years ago

+ 8 - 5
imcs-bt-be/imcs-authority-server/src/main/java/com/github/zuihou/api/AndroidApi.java

@@ -269,6 +269,7 @@ public class AndroidApi {
                     item.setBarrelCode(list.get(0).getBarrelCode());
                 }
             });
+            System.out.println("支付成功,配方是"+JSON.toJSONString(formulaList));
             resultMap.put("productConfig", formulaList);
         } else if (wxStatus.equals("REFUND")) {
 //转入退款
@@ -445,20 +446,22 @@ public class AndroidApi {
         BaseContextHandler.setTenant("0000");
         String orderId = req.get("orderId");
         String orderStatus = req.get("orderStatus");
-        String equId = req.get("equId");
-        String speId = req.get("speId");
+
+        Order order = orderService.getById(orderId);
+        Long equId = order.getOrderEquId();
+        Long speId = order.getOrderSpecs();
 
         UpdateWrapper<Order> updateWrapper = new UpdateWrapper<>();
         updateWrapper.eq("id", orderId).set("order_status", orderStatus);
         boolean update = orderService.update(updateWrapper);
 
-        if (orderStatus == "3") {
-//            生产完成,扣减物料,更新料筒和商品状态
+        if (orderStatus.equals("3")) {
+            System.out.println("订单"+orderId+"生产完成,准备扣减物料");
             barrelService.updateBarrel(speId, equId);
             return R.success(update);
         }
 
-        if (orderStatus == "4") {
+        if (orderStatus.equals("4")) {
             //调用微信支付api,发起退款
         }
 

+ 11 - 3
imcs-bt-be/imcs-authority-server/src/main/java/com/github/zuihou/api/OpsAppApi.java

@@ -3,6 +3,7 @@ package com.github.zuihou.api;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollectionUtil;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.zuihou.base.R;
@@ -18,6 +19,7 @@ import com.github.zuihou.business.material.service.MaterialService;
 import com.github.zuihou.business.order.entity.Order;
 import com.github.zuihou.business.order.service.OrderService;
 import com.github.zuihou.business.productionresource.dto.EquGoodsDto;
+import com.github.zuihou.business.productionresource.entity.EquAndGoods;
 import com.github.zuihou.business.productionresource.entity.ProductionResource;
 import com.github.zuihou.business.productionresource.service.EquAndGoodsService;
 import com.github.zuihou.business.productionresource.service.ProductionTenantResourceService;
@@ -68,7 +70,6 @@ public class OpsAppApi {
     @Autowired
     private SpeService speService;
 
-
     /**
      * 设备列表接口
      *
@@ -319,6 +320,7 @@ public class OpsAppApi {
      */
     @PostMapping("/cupRecordSave")
     public R<Boolean> cupRecordSave(@RequestBody EquRecord equRecord) {
+        System.out.println("小程序换料接口");
         BaseContextHandler.setTenant("0000");
         LambdaUpdateWrapper<EquBarrel> updateWrapper = new LambdaUpdateWrapper();
         updateWrapper.set(EquBarrel::getMtrResidue, equRecord.getSpecs()).set(EquBarrel::getExprTime, equRecord.getDate())
@@ -351,11 +353,17 @@ public class OpsAppApi {
                 formulaList.forEach(formula -> {
                     barrelList.forEach(equBarrel -> {
                         if (formula.getFormulaMtId().equals(equBarrel.getMtrId())) {
-                            if(equBarrel.getMtrResidue().compareTo(formula.getFormulaMtQuantity())==1){
+                            System.out.println("小程序换料接口-->配方中的原料" + formula.getFormulaMtId() + "和料筒中的原料" + equBarrel.getMtrId() + "相同");
+                            UpdateWrapper<EquAndGoods> equGoodsDtoUpdateWrapper = new UpdateWrapper<>();
+
+                            if (equBarrel.getMtrResidue().compareTo(equBarrel.getResidueWarn()) == 1) {
+                                equGoodsDtoUpdateWrapper.set("is_starving", "1").eq("goods_id", equGoodsDto.getGoodsId()).eq("equ_id", equRecord.getEquId());
                                 equGoodsDto.setIsStarving("1");
-                            }else{
+                            } else {
+                                equGoodsDtoUpdateWrapper.set("is_starving", "0");
                                 equGoodsDto.setIsStarving("0");
                             }
+                            equAndGoodsService.update(equGoodsDtoUpdateWrapper);
                         }
                     });
                 });

+ 1 - 2
imcs-bt-be/imcs-business-biz/src/main/java/com/github/zuihou/business/barrel/service/EquBarrelService.java

@@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.zuihou.base.service.SuperService;
 import com.github.zuihou.business.barrel.entity.EquBarrel;
-import com.github.zuihou.business.productionresource.entity.ProductionResource;
 import com.github.zuihou.database.mybatis.conditions.query.QueryWrap;
 
 /**
@@ -18,7 +17,7 @@ import com.github.zuihou.database.mybatis.conditions.query.QueryWrap;
  */
 public interface EquBarrelService extends SuperService<EquBarrel> {
 
-    void updateBarrel(String speId,String equId);
+    void updateBarrel(Long speId,Long equId);
 
     IPage<EquBarrel> pageList(Page<EquBarrel> page, QueryWrap<EquBarrel> equBarrelQueryWrap);
 

+ 11 - 3
imcs-bt-be/imcs-business-biz/src/main/java/com/github/zuihou/business/barrel/service/impl/EquBarrelServiceImpl.java

@@ -1,6 +1,7 @@
 package com.github.zuihou.business.barrel.service.impl;
 
 
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -46,16 +47,19 @@ public class EquBarrelServiceImpl extends SuperServiceImpl<EquBarrelMapper, EquB
     private EquAndGoodsService equAndGoodsService;
 
     @Override
-    public void updateBarrel(String speId, String equId) {
+    public void updateBarrel(Long speId, Long equId) {
+        System.out.println("查询条件:equId="+equId+"--specId="+speId);
 //        查询出配方
         QueryWrap<Formula> formulaQueryWrap = new QueryWrap<>();
         formulaQueryWrap.eq("formula_spe_id", speId);
         List<Formula> formulaList = formulaService.list(formulaQueryWrap);
-
+        System.out.println("查询到的配方" + JSON.toJSONString(formulaList));
 //        查询料筒信息
+
         QueryWrap<EquBarrel> equBarrelQueryWrap = new QueryWrap<>();
         equBarrelQueryWrap.eq("equ_id", equId);
         List<EquBarrel> barrelList = this.list(equBarrelQueryWrap);
+        System.out.println("查询到的料筒" + JSON.toJSONString(barrelList));
 
         //        遍历配方,扣减每种原料的余量
 
@@ -68,15 +72,19 @@ public class EquBarrelServiceImpl extends SuperServiceImpl<EquBarrelMapper, EquB
 //                查询料筒余料
                 BigDecimal mtrResidue = barrel.getMtrResidue();
                 if (barrel.getMtrId().equals(formulaMtId)) {
+                    System.out.println("比对出料筒里的原料" + barrel.getMtrId() + "等于配方里的原料" + formulaMtId);
                     BigDecimal subtract = mtrResidue.subtract(formulaMtQuantity);
+                    System.out.println("料筒原先的余料" + mtrResidue);
+                    System.out.println("料筒生产后的余料" + subtract);
                     UpdateWrapper<EquBarrel> equBarrelUpdateWrapper = new UpdateWrapper<>();
-                    equBarrelUpdateWrapper.eq("mtr_residue", subtract);
+                    equBarrelUpdateWrapper.set("mtr_residue", subtract).eq("id", barrel.getId());
 //                    扣减后,余料达到余料预警,更新料筒余料
                     this.update(equBarrelUpdateWrapper);
                     if (subtract.compareTo(barrel.getResidueWarn()) != 1) {
 //                        扣减后,余料小于余料预警,更新商品缺料
                         Spe spe = speService.getById(speId);
                         Long goodsId = spe.getGoodsId();
+                        System.out.println("商品id" + goodsId + "规格" + speId + "原料不足了");
                         UpdateWrapper<EquAndGoods> equAndGoodsUpdateWrapper = new UpdateWrapper<>();
                         equAndGoodsUpdateWrapper.eq("equ_id", equId).eq("goods_id", goodsId).set("is_starving", "0");
                         equAndGoodsService.update(equAndGoodsUpdateWrapper);