Просмотр исходного кода

台州服务工单管理第一次更新2022年3月25日10:56:35

hu 4 лет назад
Родитель
Сommit
48038329f2

+ 6 - 1
src/apps/afterserviceorder/AfterserviceordeCreatewkDataBean.java

@@ -39,7 +39,12 @@ public class AfterserviceordeCreatewkDataBean  extends DataBeanCust{
 	  				"dialogclose", null);// ¹Ø±Õµ±Ç°¶Ô»°¿ò
 	       	 // closeApp("AFTERORDER");
 		      //openApp("AFTERORDER", pao.getUniqueIDValue());
-	         openApp("HYORDER",l);
+	       	    if(afterserviceorder.getSite().equals("HY")) {
+	       	     openApp("HYORDER",l);
+	       	    }else if (afterserviceorder.getSite().equals("TZ")) {
+	       	     openApp("TZORDER",l);
+				}
+	        
 	       
 	         byrefresh();
 	        }

+ 2 - 0
src/apps/afterserviceorder/SQL/查询台州订单收货日期.sql

@@ -0,0 +1,2 @@
+select SALOGIS.receivedate from SALOGIS inner join  salogisdetail on salogisdetail.fparentid=SALOGIS.salogisid 
+                      inner join sainvoice on sainvoice.sainvoiceid=salogisdetail.fsourceid where SALOGIS.fstatus ='µ½»õ' and SALOGIS.siteid='TZ' and fsonum=$fsonum$ order by SALOGIS.receivedate desc

+ 26 - 9
src/apps/afterserviceorder/afterserviceorder.java

