浏览代码

bug修改,功能优化

1018653686@qq.com 1 年之前
父节点
当前提交
d5e8651714

+ 12 - 0
hx-victoriatourist/pom.xml

@@ -50,6 +50,18 @@
             <artifactId>jackson-core-asl</artifactId>
             <version>1.9.2</version>
         </dependency>
+
+        <dependency>
+            <groupId>org.codehaus.jackson</groupId>
+            <artifactId>jackson-core-asl</artifactId>
+            <version>1.9.2</version>
+        </dependency>
+
+        <dependency>
+            <groupId>com.google.guava</groupId>
+            <artifactId>guava</artifactId>
+            <version>33.0.0-jre</version>
+        </dependency>
     </dependencies>
 
 </project>

+ 2 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/entity/jd/po/JdOrderDetails.java

@@ -110,4 +110,6 @@ public class JdOrderDetails extends BasePo {
     private BigDecimal reduceQuantity;
     /**减少商品id**/
     private Long reduceProductId;
+    /**报损理赔金额**/
+    private BigDecimal amount;
 }

+ 42 - 22
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/jd/impl/JdOrderDetailsServiceImpl.java

@@ -25,6 +25,8 @@ import com.fjhx.wms.entity.stock.po.StockJournalDetails;
 import com.fjhx.wms.service.stock.StockJournalDetailsService;
 import com.fjhx.wms.service.stock.StockJournalService;
 import com.fjhx.wms.service.stock.StockService;
