Browse Source

售后流程修改

liujiankang 6 years ago
parent
commit
b316473fe5

+ 61 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/SalesOrderServiceImpl.java

@@ -1156,6 +1156,39 @@ public class SalesOrderServiceImpl implements SalesOrderService {
             orderCorrectItem.setCorrectNum(salesOrderItem.getItemNum());
             orderCorrectItem.setOldNum(orderItem.getItemNum());
             if(orderItem.getItemNum().intValue() != salesOrderItem.getItemNum().intValue()){
+                //查询订单判断是否已出库
+                if(salesOrderMapper.getSalesOrderById(orderCorrectInfo.getItemOrderId()).getSalesDeliver() == 2){
+                    //返还库存
+                    SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                    InventoryInfo info = inventoryMapper.getByInventoryByBar(orderItem.getItemColorBar());
+                    //添加日志
+                    InventoryLog inventoryLog = new InventoryLog();
+                    inventoryLog.setLogProductName(info.getInventoryProductName());
+                    inventoryLog.setLogProductBar(info.getInventoryProductBar());
+                    inventoryLog.setLogOperationType(1);
+                    inventoryLog.setLogQualityType(1);
+                    inventoryLog.setLogWarehouseId(1);
+                    if(orderItem.getItemNum() > salesOrderItem.getItemNum()){//原数量大于更正后数量
+                        info.setInventoryGoodProductNum(info.getInventoryGoodProductNum() + (orderItem.getItemNum() - salesOrderItem.getItemNum()));
+                        info.setInventoryRecentRecord(sdf.format(new Date())+"更正订单返还库存:"+(orderItem.getItemNum() - salesOrderItem.getItemNum())+"件");
+                        inventoryLog.setLogRemainingNum(orderItem.getItemNum() - salesOrderItem.getItemNum());
+                        inventoryLog.setLogType(2);
+                        inventoryLog.setLogDesc(sdf.format(new Date())+"更正订单返还库存:"+(orderItem.getItemNum() - salesOrderItem.getItemNum())+"件");
+                    }else if(orderItem.getItemNum() < salesOrderItem.getItemNum()){
+                        if(info.getInventoryGoodProductNum() > (salesOrderItem.getItemNum() - orderItem.getItemNum())){
+                            info.setInventoryGoodProductNum(info.getInventoryGoodProductNum() - (salesOrderItem.getItemNum() - orderItem.getItemNum()));
+                            info.setInventoryRecentRecord(sdf.format(new Date())+"更正订单减少库存:"+(orderItem.getItemNum() - salesOrderItem.getItemNum())+"件");
+                            inventoryLog.setLogRemainingNum(salesOrderItem.getItemNum() - orderItem.getItemNum());
+                            inventoryLog.setLogType(1);
+                            inventoryLog.setLogDesc(sdf.format(new Date())+"更正订单减少库存:"+(salesOrderItem.getItemNum() - orderItem.getItemNum())+"件");
+                        }else{
+                            return false;
+                        }
+
+                    }
+                    inventoryMapper.updateById(info);
+                    inventoryLogMapper.insert(inventoryLog);
+                }
                 //修改订单项数量
                 orderItem.setItemNum(salesOrderItem.getItemNum());
                 if(salesOrderMapper.updateOrderItemById(orderItem) < 1){
@@ -1168,6 +1201,34 @@ public class SalesOrderServiceImpl implements SalesOrderService {
         }
         return true;
     }
+    //更正订单时返还库存
+    public boolean returnInventoryByItemId(Integer itemId){
+        SalesOrderItem salesOrderItem = new SalesOrderItem();
+        salesOrderItem.setItemId(itemId);
+        List<SalesOrderItem> listOrderitem = salesOrderService.listSalesOrderItem(salesOrderItem);
+        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        for(SalesOrderItem item : listOrderitem){
+            InventoryInfo info = inventoryMapper.getByInventoryByBar(item.getItemColorBar());
+            if(info != null){
+                info.setInventoryGoodProductNum(info.getInventoryGoodProductNum() + item.getItemNum());
+                info.setInventoryRecentRecord(sdf.format(new Date())+"删除/作废订单返还库存:"+item.getItemNum()+"件");
+                inventoryMapper.updateById(info);
+                //添加日志
+                InventoryLog inventoryLog = new InventoryLog();
+                inventoryLog.setLogProductName(info.getInventoryProductName());
+                inventoryLog.setLogProductBar(info.getInventoryProductBar());
+                inventoryLog.setLogRemainingNum(item.getItemNum());
+                inventoryLog.setLogType(1);
+                inventoryLog.setLogOperationType(1);
+                inventoryLog.setLogDesc(sdf.format(new Date())+"删除/作废订单返还库存:"+item.getItemNum()+"件");
+                inventoryLog.setLogQualityType(1);
+                inventoryLog.setLogWarehouseId(1);
+                inventoryLogMapper.insert(inventoryLog);
+            }
+
+        }
+        return true;
+    }
 
     @Override
     public Integer addCorrectItem(OrderCorrectItem orderCorrectItem) {