瀏覽代碼

维修配件申请单列表查询错误修复

shenjingwei 2 月之前
父節點
當前提交
eed0877c74
共有 1 個文件被更改,包括 55 次插入96 次删除
  1. 55 96
      src/custom/restcontroller/webmanage/sale/accessoryorder/accessoryorder.java

+ 55 - 96
src/custom/restcontroller/webmanage/sale/accessoryorder/accessoryorder.java

@@ -39,23 +39,17 @@ public class accessoryorder extends Controller {
     @API(title = "查询配件订单列表(管理端)", apiversion = R.ID2025080510285003.v1.class)
     @CACHEING
     public String selectListManage() throws YosException, IOException {
+        ArrayList<String> statusList = new ArrayList<>();
         StringBuffer where = new StringBuffer(" 1=1 ");
         if (content.containsKey("where")) {
             JSONObject whereObject = content.getJSONObject("where");
-            if (whereObject.containsKey("condition") && !"".equals(whereObject.getString("condition"))) {
-                where.append(" and(");
-                where.append("t1.sonum like'%").append(whereObject.getString("condition")).append("%' ");
-                where.append("or t2.enterprisename like'%").append(whereObject.getString("condition")).append("%' ");
-                where.append("or t2.abbreviation like'%").append(whereObject.getString("condition")).append("%' ");
-//                where.append("or t5.erpbillno like'%").append(whereObject.getString("condition")).append("%' ");
-                where.append("or t1.remarks like'%").append(whereObject.getString("condition")).append("%' ");
-                where.append(")");
-            }
+
             //状态
-            if (whereObject.containsKey("status") && !"".equals(whereObject.getString("status"))) {
-                where.append(" and(");
-                where.append("t1.status ='").append(whereObject.getString("status")).append("' ");
-                where.append(")");
+            if (whereObject.containsKey("status") && !whereObject.getJSONArray("status").isEmpty()) {
+                JSONArray statusArray = whereObject.getJSONArray("status");
+                for (int i = 0; i < statusArray.size(); i++) {
+                    statusList.add(statusArray.getString(i));
+                }
             }
             if (whereObject.containsKey("type") && !"".equals(whereObject.getString("type"))) {
                 where.append(" and(");
@@ -108,28 +102,6 @@ public class accessoryorder extends Controller {
                 where.append(")");
             }
 
-//            if (whereObject.containsKey("writeoffstatus") && !"".equals(whereObject.getString("writeoffstatus"))) {
-//                String writeoffstatus = whereObject.getStringValue("writeoffstatus");
-//                if (writeoffstatus.equals("未核销")) {
-//                    where.append(" and t7.writeoffamount = 0");
-//                } else if (writeoffstatus.equals("已核销")) {
-//                    where.append(" and t7.writeoffamount = t7.amount and t7.amount > 0");
-//                } else {
-//                    where.append(" and t7.writeoffamount < t7.amount and t7.writeoffamount > 0");
-//                }
-//
-//            }
-//            if (whereObject.containsKey("invoicestatus") && !"".equals(whereObject.getString("invoicestatus"))) {
-//                String invoicestatus = whereObject.getStringValue("invoicestatus");
-//                if (invoicestatus.equals("未开票")) {
-//                    where.append(" and t7.invoiceamount = 0");
-//                } else if (invoicestatus.equals("已开票")) {
-//                    where.append(" and t7.invoiceamount = t7.amount and t7.amount > 0");
-//                } else {
-//                    where.append(" and t7.invoiceamount < t7.amount and t7.invoiceamount > 0");
-//                }
-//
-//            }
             if (whereObject.containsKey("isreturn") && !"".equals(whereObject.getString("isreturn"))) {
                 String isreturn = whereObject.getStringValue("isreturn");
                 if (isreturn.equals("1")) {
@@ -146,25 +118,18 @@ public class accessoryorder extends Controller {
                     where.append(" and exists(SELECT * from sa_orderitems_change WHERE sa_orderid = t1.sa_orderid and siteid = t1.siteid)");
                 }
             }
-            if (whereObject.containsKey("tobeclosebyhand") && !"".equals(whereObject.getString("tobeclosebyhand"))) {
-                String tobeclosebyhand = whereObject.getStringValue("tobeclosebyhand");
-                if (tobeclosebyhand.equals("1")) {
-                    where.append(" and  t1.status !='手工关闭' and sa_orderid in (select sa_orderid from sa_orderitems t1 left join (select t2.sa_orderitemsid,t2.siteid,sum(outwarehouseqty) sumoutwarehouseqty from sa_dispatch_items t2 inner join sa_dispatch t3 on t2.sa_dispatchid=t3.sa_dispatchid and t2.siteid=t3.siteid GROUP BY sa_orderitemsid,siteid) t2 on t1.sa_orderitemsid=t2.sa_orderitemsid and t1.siteid=t2.siteid where t1.qty>ifnull(t2.sumoutwarehouseqty,0)  and t1.isfreeze=1) and sa_orderid in(select t1.sa_orderid from (select sa_orderid,t1.siteid,count(1) count from sa_orderitems t1 inner join (select t2.sa_orderitemsid,t2.siteid,sum(outwarehouseqty) sumoutwarehouseqty from sa_dispatch_items t2 inner join sa_dispatch t3 on t2.sa_dispatchid=t3.sa_dispatchid and t2.siteid=t3.siteid GROUP BY sa_orderitemsid,siteid) t2 on t1.sa_orderitemsid=t2.sa_orderitemsid and t1.siteid=t2.siteid where t1.isfreeze=0 and  t1.qty=t2.sumoutwarehouseqty group by sa_orderid,t1.siteid) t1 inner join (select sa_orderid,t1.siteid,count(1) count from sa_orderitems t1 where t1.isfreeze=0 group by sa_orderid,t1.siteid) t2 on t1.siteid=t2.siteid and t1.sa_orderid=t2.sa_orderid where t1.count=t2.count)");
-                } else {
-                    where.append(" and 1=1");
-                }
-            }
+//            if (whereObject.containsKey("tobeclosebyhand") && !"".equals(whereObject.getString("tobeclosebyhand"))) {
+//                String tobeclosebyhand = whereObject.getStringValue("tobeclosebyhand");
+//                if (tobeclosebyhand.equals("1")) {
+//                    where.append(" and  t1.status !='手工关闭' and sa_orderid in (select sa_orderid from sa_orderitems t1 left join (select t2.sa_orderitemsid,t2.siteid,sum(outwarehouseqty) sumoutwarehouseqty from sa_dispatch_items t2 inner join sa_dispatch t3 on t2.sa_dispatchid=t3.sa_dispatchid and t2.siteid=t3.siteid GROUP BY sa_orderitemsid,siteid) t2 on t1.sa_orderitemsid=t2.sa_orderitemsid and t1.siteid=t2.siteid where t1.qty>ifnull(t2.sumoutwarehouseqty,0)  and t1.isfreeze=1) and sa_orderid in(select t1.sa_orderid from (select sa_orderid,t1.siteid,count(1) count from sa_orderitems t1 inner join (select t2.sa_orderitemsid,t2.siteid,sum(outwarehouseqty) sumoutwarehouseqty from sa_dispatch_items t2 inner join sa_dispatch t3 on t2.sa_dispatchid=t3.sa_dispatchid and t2.siteid=t3.siteid GROUP BY sa_orderitemsid,siteid) t2 on t1.sa_orderitemsid=t2.sa_orderitemsid and t1.siteid=t2.siteid where t1.isfreeze=0 and  t1.qty=t2.sumoutwarehouseqty group by sa_orderid,t1.siteid) t1 inner join (select sa_orderid,t1.siteid,count(1) count from sa_orderitems t1 where t1.isfreeze=0 group by sa_orderid,t1.siteid) t2 on t1.siteid=t2.siteid and t1.sa_orderid=t2.sa_orderid where t1.count=t2.count)");
+//                } else {
+//                    where.append(" and 1=1");
+//                }
+//            }
         }
-//        SQLFactory sqlFactory = new SQLFactory(this, "订单(管理端)_列表", pageSize, pageNumber, pageSorting);
-//        if (isExport) {
-//            sqlFactory = new SQLFactory(this, "订单(管理端)_列表");
-//        }
-//        sqlFactory.addParameter("siteid", siteid);
-//        sqlFactory.addParameter("hrid", hrid);
-//        sqlFactory.addParameter("userid", userid);
-//        sqlFactory.addParameter_SQL("where", where);
-//        String sql = sqlFactory.getSQL();
+
         QuerySQL querySQL = queryListManage(where.toString());
+        querySQL.setWhere("t1.status", statusList);
         querySQL.setOrderBy(pageSorting);
         Rows rows;
         querySQL.setPage(pageSize, pageNumber);
@@ -214,10 +179,7 @@ public class accessoryorder extends Controller {
             } else {
                 row.put("invoicestatus", "部分开票");
             }
-
         }
-
-
         return getSucReturnObject().setData(rows).toString();
     }
 
@@ -225,22 +187,21 @@ public class accessoryorder extends Controller {
     //查询配件订单列表(管理端)
     public QuerySQL queryListManage(String where) throws YosException {
         QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_order",
-                "sa_orderid", "sonum", "type", "status", "submitdate", "checkdate", "remarks", "createby", "checkby", "billdate", "tradefield","delivery","tracknumber","mailno");
-
+                "sa_orderid", "sonum", "type", "status", "submitdate", "checkdate", "remarks", "createby", "checkby", "billdate", "tradefield", "delivery", "tracknumber", "mailno");
         querySQL.setTableAlias("t1");
         querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t2", "t2.sys_enterpriseid = t1.sys_enterpriseid and t2.siteid = t1.siteid",
                 "enterprisename");
         querySQL.addJoinTable(JOINTYPE.left, "sa_agents", "t6", "t6.sys_enterpriseid=t1.sys_enterpriseid and t6.siteid = t1.siteid",
                 "agentnum");
-        querySQL.addJoinTable(JOINTYPE.left, "sa_promotion", "t7", "t7.sa_promotionid=t1.sa_promotionid and t7.siteid = t1.siteid",
-                "promnum", "promname");
         querySQL.addQueryFields("amount", "CAST(0 AS CHAR(20))");
         querySQL.addQueryFields("qty", "CAST(0 AS CHAR(20))");
         querySQL.setWhere("t1.siteid", siteid);
         querySQL.setWhere(where);
+        querySQL.setCondition("t1.sonum", "t2.enterprisename", "t2.abbreviation", "t1.remarks");
         querySQL.setWhere("t1.deleted=0 and t1.type='配件订单'");
         querySQL.setWhere("(t1.status!='新建' or t1.createuserid =$userid$ or t1.createflag=1)");
         querySQL.addParameter("userid", userid);
+
         return querySQL;
     }
 
@@ -274,14 +235,13 @@ public class accessoryorder extends Controller {
         }
 
 
-
         SQLFactory sqlFactory = new SQLFactory(this, "查询可添加配件列表");
         sqlFactory.addParameter("siteid", siteid);
         sqlFactory.addParameter("sa_orderid", sa_orderid);
         sqlFactory.addParameter_SQL("where", where);
-        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sys_site_parameter",  "sys_site_parameterid");
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sys_site_parameter", "sys_site_parameterid");
         querySQL.setTableAlias("t");
-        querySQL.addJoinTable(JOINTYPE.right, sqlFactory, "t1", "'111' = t.siteid ","*");
+        querySQL.addJoinTable(JOINTYPE.right, sqlFactory, "t1", "'111' = t.siteid ", "*");
         querySQL.setPage(pageSize, pageNumber);
         querySQL.setOrderBy(pageSorting);
         Rows rows = querySQL.query();
@@ -310,7 +270,7 @@ public class accessoryorder extends Controller {
 
     @API(title = "查询经销商所有保修卡", apiversion = R.ID2025080510465203.v1.class)
     public String queryWarrantycard() throws YosException {
-        long sys_enterpriseid=content.getLong("sys_enterpriseid");
+        long sys_enterpriseid = content.getLong("sys_enterpriseid");
         StringBuffer where = new StringBuffer(" 1=1 ");
         if (content.containsKey("where")) {
             JSONObject whereObject = content.getJSONObject("where");
@@ -326,18 +286,18 @@ public class accessoryorder extends Controller {
                 where.append(")");
             }
         }
-        QuerySQL querySQL=SQLFactory.createQuerySQL(this,"sa_warrantycard","*");
-        querySQL.addJoinTable(JOINTYPE.inner,"sa_agents","t2","t1.sa_agentsid = t2.sa_agentsid AND t1.siteid = t2.siteid");
-        querySQL.addJoinTable(JOINTYPE.inner,"plm_item","t3","t1.itemid = t3.itemid AND t1.siteid = t3.siteid","itemno","itemname","model","spec");
-        querySQL.addJoinTable(JOINTYPE.inner,"sa_itemsku","t4","t1.sku = t4.sku AND t1.siteid = t4.siteid");
-        querySQL.addQueryFields("skucreatedate","t4.createdate");
-
-        querySQL.setWhere("t1.siteid",siteid);
-        querySQL.setWhere("t2.sys_enterpriseid",sys_enterpriseid);
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_warrantycard", "*");
+        querySQL.addJoinTable(JOINTYPE.inner, "sa_agents", "t2", "t1.sa_agentsid = t2.sa_agentsid AND t1.siteid = t2.siteid");
+        querySQL.addJoinTable(JOINTYPE.inner, "plm_item", "t3", "t1.itemid = t3.itemid AND t1.siteid = t3.siteid", "itemno", "itemname", "model", "spec");
+        querySQL.addJoinTable(JOINTYPE.inner, "sa_itemsku", "t4", "t1.sku = t4.sku AND t1.siteid = t4.siteid");
+        querySQL.addQueryFields("skucreatedate", "t4.createdate");
+
+        querySQL.setWhere("t1.siteid", siteid);
+        querySQL.setWhere("t2.sys_enterpriseid", sys_enterpriseid);
         querySQL.setWhere("t1.isvoid=0");
         querySQL.setWhere(where.toString());
-        querySQL.setPage(pageSize,pageNumber).setOrderBy(pageSorting).setTableAlias("t1");
-        Rows rows=querySQL.query();
+        querySQL.setPage(pageSize, pageNumber).setOrderBy(pageSorting).setTableAlias("t1");
+        Rows rows = querySQL.query();
 
         return getSucReturnObject().setData(rows).toString();
     }
@@ -345,19 +305,19 @@ public class accessoryorder extends Controller {
 
     @API(title = "保修卡添加物料", apiversion = R.ID2025080511204503.v1.class)
     public String queryWarrantycardItems() throws YosException, ParseException {
-        long itemid=content.getLong("itemid");
-        String skucreatedate=content.getString("skucreatedate");
-        long sa_aftersalesbomid=0;
-        Rows aftersalesbomitemsrows =dbConnect.runSqlQuery("select * from sa_aftersalesbom_items where itemid="+itemid+" and siteid='"+siteid+"'");
-        if(aftersalesbomitemsrows.isNotEmpty()){
-            sa_aftersalesbomid=aftersalesbomitemsrows.get(0).getLong("sa_aftersalesbomid");
+        long itemid = content.getLong("itemid");
+        String skucreatedate = content.getString("skucreatedate");
+        long sa_aftersalesbomid = 0;
+        Rows aftersalesbomitemsrows = dbConnect.runSqlQuery("select * from sa_aftersalesbom_items where itemid=" + itemid + " and siteid='" + siteid + "'");
+        if (aftersalesbomitemsrows.isNotEmpty()) {
+            sa_aftersalesbomid = aftersalesbomitemsrows.get(0).getLong("sa_aftersalesbomid");
         }
-        String where ="1=1";
+        String where = "1=1";
         if (StringUtils.isNotBlank(skucreatedate)) {
             SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
             String skudate = format.format(format.parse(skucreatedate));
             where = where + " and DATE_FORMAT(t1.begindate, '%Y-%m-%d') <='" + skudate + "'";
-            where = where + " and DATE_FORMAT(t1.enddate, '%Y-%m-%d') >='" + skudate+ "'";
+            where = where + " and DATE_FORMAT(t1.enddate, '%Y-%m-%d') >='" + skudate + "'";
         }
 
         Long sa_orderid = content.getLong("sa_orderid");
@@ -366,14 +326,14 @@ public class accessoryorder extends Controller {
             sys_enterpriseid = orderRows.get(0).getLong("sys_enterpriseid");
         }
 
-        QuerySQL querySQL=SQLFactory.createQuerySQL(this,"sa_aftersalesbom_pjs","*");
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_aftersalesbom_pjs", "*");
         querySQL.setTableAlias("t1");
-        querySQL.addJoinTable(JOINTYPE.inner,"plm_item","t3","t1.itemid = t3.itemid AND t1.siteid = t3.siteid","model","spec");
-        querySQL.setWhere("t1.siteid",siteid);
-        querySQL.setWhere("t1.sa_aftersalesbomid",sa_aftersalesbomid);
+        querySQL.addJoinTable(JOINTYPE.inner, "plm_item", "t3", "t1.itemid = t3.itemid AND t1.siteid = t3.siteid", "model", "spec");
+        querySQL.setWhere("t1.siteid", siteid);
+        querySQL.setWhere("t1.sa_aftersalesbomid", sa_aftersalesbomid);
         querySQL.setWhere(where.toString());
-        querySQL.setPage(pageSize,pageNumber).setOrderBy(pageSorting);
-        Rows rows=querySQL.query();
+        querySQL.setPage(pageSize, pageNumber).setOrderBy(pageSorting);
+        Rows rows = querySQL.query();
 
         ArrayList<Long> ids = rows.toArrayList("itemid", new ArrayList<>());
         //查询附件
@@ -398,27 +358,26 @@ public class accessoryorder extends Controller {
     }
 
 
-
     @API(title = "工单添加物料", apiversion = R.ID2025080511210103.v1.class)
     public String queryWokerOrderItems() throws YosException, ParseException {
-        long sa_workorderid=content.getLong("sa_workorderid");
+        long sa_workorderid = content.getLong("sa_workorderid");
         Long sa_orderid = content.getLong("sa_orderid");
-        String where ="1=1";
+        String where = "1=1";
 
         Rows orderRows = getOrderRows(this, sa_orderid);
         if (orderRows.isNotEmpty()) {
             sys_enterpriseid = orderRows.get(0).getLong("sys_enterpriseid");
         }
 
-        QuerySQL querySQL=SQLFactory.createQuerySQL(this,"sa_workorder_node_items","*");
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_workorder_node_items", "*");
         querySQL.setTableAlias("t1");
-        querySQL.addJoinTable(JOINTYPE.inner,"plm_item","t3","t1.itemid = t3.itemid AND t1.siteid = t3.siteid","itemno","itemname","model","spec");
-        querySQL.setWhere("t1.siteid",siteid);
-        querySQL.setWhere("t1.sa_workorderid",sa_workorderid);
+        querySQL.addJoinTable(JOINTYPE.inner, "plm_item", "t3", "t1.itemid = t3.itemid AND t1.siteid = t3.siteid", "itemno", "itemname", "model", "spec");
+        querySQL.setWhere("t1.siteid", siteid);
+        querySQL.setWhere("t1.sa_workorderid", sa_workorderid);
         querySQL.setWhere("ifnull(t1.sourceid,0)=0");
         querySQL.setWhere(where.toString());
-        querySQL.setPage(pageSize,pageNumber).setOrderBy(pageSorting);
-        Rows rows=querySQL.query();
+        querySQL.setPage(pageSize, pageNumber).setOrderBy(pageSorting);
+        Rows rows = querySQL.query();
 
         ArrayList<Long> ids = rows.toArrayList("itemid", new ArrayList<>());
         //查询附件