|
|
@@ -172,6 +172,9 @@ public class workorder extends Controller {
|
|
|
sqlFactory.addParameter("siteid", siteid);
|
|
|
Rows rows = dbConnect.runSqlQuery(sqlFactory);
|
|
|
Row row = rows.isNotEmpty() ? rows.get(0) : new Row();
|
|
|
+
|
|
|
+ RowsMap rowsMapdetails = queryWorkOrderNodedetails(sa_workorderid);
|
|
|
+
|
|
|
if (!row.isEmpty()) {
|
|
|
/** 工单工序查询 **/
|
|
|
Rows rowsOneLevelWorkpreset = dbConnect
|
|
|
@@ -201,6 +204,7 @@ public class workorder extends Controller {
|
|
|
}
|
|
|
rowOneLevel.put("attinfos",
|
|
|
attRowsMap.get(rowOneLevel.getString("sa_workorder_nodeid")));
|
|
|
+ rowOneLevel.put("detail",rowsMapdetails.get(rowOneLevel.getString("sa_workorder_nodeid")));
|
|
|
Rows lowerRows = rowsTwoLevelMap.get(rowOneLevel.getString("sa_workorder_nodeid"));
|
|
|
if (!lowerRows.isEmpty()) {
|
|
|
for (Row lowerRow : lowerRows) {
|
|
|
@@ -210,6 +214,7 @@ public class workorder extends Controller {
|
|
|
|
|
|
lowerRow.put("attinfos",
|
|
|
attRowsMap.get(lowerRow.getString("sa_workorder_nodeid")));
|
|
|
+ lowerRow.put("detail",rowsMapdetails.get(lowerRow.getString("sa_workorder_nodeid")));
|
|
|
}
|
|
|
}
|
|
|
rowOneLevel.put("child", lowerRows);
|
|
|
@@ -236,6 +241,81 @@ public class workorder extends Controller {
|
|
|
return getSucReturnObject().setData(row).toString();
|
|
|
}
|
|
|
|
|
|
+ public RowsMap queryWorkOrderNodedetails(long sa_workorderid) throws YosException {
|
|
|
+ SQLFactory sqlFactory = new SQLFactory(this, "服务工单节点查询全部");
|
|
|
+ sqlFactory.addParameter("sa_workorderid", sa_workorderid);
|
|
|
+ sqlFactory.addParameter("siteid", siteid);
|
|
|
+ //System.out.println(sqlFactory.getSQL());
|
|
|
+ Rows rows = dbConnect.runSqlQuery(sqlFactory);
|
|
|
+ Rows sa_workorder_templateids = dbConnect.runSqlQuery("select sa_workorder_templateid from sa_workorder where sa_workorderid=" + sa_workorderid);
|
|
|
+ long sa_workorder_templateid = 0;
|
|
|
+ if (!sa_workorder_templateids.isEmpty()) {
|
|
|
+ sa_workorder_templateid = sa_workorder_templateids.get(0).getLong("sa_workorder_templateid");
|
|
|
+ }
|
|
|
+
|
|
|
+ Rows workorderteamRows = dbConnect
|
|
|
+ .runSqlQuery("select * from sys_datateam where ownertable='sa_workorder_node' and siteid='" + siteid
|
|
|
+ + "'");
|
|
|
+ RowsMap workorderteamRowsMap = workorderteamRows.toRowsMap("ownerid");
|
|
|
+
|
|
|
+ /** 工单节点物料查询 **/
|
|
|
+ Rows oldworkorderitemRows = dbConnect.runSqlQuery(
|
|
|
+ "select t1.*,t2.itemno,t2.model,t2.itemname,t2.spec from sa_workorder_node_items t1 left join plm_item t2 on t1.itemid=t2.itemid and t1.siteid=t2.siteid where t1.sa_workorderid=" + sa_workorderid + " and ifnull(t1.isnew,0)=0 and t1.siteid='"
|
|
|
+ + siteid + "'");
|
|
|
+ RowsMap oldworkorderitemRowsMap = oldworkorderitemRows.toRowsMap("sa_workorder_nodeid");
|
|
|
+
|
|
|
+ Rows newworkorderitemRows = dbConnect.runSqlQuery(
|
|
|
+ "select t1.*,t2.itemno,t2.model,t2.itemname,t2.spec from sa_workorder_node_items t1 left join plm_item t2 on t1.itemid=t2.itemid and t1.siteid=t2.siteid where t1.sa_workorderid=" + sa_workorderid + " and ifnull(t1.isnew,0)=1 and t1.siteid='"
|
|
|
+ + siteid + "'");
|
|
|
+ RowsMap newworkorderitemRowsMap = newworkorderitemRows.toRowsMap("sa_workorder_nodeid");
|
|
|
+
|
|
|
+ /** 节点关联培训人员查询 **/
|
|
|
+ Rows trainers = dbConnect.runSqlQuery(
|
|
|
+ "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");
|
|
|
+ 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") + ")");
|
|
|
+ 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")));
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ row.put("workpresetjson", JSONObject.parseObject(row.getString("workpresetjson"))); // 转化成json
|
|
|
+ }
|
|
|
+
|
|
|
+ /** 工单节点附件 **/
|
|
|
+ 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")));
|
|
|
+ /** 工单节点团队查询 **/
|
|
|
+
|
|
|
+ row.put("team", workorderteamRowsMap.get(row.getString("sa_workorder_nodeid")));
|
|
|
+
|
|
|
+ /** 工单节点物料查询 **/
|
|
|
+ row.put("oldtitems", oldworkorderitemRowsMap.get(row.getString("sa_workorder_nodeid")));
|
|
|
+
|
|
|
+
|
|
|
+ row.put("newtitems", newworkorderitemRowsMap.get(row.getString("sa_workorder_nodeid")));
|
|
|
+
|
|
|
+// /** 节点关联培训物料查询 **/
|
|
|
+// Rows traintitem = dbConnect.runSqlQuery("select * from sa_workorder_node_items where sa_workorder_nodeid="+sa_workorder_nodeid+" and sa_workorderid="
|
|
|
+// + sa_workorderid+" and siteid='"+siteid+"'");
|
|
|
+// row.put("traintitem", traintitem);
|
|
|
+
|
|
|
+ /** 节点关联培训人员查询 **/
|
|
|
+
|
|
|
+ row.put("trainers", trainersRowsMap.get(row.getString("sa_workorder_nodeid")));
|
|
|
+ }
|
|
|
+
|
|
|
+ return rows.toRowsMap("sa_workorder_nodeid");
|
|
|
+ }
|
|
|
+
|
|
|
@API(title = "查询服务工单列表", apiversion = R.ID20230208140203.v1.class)
|
|
|
@CACHEING
|
|
|
public String queryworkorderList() throws YosException {
|