Jelajahi Sumber

撤回分配服务申请单逻辑修改

hxh 4 bulan lalu
induk
melakukan
d827a79dcb

+ 12 - 3
src/custom/restcontroller/webmanage/sale/serviceorder/serviceorder.java

@@ -867,7 +867,7 @@ public class serviceorder extends Controller {
             long sa_workorderid= workorderrows.get(0).getLong("sa_workorderid");
             voidreason="【服务申请单作废】"+voidreason;
             sqllist.add("update sa_workorder set voidreason='"+voidreason+"',status='作废' where sa_workorderid="+sa_workorderid);
-            sqllist.add(DataContrlLog.createLog(this, "sa_workorder", sa_serviceorderid, "作废", "工单作废成功")
+            sqllist.add(DataContrlLog.createLog(this, "sa_workorder", sa_workorderid, "作废", "工单作废成功")
                     .getSQL());
             Rows warrantycardrows = dbConnect.runSqlQuery("select sa_warrantycardid from sa_warrantycard where sa_workorderid ='"
                     + sa_workorderid + "' and  siteid='" + siteid + "' and isvoid=0");
@@ -893,12 +893,21 @@ public class serviceorder extends Controller {
         Rows serviceorderRows = dbConnect.runSqlQuery("select status,billno from sa_serviceorder where sa_serviceorderid ='"
                 + sa_serviceorderid + "' and  siteid='" + siteid + "'");
         if(serviceorderRows.isNotEmpty()){
-            if(!serviceorderRows.get(0).getString("status").equals("待受理")){
-                return getErrReturnObject().setErrMsg("非待受理状态的服务申请单无法撤回分配").toString();
+            if(!serviceorderRows.get(0).getString("status").equals("待受理") || !serviceorderRows.get(0).getString("status").equals("待服务")  || !serviceorderRows.get(0).getString("status").equals("服务中") ){
+                return getErrReturnObject().setErrMsg("非待受理/待服务/服务中状态的服务申请单无法撤回分配").toString();
             }
             sqllist.add("update sa_serviceorder set sys_enterpriseid_service=0,status='待分配',allocationdate=null,allocationby='' where sa_serviceorderid="+sa_serviceorderid);
             sqllist.add(DataContrlLog.createLog(this, "sa_serviceorder", sa_serviceorderid, "撤回分配", "服务申请单撤回分配成功")
                     .getSQL());
+            Rows workorderrows = dbConnect.runSqlQuery("select sa_workorderid from sa_workorder where sa_serviceorderid ='"
+                    + sa_serviceorderid + "' and  siteid='" + siteid + "' and status!='作废'");
+            if(workorderrows.isNotEmpty()){
+                long sa_workorderid= workorderrows.get(0).getLong("sa_workorderid");
+                sqllist.add("update sa_workorder set voidreason='服务申请单撤回分配',status='作废' where sa_workorderid="+sa_workorderid);
+                sqllist.add(DataContrlLog.createLog(this, "sa_workorder", sa_workorderid, "作废", "工单作废成功")
+                        .getSQL());
+            }
+
         }else{
             return getErrReturnObject().setErrMsg("服务申请单不存在").toString();
         }