Browse Source

尺寸定制方案

hu 2 năm trước cách đây
mục cha
commit
849a7a0d02
16 tập tin đã thay đổi với 434 bổ sung5 xóa
  1. 32 0
      src/custom/restcontroller/R.java
  2. 4 0
      src/custom/restcontroller/webmanage/sale/item/Item.java
  3. 8 2
      src/custom/restcontroller/webmanage/sale/item/SQL/货品档案列表.sql
  4. 3 1
      src/custom/restcontroller/webmanage/sale/item/SQL/货品档案更新.sql
  5. 5 2
      src/custom/restcontroller/webmanage/sale/item/SQL/货品档案详情.sql
  6. 4 0
      src/custom/restcontroller/webmanage/sale/sizecustomizedscheme/SQL/尺寸定制方案列表查询.sql
  7. 10 0
      src/custom/restcontroller/webmanage/sale/sizecustomizedscheme/SQL/尺寸定制方案反审核.sql
  8. 10 0
      src/custom/restcontroller/webmanage/sale/sizecustomizedscheme/SQL/尺寸定制方案审核.sql
  9. 3 0
      src/custom/restcontroller/webmanage/sale/sizecustomizedscheme/SQL/尺寸定制方案新增.sql
  10. 5 0
      src/custom/restcontroller/webmanage/sale/sizecustomizedscheme/SQL/尺寸定制方案明细列表查询.sql
  11. 2 0
      src/custom/restcontroller/webmanage/sale/sizecustomizedscheme/SQL/尺寸定制方案明细新增.sql
  12. 8 0
      src/custom/restcontroller/webmanage/sale/sizecustomizedscheme/SQL/尺寸定制方案明细更新.sql
  13. 16 0
      src/custom/restcontroller/webmanage/sale/sizecustomizedscheme/SQL/尺寸定制方案更新.sql
  14. 5 0
      src/custom/restcontroller/webmanage/sale/sizecustomizedscheme/SQL/尺寸定制方案详情查询.sql
  15. 197 0
      src/custom/restcontroller/webmanage/sale/sizecustomizedscheme/sizecustomizedscheme.java
  16. 122 0
      src/custom/restcontroller/webmanage/sale/sizecustomizedscheme/sizeschemedetail.java

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

@@ -4908,6 +4908,38 @@ public class R {
         public static class v1 {
         public static class v1 {
         }
         }
     }
     }
+    public static class ID20230707091503 {
+        public static class v1 {
+        }
+    }
+    public static class ID20230707091603 {
+        public static class v1 {
+        }
+    }
+    public static class ID20230707091703 {
+        public static class v1 {
+        }
+    }
+    public static class ID20230707091803 {
+        public static class v1 {
+        }
+    }
+    public static class ID20230707093103 {
+        public static class v1 {
+        }
+    }
+    public static class ID20230707093203 {
+        public static class v1 {
+        }
+    }
+    public static class ID20230707093303 {
+        public static class v1 {
+        }
+    }
+    public static class ID20230707111103 {
+        public static class v1 {
+        }
+    }
 
 
 }
 }
 
 

+ 4 - 0
src/custom/restcontroller/webmanage/sale/item/Item.java

