Browse Source

bug修复及立体仓库指令增加【接收状态】

hu 5 days ago
parent
commit
f7ddd05438

+ 10 - 0
src/custom/restcontroller/R.java

@@ -6816,6 +6816,16 @@ public class R {
         public static class v1 {
         }
     }
+
+    public static class ID2025110509185703 {
+        public static class v1 {
+        }
+    }
+
+    public static class ID2025110509351703 {
+        public static class v1 {
+        }
+    }
 }
 
 

+ 80 - 0
src/custom/restcontroller/webmanage/sale/accessoryorder/accessoryorder.java

@@ -445,6 +445,11 @@ public class accessoryorder extends Controller {
                 where.append("t1.cardno ='").append(whereObject.getString("cardno")).append("' ");
                 where.append(")");
             }
+            if (whereObject.containsKey("sku") && !"".equals(whereObject.getString("sku"))) {
+                where.append(" and(");
+                where.append("t1.sku ='").append(whereObject.getString("sku")).append("' ");
+                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");
@@ -561,4 +566,79 @@ public class accessoryorder extends Controller {
         return getSucReturnObject().setData(rows).toString();
     }
 
+    @API(title = "历史配件申请单明细申请数量汇总", apiversion = R.ID2025110509351703.v1.class)
+    public String queryHistoryaccessoryorderqty_sum() throws YosException {
+        String cardno = content.getStringValue("cardno");
+        long itemid = content.getLongValue("itemid");
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_orderitems", "sa_orderitemsid","qty","price","amount");
+        querySQL.setTableAlias("t1");
+        querySQL.addJoinTable(JOINTYPE.inner, "sa_order", "t2", "t1.sa_orderid = t2.sa_orderid AND t1.siteid = t2.siteid","sonum","billdate");
+        querySQL.setWhere("t1.siteid", siteid);
+        querySQL.setWhere("t2.status not in('新建','提交') and t2.type='配件订单' ");
+        querySQL.setWhere("t1.cardno",cardno);
+        querySQL.setWhere("t1.itemid",itemid);
+        Rows rows = querySQL.query();
+
+        QuerySQL querySQL_pj = SQLFactory.createQuerySQL(this, "sa_tpartreimbursementdetail","sa_orderitemsid");
+        querySQL_pj.setTableAlias("t1");
+        querySQL_pj.addJoinTable(JOINTYPE.inner, "sa_tpartreimbursement", "t2", "t1.sa_tpartreimbursementid = t2.sa_tpartreimbursementid AND t1.siteid = t2.siteid");
+        querySQL_pj.setWhere("t1.siteid", siteid);
+        querySQL_pj.setWhere("t2.status = '审核'");
+        querySQL_pj.setWhere("t1.sa_orderitemsid",rows.toArrayList("sa_orderitemsid"));
+        Rows rows_pj = querySQL_pj.query();
+
+        RowsMap rows_pjMap =rows_pj.toRowsMap("sa_orderitemsid");
+        for(Row row :rows){
+            if(rows_pjMap.containsKey(row.getString("sa_orderitemsid"))){
+                row.put("writeoffqty",row.getBigDecimal("qty"));
+            }else{
+                row.put("writeoffqty",BigDecimal.ZERO);
+            }
+
+        }
+
+        JSONObject jsonObject =new JSONObject();
+        jsonObject.put("historyqty",rows.sum("qty"));
+        jsonObject.put("historywriteoffqty",rows.sum("writeoffqty"));
+
+        return getSucReturnObject().setData(jsonObject).toString();
+    }
+
+    @API(title = "历史配件申请单明细申请明细查询", apiversion = R.ID2025110509185703.v1.class)
+    public String queryHistoryaccessoryorderdetails() throws YosException {
+        String cardno = content.getStringValue("cardno");
+        long itemid = content.getLongValue("itemid");
+
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_orderitems", "sa_orderitemsid","qty","price","amount");
+        querySQL.setTableAlias("t1");
+        querySQL.addJoinTable(JOINTYPE.inner, "sa_order", "t2", "t1.sa_orderid = t2.sa_orderid AND t1.siteid = t2.siteid","sonum","billdate");
+        querySQL.setWhere("t1.siteid", siteid);
+        querySQL.setWhere("t2.status not in('新建','提交') and t2.type='配件订单' ");
+        querySQL.setWhere("t1.cardno",cardno);
+        querySQL.setWhere("t1.itemid",itemid);
+        querySQL.setPage(pageSize, pageNumber);
+        Rows rows = querySQL.query();
+
+
+        QuerySQL querySQL_pj = SQLFactory.createQuerySQL(this, "sa_tpartreimbursementdetail","sa_orderitemsid");
+        querySQL_pj.setTableAlias("t1");
+        querySQL_pj.addJoinTable(JOINTYPE.inner, "sa_tpartreimbursement", "t2", "t1.sa_tpartreimbursementid = t2.sa_tpartreimbursementid AND t1.siteid = t2.siteid");
+        querySQL_pj.setWhere("t1.siteid", siteid);
+        querySQL_pj.setWhere("t2.status = '审核'");
+        querySQL_pj.setWhere("t1.sa_orderitemsid",rows.toArrayList("sa_orderitemsid"));
+        Rows rows_pj = querySQL_pj.query();
+
+        RowsMap rows_pjMap =rows_pj.toRowsMap("sa_orderitemsid");
+        for(Row row :rows){
+            if(rows_pjMap.containsKey(row.getString("sa_orderitemsid"))){
+                row.put("writeoffqty",row.getBigDecimal("qty"));
+            }else{
+                row.put("writeoffqty",BigDecimal.ZERO);
+            }
+
+        }
+        return getSucReturnObject().setData(rows).toString();
+    }
+
+
 }

