Forráskód Böngészése

销售订单任务状态完成

oyq28 1 éve
szülő
commit
0b155c8a73

+ 11 - 1
src/main/java/com/imcs/admin/business/service/impl/BusinessServiceImpl.java

@@ -228,6 +228,7 @@ public class BusinessServiceImpl implements BusinessService{
         Integer taskType = Integer.valueOf(one.get("taskType").toString());
         Long processProcedureId = Long.valueOf(one.get("processProcedureId").toString());
         Long productionOrderId = Long.valueOf(one.get("productionOrderId").toString());
+        Long salesOrderId = Long.valueOf(one.get("salesOrderId").toString());
         //校验上道工序是否完成  加工工序可以越过质检工序和外协工序,质检和外协不能跳跃任何工序
         //首道工序无须校验
         if(!"1".equals(seq)){
@@ -266,6 +267,8 @@ public class BusinessServiceImpl implements BusinessService{
             }
             isRecevie=1;
             jdbcService.update("update a_production_order set status=1 where id = ?",productionOrderId);
+            jdbcService.update("update b_sales_order set status=1 where status != 1 and id = ?",salesOrderId);
+
         }else{
             isRecevie=2;
         }
@@ -352,6 +355,7 @@ public class BusinessServiceImpl implements BusinessService{
         Map<String, Object> one = jdbcService.findOne("select * from a_production_work_order where production_order_code = (select production_order_code from a_production_work_order where id= ?) order by seq desc limit 1", id);
         Long endId = Long.valueOf(one.get("id").toString());
         Long productionOrderId = Long.valueOf(one.get("productionOrderId").toString());
+        Long salesOrderId = Long.valueOf(one.get("salesOrderId").toString());
         Integer reportAmount=Integer.valueOf(one.get("reportAmount").toString());
         String workCode = one.get("workCode").toString();
         //最后一道工序入库
@@ -372,6 +376,12 @@ public class BusinessServiceImpl implements BusinessService{
             String insert="INSERT INTO a_product_store_record (production_work_order_id, amount, work_code, created_at, apply_status) VALUES (?, ?, ?, ?, ?)";
             jdbcService.insert("执行sql",insert,id,reportAmount,workCode,new Date(),0);
             jdbcService.update("update a_production_order set status=2 where id = ?",productionOrderId);
+            Map<String, Object> one1 = jdbcService.findOne("select count(*) as num from a_production_order where status=1 and sales_order_id= ? ", salesOrderId);
+            //如果所有的生产令都完成了,更新销售订单完成状态
+            Integer num = Integer.valueOf(one1.get("num").toString());
+            if(num == 0){
+                jdbcService.update("update b_sales_order set status=2 where id = ?",salesOrderId);
+            }
         }
         jdbcService.update("update a_production_work_order set status=2,real_end_date = now() where id=?",id);
     }
@@ -450,7 +460,7 @@ public class BusinessServiceImpl implements BusinessService{
      */
     public void updateSales(Long id){
         //关闭销售订单
-        jdbcService.update("update b_sales_order set apply_status = -1 where id = ? ",id);
+        jdbcService.update("update b_sales_order set status = -1 where id = ? ",id);
 
         //关闭未下发的生产令
         jdbcService.update("update a_production_order set status = -1 where is_issue=0 and sales_order_id = ? ",id);