@@ -163,6 +163,10 @@ public class Item extends Controller {
         sqlFactory.addParameter("stockno", content.getStringValue("stockno"));
         sqlFactory.addParameter("stockno", content.getStringValue("stockno"));
         sqlFactory.addParameter("volume", content.getBigDecimalValue("volume"));
         sqlFactory.addParameter("volume", content.getBigDecimalValue("volume"));
 
 
+
+        sqlFactory.addParameter("widthschemeid", content.getBigDecimalValue("widthschemeid"));
+        sqlFactory.addParameter("lengthschemeid", content.getBigDecimalValue("lengthschemeid"));
+
         sqlList.add(sqlFactory.getSQL());
         sqlList.add(sqlFactory.getSQL());
         // 货品档案扩展属性字段表
         // 货品档案扩展属性字段表
 
 

+ 8 - 2
src/custom/restcontroller/webmanage/sale/item/SQL/货品档案列表.sql

@@ -32,6 +32,8 @@ SELECT t1.itemid,
        t1.cheek,
        t1.cheek,
        t1.delistingstatus,
        t1.delistingstatus,
        t1.stockno,
        t1.stockno,
+       t1.widthschemeid,
+       t1.lengthschemeid,
        t6.auxunitid,
        t6.auxunitid,
        t6.unitgroupname,
        t6.unitgroupname,
        t7.unitname axunitname,
        t7.unitname axunitname,
@@ -49,11 +51,15 @@ SELECT t1.itemid,
        t8.erpitemname,
        t8.erpitemname,
        t8.specalnote,
        t8.specalnote,
        t8.prodline,
        t8.prodline,
-       t8.device
+       t8.device,
+       t4.schemename widthschemename,
+       t5.schemename lengthschemename
 FROM plm_item t1
 FROM plm_item t1
          LEFT JOIN plm_unit t2 ON t2.unitid = t1.unitid AND t2.siteid = t1.siteid
          LEFT JOIN plm_unit t2 ON t2.unitid = t1.unitid AND t2.siteid = t1.siteid
          LEFT JOIN plm_unitgroup t6 ON t6.unitgroupid = t1.unitgroupid
          LEFT JOIN plm_unitgroup t6 ON t6.unitgroupid = t1.unitgroupid
          LEFT JOIN plm_unit t7 ON t7.unitid = t6.unitid AND t7.siteid = t6.siteid
          LEFT JOIN plm_unit t7 ON t7.unitid = t6.unitid AND t7.siteid = t6.siteid
-         LEFT JOIN plm_itemextend t8 ON t8.itemid = t1.itemid AND t8.siteid = t1.siteid
+         LEFT JOIN plm_itemextend t8 ON t8.itemid = t1.itemid AND t8.siteid = t1.siteid,
+        left join sa_sizecustomizedscheme t4 on t1.widthschemeid=t4.sa_sizecustomizedschemeid and t1.siteid=t4.siteid
+         left join sa_sizecustomizedscheme t5 on t1.lengthschemeid=t5.sa_sizecustomizedschemeid and t1.siteid=t5.siteid
 WHERE t1.siteid = $siteid$
 WHERE t1.siteid = $siteid$
   and $where$
   and $where$

+ 3 - 1
src/custom/restcontroller/webmanage/sale/item/SQL/货品档案更新.sql

@@ -42,7 +42,9 @@ SET changeuserid=$userid$,
     financeclasstype=$financeclasstype$,
     financeclasstype=$financeclasstype$,
     stockno=$stockno$,
     stockno=$stockno$,
     marketingcategory=$marketingcategory$,
     marketingcategory=$marketingcategory$,
-    volume=$volume$
+    volume=$volume$,
+    widthschemeid=$widthschemeid$,
+    lengthschemeid=$lengthschemeid$
 WHERE itemid = $itemid$
 WHERE itemid = $itemid$
   and siteid = $siteid$
   and siteid = $siteid$
 
 

+ 5 - 2
src/custom/restcontroller/webmanage/sale/item/SQL/货品档案详情.sql

@@ -20,11 +20,14 @@ SELECT t1.*,
             when t3.cansaleqty >= t1.stockstatus1 then '充足'
             when t3.cansaleqty >= t1.stockstatus1 then '充足'
             when t3.cansaleqty <= t1.stockstatus2 then '缺货'
             when t3.cansaleqty <= t1.stockstatus2 then '缺货'
             else '紧缺' end) stockstatus,
             else '紧缺' end) stockstatus,
-       ifnull(t3.qty, 0)   invbal_qty
-
+       ifnull(t3.qty, 0)   invbal_qty,
+       t4.schemename widthschemename,
+       t5.schemename lengthschemename
 FROM plm_item t1
 FROM plm_item t1
          LEFT JOIN plm_unit t2 ON t2.unitid = t1.unitid AND t2.siteid = t1.siteid
          LEFT JOIN plm_unit t2 ON t2.unitid = t1.unitid AND t2.siteid = t1.siteid
          LEFT JOIN plm_itemextend t8 ON t8.itemid = t1.itemid AND t8.siteid = t1.siteid
          LEFT JOIN plm_itemextend t8 ON t8.itemid = t1.itemid AND t8.siteid = t1.siteid
          LEFT JOIN st_invbal_sale t3 ON t3.siteid = t1.siteid AND t3.itemid = t1.itemid
          LEFT JOIN st_invbal_sale t3 ON t3.siteid = t1.siteid AND t3.itemid = t1.itemid
