shenjingwei há 3 semanas atrás
pai
commit
d7ff91bbcf

+ 12 - 5
src/custom/restcontroller/crm/agent/stock/invbal.java

@@ -8,6 +8,7 @@ import common.annotation.Param;
 import common.data.QuerySQL;
 import common.data.Rows;
 import common.data.SQLFactory;
+import common.data.SQLFile;
 import restcontroller.R;
 
 @API(title = "美大CRM_经销商_库存")
@@ -30,24 +31,30 @@ public class invbal extends Controller {
 
     @API(title = "美大CRM_经销商_总仓库存查询", type = API.Type.PageQuery, apiversion = R.ID2026031715111701.v1.class)
     public String sys_enterprise_invbal_total_querylist() throws YosException {
-        SQLFactory sqlFactory = new SQLFactory(this, "总仓库存查询");
-        sqlFactory.addParameter("sys_enterpriseid", sys_enterpriseid);
+        SQLFile sqlFile = SQLFactory.getSQLFile(this, "总仓库存查询");
+        sqlFile.addParameter("sys_enterpriseid", sys_enterpriseid);
         QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sys_enterprise_item", "itemid", "itemno", "itemname", "model", "safeqty", "spec").setTableAlias("t10");
         querySQL.addJoinTable(JOINTYPE.left, "plm_item", "t11", "t10.itemid=t11.itemid", "topclassnum");
-        querySQL.addJoinTable(JOINTYPE.inner, sqlFactory, "t12", "t10.sys_enterprise_itemid=t2.sys_enterprise_itemid", "icqty", "undeliqty", "unreceiveqty", "willoutqty");
+        querySQL.addJoinTable(JOINTYPE.inner, sqlFile, "t12", "t10.sys_enterprise_itemid=t2.sys_enterprise_itemid", "icqty", "undeliqty", "unreceiveqty", "willoutqty");
         querySQL.setWhere("t10.sys_enterpriseid", sys_enterpriseid);
         Rows icrows = querySQL.query();
         return getSucReturnObject().setData(icrows).toString();
     }
 
     @API(title = "美大CRM_经销商_总仓库存序列号查询", type = API.Type.PageQuery, apiversion = R.ID2026033015555101.v1.class, params = {
-            @Param(paramname = "itemid", fieldtype = FieldType.BigInt, remarks = "商品ID", isrequired = true)})
+            @Param(paramname = "itemid", fieldtype = FieldType.BigInt, remarks = "商品ID", isrequired = true),
+            @Param(paramname = "sys_enterprise_stockid", fieldtype = FieldType.BigInt, remarks = "仓库ID,可不传", isrequired = false),
+    })
     public String sa_itemsku_querylist() throws YosException {
         long itemid = content.getLong("itemid");
-        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_itemsku", "sku").setTableAlias("t1");
+        long sys_enterprise_stockid = content.getLongValue("sys_enterprise_stockid");
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_itemsku").setTableAlias("t1");
         querySQL.addJoinTable(JOINTYPE.inner, "st_stock", "t2", "t1.stockid=t2.stockid and t2.stockno='00'");
         querySQL.setWhere("t1.itemid", itemid);
         querySQL.setWhere("t1.sys_enterpriseid", sys_enterpriseid);
+        if (sys_enterprise_stockid > 0) {
+            querySQL.setWhere("t1.sys_enterprise_stockid", sys_enterprise_stockid);
+        }
         querySQL.setSiteid(siteid);
         querySQL.setPage(pageSize, pageNumber);
         Rows rows = querySQL.query();

+ 14 - 4
src/custom/restcontroller/crm/agent/stock/stock.java

@@ -33,9 +33,14 @@ public class stock extends Controller {
         boolean isused = content.getBooleanValue("isused");// 是否启用
         String stockno = content.getStringValue("stockno");// 仓库编号
         String stockname = content.getStringValue("stockname");// 仓库名称
+
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sys_enterprise_stock").setSiteid(siteid).setWhere("sys_enterpriseid=" + sys_enterpriseid + " or issystem=1").setWhere("stockno", stockno);
         Rows stockRows = SQLFactory.createQuerySQL(this, "sys_enterprise_stock", "sys_enterprise_stockid").setSiteid(siteid).setUniqueid(sys_enterprise_stockid).query();
         SQLDump sqldump = new SQLDump();
         if (sys_enterprise_stockid <= 0 || stockRows.isEmpty()) {
+            if (querySQL.query().isNotEmpty()) {
+                return getErrReturnObject().setErrMsg("该仓库编号已存在!").toString();
+            }
             InsertSQL insertSQL = SQLFactory.createInsertSQL(this, "sys_enterprise_stock");
             insertSQL.setValue("siteid", siteid);// 站点
             insertSQL.setValue("isused", isused);// 是否启用
@@ -48,9 +53,11 @@ public class stock extends Controller {
             if (stockRows.get(0).getBoolean("issystem")) {
                 return getErrReturnObject().setErrMsg("系统预设仓库不可修改!").toString();
             }
+            if (querySQL.setWhere("sys_enterprise_stockid!=" + sys_enterprise_stockid).query().isNotEmpty()) {
+                return getErrReturnObject().setErrMsg("该仓库编号已存在!").toString();
+            }
             UpdateSQL updateSQL = SQLFactory.createUpdateSQL(this, "sys_enterprise_stock");
             updateSQL.setValue("isused", isused);// 是否启用
-            updateSQL.setValue("stockno", stockno);// 仓库编号
             updateSQL.setValue("stockname", stockname);// 仓库名称
             updateSQL.setSiteid(siteid);
             updateSQL.setWhere("sys_enterpriseid", sys_enterpriseid);
@@ -62,17 +69,20 @@ public class stock extends Controller {
     }
 
     @API(title = "美大CRM_经销商_仓库_删除", apiversion = R.ID2026031714454901.v1.class, params = {
-            @Param(paramname = "sys_enterprise_stockid", fieldtype = FieldType.BigInt, remarks = "企业仓库ID", isrequired = true)
-    })
+            @Param(paramname = "sys_enterprise_stockid", fieldtype = FieldType.BigInt, remarks = "企业仓库ID", isrequired = true)})
     public String sys_enterprise_stock_delete() throws YosException {
         long sys_enterprise_stockid = content.getLongValue("sys_enterprise_stockid");
-        Rows stockRows = SQLFactory.createQuerySQL(this, "sys_enterprise_stock", "sys_enterprise_stockid").setSiteid(siteid).setUniqueid(sys_enterprise_stockid).query();
+        Rows stockRows = SQLFactory.createQuerySQL(this, "sys_enterprise_stock").setUniqueid(sys_enterprise_stockid).query();
         if (stockRows.isEmpty()) {
             return getErrReturnObject().setErrMsg("未找到该仓库!").toString();
         }
         if (stockRows.get(0).getBoolean("issystem")) {
             return getErrReturnObject().setErrMsg("系统预设仓库不可删除!").toString();
         }
+        if (stockRows.get(0).getBoolean("isused")) {
+            return getErrReturnObject().setErrMsg("该仓库已启用,不可删除!").toString();
+        }
+
         QuerySQL invbalQuery = SQLFactory.createQuerySQL(this, "sys_enterprise_invbal");
         invbalQuery.setSiteid(siteid);
         invbalQuery.setWhere("sys_enterprise_stockid", sys_enterprise_stockid);

+ 1 - 1
src/custom/service/UpdateBasicDataToWms.java

@@ -34,7 +34,7 @@ public class UpdateBasicDataToWms extends ServiceController {
         QuerySQL querySQL = SQLFactory.createQuerySQL(dbConnect, "plm_item", "itemno", "itemname", "spec", "stockno", "shapesize").setTableAlias("t1");
         querySQL.addJoinTable(JOINTYPE.left, "plm_unit", "t2", "unitid=:unitid", "unitname");
         querySQL.setWhere("siteid", "MD").setWhere("(t1.wmsuploadflag<2) and (t1.stockno='101' or t1.createby!='U8')");
-        querySQL.addQueryFields("model", "subString(t1.model,0,50)");
+        querySQL.addQueryFields("model", "subString(t1.model,1,50)");
         Rows itemRows = querySQL.query();
 
         if (itemRows.isNotEmpty()) {