Jelajahi Sumber

库存功能

liujiankang 6 tahun lalu
induk
melakukan
5ec0771e8c

+ 2 - 2
watero-rst-service/src/main/java/com/iamberry/rst/service/fm/mapper/inventoryMapper.xml

@@ -165,7 +165,7 @@
     where inventory_id = #{inventoryId,jdbcType=INTEGER}
   </update>
 
-  <select id="getByInventoryByBar" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
+  <select id="getByInventoryByBar" resultMap="BaseResultMap" parameterType="java.lang.String" >
     select
     fi.inventory_id,
     fi.inventory_product_name,
@@ -199,7 +199,7 @@
     oi.sales_shipping_status IN (0,3,11)
     GROUP BY soi.item_color_id
     ) imn on imn.colorId  = pc.color_id
-    where fi.inventory_product_bar = #{inventoryProductBar,jdbcType=INTEGER}
+    where fi.inventory_product_bar = #{inventoryProductBar}
   </select>
 
 </mapper>

+ 30 - 30
watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AwaitSendController.java

@@ -570,23 +570,19 @@ public class AwaitSendController {
             return rj;
         }
         salesOrder.setSalesDeliver(2);
-        Integer flag = salesOrderService.updateDeliver(salesOrder);
-        if(flag < 1){
-            rj.setResultMsg("出货失败,请检查该物流单号("+postNum+")和订单状态,产品库存是否充足。");
-            return rj;
+        if(updateInventory(salesOrder.getSalesId())){
+            Integer flag = salesOrderService.updateDeliver(salesOrder);
+            if(flag < 1){
+                rj.setResultMsg("出货失败,请检查该物流单号("+postNum+")和订单状态,产品库存是否充足。");
+                return rj;
+            }
         }
         //查询出库的产品项
         List<SalesOrderItem> itemList = salesOrderService.selectSalesOrderItemList(salesOrder.getSalesId());
-        //修改库存信息
-        if(updateInventory(salesOrder.getSalesId())){
-            rj = ResponseJson.getSUCCESS();
-            rj.setResultMsg("物流单号("+ postNum +")出库成功。");
-            rj.addResponseKeyValue("itemList",itemList);
-            return rj;
-        }else{
-            rj.setResultMsg("出货失败,请检查该物流单号("+postNum+")和订单状态是否为已发货,产品库存是否充足。");
-            return rj;
-        }
+        rj = ResponseJson.getSUCCESS();
+        rj.setResultMsg("物流单号("+ postNum +")出库成功。");
+        rj.addResponseKeyValue("itemList",itemList);
+        return rj;
     }
 
     public boolean updateInventory(Integer salesId){
@@ -596,23 +592,27 @@ public class AwaitSendController {
         SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         for(SalesOrderItem item : listOrderitem){
             InventoryInfo info = inventoryService.getByInventoryByBar(item.getItemColorBar());
-            if(info.getInventoryDefectiveProductNum() >= item.getItemNum()){
-                info.setInventoryDefectiveProductNum(info.getInventoryDefectiveProductNum() - item.getItemNum());
-                info.setInventoryRecentRecord(sdf.format(new Date())+"出库:"+item.getItemNum()+"件");
-                inventoryService.updateById(info);
-                //添加日志
-                InventoryLog inventoryLog = new InventoryLog();
-                inventoryLog.setLogProductName(info.getInventoryProductName());
-                inventoryLog.setLogProductBar(info.getInventoryProductBar());
-                inventoryLog.setLogRemainingNum(item.getItemNum());
-                inventoryLog.setLogType(2);
-                inventoryLog.setLogOperationType(2);
-                inventoryLog.setLogDesc(sdf.format(new Date())+"手动出库:"+item.getItemNum()+"件");
-                inventoryLog.setLogQualityType(1);
-                inventoryLogService.insert(inventoryLog);
-            }else{
-                return false;
+            if(info != null){
+                if(info.getInventoryGoodProductNum() >= item.getItemNum()){
+                    info.setInventoryGoodProductNum(info.getInventoryGoodProductNum() - item.getItemNum());
+                    info.setInventoryRecentRecord(sdf.format(new Date())+"出库:"+item.getItemNum()+"件");
+                    inventoryService.updateById(info);
+                    //添加日志
+                    InventoryLog inventoryLog = new InventoryLog();
+                    inventoryLog.setLogProductName(info.getInventoryProductName());
+                    inventoryLog.setLogProductBar(info.getInventoryProductBar());
+                    inventoryLog.setLogRemainingNum(item.getItemNum());
+                    inventoryLog.setLogType(2);
+                    inventoryLog.setLogOperationType(2);
+                    inventoryLog.setLogDesc(sdf.format(new Date())+"手动出库:"+item.getItemNum()+"件");
+                    inventoryLog.setLogQualityType(1);
+                    inventoryLog.setLogWarehouseId(1);
+                    inventoryLogService.insert(inventoryLog);
+                }else{
+                    return false;
+                }
             }
+
         }
         return true;
     }

+ 1 - 1
watero-rst-web/src/main/java/com/iamberry/rst/controllers/pts/InventoryController.java

@@ -112,7 +112,7 @@ public class InventoryController {
         /*//查询所有仓库
         List<WarehouseInfo> warehouseList = inventoryLogService.listFactoryInfo();
         mv.addObject("warehouseList",warehouseList);*/
-        StitchAttrUtil.getSa().setModelAndView(inventoryLog, mv, "/admin/Inventory/select_InventoryLog_list", result);
+        StitchAttrUtil.getSa().setModelAndView(inventoryLog, mv, "/admin/inventory/select_inventoryLog_list", result);
         return mv;
     }