+         left join sa_sizecustomizedscheme t4 on t1.widthschemeid=t4.sa_sizecustomizedschemeid and t1.siteid=t4.siteid
+         left join sa_sizecustomizedscheme t5 on t1.lengthschemeid=t5.sa_sizecustomizedschemeid and t1.siteid=t5.siteid
 WHERE t1.siteid = $siteid$
 WHERE t1.siteid = $siteid$
   and t1.itemid = $itemid$
   and t1.itemid = $itemid$

+ 4 - 0
src/custom/restcontroller/webmanage/sale/sizecustomizedscheme/SQL/尺寸定制方案列表查询.sql

@@ -0,0 +1,4 @@
+SELECT
+    t1.*
+FROM sa_sizecustomizedscheme t1
+	where t1.siteid=$siteid$ and $where$

+ 10 - 0
src/custom/restcontroller/webmanage/sale/sizecustomizedscheme/SQL/尺寸定制方案反审核.sql

@@ -0,0 +1,10 @@
+UPDATE sa_sizecustomizedscheme
+SET
+    checkdate = null,
+    checkby = null,
+    status='新建'
+WHERE sa_sizecustomizedschemeid = $sa_sizecustomizedschemeid$ and siteid=$siteid$
+
+
+
+

+ 10 - 0
src/custom/restcontroller/webmanage/sale/sizecustomizedscheme/SQL/尺寸定制方案审核.sql

@@ -0,0 +1,10 @@
+UPDATE sa_sizecustomizedscheme
+SET
+    checkdate = CURRENT_TIME,
+    checkby = $username$,
+    status='审核'
+WHERE sa_sizecustomizedschemeid = $sa_sizecustomizedschemeid$ and siteid=$siteid$
+
+
+
+

+ 3 - 0
src/custom/restcontroller/webmanage/sale/sizecustomizedscheme/SQL/尺寸定制方案新增.sql

@@ -0,0 +1,3 @@
+insert into sa_sizecustomizedscheme (siteid, sa_sizecustomizedschemeid,createuserid,createby, createdate, billno,changeuserid,changeby, changedate,
+                                schemename,schemedescription,type,min,max,decimalplaces,status)
+values ($siteid$, $sa_sizecustomizedschemeid$,$userid$,$username$, CURRENT_TIME, $billno$,$userid$, $username$, CURRENT_TIME, $schemename$,$schemedescription$,$type$,$min$,$max$,$decimalplaces$,'新建');

+ 5 - 0
src/custom/restcontroller/webmanage/sale/sizecustomizedscheme/SQL/尺寸定制方案明细列表查询.sql

@@ -0,0 +1,5 @@
+SELECT
+    t1.*
+FROM
+    sa_sizeschemedetail t1
+where $where$ and t1.siteid=$siteid$ and t1.sa_sizecustomizedschemeid=$sa_sizecustomizedschemeid$

+ 2 - 0
src/custom/restcontroller/webmanage/sale/sizecustomizedscheme/SQL/尺寸定制方案明细新增.sql

@@ -0,0 +1,2 @@
+insert into sa_sizeschemedetail (siteid, sa_sizeschemedetailid,sa_sizecustomizedschemeid,num,rowno)
+values ($siteid$, $sa_sizeschemedetailid$,$sa_sizecustomizedschemeid$,$num$,$rowno$);

+ 8 - 0
src/custom/restcontroller/webmanage/sale/sizecustomizedscheme/SQL/尺寸定制方案明细更新.sql

@@ -0,0 +1,8 @@
+UPDATE sa_sizeschemedetail
+SET
+    num=$num$
+WHERE sa_sizeschemedetailid = $sa_sizeschemedetailid$ and siteid=$siteid$
+
+
+
+

+ 16 - 0
src/custom/restcontroller/webmanage/sale/sizecustomizedscheme/SQL/尺寸定制方案更新.sql

@@ -0,0 +1,16 @@
+UPDATE sa_sizecustomizedscheme
+SET 
+    changeuserid=$userid$,
+    changedate = CURRENT_TIME,
+    changeby = $username$,
+    schemename = $schemename$,
+    schemedescription=$schemedescription$,
+    type=$type$,
+    min=$min$,
+    max=$max$,
+    decimalplaces=$decimalplaces$
+WHERE sa_sizecustomizedschemeid = $sa_sizecustomizedschemeid$ and siteid=$siteid$
+
+
+
+

