Browse Source

问题处理

yzc 2 years ago
parent
commit
2f7c269293

+ 4 - 1
hx-item/src/main/java/com/fjhx/item/service/product/impl/ProductInfoServiceImpl.java

@@ -66,7 +66,7 @@ public class ProductInfoServiceImpl extends ServiceImpl<ProductInfoMapper, Produ
                 new SqlField("pi", ProductInfo::getCustomCode)
         );
         //计算并根据生命周期过滤
-        wrapper.eq("IF(DATEDIFF(now(),json_unquote( victoriatourist_json -> '$.growUpDay' ))> 0,3,IF(DATEDIFF(now(), json_unquote(victoriatourist_json -> '$.newProductsDay' ))> 0, 2, 1 ))", dto.getLifeCycle());
+        wrapper.eq("IF(DATEDIFF(now(),pi.create_time)> json_unquote( victoriatourist_json -> '$.growUpDay' ),3,IF( DATEDIFF(now(),pi.create_time)> json_unquote( victoriatourist_json -> '$.newProductsDay' ), 2, 1 ))", dto.getLifeCycle());
         wrapper.eq("json_unquote( victoriatourist_json -> '$.combination' )", dto.getCombination());
         Page<ProductInfoVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
 
@@ -139,6 +139,9 @@ public class ProductInfoServiceImpl extends ServiceImpl<ProductInfoMapper, Produ
             //生命周期计算(在sql里面计算了) 当前时间-创建时间=的天数>growUpDay成熟期,>newProductsDay就是成长期,要不然就是新品期
             json.put("lifeCycle", record.getLifeCycle());
 
+            //将部门id转为字符串(帮助解决前端问题)
+            json.put("deptId", json.getString("deptId"));
+
             record.setVictoriatouristJson(json.toJSONString());
         }
 

+ 1 - 1
hx-supply/src/main/java/com/fjhx/supply/entity/supplier/dto/SupplierPriceSelectDto.java