+import com.google.common.collect.ImmutableTable;
+import com.google.common.collect.Table;
 import com.ruoyi.common.utils.SecurityUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -113,12 +115,12 @@ public class JdOrderDetailsServiceImpl extends ServiceImpl<JdOrderDetailsMapper,
         switch (vo.getExHandle()){
             case RunParamConstant.MULTI_CARGO_REDUCE_STOCK:
                 //弹窗提示,出库,减少库存
-                reduceStock(vo, byId);
+                reduceStock(vo, byId, RunParamConstant.MULTI_CARGO_REDUCE_STOCK);
                 break;
             case RunParamConstant.SHIPPED_DAMAGE:
             case RunParamConstant.SHIPPED_CLAIM:
             case RunParamConstant.BARCODE_ERROR_DAMAGE:
-                fillRemark(vo, byId);
+                fillRemarkAndAmount(vo, byId);
                 break;
             case RunParamConstant.SHIPPED_NOT_REDUCE_STOCK:
             case RunParamConstant.BARCODE_ERROR_NOT_RETURN:
@@ -126,19 +128,19 @@ public class JdOrderDetailsServiceImpl extends ServiceImpl<JdOrderDetailsMapper,
                 break;
             case RunParamConstant.SHORTAGE_RETURN:
                 //选择仓库,增加库存
-                addStock(vo, byId);
+                addStock(vo, byId, RunParamConstant.SHORTAGE_RETURN);
                 break;
             case RunParamConstant.EXCESS_RETURN:
             case RunParamConstant.BARCODE_ERROR_RETURN:
-                fillExpressNoAndAddStock(vo, byId);
+                fillExpressNoAndAddStock(vo, byId, vo.getExHandle());
                 break;
             case RunParamConstant.EXCESS_NOT_RETURN:
                 //增减库存
-                addAndReduceStock(vo, byId);
+                addAndReduceStock(vo, byId, RunParamConstant.EXCESS_NOT_RETURN);
                 break;
             case RunParamConstant.EXCESS_DAMAGE:
                 //填备注增减库存
-                fillRemarkAndAddReduceStock(vo, byId);
+                fillRemarkAmountAndAddReduceStock(vo, byId, RunParamConstant.EXCESS_DAMAGE);
                 break;
             default:
                 throw new RuntimeException("异常处理状态异常");
@@ -165,12 +167,13 @@ public class JdOrderDetailsServiceImpl extends ServiceImpl<JdOrderDetailsMapper,
      * @author hj
      * @date 2024/1/15 22:41
      */
-    private void fillRemark(JdOrderDetailsVo vo, JdOrderDetails jdOrderDetails){
+    private void fillRemarkAndAmount(JdOrderDetailsVo vo, JdOrderDetails jdOrderDetails){
         String remark = vo.getRemark();
         if(StrUtil.isBlank(remark)){
             throw new RuntimeException("备注不能为空");
         }
         jdOrderDetails.setRemark(remark);
+        jdOrderDetails.setAmount(vo.getAmount());
     }
 
     /**
@@ -179,13 +182,13 @@ public class JdOrderDetailsServiceImpl extends ServiceImpl<JdOrderDetailsMapper,
      * @date 2024/1/15 22:42
      */
     @DSTransactional
-    public void fillExpressNoAndAddStock(JdOrderDetailsVo vo, JdOrderDetails jdOrderDetails) {
+    public void fillExpressNoAndAddStock(JdOrderDetailsVo vo, JdOrderDetails jdOrderDetails, String handleType) {
         String expressNo = vo.getExpressNo();
         if (StrUtil.isBlank(expressNo)) {
             throw new RuntimeException("快递单号不能为空");
         }
         jdOrderDetails.setExpressNo(expressNo);
-        addStock(vo, jdOrderDetails);
+        addStock(vo, jdOrderDetails, handleType);
     }
 
     /**
@@ -194,9 +197,9 @@ public class JdOrderDetailsServiceImpl extends ServiceImpl<JdOrderDetailsMapper,
      * @date 2024/1/15 22:42
      */
     @DSTransactional
-    public void addAndReduceStock(JdOrderDetailsVo vo, JdOrderDetails jdOrderDetails) {
-        addStock(vo, jdOrderDetails);
-        reduceStock(vo, jdOrderDetails);
+    public void addAndReduceStock(JdOrderDetailsVo vo, JdOrderDetails jdOrderDetails, String handleType) {
+        addStock(vo, jdOrderDetails, handleType);
+        reduceStock(vo, jdOrderDetails, handleType);
     }
 
 
@@ -206,19 +209,19 @@ public class JdOrderDetailsServiceImpl extends ServiceImpl<JdOrderDetailsMapper,
      * @date 2024/1/15 22:42
      */
     @DSTransactional
-    public void fillRemarkAndAddReduceStock(JdOrderDetailsVo vo, JdOrderDetails jdOrderDetails) {
-        fillRemark(vo, jdOrderDetails);
-        addStock(vo, jdOrderDetails);
-        reduceStock(vo, jdOrderDetails);
+    public void fillRemarkAmountAndAddReduceStock(JdOrderDetailsVo vo, JdOrderDetails jdOrderDetails, String handleType) {
+        fillRemarkAndAmount(vo, jdOrderDetails);
+        addStock(vo, jdOrderDetails, handleType);
+        reduceStock(vo, jdOrderDetails, handleType);
     }
 
     /**
      * 增加库存
      * @param vo
      */
-    private void addStock(JdOrderDetailsVo vo, JdOrderDetails jdOrderDetails) {
+    private void addStock(JdOrderDetailsVo vo, JdOrderDetails jdOrderDetails, String handleType) {
         //操作库存及记录
-        operateStock(vo.getAddWarehouseId(), RunParamConstant.INBOUND, vo.getAddQuantity(), vo.getAddProductId(), jdOrderDetails);
+        operateStock(vo.getAddWarehouseId(), RunParamConstant.INBOUND, vo.getAddQuantity(), vo.getAddProductId(), jdOrderDetails, handleType);
         jdOrderDetails.setAddProductId(vo.getAddProductId());
         jdOrderDetails.setAddQuantity(vo.getAddQuantity());
         jdOrderDetails.setAddWarehouseId(vo.getAddWarehouseId());
@@ -229,15 +232,32 @@ public class JdOrderDetailsServiceImpl extends ServiceImpl<JdOrderDetailsMapper,
      * @author hj
      * @date 2024/1/15 22:44
      */
-    private void reduceStock(JdOrderDetailsVo vo, JdOrderDetails jdOrderDetails) {
+    private void reduceStock(JdOrderDetailsVo vo, JdOrderDetails jdOrderDetails, String handleType) {
         //操作库存及记录
-        operateStock(vo.getReduceWarehouseId(), RunParamConstant.OUTBOUND, vo.getReduceQuantity(), vo.getReduceProductId(), jdOrderDetails);
+        operateStock(vo.getReduceWarehouseId(), RunParamConstant.OUTBOUND, vo.getReduceQuantity(), vo.getReduceProductId(), jdOrderDetails, handleType);
         jdOrderDetails.setReduceProductId(vo.getReduceProductId());
         jdOrderDetails.setReduceQuantity(vo.getReduceQuantity());
         jdOrderDetails.setReduceWarehouseId(vo.getReduceWarehouseId());
     }
 
 
+    private static final Table<String, String , JournalType> JOURNAL_TYPE_TABLE = ImmutableTable.<String, String, JournalType>builder()
+            .put("2","101", JournalType.JDYC_DFBDCK)
+
+            .put("1","201", JournalType.JDYC_SFTHRK)
+
+            .put("1","301", JournalType.JDYC_CFTHRK)
+
+            .put("1","302", JournalType.JDYC_CFTHRK)
+            .put("2","302", JournalType.JDYC_CFBDCK)
+
+            .put("1","303", JournalType.JDYC_CFTHRK)
+            .put("2","303", JournalType.JDYC_CFBSCK)
+
+            .put("1","501", JournalType.JDYC_TMCWTHRk)
+            .build();
+
+
 
     /**
      * 操作库存及记录
@@ -246,7 +266,7 @@ public class JdOrderDetailsServiceImpl extends ServiceImpl<JdOrderDetailsMapper,
      * @param quantity 操作数量
      */
     @DSTransactional
-    public void operateStock(Long warehouseId, int type, BigDecimal quantity, Long productId, JdOrderDetails jdOrderDetails) {
+    public void operateStock(Long warehouseId, int type, BigDecimal quantity, Long productId, JdOrderDetails jdOrderDetails, String handleType) {
         if (ObjectUtil.isNull(warehouseId) || quantity.compareTo(BigDecimal.ZERO) <= 0) {
             throw new RuntimeException("参数错误");
         }
@@ -264,7 +284,7 @@ public class JdOrderDetailsServiceImpl extends ServiceImpl<JdOrderDetailsMapper,
         //创建出入库记录
         StockJournal stockJournal = new StockJournal();
         stockJournal.setOpType(type);//1入库2出库
-        stockJournal.setType(JournalType.JD_BACK_IN.getDetailType());//流水类型 JournalType枚举
+        stockJournal.setType(JOURNAL_TYPE_TABLE.get(StrUtil.toString(type), handleType).getDetailType());//流水类型 JournalType枚举
         stockJournal.setCode("流水编号");//流水编号,没规范赋值业务编号也行
         stockJournal.setWarehouseId(warehouseId);//仓库id
         stockJournal.setBusinessId(jdOrderDetails.getJdOrderId());//业务id

+ 1 - 1
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/jd/impl/JdOrderServiceImpl.java

@@ -679,7 +679,7 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
     @DSTransactional
     public void confirmBusinessStatus(JdOrderDto jdOrderDto) {
         lambdaUpdate()
-                .set(JdOrder::getBusinessStatus, jdOrderDto.getBusinessStatus())
+                .set(JdOrder::getBusinessStatus, jdOrderDto.getIsOut()?3:1)
                 .eq(JdOrder::getId, jdOrderDto.getId()).update();
 
         JdOrder jdOrder = getById(jdOrderDto.getId());