+ 30 - 1
src/custom/restcontroller/webmanage/sale/order/OrderItems.java

@@ -242,7 +242,9 @@ public class OrderItems extends Controller {
             rows = dbConnect.runSqlQuery("SELECT sa_orderitemsid,sa_orderitems_v,itemid from sa_orderitems WHERE sa_orderid=" + sa_orderid + " and siteid='" + siteid + "'");
             return getSucReturnObject().setData(rows).toString();
         }
-
+        if(type.equals("配件订单")){
+            dbConnect.runSqlUpdate("UPDATE sa_order o JOIN (SELECT  sa_orderid,GROUP_CONCAT(delivery SEPARATOR '+') AS delivery FROM sa_orderitems where sa_orderid="+sa_orderid+" GROUP BY sa_orderid) od ON o.sa_orderid = od.sa_orderid SET  o.delivery = od.delivery ");
+        }
 
         return getSucReturnObject().toString();
     }
@@ -708,6 +710,11 @@ public class OrderItems extends Controller {
 
         //查询附件
         RowsMap attinfoRowsMap = getAttachmentUrl("plm_item", ids);
+        //默认商品图片
+        Rows defaultImageRows = Item.getItemdefaultImage(this);
+        // 封面cover
+        RowsMap defaultItemCoverRowsMap = getAttachmentUrl("plm_item", ids, "cover");
+
         for (Row row : rows) {
             if (itempriceRowsMap.get(row.getString("itemno")).isNotEmpty()) {
                 row.put("originalprice", itempriceRowsMap.get(row.getString("itemno")).get(0).getBigDecimal("price"));
@@ -732,6 +739,15 @@ public class OrderItems extends Controller {
             //处理日期字段空的情况
             row.putIfAbsent("needdate", "");
             row.putIfAbsent("deliverydate", "");
+            //设置默认商品图片
+            Rows coverRows = defaultItemCoverRowsMap.get(row.getString("itemid"));
+            if (coverRows.isNotEmpty()) {
+                row.put("cover", coverRows.get(0).getString("url"));
+            } else if (defaultImageRows.isNotEmpty()) {
+                row.put("cover", defaultImageRows.get(0).getString("url"));
+            } else {
+                row.put("cover", "");
+            }
         }
         return getSucReturnObject().setData(rows).toString();
     }
@@ -1055,8 +1071,12 @@ public class OrderItems extends Controller {
         Rows rows = itemquery.query();
 
         ArrayList<Long> ids = rows.toArrayList("itemid", new ArrayList<>());
+        //默认商品图片
+        Rows defaultImageRows = Item.getItemdefaultImage(this);
         //查询附件
         RowsMap attinfoRowsMap = Attachment.get(this, "plm_item", ids);
+        // 封面cover
+        RowsMap defaultItemCoverRowsMap = getAttachmentUrl("plm_item", ids, "cover");
         //商品领域
         RowsMap tradefieldRowsMap = Item.getTradefieldRowsMap(this, ids);
         //品牌
@@ -1073,6 +1093,15 @@ public class OrderItems extends Controller {
             } else {
                 row.put("price", 0);
             }
+            //设置默认商品图片
+            Rows coverRows = defaultItemCoverRowsMap.get(row.getString("itemid"));
+            if (coverRows.isNotEmpty()) {
+                row.put("cover", coverRows.get(0).getString("url"));
+            } else if (defaultImageRows.isNotEmpty()) {
+                row.put("cover", defaultImageRows.get(0).getString("url"));
+            } else {
+                row.put("cover", "");
+            }
         }
         return getSucReturnObject().setData(rows).toString();
     }

+ 60 - 4
src/custom/restcontroller/webmanage/sale/wmssend/wmssend.java

@@ -5,9 +5,8 @@ import com.alibaba.fastjson2.JSONObject;
 import common.Controller;
 import common.YosException;
 import common.annotation.API;
-import common.data.QuerySQL;
-import common.data.Rows;
-import common.data.SQLFactory;
+import common.data.*;
+import common.data.db.DBConnect;
 import restcontroller.R;
 
 import java.math.BigDecimal;
@@ -53,7 +52,7 @@ public class wmssend extends Controller {
             }
         }
 