+ 5 - 0
src/custom/restcontroller/webmanage/sale/sizecustomizedscheme/SQL/尺寸定制方案详情查询.sql

@@ -0,0 +1,5 @@
+SELECT
+    t1.*
+FROM
+	sa_sizecustomizedscheme t1
+	where t1.sa_sizecustomizedschemeid=$sa_sizecustomizedschemeid$

+ 197 - 0
src/custom/restcontroller/webmanage/sale/sizecustomizedscheme/sizecustomizedscheme.java

@@ -0,0 +1,197 @@
+package restcontroller.webmanage.sale.sizecustomizedscheme;
+
+import beans.data.BatchDeleteErr;
+import beans.datacontrllog.DataContrlLog;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import common.Controller;
+import common.YosException;
+import common.annotation.API;
+import common.annotation.CACHEING;
+import common.annotation.CACHEING_CLEAN;
+import common.data.Row;
+import common.data.Rows;
+import common.data.SQLFactory;
+import restcontroller.R;
+import restcontroller.sale.item.Item;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+
+public class sizecustomizedscheme extends Controller {
+    /**
+     * 构造函数
+     *
+     * @param content
+     */
+    public sizecustomizedscheme(JSONObject content) throws YosException {
+        super(content);
+    }
+    @API(title = "尺寸定制方案单新增更新", apiversion = R.ID20230707091503.v1.class)
+    @CACHEING_CLEAN(apiClass = {sizecustomizedscheme.class, Item.class, restcontroller.webmanage.sale.item.Item.class})
+    public String insertormodify_sizecustomizedscheme() throws YosException {
+        ArrayList<String> sqlList = new ArrayList<>();
+        // 表名
+        String tableName = "sa_sizecustomizedscheme";
+        Long sa_sizecustomizedschemeid = content.getLong("sa_sizecustomizedschemeid");
+        String schemename = content.getStringValue("schemename");
+        String schemedescription = content.getStringValue("schemedescription");
+        String type = content.getStringValue("type");
+        BigDecimal min =content.getBigDecimalValue("min");
+        BigDecimal max =content.getBigDecimalValue("max");
+        int decimalplaces =content.getIntValue("decimalplaces");
+
+        SQLFactory sqlFactory = new SQLFactory(this, "尺寸定制方案新增");
+
+
+        if (sa_sizecustomizedschemeid <= 0 || dbConnect.runSqlQuery(
+                "select sa_sizecustomizedschemeid from sa_sizecustomizedscheme where sa_sizecustomizedschemeid=" + sa_sizecustomizedschemeid)
+                .isEmpty()) {
+            sa_sizecustomizedschemeid = createTableID(tableName);
+            sqlList.add(
+                    DataContrlLog.createLog(this, "sa_sizecustomizedscheme", sa_sizecustomizedschemeid, "新增", "尺寸定制方案新增成功").getSQL());
+        } else {
+            Rows rows = dbConnect.runSqlQuery(
+                    "SELECT status from sa_sizecustomizedscheme WHERE sa_sizecustomizedschemeid = "
+                            + sa_sizecustomizedschemeid);
+            if (!rows.get(0).getString("status").equals("新建")) {
+                return getErrReturnObject().setErrMsg("非新建状态的尺寸定制方案无法修改").toString();
+            } else {
+                sqlFactory = new SQLFactory(this, "尺寸定制方案更新");
+                sqlList.add(DataContrlLog.createLog(this, "sa_sizecustomizedscheme", sa_sizecustomizedschemeid, "更新", "尺寸定制方案更新成功")
+                        .getSQL());
+            }
+
+        }
+
+        sqlFactory.addParameter("siteid", siteid);
+        sqlFactory.addParameter("userid", userid);
+        sqlFactory.addParameter("username", username);
+        sqlFactory.addParameter("sa_sizecustomizedschemeid", sa_sizecustomizedschemeid);
+        //尺寸定制方案单号createBillCode("sizecustomizedschemebill")
+        sqlFactory.addParameter("billno", "123456");
+        sqlFactory.addParameter("schemename", schemename);
+        sqlFactory.addParameter("schemedescription", schemedescription);
+        sqlFactory.addParameter("type", type);
+        sqlFactory.addParameter("min", min);
+        sqlFactory.addParameter("max", max);
+        sqlFactory.addParameter("decimalplaces", decimalplaces);
+        sqlList.add(sqlFactory.getSQL());
+        dbConnect.runSqlUpdate(sqlList);
+
+        content.put("sa_sizecustomizedschemeid", sa_sizecustomizedschemeid);
+
+        return querysizecustomizedschemeMain();
+    }
+
+    @API(title = "尺寸定制方案单详情", apiversion = R.ID20230707091603.v1.class)
+    @CACHEING
+    public String querysizecustomizedschemeMain() throws YosException {
+        Long sa_sizecustomizedschemeid = content.getLong("sa_sizecustomizedschemeid");
+        SQLFactory sqlFactory = new SQLFactory(this, "尺寸定制方案详情查询");
+        sqlFactory.addParameter("sa_sizecustomizedschemeid", sa_sizecustomizedschemeid);
+        sqlFactory.addParameter("siteid", siteid);
+        Rows rows = dbConnect.runSqlQuery(sqlFactory);
+        Row row = rows.isNotEmpty() ? rows.get(0) : new Row();
+
+        return getSucReturnObject().setData(row).toString();
+    }
+
+    @API(title = "查询尺寸定制方案单列表", apiversion = R.ID20230707091703.v1.class)
+    @CACHEING
+    public String querysizecustomizedschemeList() throws YosException {
+        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.billno like'%").append(whereObject.getString("condition")).append("%' ");
+                where.append("or t1.schemename like'%").append(whereObject.getString("condition")).append("%' ");
+                where.append("or t1.schemedescription like'%").append(whereObject.getString("condition")).append("%' ");
+                where.append(")");
+            }
+            if (whereObject.containsKey("status") && !"".equals(whereObject.getString("status"))) {
+                where.append("and t1.status ='").append(whereObject.getString("status")).append("' ");
+            }
+        }
+        SQLFactory sqlFactory = new SQLFactory(this, "尺寸定制方案列表查询", pageSize, pageNumber, pageSorting);
+        sqlFactory.addParameter("siteid", siteid);
+        sqlFactory.addParameter_SQL("where", where);
+        Rows rows = dbConnect.runSqlQuery(sqlFactory);
+
+        return getSucReturnObject().setData(rows).toString();
+    }
+
+
+    @API(title = "审核核反审核", apiversion = R.ID20230707111103.v1.class)
+    @CACHEING_CLEAN(apiClass = {sizecustomizedscheme.class})
+    public String check() throws YosException {
+        Long sa_sizecustomizedschemeid = content.getLong("sa_sizecustomizedschemeid");
+        boolean ischeck = content.getBooleanValue("ischeck");
+        Rows rows = dbConnect.runSqlQuery("select * from sa_sizecustomizedscheme  where sa_sizecustomizedschemeid ='"
+                + sa_sizecustomizedschemeid + "' and  siteid='" + siteid + "'");
+        for (Row row : rows) {
+            if (ischeck) {
+                if (!row.getString("status").equals("新建")) {
+                    return getErrReturnObject().setErrMsg("单号为:【" + row.getString("billno") + "】的返退单为非新建状态,无法审核")
+                            .toString();
+                }
+            } else {
+                if (!row.getString("status").equals("审核")) {
+                    return getErrReturnObject().setErrMsg("单号为:【" + row.getString("billno") + "】的返退单为非审核状态,无法反审核")
+                            .toString();
+                }
+            }
+
+        }
+        ArrayList<String> sqlList = new ArrayList<>();
+        SQLFactory sqlFactoryupdate;
+        if (ischeck) {
+            sqlFactoryupdate = new SQLFactory(this, "尺寸定制方案审核");
+            sqlList.add(
+                    DataContrlLog.createLog(this, "sa_sizecustomizedscheme", sa_sizecustomizedschemeid, "审核", "尺寸定制方案审核成功").getSQL());
+        } else {
+            sqlFactoryupdate = new SQLFactory(this, "尺寸定制方案反审核");
+            sqlList.add(
+                    DataContrlLog.createLog(this, "sa_sizecustomizedscheme", sa_sizecustomizedschemeid, "反审核", "尺寸定制方案反审核成功").getSQL());
+        }
+        sqlFactoryupdate.addParameter("siteid", siteid);
+        sqlFactoryupdate.addParameter("sa_sizecustomizedschemeid", sa_sizecustomizedschemeid);
+        sqlFactoryupdate.addParameter("username", username);
+        sqlList.add(sqlFactoryupdate.getSQL());
+        dbConnect.runSqlUpdate(sqlList);
+        return getSucReturnObject().toString();
+    }
+
+    @API(title = "删除", apiversion = R.ID20230707091803.v1.class)
+    @CACHEING_CLEAN(apiClass = {sizecustomizedscheme.class})
+    public String delete() throws YosException {
+
+        JSONArray sa_sizecustomizedschemeids = content.getJSONArray("sa_sizecustomizedschemeids");
+        BatchDeleteErr batchDeleteErr = BatchDeleteErr.create(this, sa_sizecustomizedschemeids.size());
+        for (Object o : sa_sizecustomizedschemeids) {
+            long sa_sizecustomizedschemeid = Long.parseLong(o.toString());
+            Rows RowsStatus = dbConnect
+                    .runSqlQuery("select * from sa_sizecustomizedscheme where status !='新建' and siteid='" + siteid
+                            + "' and sa_sizecustomizedschemeid='" + sa_sizecustomizedschemeid + "'");
+            Rows RowsCount = dbConnect
+                    .runSqlQuery("select * from plm_item where (widthschemeid="+sa_sizecustomizedschemeid +" or lengthschemeid="+sa_sizecustomizedschemeid +") and siteid='"+siteid+"'");
+
+            if (RowsStatus.isNotEmpty()) {
+                batchDeleteErr.addErr(sa_sizecustomizedschemeid, "非新建状态的尺寸定制方案无法删除");
+                continue;
+            }
+            if (RowsCount.isNotEmpty()) {
+                batchDeleteErr.addErr(sa_sizecustomizedschemeid, "已在商品档案中使用的尺寸定制方案明细无法删除");
+                continue;
+            }
+
+
+            dbConnect.runSqlUpdate("delete from sa_sizecustomizedscheme where siteid='" + siteid + "' and sa_sizecustomizedschemeid="
+                    + sa_sizecustomizedschemeid);
+        }
+        return batchDeleteErr.getReturnObject().toString();
+
+    }
+
+}