@@ -77,7 +77,7 @@ public class afterserviceorder extends PaoCust {
         if(!getString("fstatus").equals("待处理")&&!getString("fstatus").equals("进行中"))throw new P2AppException("","非处理和进行中状态不可生成工单");
         PaoSetRemote hyworkorder = P2Server.getP2Server().getPaoSet("HYWORKORDER", P2Server.getP2Server().getSystemUserInfo());
         hyworkorder.setInsertSite(getSite());
-
+        System.out.println(getSite());
         PaoRemote remote = hyworkorder.addAtEnd();
         remote.setValue("FAGENTNUM",getString("FAGENTNUM"),11l);
         remote.setValue("servernum",getString("Servicenum"),11l);
@@ -91,9 +91,17 @@ public class afterserviceorder extends PaoCust {
         remote.setValue("ftext",getString("fnotes"),11l);
         String fsonum=getString("fsonum");
         DBConnect connect = new DBConnect();
-        SQLFactory factory = new SQLFactory(this, "查询订单收货日期");
-		factory.addParameter("fsonum", fsonum);
-        Rows rows = connect.runSqlQuery(factory.getSQL());		
+        SQLFactory factory = null;
+        if(getSite().equals("TZ")) {
+        	factory = new SQLFactory(this, "查询台州订单收货日期");
+        }else if(getSite().equals("HY")) {
+        	  factory = new SQLFactory(this, "查询订单收货日期");
+        }
+        Rows rows = new Rows();
+        if(fsonum!=null && fsonum.length()>0) {
+        	factory.addParameter("fsonum", fsonum);
+            rows = connect.runSqlQuery(factory.getSQL());		
+        }
         if(!rows.isEmpty()) {
         	System.out.println(888);
         	Date receivedate=rows.get(0).getDate("receivedate");
@@ -115,7 +123,7 @@ public class afterserviceorder extends PaoCust {
         if(!getString("fstatus").equals("待处理")&&!getString("fstatus").equals("进行中"))throw new P2AppException("","非处理和进行中状态不可生成工单");
         PaoSetRemote hyworkorder = P2Server.getP2Server().getPaoSet("HYWORKORDER", P2Server.getP2Server().getSystemUserInfo());
         hyworkorder.setInsertSite(getSite());
-
+        System.out.println(getSite());
         PaoRemote remote = hyworkorder.addAtEnd();
         remote.setValue("FAGENTNUM",getString("FAGENTNUM"),11l);
         remote.setValue("servernum",getString("Servicenum"),11l);
@@ -130,9 +138,18 @@ public class afterserviceorder extends PaoCust {
         remote.setValue("ftype",ftype,11l);
         String fsonum=getString("fsonum");
         DBConnect connect = new DBConnect();
-        SQLFactory factory = new SQLFactory(this, "查询订单收货日期");
-		factory.addParameter("fsonum", fsonum);
-        Rows rows = connect.runSqlQuery(factory.getSQL());		
+        SQLFactory factory = null;
+        if(getSite().equals("TZ")) {
+        	factory = new SQLFactory(this, "查询台州订单收货日期");
+        }else if(getSite().equals("HY")) {
+        	  factory = new SQLFactory(this, "查询订单收货日期");
+        }
+        Rows rows = new Rows();
+        if(fsonum!=null && fsonum.length()>0) {
+        	factory.addParameter("fsonum", fsonum);
+            rows = connect.runSqlQuery(factory.getSQL());		
+        }
+		
         if(!rows.isEmpty()) {
         	System.out.println(888);
         	Date receivedate=rows.get(0).getDate("receivedate");
@@ -157,7 +174,7 @@ public class afterserviceorder extends PaoCust {
             setValue("fstatus","待处理",11l);
             try {
                 PaoSetRemote hyworker = P2Server.getP2Server().getPaoSet("HYWORKER", P2Server.getP2Server().getSystemUserInfo());
-                hyworker.setWhere("ROLE='服务主管'");
+                hyworker.setWhere("ROLE='服务主管' and siteid='"+getSite()+"'");
                 hyworker.reset();
                 PaoSetRemote tagents =getPaoSet("TAGENTS");
                 String fagentshortname = tagents.getPao(0).getString("FAGENTSHORTNAME");

+ 1 - 1
src/apps/hyworker/hyworker.java

@@ -42,7 +42,7 @@ public class hyworker extends PaoCust {
         if(fieldname.equalsIgnoreCase("HYWORKERNUM")){
            String hrid=getString("HYWORKERNUM");
            PaoSetRemote pp_hrs = P2Server.getP2Server().getPaoSet("pp_hr", P2Server.getP2Server().getSystemUserInfo());
-           pp_hrs.setWhere("siteid='HY' and hrid='"+hrid+"'");
+           pp_hrs.setWhere("siteid='"+getSite()+"' and hrid='"+hrid+"'");
            pp_hrs.reset();
            if(!pp_hrs.isEmpty()) {
         	   if(pp_hrs.getPao(0).getString("DISPLAYNAME")!=null && pp_hrs.getPao(0).getString("DISPLAYNAME").length()!=0){

+ 1 - 1
src/apps/hyworkorder/HYWorkOrderAppBean.java

@@ -63,7 +63,7 @@ public class HYWorkOrderAppBean extends AppBeanCust {
         	}
         hyworkorder.setValue("fstatus", "×÷·Ï",11L);
         PaoSetRemote hyworkorders = P2Server.getP2Server().getPaoSet("HYWORKORDER", P2Server.getP2Server().getSystemUserInfo());
-        hyworkorders.setWhere("siteid='HY' and servernum='"+hyworkorder.getString("servernum")+"' and HYWORKORDERID!="+hyworkorder.getUniqueIDValue());
+        hyworkorders.setWhere("siteid='"+hyworkorder.getString("siteid")+"' and servernum='"+hyworkorder.getString("servernum")+"' and HYWORKORDERID!="+hyworkorder.getUniqueIDValue());
         hyworkorders.reset();
         if(hyworkorders.isEmpty()) {
         	if(!hyworkorder.getPaoSet("AFTERSERVICEORDER").isEmpty()) {

+ 8 - 2
src/apps/hyworkorder/hyworkorder.java

@@ -19,6 +19,8 @@ import java.util.Date;
 import java.util.Iterator;
 import java.util.Vector;
 
+import com.sun.org.apache.xpath.internal.operations.And;
+
 public class hyworkorder extends PaoCust {
 	/**
 	 * 凳婖滲杅
@@ -53,7 +55,11 @@ public class hyworkorder extends PaoCust {
 		super.add();
 
 		setValue("fworknum", getBillNum("HYORDER"), 11l);
-		setValue("fstatus", "渾羲宎", 11l);
+		if(getSite().equals("HY")) {
+			setValue("fstatus", "渾羲宎", 11l);
+		}else if(getSite().equals("TZ")) {
+			setValue("fstatus", "渾諉等", 11l);
+		}
 		setValue("progress", 0, 11l);
 	}
 
@@ -191,7 +197,7 @@ public class hyworkorder extends PaoCust {
 			    tagents.setWhere("FAGENTNUM='"+getString("FAGENTNUM")+"'");
 			    hyworker.setWhere("HYWORKERNUM ='" + getString("PROJECTLEADER") + "'");
 			    hyworker.reset();
-			    if(!hyworker .isEmpty()){
+			    if(!hyworker .isEmpty() && getSite().equals("HY")){
 			        String submitby = afterserviceorder.getPao(0).getString("SUBMITBY");
 			        String phone = hyworker.getPao(0).getString("WORKPHONE");
 			        String fagentshortname = tagents.getPao(0).getString("FAGENTSHORTNAME");

+ 25 - 0
src/rest/openapi/restcontroller/housekeeperpublic/message/Message.java

@@ -50,6 +50,31 @@ public class Message extends Controller {
         row.put("msg",result);
         return getReturnObject_suc(row,false).toString();
     }
+    
+    /**台州服务工单发送手机验证码**/
+    public String sendMessageTz(){
+        JSONObject where = content.getJSONObject("where");
+        if(!where.containsKey("customerphone")|| StringUtils.isBlank(where.getString("customerphone")))return getReturnObject_err("手机号为空").toString();
+        if(!Pattern.matches("^1([358][0-9]|4[579]|66|7[0135678]|9[89])[0-9]{8}$", where.getString("customerphone")))return getReturnObject_err("手机格式有误").toString();
+        DBConnect dbConnect=new DBConnect();
+        Rows rows = dbConnect.runSqlQuery("select SCENEPHONE from HYWORKORDER where siteid='TZ' and SCENEPHONE='" + where.getString("customerphone") + "'");
+        if(rows.isEmpty())return getReturnObject_err("您的手机号暂无使用权限!").toString();
+        String verificationCode = createVerificationCode();
+        String result=null;
+        try {
+            result=sendMessage_0(where.getString("customerphone"),verificationCode);
+        } catch (IOException e) {
+            return getReturnObject_err(e.getMessage()).toString();
+        }catch (P2Exception e){
+            return getReturnObject_err(e.getMessage()).toString();
+        }
+        message_map.put(where.getString("customerphone"),new VerificationManage(verificationCode));
+        Row row=new Row();
+        row.put("code",verificationCode);
+        row.put("msg",result);
+        return getReturnObject_suc(row,false).toString();
+    }
+    
     /**验证码校验**/
     public String checkVerificationCode(){
         JSONObject where = content.getJSONObject("where");

+ 44 - 4
src/rest/openapi/restcontroller/hyworkorder/web/afterserviceorder/Afterserviceorder.java

@@ -8,6 +8,8 @@ import openapi.base.SQLFactory;
 import openapi.base.data.Row;
 import openapi.base.data.Rows;
 import openapi.base.data.db.DBConnect;
+import oracle.net.aso.i;
+
 import org.apache.commons.lang.StringUtils;
 import org.apache.commons.lang.time.DateFormatUtils;
 import p2.p2server.P2Server;
@@ -258,11 +260,20 @@ public class Afterserviceorder extends Controller {
                     remote.setValue("ftext",afterserviceorder.getPao(0).getString("fnotes"),11l);
                     remote.setValue("ftype",where.getString("ftype"),2l);
                     remote.setValue("TEMPLATENUM",where.getString("fworknum"),2l);
+
                     String fsonum=afterserviceorder.getPao(0).getString("fsonum");
                     DBConnect connect = new DBConnect();
-                    SQLFactory factory = new SQLFactory(this, "查询订单收货日期");
-            		factory.addParameter("fsonum", fsonum);
-                    Rows rows = connect.runSqlQuery(factory.getSQL());		
+                    SQLFactory factory = null;
+                    if(siteid.equals("TZ")) {
+                    	factory = new SQLFactory(this, "查询台州订单收货日期");
+                    }else if(siteid.equals("HY")) {
+                    	  factory = new SQLFactory(this, "查询订单收货日期");
+                    }
+                    Rows rows = new Rows();
+                    if(fsonum!=null && fsonum.length()>0) {
+                    	factory.addParameter("fsonum", fsonum);
+                        rows = connect.runSqlQuery(factory.getSQL());		
+                    }	
                     if(!rows.isEmpty()) {
                     	Date receivedate=rows.get(0).getDate("receivedate");
                     	Calendar calendar = Calendar.getInstance(); 
@@ -337,6 +348,14 @@ public class Afterserviceorder extends Controller {
                 getpaoset.reset();
                 if(getpaoset.isEmpty())return getReturnObject_err("没有该服务单").toString();
                 PaoRemote remote = getpaoset.getPao(0);
+                if(where.containsKey("servicetype")) {
+                	if(where.getString("servicetype").equals("售中") || where.getString("servicetype").equals("售中")) {
+                		 if(!where.containsKey("fsonum")) {
+                			 return getReturnObject_err("售中及售后的服务单需添加关联订单号").toString();
+                		 }
+                	}
+                	 remote.setValue("servicetype",where.getString("servicetype"),11l); 
+                }     
                 if(where.containsKey("fsonum"))
                     remote.setValue("fsonum",where.getString("fsonum"),11l);
                 if(where.containsKey("fprovince"))
@@ -358,6 +377,10 @@ public class Afterserviceorder extends Controller {
                     remote.setValue("appsystem",where.getString("appsystem"),11l);
                 if(where.containsKey("errcategory"))
                     remote.setValue("errcategory",where.getString("errcategory"),11l);
+                if(where.containsKey("servicebegindate"))
+                    remote.setValue("servicebegindate",where.getString("servicebegindate"),11l);
+                if(where.containsKey("serviceenddate"))
+                    remote.setValue("serviceenddate",where.getString("serviceenddate"),11l);
 
 
                 if(where.containsKey("fnotes"))
@@ -582,13 +605,30 @@ public class Afterserviceorder extends Controller {
         Rows rows = dbConnect.runSqlQuery("select value from PS_DATABIND_LIST where databindid='APPSYSTEM' order by SEQUENCE");
         return getReturnObject_suc(rows,false).toString();
     }
-    /**获取客诉大类**/
+    /**获取服务分类**/
     public String errcategory(){
         DBConnect dbConnect=new DBConnect();
         Rows rows = dbConnect.runSqlQuery("select value from PS_DATABIND_LIST where databindid='ERRCATEGORY' order by SEQUENCE");
         return getReturnObject_suc(rows,false).toString();
     }
 
+    /**服务分类查询**/
+    public String servicetypeList(){
+        Rows rows=new Rows();
+        Row row1=new Row();
+        row1.put("value","售前");
+        Row row2=new Row();
+        row2.put("value","售中");
+        Row row3=new Row();
+        row3.put("value","售后");
+        Row row4=new Row();
+        row4.put("value","历史售后");
+        rows.add(row1);
+        rows.add(row2);
+        rows.add(row3);
+        rows.add(row4);
+        return getReturnObject_suc(rows,true).toString();
 
+}
 
 }

+ 2 - 0
src/rest/openapi/restcontroller/hyworkorder/web/afterserviceorder/SQL/查询台州订单收货日期.sql

@@ -0,0 +1,2 @@
+select SALOGIS.receivedate from SALOGIS inner join  salogisdetail on salogisdetail.fparentid=SALOGIS.salogisid 
+                      inner join sainvoice on sainvoice.sainvoiceid=salogisdetail.fsourceid where SALOGIS.fstatus ='µ½»õ' and SALOGIS.siteid='TZ' and fsonum=$fsonum$ order by SALOGIS.receivedate desc

+ 57 - 2
src/rest/openapi/restcontroller/hyworkorder/web/workorder/HyWorkOrder.java

@@ -37,6 +37,9 @@ public class HyWorkOrder extends Controller {
         String wherestr="1=1";
         if(where!=null){
             DBConnect dbConnect=new DBConnect();
+            if(where.containsKey("customerphone")&&!StringUtils.isBlank(where.getString("customerphone"))){
+                wherestr+=" and SCENEPHONE = '"+where.getString("customerphone")+"'";
+            }
             if(where.containsKey("fstatus")&&!StringUtils.isBlank(where.getString("fstatus"))){
                 wherestr+=" and fstatus = '"+where.getString("fstatus")+"'";
             }
@@ -52,7 +55,7 @@ public class HyWorkOrder extends Controller {
             if(where.containsKey("fworknum")&&!StringUtils.isBlank(where.getString("fworknum"))){
                 wherestr+=" and t.fworknum like '%"+where.getString("fworknum")+"%'";
             }
-            SQLFactory factory=new SQLFactory(this,"工单列表查询",pageSize,pageNumber,"case when t.fstatus='待开始' then 1\n" +
+            SQLFactory factory=new SQLFactory(this,"工单列表查询",pageSize,pageNumber," case when t.fstatus='待接单' then 0 when t.fstatus='待开始' then 1\n" +
                     "when t.fstatus='进行中' then 2\n" +
                     "when t.fstatus='已完成' then 3\n" +
                     "when t.fstatus='关闭' then 4 else 5 end,t.fworknum desc");
@@ -65,7 +68,30 @@ public class HyWorkOrder extends Controller {
         return getReturnObject_err("缺少where参数").toString();
 
     }
+    
+    /**服务人员行程列表查询**/
+    public String workorderlistbysaler(){
+        if(StringUtils.isBlank(hrid))return getReturnObject_err("hrid为空").toString();
+        if(StringUtils.isBlank(siteid))return getReturnObject_err("siteid为空").toString();
+        JSONObject where = content.getJSONObject("where");
+        String wherestr="t.fstatus='进行中' ";
+        if(where!=null){
+            DBConnect dbConnect=new DBConnect();
+            if(where.containsKey("customerphone")&&!StringUtils.isBlank(where.getString("customerphone"))){
+                wherestr+=" and PROJECTLEADER = '"+where.getString("projectleader")+"'";
+            }
+            SQLFactory factory=new SQLFactory(this,"工单列表查询",pageSize,pageNumber,"t.fworknum desc");
+            factory.addParameter("fagentnum",fagentnum);
+            factory.addParameter("siteid",siteid);
+            factory.addParameter_SQL("where",wherestr);
+            Rows rows = dbConnect.runSqlQuery(factory.getSQL());
+            return getReturnObject_suc_page(rows,false,0).toString();
+        }
+        return getReturnObject_err("缺少where参数").toString();
+
+    }
 
+    
     /**工单详情查询**/
     public String detail(){
         if(StringUtils.isBlank(hrid))return getReturnObject_err("hrid为空").toString();
@@ -194,7 +220,36 @@ public class HyWorkOrder extends Controller {
         }
         return getReturnObject_err("缺少where参数").toString();
     }
-
+    /**工单接单**/
+    public String accept(){
+        if(StringUtils.isBlank(hrid))return getReturnObject_err("hrid为空").toString();
+        if(StringUtils.isBlank(fagentnum))return getReturnObject_err("fagentnum为空").toString();
+        if(StringUtils.isBlank(siteid))return getReturnObject_err("siteid为空").toString();
+        JSONObject where = content.getJSONObject("where");
+        String s[]={"fworknum"};
+        for (String s1 : s) {
+            if(!where.containsKey(s1)&&!StringUtils.isBlank(where.getString(s1)))return getReturnObject_err("缺少"+s1+"参数").toString();
+        }
+        String wherestr="1=1";
+        if(where!=null){
+            try {
+                PaoSetRemote workorderset = getpaoset("Workorder");
+                workorderset.setInsertSite(siteid);
+                workorderset.setWhere("fworknum='"+where.getString("fworknum")+"'");
+                workorderset.reset();
+                if(!workorderset.isEmpty()){
+                    workorder workorderPao = (workorder)workorderset.getPao(0);
+                    workorderPao.setValue("fstatus", "待开始",11l);
+                    workorderset.save();
+                    return getReturnObject_suc().toString();
+                }
+                return getReturnObject_err("没有该工单").toString();
+            } catch (P2Exception e) {
+                return getReturnObject_err(e.getMessage()).toString();
+            }
+        }
+        return getReturnObject_err("缺少where参数").toString();
+    }
     /**工单启用**/
     public String toused(){
         if(StringUtils.isBlank(hrid))return getReturnObject_err("hrid为空").toString();