-        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "st_stockbill_items", "qty", "st_stockbill_itemsid", "st_stockbillid",
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "st_stockbill_items", "rowno","qty", "st_stockbill_itemsid", "st_stockbillid",
                 "wmsuploadflag", "itemid");
         querySQL.setTableAlias("t1");
         querySQL.addJoinTable(JOINTYPE.left, "st_stockbill", "t2", "t1.siteid = t2.siteid and t1.st_stockbillid = t2.st_stockbillid", "billno", "type", "rb", "billdate", "outplace");
@@ -66,6 +65,63 @@ public class wmssend extends Controller {
         querySQL.setPage(pageSize, pageNumber);
         Rows rows = querySQL.query();
 
+        RowsMap rowsMap = rows.toRowsMap("outplace");
+        Rows tqRows =new Rows();
+        Rows mqRows =new Rows();
+        if(rowsMap.containsKey("谈桥")){
+            DBConnect tqwms = new DBConnect("TQWMS");
+            StringBuffer str = new StringBuffer("(");
+            for (Row row : rowsMap.get("谈桥")) {
+                str.append("'" + row.getString("billno") + "',");
+            }
+            String result = str.substring(0, str.length() - 1);
+            result = result + ")";
+            tqRows = tqwms.runSqlQuery("select BillNo,status from TOutInt where BillNo in "+result);
+        }
+        if(rowsMap.containsKey("马桥")){
+            DBConnect mqwms = new DBConnect("U8-YUNl_DB");
+            StringBuffer str = new StringBuffer("(");
+            for (Row row : rowsMap.get("马桥")) {
+                str.append("'" + row.getString("billno") + "',");
+            }
+            String result = str.substring(0, str.length() - 1);
+            result = result + ")";
+            mqRows=mqwms.runSqlQuery("select cCode,rowno,drpstatus from Wms_Rdrecord32SN where cCode in"+result);
+        }
+        RowsMap tqRowsMap = tqRows.toRowsMap("BillNo");
+        RowsMap mqRowsMap =mqRows.toRowsMap("cCode");
+        for(Row row :rows){
+            if(row.getString("outplace").equals("谈桥")){
+                if(tqRowsMap.containsKey(row.getString("billno"))){
+                    if(tqRowsMap.get(row.getString("billno")).get(0).getString("status").equals("10")){
+                        row.put("receivestatus","已接收");
+                    }else{
+                        row.put("receivestatus","未接收");
+                    }
+                }else{
+                    row.put("receivestatus","未接收");
+                }
+            }else if(row.getString("outplace").equals("马桥")){
+                if(mqRowsMap.containsKey(row.getString("billno"))){
+                    if(mqRowsMap.get(row.getString("billno")).toRowsMap("rowno").containsKey(row.getString("rowno"))){
+                        if(mqRowsMap.get(row.getString("billno")).toRowsMap("rowno").get(row.getString("rowno")).min("drpstatus").compareTo(BigDecimal.ONE)==0){
+                            row.put("receivestatus","已接收");
+                        }else{
+                            row.put("receivestatus","未接收");
+                        }
+                    }else{
+                        row.put("receivestatus","未接收");
+                    }
+                }
+            }else{
+                row.put("receivestatus","未接收");
+            }
+
+        }
+
+
+
+
         return getSucReturnObject().setData(rows).toString();
     }