+ 122 - 0
src/custom/restcontroller/webmanage/sale/sizecustomizedscheme/sizeschemedetail.java

@@ -0,0 +1,122 @@
+package restcontroller.webmanage.sale.sizecustomizedscheme;
+
+import beans.data.BatchDeleteErr;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import common.Controller;
+import common.YosException;
+import common.annotation.API;
+import common.annotation.CACHEING;
+import common.annotation.CACHEING_CLEAN;
+import common.data.Rows;
+import common.data.SQLFactory;
+import restcontroller.R;
+
+import java.util.ArrayList;
+
+public class sizeschemedetail extends Controller {
+    /**
+     * 构造函数
+     *
+     * @param content
+     */
+    public sizeschemedetail(JSONObject content) throws YosException {
+        super(content);
+    }
+
+    @API(title = "新建或修改尺寸定制方案明细", apiversion = R.ID20230707093103.v1.class)
+    @CACHEING_CLEAN(apiClass = {sizeschemedetail.class})
+    public String insertormodify_sizeschemedetail() throws YosException {
+        Long sa_sizecustomizedschemeid = content.getLong("sa_sizecustomizedschemeid");
+        long maxid = 0;
+        Rows maxidRows = dbConnect
+                .runSqlQuery("select MAX(rowno) rowno from sa_sizeschemedetail where sa_sizecustomizedschemeid=" + sa_sizecustomizedschemeid);
+        if (!maxidRows.isEmpty()) {
+            maxid = maxidRows.get(0).getLong("rowno");
+        }
+        ArrayList<String> sqlList = new ArrayList<>();
+        Rows rowscount = dbConnect.runSqlQuery("select status from sa_sizecustomizedscheme where sa_sizecustomizedschemeid=" + sa_sizecustomizedschemeid);
+        if (rowscount.isEmpty()) {
+            return getErrReturnObject().setErrMsg("该尺寸定制方案不存在").toString();
+        }else{
+            if(!rowscount.get(0).getString("status").equals("新建")){
+                return getErrReturnObject().setErrMsg("非新建状态的定制方案无法新增修改明细").toString();
+            }
+        }
+
+
+        if (content.getLong("sa_sizeschemedetailid") <= 0 || dbConnect
+                .runSqlQuery("select sa_sizeschemedetailid from sa_sizeschemedetail where sa_sizeschemedetailid="
+                        + content.getLong("sa_sizeschemedetailid"))
+                .isEmpty()) {
+            SQLFactory saleFactory = new SQLFactory(this, "尺寸定制方案明细新增");
+            saleFactory.addParameter("siteid", siteid);
+            saleFactory.addParameter("sa_sizeschemedetailid", createTableID("sa_sizeschemedetail"));
+            saleFactory.addParameter("sa_sizecustomizedschemeid", sa_sizecustomizedschemeid);
+            saleFactory.addParameter("num", content.getStringValue("num"));
+            saleFactory.addParameter("rowno", maxid+1);
+            sqlList.add(saleFactory.getSQL());
+        } else {
+            SQLFactory saleFactory = new SQLFactory(this, "尺寸定制方案明细更新");
+            saleFactory.addParameter("siteid", siteid);
+            saleFactory.addParameter("sa_sizeschemedetailid",  content.getLongValue("sa_sizeschemedetailid"));
+            saleFactory.addParameter("sa_sizecustomizedschemeid", sa_sizecustomizedschemeid);
+            saleFactory.addParameter("num", content.getStringValue("num"));
+            sqlList.add(saleFactory.getSQL());
+        }
+        dbConnect.runSqlUpdate(sqlList);
+        return querysizeschemedetailList();
+    }
+
+    @API(title = "尺寸定制方案明细列表", apiversion = R.ID20230707093203.v1.class)
+    @CACHEING
+    public String querysizeschemedetailList() throws YosException {
+        /*
+         * 过滤条件设置
+         */
+        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.value like'%").append(whereObject.getString("condition")).append("%' ");
+//                where.append(")");
+//            }
+//        }
+        Long sa_sizecustomizedschemeid = content.getLong("sa_sizecustomizedschemeid");
+//			String hrid = content.getString("hrid");
+        SQLFactory sqlFactory = new SQLFactory(this, "尺寸定制方案明细列表查询", pageSize, pageNumber, pageSorting);
+        sqlFactory.addParameter_SQL("where", where);
+        sqlFactory.addParameter("sa_sizecustomizedschemeid", sa_sizecustomizedschemeid);
+        sqlFactory.addParameter("siteid", siteid);
+        Rows rows = dbConnect.runSqlQuery(sqlFactory);
+
+        return getSucReturnObject().setData(rows).toString();
+    }
+
+    @API(title = "删除明细", apiversion = R.ID20230707093303.v1.class)
+    @CACHEING_CLEAN(apiClass = {sizeschemedetail.class})
+    public String deletemx() throws YosException {
+
+        JSONArray sa_sizeschemedetailids = content.getJSONArray("sa_sizeschemedetailids");
+        BatchDeleteErr batchDeleteErr = BatchDeleteErr.create(this, sa_sizeschemedetailids.size());
+        for (Object o : sa_sizeschemedetailids) {
+            long sa_sizeschemedetailid = Long.parseLong(o.toString());
+            Rows RowsStatus = dbConnect
+                    .runSqlQuery("select * from sa_sizeschemedetail t1 inner join sa_sizecustomizedscheme t2 on t1.sa_sizecustomizedschemeid=t2.sa_sizecustomizedschemeid and t1.siteid=t2.siteid where t1.siteid='" + siteid
+                            + "' and t1.sa_sizeschemedetailid='" + sa_sizeschemedetailid + "' and t2.status !='新建'");
+            if (RowsStatus.isNotEmpty()) {
+                batchDeleteErr.addErr(sa_sizeschemedetailid, "非新建状态的尺寸定制方案明细无法删除");
+                continue;
+            }
+            ArrayList<String> list = new ArrayList<>();
+            SQLFactory deletesql = new SQLFactory("sql:delete from sa_sizeschemedetail where siteid='" + siteid
+                    + "' and sa_sizeschemedetailid=" + sa_sizeschemedetailid);
+            list.add(deletesql.getSQL());
+
+            dbConnect.runSqlUpdate(list);
+        }
+
+        return batchDeleteErr.getReturnObject().toString();
+    }
+}