|
|
@@ -254,11 +254,13 @@ public class workorder extends Controller {
|
|
|
+ " and t1.siteid='" + siteid + "'");
|
|
|
RowsMap rowsOneLevelMapWorkpreset = rowsOneLevelWorkpreset.toRowsMap("sequence");
|
|
|
Rows rowsOneLevel = dbConnect
|
|
|
- .runSqlQuery("select * from (SELECT * FROM(SELECT( @i := CASE WHEN ( @parentid = parentid AND @sa_workorderid = sa_workorderid ) THEN @i + 1 ELSE 1 END ) rownum,( @parentid := parentid ),( @sa_workorderid := sa_workorderid ),( @siteid := siteid ),b.* FROM sa_workorder_node b,( SELECT @i:= 0, @parentid := '', @sa_workorderid := '', @siteid := '' ) AS a )t)t where parentid=0 and sa_workorderid=" + sa_workorderid
|
|
|
- + " and siteid='" + siteid + "'");
|
|
|
- Rows rowsTwoLevel = dbConnect
|
|
|
- .runSqlQuery("select * from (SELECT * FROM(SELECT( @i := CASE WHEN ( @parentid = parentid AND @sa_workorderid = sa_workorderid ) THEN @i + 1 ELSE 1 END ) rownum,( @parentid := parentid ),( @sa_workorderid := sa_workorderid ),( @siteid := siteid ),b.* FROM sa_workorder_node b,( SELECT @i:= 0, @parentid := '', @sa_workorderid := '', @siteid := '' ) AS a )t)t where parentid!=0 and sa_workorderid="
|
|
|
- + sa_workorderid + " and siteid='" + siteid + "'");
|
|
|
+ .runSqlQuery("SELECT *,ROW_NUMBER() OVER (PARTITION BY parentid, sa_workorderid, siteid ORDER BY sa_workorder_nodeid) AS rownum FROM sa_workorder_node WHERE siteid = '"+siteid+"' AND sa_workorderid = "+sa_workorderid+" ORDER BY parentid, rownum");
|
|
|
+ Rows rowsTwoLevel =new Rows();
|
|
|
+ for (Row rowOneLevel :rowsOneLevel) {
|
|
|
+ if(rowOneLevel.getInteger("parentid")!=0){
|
|
|
+ rowsTwoLevel.add(rowOneLevel);
|
|
|
+ }
|
|
|
+ }
|
|
|
RowsMap rowsTwoLevelMap = rowsTwoLevel.toRowsMap("parentid");
|
|
|
// 附件
|
|
|
ArrayList<Long> ids = rowsOneLevel.toArrayList("sa_workorder_nodeid", new ArrayList<>());
|
|
|
@@ -362,12 +364,14 @@ public class workorder extends Controller {
|
|
|
"select t1.sa_workorder_node_teamid,t1.createuserid,t1.createby,t1.createdate,t1.sa_workorderid,t1.sa_workorder_nodeid,if(t1.userid>0,t3.name,t1.name) name,if(t1.userid>0,t3.phonenumber,t1.phonenumber) phonenumber,if(t1.userid>0,t3.position,t1.position) position,t2.enterprisename,t2.phonenumber enterprisephonenumber from sa_workorder_node_team t1 left join sys_enterprise t2 on t1.sys_enterpriseid=t2.sys_enterpriseid and t1.siteid=t2.siteid left join sys_hr t3 on t1.userid=t3.userid and t1.siteid=t3.siteid where t1.sa_workorderid=" + sa_workorderid + " and t1.siteid='"
|
|
|
+ siteid + "'");
|
|
|
RowsMap trainersRowsMap = trainers.toRowsMap("sa_workorder_nodeid");
|
|
|
+ ArrayList<Long> ids = rows.toArrayList("sa_workorder_nodeid", new ArrayList<>());
|
|
|
+ RowsMap attRowsMap = getAttachmentUrl("sa_workorder_node", ids);
|
|
|
for (Row row : rows) {
|
|
|
if (row.getJSONObject("workpresetjson") == null || row.getJSONObject("workpresetjson").isEmpty()) {
|
|
|
if (row.getLong("parentid") == 0) {
|
|
|
row.put("workpresetjson", queryCorrespondingWorkpresetInfo(sa_workorder_templateid, row.getString("rownum"), 0));
|
|
|
} else {
|
|
|
- Rows sa_workorder_template_worksids = dbConnect.runSqlQuery("select sa_workorder_template_worksid from sa_workorder_template_works where sa_workorder_templateid=" + sa_workorder_templateid + " and parentid=0 and sequence=(select t.rownum from (SELECT * FROM(SELECT( @i := CASE WHEN ( @parentid = parentid AND @sa_workorderid = sa_workorderid ) THEN @i + 1 ELSE 1 END ) rownum,( @parentid := parentid ),( @sa_workorderid := sa_workorderid ),( @siteid := siteid ),b.* FROM sa_workorder_node b,( SELECT @i:= 0, @parentid := '', @sa_workorderid := '', @siteid := '' ) AS a )t) t where t.sa_workorder_nodeid=" + row.getLong("parentid") + ")");
|
|
|
+ Rows sa_workorder_template_worksids = dbConnect.runSqlQuery("SELECT sa_workorder_template_worksid FROM sa_workorder_template_works WHERE sa_workorder_templateid = "+sa_workorder_templateid+" AND parentid = 0 AND sequence = (SELECT rownum FROM ( SELECT ROW_NUMBER() OVER (PARTITION BY parentid, sa_workorderid, siteid ORDER BY sa_workorder_nodeid) AS rownum FROM sa_workorder_node WHERE sa_workorder_nodeid = "+ row.getLong("parentid") +" AND siteid ='"+siteid+"') t);");
|
|
|
if (!sa_workorder_template_worksids.isEmpty()) {
|
|
|
row.put("workpresetjson", queryCorrespondingWorkpresetInfo(sa_workorder_templateid, row.getString("sequence"), sa_workorder_template_worksids.get(0).getLong("sa_workorder_template_worksid")));
|
|
|
}
|
|
|
@@ -378,8 +382,7 @@ public class workorder extends Controller {
|
|
|
}
|
|
|
|
|
|
/** 工单节点附件 **/
|
|
|
- ArrayList<Long> ids = rows.toArrayList("sa_workorder_nodeid", new ArrayList<>());
|
|
|
- RowsMap attRowsMap = getAttachmentUrl("sa_workorder_node", ids);
|
|
|
+
|
|
|
row.put("attinfos", attRowsMap.get(row.getString("sa_workorder_nodeid")));
|
|
|
/** 工单节点团队查询 **/
|
|
|
|
|
|
@@ -490,11 +493,12 @@ public class workorder extends Controller {
|
|
|
querySQL.setOrderBy("t1.createdate desc");
|
|
|
querySQL.setPage(pageSize, pageNumber);
|
|
|
Rows rows = querySQL.query();
|
|
|
- SQLFactory sqlFactory2 = new SQLFactory(this, "服务工单状态统计");
|
|
|
- sqlFactory2.addParameter("userid", userid);
|
|
|
- sqlFactory2.addParameter("siteid", siteid);
|
|
|
- sqlFactory2.addParameter_SQL("where", where);
|
|
|
- Rows rows_total = dbConnect.runSqlQuery(sqlFactory2.getSQL());
|
|
|
+
|
|
|
+// SQLFactory sqlFactory2 = new SQLFactory(this, "服务工单状态统计");
|
|
|
+// sqlFactory2.addParameter("userid", userid);
|
|
|
+// sqlFactory2.addParameter("siteid", siteid);
|
|
|
+// sqlFactory2.addParameter_SQL("where", where);
|
|
|
+// Rows rows_total = dbConnect.runSqlQuery(sqlFactory2.getSQL());
|
|
|
|
|
|
QuerySQL userquerySQL = SQLFactory.createQuerySQL(this, "sys_users","userid");
|
|
|
userquerySQL.setTableAlias("t1");
|
|
|
@@ -522,15 +526,10 @@ public class workorder extends Controller {
|
|
|
}
|
|
|
|
|
|
}
|
|
|
- rows.get(0).put("rows_total", rows_total);
|
|
|
+// rows.get(0).put("rows_total", rows_total);
|
|
|
}
|
|
|
|
|
|
-// //附件
|
|
|
-// ArrayList<Long> ids = rows.toArrayList("sa_workorderid", new ArrayList<>());
|
|
|
-// RowsMap attRowsMap = getAttachmentUrl("sa_workorder", ids);
|
|
|
-// for (Row row : rows) {
|
|
|
-// row.put("attinfos", attRowsMap.getOrDefault(row.getString("sa_workorderid"), new Rows()));
|
|
|
-// }
|
|
|
+
|
|
|
|
|
|
return getSucReturnObject().setData(rows).toString();
|
|
|
}
|
|
|
@@ -564,7 +563,7 @@ public class workorder extends Controller {
|
|
|
|
|
|
row.put("workpresetjson", queryCorrespondingWorkpresetInfo(sa_workorder_templateid, row.getString("rownum"), 0));
|
|
|
} else {
|
|
|
- Rows sa_workorder_template_worksids = dbConnect.runSqlQuery("select sa_workorder_template_worksid from sa_workorder_template_works where sa_workorder_templateid=" + sa_workorder_templateid + " and parentid=0 and sequence=(select t.rownum from (SELECT * FROM(SELECT( @i := CASE WHEN ( @parentid = parentid AND @sa_workorderid = sa_workorderid ) THEN @i + 1 ELSE 1 END ) rownum,( @parentid := parentid ),( @sa_workorderid := sa_workorderid ),( @siteid := siteid ),b.* FROM sa_workorder_node b,( SELECT @i:= 0, @parentid := '', @sa_workorderid := '', @siteid := '' ) AS a )t) t where t.sa_workorder_nodeid=" + row.getLong("parentid") + ")");
|
|
|
+ Rows sa_workorder_template_worksids = dbConnect.runSqlQuery("SELECT sa_workorder_template_worksid FROM sa_workorder_template_works WHERE sa_workorder_templateid = "+sa_workorder_templateid+" AND parentid = 0 AND sequence = (SELECT rownum FROM ( SELECT ROW_NUMBER() OVER (PARTITION BY parentid, sa_workorderid, siteid ORDER BY sa_workorder_nodeid) AS rownum FROM sa_workorder_node WHERE sa_workorder_nodeid = "+ row.getLong("parentid") +" AND siteid ='"+siteid+"') t);");
|
|
|
if (!sa_workorder_template_worksids.isEmpty()) {
|
|
|
row.put("workpresetjson", queryCorrespondingWorkpresetInfo(sa_workorder_templateid, row.getString("sequence"), sa_workorder_template_worksids.get(0).getLong("sa_workorder_template_worksid")));
|
|
|
}
|