Browse Source

总仓库存-库存数

hu 1 week ago
parent
commit
5f34b014f4

+ 66 - 2
src/custom/beans/stockbill/bills/BasicBill.java

@@ -8,6 +8,7 @@ import common.data.db.DBConnect;
 
 import java.math.BigDecimal;
 import java.util.ArrayList;
+import java.util.HashMap;
 
 public abstract class BasicBill {
     Controller controller;
@@ -113,6 +114,7 @@ public abstract class BasicBill {
     public ArrayList<String> getCheckSql(boolean ischeck) throws YosException {
         ArrayList<String> sqlList = new ArrayList<>();
         sqlList.addAll(updateInvbal(ischeck));//更新库存
+        sqlList.addAll(updateIcinvbal_total(ischeck));//更新总仓可发货量
         sqlList.addAll(updateMCode(ischeck));//更新序列号
         sqlList.addAll(updateHongqty(ischeck));//更新红冲数量
         sqlList.addAll(updateStatus(ischeck));//更新状态
@@ -131,6 +133,7 @@ public abstract class BasicBill {
         ArrayList<String> sqlList = new ArrayList<>();
         RowsMap invbalsRowsMap = SQLFactory.createQuerySQL(dbConnect, "st_invbal").setWhere("siteid", siteid).setWhere("itemid", itemRows.toArrayList("itemid")).query().toRowsMap("itemid");
         RowsMap invbalsSaleRowsMap = SQLFactory.createQuerySQL(dbConnect, "st_invbal_sale").setWhere("siteid", siteid).setWhere("itemid", itemRows.toArrayList("itemid")).query().toRowsMap("itemid");
+        RowsMap invbalsTotalRowsMap = SQLFactory.createQuerySQL(dbConnect, "st_invbal_total").setWhere("siteid", siteid).setWhere("itemid", itemRows.toArrayList("itemid")).query().toRowsMap("itemid");
         for (Row row : itemRows) {
             long itemid = row.getLong("itemid");
             long stockid = row.getLong("stockid");
@@ -144,12 +147,31 @@ public abstract class BasicBill {
                 sqlList.add(invbalInsert.getSQL());
             } else {
                 UpdateSQL invbalUpdate = SQLFactory.createUpdateSQL(controller, "st_invbal");
-                invbalUpdate.addValue("qty", qty);
+                invbalUpdate.addValue("qty", invbalsRowsMap.get(String.valueOf(itemid)).get(0).getBigDecimal("qty").add(qty));
                 invbalUpdate.setWhere("itemid", itemid);
                 invbalUpdate.setWhere("stockid", stockid);
                 invbalUpdate.setWhere("siteid", siteid);
                 sqlList.add(invbalUpdate.getSQL());
             }
+            //是否纳入总仓
+            if (SQLFactory.getRow(controller, "st_stock", stockid).getBoolean("isintotalstock")) {
+                if (!invbalsTotalRowsMap.containsKey(String.valueOf(itemid))) {
+                    InsertSQL invbalInsert = SQLFactory.createInsertSQL(controller, "st_invbal_total");
+                    invbalInsert.setValue("siteid", siteid);
+                    invbalInsert.setValue("itemid", itemid);
+                    invbalInsert.setValue("cansaleqty", qty.doubleValue());//可销售数量
+                    invbalInsert.setValue("candispatchqty", qty.doubleValue());//可发货数量
+                    invbalInsert.setValue("qty", qty.doubleValue());//库存数量
+                    sqlList.add(invbalInsert.getSQL());
+                } else {
+                    UpdateSQL invbalUpdate = SQLFactory.createUpdateSQL(controller, "st_invbal_total");
+                    invbalUpdate.addValue("qty", invbalsTotalRowsMap.get(String.valueOf(itemid)).get(0).getBigDecimal("qty").add(qty));//库存数量
+                    invbalUpdate.setWhere("itemid", itemid);
+                    invbalUpdate.setWhere("siteid", siteid);
+                    sqlList.add(invbalUpdate.getSQL());
+                }
+            }
+
             //是否为销售仓库
             if (SQLFactory.getRow(controller, "st_stock", stockid).getBoolean("issalestock")) {
                 if (!invbalsSaleRowsMap.containsKey(String.valueOf(itemid))) {
@@ -168,15 +190,57 @@ public abstract class BasicBill {
                         invbalUpdate.addValue("cansaleqty", qty.doubleValue());//可销售数量
                         invbalUpdate.addValue("candispatchqty", qty.doubleValue());//可发货数量
                     }
-                    invbalUpdate.addValue("qty", qty.doubleValue());//库存数量
+                    invbalUpdate.addValue("qty", invbalsSaleRowsMap.get(String.valueOf(itemid)).get(0).getBigDecimal("qty").add(qty));//库存数量
                     invbalUpdate.setWhere("itemid", itemid);
                     invbalUpdate.setWhere("siteid", siteid);
                     sqlList.add(invbalUpdate.getSQL());
                 }
+
             }
+
         }
         return sqlList;
     }
+    /**
+     * 更新总仓可发货量
+     *
+     * @param ischeck
+     * @return
+     * @throws YosException
+     */
+    public  ArrayList<String> updateIcinvbal_total(boolean ischeck) throws YosException {
+        HashMap<String, Row> icpaomap = new HashMap<String, Row>();// 用于暂存总仓库存pao的map
+        Rows ICINVBAL_TOTAL =dbConnect.runSqlQuery("select * from st_invbal_total where siteid='"+siteid+"'");
+        RowsMap ICINVBAL_TOTALRowsMap=ICINVBAL_TOTAL.toRowsMap("itemid");
+        int i = 0;
+        ArrayList<String> sqlList = new ArrayList<>();
+        for(Row row:itemRows){
+            long st_invbal_totalid;
+            if(ICINVBAL_TOTALRowsMap.containsKey(row.getString("itemid"))){
+                st_invbal_totalid=ICINVBAL_TOTALRowsMap.get(row.getString("itemid")).get(0).getLong("st_invbal_totalid");
+            }else{
+                st_invbal_totalid = controller.createTableID("st_invbal_total");
+                InsertSQL insertSQL = SQLFactory.createInsertSQL(controller, "st_invbal_total");
+                insertSQL.setUniqueid(st_invbal_totalid);
+                insertSQL.setSiteid(siteid);
+                insertSQL.setValue("itemid",row.getString("itemid"));
+                insertSQL.setValue("candispatchqty", 0);
+                insertSQL.setValue("cansaleqty", 0);
+                insertSQL.setValue("qty", 0);
+                insertSQL.setValue("changeuserid", controller.userid);
+                insertSQL.setValue("changeby", controller.username);
+                insertSQL.setDateValue("changedate");
+                sqlList.add(insertSQL.getSQL());
+            }
+            BigDecimal qty = BigDecimal.ZERO;
+
+            qty = ischeck ? row.getBigDecimal("qty") : row.getBigDecimal("qty").negate();
+
+            sqlList.add("update st_invbal_total set candispatchqty=candispatchqty-"+qty+" where st_invbal_totalid="+st_invbal_totalid);
+        }
+        return sqlList;
+    }
+
     /**
      * 更新已红冲数量
      *

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

@@ -6352,6 +6352,11 @@ public class R {
         public static class v1 {
         }
     }
+
+    public static class ID2025073015312903 {
+        public static class v1 {
+        }
+    }
 }
 
 

+ 20 - 0
src/custom/restcontroller/webmanage/sale/dbstockbill/dbstockbill.java

@@ -11,6 +11,7 @@ import common.annotation.API;
 import common.annotation.CACHEING;
 import common.annotation.CACHEING_CLEAN;
 import common.data.*;
+import org.apache.poi.ss.formula.functions.T;
 import restcontroller.R;
 import restcontroller.webmanage.sale.stockbill.stockbill;
 import restcontroller.webmanage.sale.stockbill.stockbillitems;
@@ -473,6 +474,7 @@ public class dbstockbill extends Controller {
         sql = sql.replace("[", "(").replace("]", ")");
         Rows invbals =  dbConnect.runSqlQuery(sql);
         RowsMap invbalsRowsMap=invbals.toRowsMap("itemid");
+        RowsMap invbalsTotalRowsMap = SQLFactory.createQuerySQL(dbConnect, "st_invbal_total").setWhere("siteid", siteid).setWhere("itemid", itemids).query().toRowsMap("itemid");
         for(Row row : dbstockbilldetail){
             String itemid = row.getString("itemid");
             //String batchno = row.getString("batchno");
@@ -539,6 +541,24 @@ public class dbstockbill extends Controller {
                     sqlList.add(sqlFactory.getSQL());
                 }
             }
+            //是否纳入总仓
+            if (SQLFactory.getRow(this, "st_stock", stockid).getBoolean("isintotalstock")) {
+                if (!invbalsTotalRowsMap.containsKey(String.valueOf(itemid))) {
+                    InsertSQL invbalInsert = SQLFactory.createInsertSQL(this, "st_invbal_total");
+                    invbalInsert.setValue("siteid", siteid);
+                    invbalInsert.setValue("itemid", itemid);
+                    invbalInsert.setValue("cansaleqty", qty.doubleValue());//可销售数量
+                    invbalInsert.setValue("candispatchqty", qty.doubleValue());//可发货数量
+                    invbalInsert.setValue("qty", qty.doubleValue());//库存数量
+                    sqlList.add(invbalInsert.getSQL());
+                } else {
+                    UpdateSQL invbalUpdate = SQLFactory.createUpdateSQL(this, "st_invbal_total");
+                    invbalUpdate.addValue("qty", invbalsTotalRowsMap.get(String.valueOf(itemid)).get(0).getBigDecimal("qty").add(qty));//库存数量
+                    invbalUpdate.setWhere("itemid", itemid);
+                    invbalUpdate.setWhere("siteid", siteid);
+                    sqlList.add(invbalUpdate.getSQL());
+                }
+            }
         }
         return sqlList;
     }

+ 61 - 15
src/custom/restcontroller/webmanage/sale/order/Order.java

@@ -2264,6 +2264,7 @@ public class Order extends Controller {
 
         sqlList.add(getOrderCheckSql(sa_orderid, reviewtype));
 
+        sqlList.addAll(updateIcinvbal_total(sa_orderid,false,false));
 
         dbConnect.runSqlUpdate(sqlList);
 
@@ -2274,22 +2275,23 @@ public class Order extends Controller {
         Executor.sendEml(this, "order_check", sa_orderid, siteid, userIdList);
 
         Rows orderBrand = dbConnect.runSqlQuery("select brandname from sa_brand where siteid='" + siteid + "' and sa_brandid=" + row.getLong("sa_brandid"));
-        if (Parameter.getBoolean("system.erp_dockswitch")) {
-            UploadDataToERP uploadDataToERP = new UploadDataToERP(this, sa_orderid, "");
-            boolean issuccess = uploadDataToERP.upload();
-            if (!issuccess) {
-                uncheck();
-                return getErrReturnObject().setErrMsg("上传ERP失败,当前单据将自动反审核,请检查!").toString();
-            } else {
-                dbConnect.runSqlUpdate(DataContrlLog.createLog(this, "sa_order", sa_orderid, "订单审核", "订单审核成功,金额:" + amount).getSQL());
-//                sendMsg(message, sa_orderid, sys_enterpriseid);
-                sendEmail(sa_orderid, row, orderBrand);
-            }
-        } else {
-            dbConnect.runSqlUpdate(DataContrlLog.createLog(this, "sa_order", sa_orderid, "订单审核", "订单审核成功,金额:" + amount).getSQL());
+//        if (Parameter.getBoolean("system.erp_dockswitch")) {
+////            UploadDataToERP uploadDataToERP = new UploadDataToERP(this, sa_orderid, "");
+////            boolean issuccess = uploadDataToERP.upload();
+////            if (!issuccess) {
+////                uncheck();
+////                return getErrReturnObject().setErrMsg("上传ERP失败,当前单据将自动反审核,请检查!").toString();
+////            } else {
+////                dbConnect.runSqlUpdate(DataContrlLog.createLog(this, "sa_order", sa_orderid, "订单审核", "订单审核成功,金额:" + amount).getSQL());
+//////                sendMsg(message, sa_orderid, sys_enterpriseid);
+////                sendEmail(sa_orderid, row, orderBrand);
+////            }
+//        } else {
+//
+//        }
+        dbConnect.runSqlUpdate(DataContrlLog.createLog(this, "sa_order", sa_orderid, "订单审核", "订单审核成功,金额:" + amount).getSQL());
 //            sendMsg(message, sa_orderid, sys_enterpriseid);
-            sendEmail(sa_orderid, row, orderBrand);
-        }
+        sendEmail(sa_orderid, row, orderBrand);
 
         return getSucReturnObject().toString();
     }
@@ -2345,6 +2347,8 @@ public class Order extends Controller {
 
         sqlList.add(DataContrlLog.createLog(this, "sa_order", sa_orderid, "订单反审核", "订单反审核成功,金额:" + amount).getSQL());
 
+        sqlList.addAll(updateIcinvbal_total(sa_orderid,true,false));
+
         dbConnect.runSqlUpdate(sqlList);
         sendMsg(message, sa_orderid, sys_enterpriseid);
         if (order_paymentnode.equals("2")) {
@@ -4028,6 +4032,8 @@ public class Order extends Controller {
 
         sqlList.add(DataContrlLog.createLog(this, "sa_order", sa_orderid, "订单手动关闭", "订单手动关闭").getSQL());
 
+        sqlList.addAll(updateIcinvbal_total(sa_orderid,true,true));
+
         dbConnect.runSqlUpdate(sqlList);
 
         //是否自动返利结算
@@ -4240,5 +4246,45 @@ public class Order extends Controller {
         }
         return sqllist;
     }
+    /**
+     * @param isinstock 是否增加库存
+     * @throws YosException
+     */
+    public  ArrayList<String> updateIcinvbal_total(long sa_orderid,boolean isinstock, boolean close) throws YosException {
+        HashMap<String, Row> icpaomap = new HashMap<String, Row>();// 用于暂存总仓库存pao的map
+        Rows saorderdetail = dbConnect.runSqlQuery("select * from sa_orderitems where sa_orderid="+sa_orderid+" and siteid='"+siteid+"'");
+        Rows ICINVBAL_TOTAL =dbConnect.runSqlQuery("select * from st_invbal_total where siteid='"+siteid+"'");
+        RowsMap ICINVBAL_TOTALRowsMap=ICINVBAL_TOTAL.toRowsMap("itemid");
+        int i = 0;
+        ArrayList<String> sqlList = new ArrayList<>();
+        for(Row row:saorderdetail){
+            long st_invbal_totalid;
+            if(ICINVBAL_TOTALRowsMap.containsKey(row.getString("itemid"))){
+                st_invbal_totalid=ICINVBAL_TOTALRowsMap.get(row.getString("itemid")).get(0).getLong("st_invbal_totalid");
+            }else{
+                st_invbal_totalid = createTableID("st_invbal_total");
+                InsertSQL insertSQL = SQLFactory.createInsertSQL(this, "st_invbal_total");
+                insertSQL.setUniqueid(st_invbal_totalid);
+                insertSQL.setSiteid(siteid);
+                insertSQL.setValue("itemid",row.getString("itemid"));
+                insertSQL.setValue("candispatchqty", 0);
+                insertSQL.setValue("cansaleqty", 0);
+                insertSQL.setValue("qty", 0);
+                insertSQL.setValue("changeuserid", userid);
+                insertSQL.setValue("changeby", username);
+                insertSQL.setDateValue("changedate");
+                sqlList.add(insertSQL.getSQL());
+            }
+            BigDecimal qty = BigDecimal.ZERO;
+            if (close) {
+                qty = isinstock ? row.getBigDecimal("undeliqty") : row.getBigDecimal("undeliqty").negate();// 如果是扣减则根据数量进行扣减,反之根据未发货数量进行增加
+            } else {
+                qty = isinstock ? row.getBigDecimal("undeliqty")
+                        : row.getBigDecimal("qty").negate();// 如果是扣减则根据数量进行扣减,反之根据未发货数量进行增加
+            }
+            sqlList.add("update st_invbal_total set cansaleqty=cansaleqty+"+qty+" where st_invbal_totalid="+st_invbal_totalid);
+        }
+        return sqlList;
+    }
 
 }

+ 73 - 73
src/custom/restcontroller/webmanage/sale/stockbill/stockbill.java

@@ -826,80 +826,80 @@ public class stockbill extends Controller {
      * @param type      库存更新类型 0为默认形式。1表示生产领料更新现场仓 2表示委外领料更新现场仓
      * @throws YosException
      */
-    public void updateIcinvbal(boolean isinstock, int type,Long st_stockbillid) throws YosException {
-        ArrayList<String> sqlList =new ArrayList();
-        Rows icstockbilldetail =dbConnect.runSqlQuery("select t1.*,t2.skucontrol from st_stockbill_items t1 left join plm_item t2 on t1.itemid=t2.itemid and t1.siteid=t2.siteid where t1.st_stockbillid ='"
-                + st_stockbillid + "' and  t1.siteid='" + siteid + "'");// 出入库表体
-        ArrayList<Long> itemids = new ArrayList<Long>();
-        itemids = icstockbilldetail.toArrayList("itemid",new ArrayList<>());
-        itemids.add((long) 0);
-        int i = 0;
-        String sql="select * from st_invbal where itemid in"+itemids;
-        sql = sql.replace("[", "(").replace("]", ")");
-        Rows invbals =  dbConnect.runSqlQuery(sql);
-        RowsMap invbalsRowsMap=invbals.toRowsMap("itemid");
-         for(Row row : icstockbilldetail){
-             String itemid = row.getString("itemid");
-             //String batchno = row.getString("batchno");
-             //String fdcspno = row.getString("fdcspno");
-             String stockid = row.getString("stockid");
-
-//             if (type == 1 && !getSysVars().getBoolean("FISBATCHFORXC")) {
-//                 fdcspno = "**********";
-//                 fbatchno = "**********";
-//                 fstockno = getPaoSet("TDEPARTMENT").getPao(0)
-//                         .getPaoSet("TSTOCKXC").getPao(0).getString("fstockno");
-//                 icinvbal = detailpao.getPaoSet("$icinvbal", "icinvbal",
-//                         "fitemno='" + fitemno + "' and fstockno='" + fstockno
-//                                 + "' and fdcspno='" + fdcspno
-//                                 + "' and fbatchno='" + fbatchno + "'");
-//             } else if (type == 2 && !getSysVars().getBoolean("FISBATCHFORXC")) {
-//                 fdcspno = "**********";
-//                 fbatchno = "**********";
-//                 fstockno = getPaoSet("TSUPPLIER").getPao(0)
-//                         .getPaoSet("TSTOCKXC").getPao(0).getString("fstockno");
-//                 icinvbal = detailpao.getPaoSet("$icinvbal", "icinvbal",
-//                         "fitemno='" + fitemno + "' and fstockno='" + fstockno
-//                                 + "' and fdcspno='" + fdcspno
-//                                 + "' and fbatchno='" + fbatchno + "'");
+//    public void updateIcinvbal(boolean isinstock, int type,Long st_stockbillid) throws YosException {
+//        ArrayList<String> sqlList =new ArrayList();
+//        Rows icstockbilldetail =dbConnect.runSqlQuery("select t1.*,t2.skucontrol from st_stockbill_items t1 left join plm_item t2 on t1.itemid=t2.itemid and t1.siteid=t2.siteid where t1.st_stockbillid ='"
+//                + st_stockbillid + "' and  t1.siteid='" + siteid + "'");// 出入库表体
+//        ArrayList<Long> itemids = new ArrayList<Long>();
+//        itemids = icstockbilldetail.toArrayList("itemid",new ArrayList<>());
+//        itemids.add((long) 0);
+//        int i = 0;
+//        String sql="select * from st_invbal where itemid in"+itemids;
+//        sql = sql.replace("[", "(").replace("]", ")");
+//        Rows invbals =  dbConnect.runSqlQuery(sql);
+//        RowsMap invbalsRowsMap=invbals.toRowsMap("itemid");
+//         for(Row row : icstockbilldetail){
+//             String itemid = row.getString("itemid");
+//             //String batchno = row.getString("batchno");
+//             //String fdcspno = row.getString("fdcspno");
+//             String stockid = row.getString("stockid");
+//
+////             if (type == 1 && !getSysVars().getBoolean("FISBATCHFORXC")) {
+////                 fdcspno = "**********";
+////                 fbatchno = "**********";
+////                 fstockno = getPaoSet("TDEPARTMENT").getPao(0)
+////                         .getPaoSet("TSTOCKXC").getPao(0).getString("fstockno");
+////                 icinvbal = detailpao.getPaoSet("$icinvbal", "icinvbal",
+////                         "fitemno='" + fitemno + "' and fstockno='" + fstockno
+////                                 + "' and fdcspno='" + fdcspno
+////                                 + "' and fbatchno='" + fbatchno + "'");
+////             } else if (type == 2 && !getSysVars().getBoolean("FISBATCHFORXC")) {
+////                 fdcspno = "**********";
+////                 fbatchno = "**********";
+////                 fstockno = getPaoSet("TSUPPLIER").getPao(0)
+////                         .getPaoSet("TSTOCKXC").getPao(0).getString("fstockno");
+////                 icinvbal = detailpao.getPaoSet("$icinvbal", "icinvbal",
+////                         "fitemno='" + fitemno + "' and fstockno='" + fstockno
+////                                 + "' and fdcspno='" + fdcspno
+////                                 + "' and fbatchno='" + fbatchno + "'");
+////             }
+//             BigDecimal qty = isinstock ? row.getBigDecimal("qty") : row.getBigDecimal("qty").negate();
+//             if(!invbalsRowsMap.containsKey(itemid)){
+//                 SQLFactory sqlFactory = new SQLFactory(this, "即时库存新增");
+//                 sqlFactory.addParameter("st_invbalid", createTableID("st_invbal"));
+//                 sqlFactory.addParameter("qty", qty);
+//                 sqlFactory.addParameter("itemid", itemid);
+//                 sqlFactory.addParameter("stockid", stockid);
+//                 sqlFactory.addParameter("siteid",siteid);
+//                 sqlFactory.addParameter("userid", userid);
+//                 sqlFactory.addParameter("username", username);
+//                 sqlList.add(sqlFactory.getSQL());
+//             }else{
+//                 if(invbalsRowsMap.get(itemid).toRowsMap("stockid").containsKey(stockid)){
+//                     SQLFactory sqlFactory = new SQLFactory(this, "即时库存更新");
+//                     sqlFactory.addParameter("st_invbalid", createTableID("st_invbal"));
+//                     sqlFactory.addParameter("qty", invbalsRowsMap.get(itemid).toRowsMap("stockid").get(stockid).get(0).getBigDecimal("qty").add(qty));
+//                     sqlFactory.addParameter("itemid", itemid);
+//                     sqlFactory.addParameter("stockid", stockid);
+//                     sqlFactory.addParameter("siteid",siteid);
+//                     sqlFactory.addParameter("userid", userid);
+//                     sqlFactory.addParameter("username", username);
+//                     sqlList.add(sqlFactory.getSQL());
+//                 }else{
+//                     SQLFactory sqlFactory = new SQLFactory(new Invbal(), "即时库存新增");
+//                     sqlFactory.addParameter("st_invbalid", createTableID("st_invbal"));
+//                     sqlFactory.addParameter("qty", qty);
+//                     sqlFactory.addParameter("itemid", itemid);
+//                     sqlFactory.addParameter("stockid", stockid);
+//                     sqlFactory.addParameter("siteid",siteid);
+//                     sqlFactory.addParameter("userid", userid);
+//                     sqlFactory.addParameter("username", username);
+//                     sqlList.add(sqlFactory.getSQL());
+//                 }
 //             }
-             BigDecimal qty = isinstock ? row.getBigDecimal("qty") : row.getBigDecimal("qty").negate();
-             if(!invbalsRowsMap.containsKey(itemid)){
-                 SQLFactory sqlFactory = new SQLFactory(this, "即时库存新增");
-                 sqlFactory.addParameter("st_invbalid", createTableID("st_invbal"));
-                 sqlFactory.addParameter("qty", qty);
-                 sqlFactory.addParameter("itemid", itemid);
-                 sqlFactory.addParameter("stockid", stockid);
-                 sqlFactory.addParameter("siteid",siteid);
-                 sqlFactory.addParameter("userid", userid);
-                 sqlFactory.addParameter("username", username);
-                 sqlList.add(sqlFactory.getSQL());
-             }else{
-                 if(invbalsRowsMap.get(itemid).toRowsMap("stockid").containsKey(stockid)){
-                     SQLFactory sqlFactory = new SQLFactory(this, "即时库存更新");
-                     sqlFactory.addParameter("st_invbalid", createTableID("st_invbal"));
-                     sqlFactory.addParameter("qty", invbalsRowsMap.get(itemid).toRowsMap("stockid").get(stockid).get(0).getBigDecimal("qty").add(qty));
-                     sqlFactory.addParameter("itemid", itemid);
-                     sqlFactory.addParameter("stockid", stockid);
-                     sqlFactory.addParameter("siteid",siteid);
-                     sqlFactory.addParameter("userid", userid);
-                     sqlFactory.addParameter("username", username);
-                     sqlList.add(sqlFactory.getSQL());
-                 }else{
-                     SQLFactory sqlFactory = new SQLFactory(new Invbal(), "即时库存新增");
-                     sqlFactory.addParameter("st_invbalid", createTableID("st_invbal"));
-                     sqlFactory.addParameter("qty", qty);
-                     sqlFactory.addParameter("itemid", itemid);
-                     sqlFactory.addParameter("stockid", stockid);
-                     sqlFactory.addParameter("siteid",siteid);
-                     sqlFactory.addParameter("userid", userid);
-                     sqlFactory.addParameter("username", username);
-                     sqlList.add(sqlFactory.getSQL());
-                 }
-             }
-         }
-         dbConnect.runSqlUpdate(sqlList);
-    }
+//         }
+//         dbConnect.runSqlUpdate(sqlList);
+//    }
 
 
     /**

+ 13 - 0
src/custom/restcontroller/webmanage/sale/workorder/SQL/服务人员个人信息查询.sql

@@ -0,0 +1,13 @@
+select t1.userid,
+       t1.name,
+       t1.phonenumber,
+       t1.accountno,
+       t5.agentnum,
+       t6.enterprisename,
+       t6.abbreviation
+from sys_users t1
+         inner join sys_usersite t2 on t1.userid = t2.userid and t2.siteid = $siteid$
+         inner join sys_enterprise_hr t4 on t1.userid = t4.userid
+         inner join sa_agents t5 on t5.sys_enterpriseid = t4.sys_enterpriseid
+         inner join sys_enterprise t6 on t6.sys_enterpriseid = t5.sys_enterpriseid
+where t1.userid=$userid$

+ 11 - 0
src/custom/restcontroller/webmanage/sale/workorder/workorder.java

@@ -156,6 +156,17 @@ public class workorder extends Controller {
         return getSucReturnObject().setData(rows).toString();
     }
 
+    @API(title = "服务人员个人信息查询", apiversion = R.ID2025073015312903.v1.class)
+    public String queryserviceMain() throws YosException {
+        SQLFactory sqlFactory = new SQLFactory(this, "服务人员个人信息查询");
+        sqlFactory.addParameter("siteid", siteid);
+        sqlFactory.addParameter_SQL("userid", userid);
+        Rows rows = dbConnect.runSqlQuery(sqlFactory.getSQL());
+        Row row = rows.isNotEmpty() ? rows.get(0) : new Row();
+        return getSucReturnObject().setData(row).toString();
+    }
+
+
     @API(title = "服务工单详情", apiversion = R.ID20230208140103.v1.class, accesstoken = false)
     public String queryworkorderMain() throws YosException {
         boolean isnotaccesstoken = content.getBooleanValue("isnotaccesstoken");