@@ -17,7 +17,7 @@ public class SupplierPriceSelectDto extends BaseSelectDto {
     /**
      * 供应商类型 1贸易商 2工厂
      */
-    private Integer supplierType;
+    private String supplierType;
 
     /**
      * 定义 1产品 2物料

+ 16 - 11
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/quality/impl/QualityInfoServiceImpl.java

@@ -6,7 +6,6 @@ import com.alibaba.fastjson.JSONObject;
 import com.baomidou.dynamic.datasource.annotation.DSTransactional;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.fjhx.item.service.product.ProductInfoService;
 import com.fjhx.kd100.entity.company.po.CompanyInfo;
 import com.fjhx.kd100.service.company.CompanyInfoService;
 import com.fjhx.supply.service.supplier.SupplierInfoService;
@@ -16,7 +15,6 @@ import com.fjhx.victoriatourist.entity.quality.po.QualityDetails;
 import com.fjhx.victoriatourist.entity.quality.po.QualityInfo;
 import com.fjhx.victoriatourist.entity.quality.vo.QualityInfoVo;
 import com.fjhx.victoriatourist.mapper.quality.QualityInfoMapper;
-import com.fjhx.victoriatourist.service.deliver.DeliverGoodsService;
 import com.fjhx.victoriatourist.service.quality.QualityDetailsService;
 import com.fjhx.victoriatourist.service.quality.QualityInfoService;
 import com.fjhx.wms.entity.arrival.po.ArrivalStockRecords;
@@ -30,7 +28,6 @@ import com.fjhx.wms.service.arrival.ArrivalStockRecordsService;
 import com.fjhx.wms.service.stock.StockJournalDetailsService;
 import com.fjhx.wms.service.stock.StockJournalService;
 import com.fjhx.wms.service.stock.StockService;
-import com.fjhx.wms.service.stock.StockWaitService;
 import com.obs.services.internal.ServiceException;
 import com.ruoyi.common.utils.wrapper.IWrapper;
 import com.ruoyi.system.utils.UserUtil;
@@ -58,22 +55,16 @@ public class QualityInfoServiceImpl extends ServiceImpl<QualityInfoMapper, Quali
     @Autowired
     private SupplierInfoService supplierInfoService;
     @Autowired
-    private DeliverGoodsService deliverGoodsService;
-    @Autowired
     private CompanyInfoService companyInfoService;
     @Autowired
     private QualityDetailsService qualityDetailsService;
     @Autowired
-    private ProductInfoService productInfoService;
-    @Autowired
     private StockService stockService;
     @Autowired
     private StockJournalService stockJournalService;
     @Autowired
     private StockJournalDetailsService stockJournalDetailsService;
     @Autowired
-    private StockWaitService stockWaitService;
-    @Autowired
     private ArrivalStockRecordsDetailsService arrivalStockRecordsDetailsService;
     @Autowired
     private ArrivalStockRecordsService arrivalStockRecordsService;
@@ -127,6 +118,7 @@ public class QualityInfoServiceImpl extends ServiceImpl<QualityInfoMapper, Quali
     @DSTransactional
     @Override
     public void add(QualityInfoDto qualityInfoDto) {
+        qualityInfoDto.setType(1);//设置为到货质检
         qualityInfoDto.setStatus(2);//质检完成
         ArrivalStockRecords arrivalStockRecords = arrivalStockRecordsService.getById(qualityInfoDto.getArrivalStockRecordsId());
         arrivalStockRecords.setQualityStatus(2);//质检完成
@@ -140,6 +132,7 @@ public class QualityInfoServiceImpl extends ServiceImpl<QualityInfoMapper, Quali
         //创建质检明细
         List<QualityDetails> qualityDetailsList = qualityInfoDto.getQualityDetailsList();
         for (QualityDetails qualityDetails : qualityDetailsList) {
+            qualityDetails.setId(null);//将明细id置空解决前端误传
             qualityDetails.setQualityInfoId(qualityInfoDto.getId());
             ArrivalStockRecordsDetails arrivalStockRecordsDetails = arrivalStockRecordsDetailsMap.get(qualityDetails.getArrivalStockRecordsDetailsId());
             if (ObjectUtil.isEmpty(arrivalStockRecordsDetails)) {
@@ -188,10 +181,22 @@ public class QualityInfoServiceImpl extends ServiceImpl<QualityInfoMapper, Quali
             BigDecimal defectiveQuantity = json.getBigDecimal("defectiveQuantity");//次品库存
             defectiveQuantity = ObjectUtil.isEmpty(defectiveQuantity) ? BigDecimal.ZERO : defectiveQuantity;
 
-            stock.setQuantity(stock.getQuantity().add(qualityDetails.getQualifiedQuantity()));
-            defectiveQuantity.add(qualityDetails.getDisqualificationQuantity());
+            BigDecimal frozenQuantity = json.getBigDecimal("frozenQuantity");//冻结库存
+            frozenQuantity = ObjectUtil.isEmpty(frozenQuantity) ? BigDecimal.ZERO : frozenQuantity;
 
+            //质检合格增加可用库存
+            stock.setQuantity(stock.getQuantity().add(qualityDetails.getQualifiedQuantity()));
+            //质检不合格增加次品库存
+            defectiveQuantity = defectiveQuantity.add(qualityDetails.getDisqualificationQuantity());
             json.put("defectiveQuantity", defectiveQuantity);
+            //减少冻结库存
+            BigDecimal count = qualityDetails.getQualifiedQuantity().add(qualityDetails.getDisqualificationQuantity());
+            frozenQuantity = frozenQuantity.subtract(count);
+            if (frozenQuantity.compareTo(BigDecimal.ZERO) < 0) {
+                throw new ServiceException("冻结库存不足");
+            }
+            json.put("frozenQuantity", frozenQuantity);
+
             stock.setVictoriatouristJson(json.toJSONString());
             stockList.add(stock);
 

+ 4 - 3
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/utils/CodeEnum.java

@@ -7,9 +7,8 @@ import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.extra.spring.SpringUtil;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.fjhx.victoriatourist.service.order.OrderInfoService;
+import com.fjhx.victoriatourist.service.quality.QualityInfoService;
 import com.fjhx.victoriatourist.service.stock.StockTransferService;
-import com.fjhx.wms.service.stock.StockJournalService;
-import com.fjhx.wms.service.stock.impl.StockJournalServiceImpl;
 import com.obs.services.internal.ServiceException;
 import lombok.Getter;
 
@@ -26,7 +25,9 @@ public enum CodeEnum {
     //京东退货质检
     JD_BACK_QUALITY("PA", "yyMM-", "code", 3, StockTransferService.class),
     //异常记录
-    ABNORMAL("PO", "yyMM-", "code", 3, StockTransferService.class);
+    ABNORMAL("PO", "yyMM-", "code", 3, StockTransferService.class),
+    //到货质检
+    QUALITY("", null, "code", 3, QualityInfoService.class);
 
     CodeEnum(String prefix, String dateFormat, String codeFieldName, Integer length, Class<? extends IService<?>> serviceCls) {
         this.prefix = prefix;

+ 11 - 2
hx-wms/src/main/java/com/fjhx/wms/service/stock/impl/StockWaitServiceImpl.java

@@ -246,11 +246,20 @@ public class StockWaitServiceImpl extends ServiceImpl<StockWaitMapper, StockWait
             }
 
             //操作库存
+//            Stock stock = new Stock();
+//            stock.setQuantity(stockWaitDto.getQuantity());
+//            stock.setProductId(stockWaitDetail.getProductId());
+//            stockList.add(stock);
+        }
+
+        //操作库存
+        for (StockWaitDetails waitDetails : stockWaitDetailsList) {
             Stock stock = new Stock();
-            stock.setQuantity(stockWaitDto.getQuantity());
-            stock.setProductId(stockWaitDetail.getProductId());
+            stock.setQuantity(waitDetails.getQuantity());
+            stock.setProductId(waitDetails.getProductId());
             stockList.add(stock);
         }
+
         stockWaitDetailsService.updateBatchById(stockWaitDetails);
         //修改待入库状态
         StockWait stockWait = getById(stockWaitDto.getId());