Explorar el Código

Merge remote-tracking branch 'Gogs/develop' into develop

沈静伟 hace 3 años
padre
commit
6fcc4a63b3

+ 9 - 1
src/rest/openapi/restcontroller/housekeeper/titem/AgentTitem.java

@@ -27,8 +27,15 @@ public class AgentTitem extends Controller {
         if(StringUtils.isBlank(siteid))return getReturnObject_err("siteid为空").toString();
         JSONObject where = content.getJSONObject("where");
         String wherestr="1=1";
+        
         if(where!=null){
             DBConnect dbConnect=new DBConnect();
+            /**节点关联物料查询**/
+            Rows rows_titem = dbConnect.runSqlQuery("select t.fitemno,t.fitemname,t.fmodel,t.fspec,t.fqty from \n" +
+                    "workorder_titem t\n" +
+                    "where EXISTS(select 1 from Workorder t1 where t1.fworknum='"+where.getString("fworknum")+"' and t1.Workorderid=t.fparentid)\n" +
+                    " and t.sourcenode='"+where.getString("frownum")+"'");
+          
             if(where.containsKey("fitemname")&&!StringUtils.isBlank(where.getString("fitemname"))){
                 wherestr+=" and (t.fitemname like '%"+where.getString("fitemname")+"%' " +
                         "or t.fitemno like '%"+where.getString("fitemname")+"%' "+
@@ -45,8 +52,9 @@ public class AgentTitem extends Controller {
             SQLFactory factory=new SQLFactory(this,"本站物料查询",pageSize,pageNumber,"t.fitemno");
             factory.addParameter("siteid",siteid);
             factory.addParameter("fagentnum",fagentnum);
+            factory.addParameter_SQL("fitemno",  rows_titem.getInWhere("fitemno"));
             factory.addParameter_SQL("where",wherestr);
-
+            System.out.println("111:"+factory.getSQL());
             Rows rows = dbConnect.runSqlQuery(factory.getSQL());
             SQLFactory imagefactory=new SQLFactory(this,"本站物料图片查询");
             imagefactory.addParameter("siteid",siteid);

+ 1 - 1
src/rest/openapi/restcontroller/housekeeper/titem/SQL/本站物料查询.sql

@@ -2,4 +2,4 @@ select t.fitemno,t.fitemname,t.fmodel,t.fspec,t.fisused,t2.fbrand,t2.fieldname,
 case when t.titemid is null then '±¾Õ¾ÎïÁÏ' else '×ܲ¿ÎïÁÏ' end type
 from TAGENTS_titem t
 left join titem t2 on t.fitemno=t2.fitemno and t2.siteid=t.siteid
-where t.fagentnum=$fagentnum$ and t.siteid=$siteid$ and $where$
+where t.fagentnum=$fagentnum$ and t.siteid=$siteid$ and t.fitemno not in $fitemno$ and $where$

+ 86 - 20
src/rest/openapi/restcontroller/housekeeperwebapp/workorder/WorkOrder.java

@@ -399,11 +399,13 @@ public class WorkOrder extends Controller {
         }
         if (where != null) {
             DBConnect dbConnect = new DBConnect();
-
+            long start1 =System.currentTimeMillis();
             SQLFactory factory=new SQLFactory(this,"工单节点详情查询");
             factory.addParameter("fworknum",where.getString("fworknum"));
             factory.addParameter("frownum",where.getString("frownum"));
-            Rows rows = dbConnect.runSqlQuery(factory.getSQL());
+            Rows rows = dbConnect.runSqlQuery(factory.getSQL()); 
+            long start2 =System.currentTimeMillis();
+            long start3 =start2;
             if(!rows.isEmpty()){
                 Row rowdetail = rows.get(0);
                 if(WebClientRest.FISUPLOADFOROBS){
@@ -411,6 +413,7 @@ public class WorkOrder extends Controller {
                     factoryurl.addParameter("ownerid",rowdetail.getInteger("ownerid"));
                     Rows rowsimg = dbConnect.runSqlQuery(factoryurl.getSQL());
                     rowdetail.put("url",rowsimg);
+                    start3 =System.currentTimeMillis();
                 }else{
                     SQLFactory factoryurl=new SQLFactory(this,"工单节点详情附件查询");
                     factoryurl.addParameter("ownerid",rowdetail.getInteger("ownerid"));
@@ -423,25 +426,26 @@ public class WorkOrder extends Controller {
 
                 Rows rows_team = dbConnect.runSqlQuery("select t.workername,t.workerphone from ordernode_team t\n" +
                         "where EXISTS(select 1 from ordernode t1 where t1.ordernodeid=t.fparentid and t1.ordernodeid="+rowdetail.getInteger("ownerid")+") and siteid='"+siteid+"'");
-                SQLFactory factory_team_url = new SQLFactory(this, "工单节点参与人员头像查询");
-                factory_team_url.addParameter("siteid",rowdetail.getString("siteid"));
-                factory_team_url.addParameter_SQL("workerphone",rows_team.getInWhere("workerphone"));
-                Rows rows_team_url = dbConnect.runSqlQuery(factory_team_url.getSQL());
-                RowsMap workerphone = rows_team_url.toRowsMap("workerphone");
-                for (Row row : rows_team) {
-                    if(workerphone.containsKey(row.getString("workerphone"))){
-                        row.put("url",workerphone.get(row.getString("workerphone")).get(0).getString("url"));
-                    }else{
-                        row.put("url",null);
-                    }
-                }
+//                SQLFactory factory_team_url = new SQLFactory(this, "工单节点参与人员头像查询");
+//                factory_team_url.addParameter("siteid",rowdetail.getString("siteid"));
+//                factory_team_url.addParameter_SQL("workerphone",rows_team.getInWhere("workerphone"));
+//                Rows rows_team_url = dbConnect.runSqlQuery(factory_team_url.getSQL());
+//                RowsMap workerphone = rows_team_url.toRowsMap("workerphone");
+//                long start4 =System.currentTimeMillis();
+//                for (Row row : rows_team) {
+//                    if(workerphone.containsKey(row.getString("workerphone"))){
+//                        row.put("url",workerphone.get(row.getString("workerphone")).get(0).getString("url"));
+//                    }else{
+//                        row.put("url",null);
+//                    }
+//                }
                 /**节点关联物料查询**/
                 Rows rows_titem = dbConnect.runSqlQuery("select t.fitemno,t.fitemname,t.fmodel,t.fspec,t.fqty from \n" +
                         "workorder_titem t\n" +
                         "where EXISTS(select 1 from Workorder t1 where t1.fworknum='"+where.getString("fworknum")+"' and t1.Workorderid=t.fparentid)\n" +
                         " and t.sourcenode='"+where.getString("frownum")+"'");
 
-
+                long start5 =System.currentTimeMillis();
 
 
                 SQLFactory factory_imgurl = new SQLFactory(this, "物料图片查询");
@@ -457,13 +461,16 @@ public class WorkOrder extends Controller {
                         row.put("url",null);
                     }
                 }
-
+                long start6 =System.currentTimeMillis()
+                		;
                 rowdetail.put("team",rows_team);
                 rowdetail.put("titem",rows_titem);
-
-
+                System.err.println("1="+(start2-start1));
+                System.err.println("2="+(start3-start2));
+//                System.err.println("3="+(start4-start3));
+//                System.err.println("4="+(start5-start4));
+                System.err.println("5="+(start6-start5));
                 return getReturnObject_suc(rowdetail,false).toString();
-
             }
             return getReturnObject_err("该节点不是末级节点").toString();
 
@@ -527,7 +534,66 @@ public class WorkOrder extends Controller {
         }
         return getReturnObject_err("缺少where参数").toString();
     }
-
+    
+    /**工单修改物料**/
+    public String updatetitem(){
+        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","frownum"};
+        for (String s1 : s) {
+            if (!where.containsKey(s1) && !StringUtils.isBlank(where.getString(s1)))
+                return getReturnObject_err("缺少" + s1 + "参数").toString();
+        }
+        if (where != null) {
+            try {
+                PaoSetRemote workorder = P2Server.getP2Server().getPaoSet("Workorder", P2Server.getP2Server().getSystemUserInfo());
+                workorder.setInsertSite(siteid);
+                workorder.setWhere("fworknum='"+where.getString("fworknum")+"'");
+                workorder.reset();
+                if(!workorder.isEmpty()){
+                    workorder workorderPao = (workorder)workorder.getPao(0);
+                    if(!workorderPao.getString("fstatus").equals("进行中"))getReturnObject_err("该工单不在进行中状态").toString();
+                    PaoSetRemote ordernode = workorderPao.getPaoSet("ordernode");
+                    ordernode.setWhere("frownum="+where.getInt("frownum"));
+                    ordernode.reset();
+                    if(!ordernode.isEmpty()){
+                        ordernode ordernodePao = (ordernode) ordernode.getPao(0);
+                        if(ordernodePao.getBoolean("fisaddtitem")){
+                            if(where.containsKey("titems")){
+                                PaoSetRemote workorder_titem = workorderPao.getPaoSet("workorder_titem");
+                                JSONArray titems = where.getJSONArray("titems");
+                                for (Object titem : titems) {
+                                    JSONObject titemnode=(JSONObject) titem;
+                                    int i = 0;
+                        			PaoRemote paoRemote = null;
+                        			while ((paoRemote = workorder_titem.getPao(i)) != null) {
+                        				if (paoRemote.getString("fitemno").equals(titemnode.getString("fitemno"))) {
+                        					paoRemote.setValue("FQTY",titemnode.getInt("fqty"),11l);
+                        					break;
+                        				}
+                        				i++;
+                        			}                
+                                }
+//                                workorder_titem.save();
+//                                ordernode.save();
+                                workorder.save();
+                                return getReturnObject_suc().toString();
+                            }
+                            return getReturnObject_err("titems参数为空").toString();
+                        }
+                        return getReturnObject_err("该节点没有授权添加物料").toString();
+                    }
+                    return getReturnObject_err("该节点不存在").toString();
+                }
+                return getReturnObject_err("该工单不存在").toString();
+            } catch (P2Exception e) {
+                return getReturnObject_err(e.getMessage()).toString();
+            }
+        }
+        return getReturnObject_err("缺少where参数").toString();
+    }
 
     /**更新节点内容**/
     public String updatenode(){