hu 6 ヶ月 前
コミット
081c72968f

+ 3 - 2
src/custom/restcontroller/webmanage/sale/itempriceadjust/ItempriceadjustItemprice.java

@@ -130,6 +130,7 @@ public class ItempriceadjustItemprice extends Controller {
 //        sqlFactory.addParameter_SQL("where", where);
 //        sqlFactory.addParameter("sa_itempriceadjustid", sa_itempriceadjustid);
 //        Rows rows = dbConnect.runSqlQuery(sqlFactory.getSQL());
+        pageSorting="t1.sa_itempriceadjust_itemsid desc";
         QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_itempriceadjust_items", "sa_itempriceadjust_itemsid", "itemid",
                 "rowno","marketprice");
         querySQL.setTableAlias("t1");
@@ -138,7 +139,7 @@ public class ItempriceadjustItemprice extends Controller {
         querySQL.addJoinTable(JOINTYPE.left, "sa_itempriceadjust_itemprice", "t4", "t1.sa_itempriceadjust_itemsid = t4.sa_itempriceadjust_itemsid AND t1.siteid = t4.siteid AND t4.pricegrade = 3");
         querySQL.addJoinTable(JOINTYPE.left, "sa_itempriceadjust_itemprice", "t5", "t1.sa_itempriceadjust_itemsid = t5.sa_itempriceadjust_itemsid AND t1.siteid = t5.siteid AND t5.pricegrade = 4");
         querySQL.addJoinTable(JOINTYPE.left, "sa_itempriceadjust_itemprice", "t6", "t1.sa_itempriceadjust_itemsid = t6.sa_itempriceadjust_itemsid AND t1.siteid = t6.siteid AND t6.pricegrade = 5");
-        querySQL.addJoinTable(JOINTYPE.left, "plm_item", "t7", "t7.siteid = t1.siteid AND t7.itemid = t1.itemid","itemname","itemno","model","spec","ismodule","itemclsnum");
+        querySQL.addJoinTable(JOINTYPE.left, "plm_item", "t7", "t7.siteid = t1.siteid AND t7.itemid = t1.itemid","itemname","itemno","model","spec","ismodule","itemclsnum","topclassnum");
         querySQL.addJoinTable(JOINTYPE.left, "plm_unit", "t8", "t7.siteid = t8.siteid and t7.unitid = t8.unitid","unitname");
         querySQL.addQueryFields("remarks2","t1.remarks");
         querySQL.addQueryFields("oldprice1","t2.oldprice");
@@ -593,7 +594,7 @@ public class ItempriceadjustItemprice extends Controller {
 //        sqlFactory.addParameter("sa_itempriceadjustid", sa_itempriceadjustid);
 //        Rows rows = dbConnect.runSqlQuery(sqlFactory.getSQL());
         QuerySQL querySQL = SQLFactory.createQuerySQL(this, "plm_item", "itemid", "itemname",
-                "itemno","model","spec","ismodule","itemclsnum");
+                "itemno","model","spec","ismodule","itemclsnum","topclassnum");
         querySQL.setTableAlias("t1");
         querySQL.setSiteid(siteid);
         querySQL.setWhere("not exists(select 1 from sa_itempriceadjust_items where siteid= '"+siteid+"' and sa_itempriceadjustid='"+sa_itempriceadjustid+"' and t1.itemid=itemid)");

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

@@ -546,7 +546,7 @@ public class OrderItems extends Controller {
         }
 
         if (!(discountrate.compareTo(BigDecimal.ZERO) > 0 && discountrate.compareTo(new BigDecimal(1)) <= 0)) {
-            return getErrReturnObject().setErrMsg("折扣必须在0-1之间").toString();
+            return getErrReturnObject().setErrMsg("折扣必须在0-100之间").toString();
         }
 
         //通过版本更新订单表头数据

+ 2 - 2
src/custom/restcontroller/webmanage/sale/sendplan/SQL/销售出库单新增.sql

@@ -1,2 +1,2 @@
-insert into st_stockbill (siteid, st_stockbillid,createby, createdate, billno,billdate,changeby, changedate,checkby,checkdate,sys_enterpriseid, rb,type,remarks,status)
-values ($siteid$, $st_stockbillid$,$createby$, $createdate$, $billno$,$billdate$, $changeby$, $changedate$,$checkby$,$checkdate$,$sys_enterpriseid$,$rb$,$type$,$remarks$,'新建');
+insert into st_stockbill (siteid, st_stockbillid,createby, createdate, billno,billdate,changeby, changedate,checkby,checkdate,sys_enterpriseid, rb,type,remarks,status,departmentid,outplace,rec_contactsid,delivery)
+values ($siteid$, $st_stockbillid$,$createby$, $createdate$, $billno$,$billdate$, $changeby$, $changedate$,$checkby$,$checkdate$,$sys_enterpriseid$,$rb$,$type$,$remarks$,'新建',$departmentid$,$outplace$,$rec_contactsid$,$delivery$);

+ 5 - 2
src/custom/restcontroller/webmanage/sale/sendplan/SQL/销售出库单明细新增.sql

@@ -1,4 +1,4 @@
-insert into st_stockbill_items (siteid, st_stockbill_itemsid,st_stockbillid, sa_dispatch_itemsid, rowno, itemid, qty,amount,remarks,price,sa_orderitemsid,sa_orderid)
+insert into st_stockbill_items (siteid, st_stockbill_itemsid,st_stockbillid, sa_dispatch_itemsid, rowno, itemid, qty,amount,remarks,price,sa_orderitemsid,sa_orderid,defaultprice,stockid,custamount)
 select $siteid$,
        $st_stockbill_itemsid$,
        $st_stockbillid$,
@@ -10,4 +10,7 @@ select $siteid$,
        $remarks$,
        $price$,
        $sa_orderitemsid$,
-       $sa_orderid$
+       $sa_orderid$,
+       $defaultprice$,
+       $stockid$,
+       $custamount$

+ 41 - 15
src/custom/restcontroller/webmanage/sale/sendplan/sendplandetail.java

@@ -71,11 +71,15 @@ public class sendplandetail extends Controller {
 
         //计划发货明细计算
         list = new ArrayList<>();
-        Rows stockbillrows = dbConnect.runSqlQuery("\t\tselect itemid,sum(t2.qty) qty from st_stockbill t1\n" +
-                "\t\t\tinner join st_stockbill_items t2 on t1.st_stockbillid=t2.st_stockbillid\n" +
-                "\t\t\twhere t1.type='销售出库'and t1.status='新建' and t1.siteid='" + siteid + "'\n" +
-                "\t\t\tand billdate <='" + sendplanRows.get(0).getString("senddate") + "'\n" +
-                "\t\t\tgroup by itemid");
+//        Rows stockbillrows = dbConnect.runSqlQuery("\t\tselect itemid,sum(t2.qty) qty from st_stockbill t1\n" +
+//                "\t\t\tinner join st_stockbill_items t2 on t1.st_stockbillid=t2.st_stockbillid\n" +
+//                "\t\t\twhere t1.type='销售出库'and t1.status='新建' and t1.siteid='" + siteid + "'\n" +
+//                "\t\t\tand billdate <='" + sendplanRows.get(0).getString("senddate") + "'\n" +
+//                "\t\t\tgroup by itemid");
+        Rows stockbillrows = dbConnect.runSqlQuery("select t2.itemid,sum(t2.undeliqty) qty from sa_order t1 " +
+                " inner join sa_orderitems t2 on t1.sa_orderid=t2.sa_orderid " +
+                " where t1.status='审核' and t2.isclose=0 and t2.undeliqty>0 and t1.siteid='" + siteid + "' " +
+                " group by t2.itemid ");
         Rows invbalrows = dbConnect.runSqlQuery("select itemid,sum(qty) qty from st_invbal t1 group by itemid");
         Rows sendplandetails = dbConnect.runSqlQuery("select t1.sa_sendplandetailid,t1.sa_orderid,t2.itemid,t1.sendqty from sa_sendplandetail t1 inner join sa_orderitems t2 on t1.sa_orderitemsid=t2.sa_orderitemsid and t1.siteid=t2.siteid where t1.sa_sendplanid=" + sa_sendplanid + " and t1.siteid='" + siteid + "'");
         RowsMap stockbillrowsMap = stockbillrows.toRowsMap("itemid");
@@ -139,6 +143,11 @@ public class sendplandetail extends Controller {
     @API(title = "生成销售出库单", apiversion = R.ID2025032709355603.v1.class)
     @CACHEING_CLEAN(apiClass = {sendplandetail.class})
     public String createIcstockBill() throws YosException {
+        long sa_sendplanid=content.getLong("sa_sendplanid");
+        Rows rows = dbConnect.runSqlQuery("welect * from sa_sendplan where sa_sendplanid="+sa_sendplanid);
+        if(rows.isNotEmpty()){
+            departmentid=rows.get(0).getLong("departmentid");
+        }
         JSONArray detailarray = content.getJSONArray("details");
         ArrayList<String> sqlList = new ArrayList<>();
         HashMap<String, HashMap<String, List<JSONObject>>> agentmap = new HashMap<String, HashMap<String, List<JSONObject>>>();
@@ -149,8 +158,8 @@ public class sendplandetail extends Controller {
             }
             String key = "";
             String sys_enterpriseid = jsonObject.getString("sys_enterpriseid");
-            String outplace = jsonObject.getString("outplace");
-            key = sys_enterpriseid + outplace;
+            String topclassnum = jsonObject.getString("topclassnum");
+            key = topclassnum;
             HashMap<String, List<JSONObject>> agent = null;
             List<JSONObject> paolist = null;
             if (agentmap.containsKey(sys_enterpriseid)) {
@@ -185,7 +194,7 @@ public class sendplandetail extends Controller {
                 String key = (String) entry2.getKey();
                 List<JSONObject> paolist = (List<JSONObject>) entry2
                         .getValue();
-
+                Iterator<JSONObject> senddetailpaoit = paolist.iterator();
                 SQLFactory sqlFactory = new SQLFactory(this, "销售出库单新增");
                 long st_stockbillid = createTableID("st_stockbill");
                 sqlFactory.addParameter("siteid", siteid);
@@ -194,6 +203,19 @@ public class sendplandetail extends Controller {
                 sqlFactory.addParameter("billno", createBillCode("stockbill"));
                 sqlFactory.addParameter("type", "销售出库");
                 sqlFactory.addParameter("rb", 1);
+                sqlFactory.addParameter("departmentid", departmentid);
+                JSONObject firstItem = senddetailpaoit.hasNext() ? senddetailpaoit.next() : null;
+                if (firstItem != null) {
+                    sqlFactory.addParameter("outplace", firstItem.getStringValue("outplace"));
+                    sqlFactory.addParameter("rec_contactsid", firstItem.getStringValue("rec_contactsid"));
+                    sqlFactory.addParameter("delivery", firstItem.getStringValue("delivery"));
+                } else {
+                    sqlFactory.addParameter("outplace", "");
+                    sqlFactory.addParameter("rec_contactsid",0);
+                    sqlFactory.addParameter("delivery","");
+                }
+
+
                 sqlFactory.addParameter("billdate", getDateTime_Str());
                 sqlFactory.addParameter("createby", username);
                 sqlFactory.addParameter("createdate", getDateTime_Str());
@@ -204,7 +226,6 @@ public class sendplandetail extends Controller {
                 sqlFactory.addParameter("remarks", "由发货计划自动生成" + key);
                 sqlList.add(sqlFactory.getSQL());
 
-                Iterator<JSONObject> senddetailpaoit = paolist.iterator();
                 int rowno = 1;
                 while (senddetailpaoit.hasNext()) {
                     JSONObject jsonObject = senddetailpaoit.next();
@@ -222,15 +243,20 @@ public class sendplandetail extends Controller {
                         sqlFactorydetail.addParameter("remarks", orderdetails.get(0).getString("remarks"));
                         sqlFactorydetail.addParameter("price", orderdetails.get(0).getBigDecimal("price"));
                         sqlFactorydetail.addParameter("amount", orderdetails.get(0).getBigDecimal("price").multiply(qty));
+                        sqlFactorydetail.addParameter("defaultprice", orderdetails.get(0).getBigDecimal("defaultprice"));
+                        sqlFactorydetail.addParameter("custamount", orderdetails.get(0).getString("custamount"));
                     } else {
                         sqlFactorydetail.addParameter("remarks", "");
                         sqlFactorydetail.addParameter("price", 0);
                         sqlFactorydetail.addParameter("amount", 0);
+                        sqlFactorydetail.addParameter("defaultprice", 0);
+                        sqlFactorydetail.addParameter("custamount", 0);
                     }
                     sqlFactorydetail.addParameter("itemid", jsonObject.getLongValue("itemid"));
                     sqlFactorydetail.addParameter("qty", qty);
                     sqlFactorydetail.addParameter("sa_dispatch_itemsid", 0);
                     sqlFactorydetail.addParameter("rowno", rowno);
+                    sqlFactorydetail.addParameter("stockid", 1603);
 
                     sqlFactorydetail.addParameter("sa_orderitemsid", jsonObject.getLongValue("sa_orderitemsid"));
                     sqlFactorydetail.addParameter("sa_orderid", jsonObject.getLongValue("sa_orderid"));
@@ -253,17 +279,17 @@ public class sendplandetail extends Controller {
         sqlFactory.addParameter_SQL("where", "1=1");
         sqlFactory.addParameter("siteid", siteid);
         pageSorting = "t2.checkdate desc";
-        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_sendplandetail", "sa_sendplandetailid", "colorflag", "topclassnum", "outplace", "sendqty", "willoutqty", "willinqty", "canuseqty");
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_sendplandetail", "sa_sendplanid","sa_sendplandetailid", "colorflag", "outplace", "sendqty", "willoutqty", "willinqty", "canuseqty");
         querySQL.setTableAlias("t1");
-        querySQL.addJoinTable(JOINTYPE.left, "sa_order", "t2", "t1.siteid = t2.siteid and t1.sa_orderid = t2.sa_orderid", "sonum", "checkdate", "sys_enterpriseid", "sa_orderid");
+        querySQL.addJoinTable(JOINTYPE.left, "sa_order", "t2", "t1.siteid = t2.siteid and t1.sa_orderid = t2.sa_orderid", "sonum", "checkdate", "sys_enterpriseid", "sa_orderid","rec_contactsid","delivery");
         querySQL.addJoinTable(JOINTYPE.left, "sa_orderitems", "t3", "t3.siteid = t1.siteid and t3.sa_orderitemsid = t1.sa_orderitemsid", "rowno", "remarks", "sa_orderitemsid");
         querySQL.addJoinTable(JOINTYPE.left, "sa_agents", "t4", "t4.siteid = t1.siteid and t4.sa_agentsid = t1.sa_agentsid", "agentnum");
         querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t5", "t5.siteid = t4.siteid and t5.sys_enterpriseid = t4.sys_enterpriseid", "enterprisename", "abbreviation");
-        querySQL.addJoinTable(JOINTYPE.left, "plm_item", "t6", "t6.siteid = t3.siteid and t6.itemid = t3.itemid", "itemno", "itemname", "model", "itemid");
+        querySQL.addJoinTable(JOINTYPE.left, "plm_item", "t6", "t6.siteid = t3.siteid and t6.itemid = t3.itemid", "itemno", "itemname", "model", "itemid","topclassnum");
         querySQL.addJoinTable(JOINTYPE.left, sqlFactory, "t7", "t7.sa_orderitemsid = t3.sa_orderitemsid", "undeliqty");
-        querySQL.addJoinTable(JOINTYPE.left, "st_invbal", "t8", "t8.itemid = t3.itemid and stockid='101'");
-        querySQL.addJoinTable(JOINTYPE.left, "st_invbal", "t9", "t9.itemid = t3.itemid and stockid='103'");
-        querySQL.addJoinTable(JOINTYPE.left, "st_invbal", "t10", "t10.itemid = t3.itemid and stockid='109'");
+        querySQL.addJoinTable(JOINTYPE.left, "st_invbal", "t8", "t8.itemid = t3.itemid and t8.stockno='101'");
+        querySQL.addJoinTable(JOINTYPE.left, "st_invbal", "t9", "t9.itemid = t3.itemid and t8.stockno='103'");
+        querySQL.addJoinTable(JOINTYPE.left, "st_invbal", "t10", "t10.itemid = t3.itemid and t8.stockno='109'");
         querySQL.addQueryFields("willoutqty_jh", "t7.willoutqty");
         querySQL.addQueryFields("qty_xs", "t8.qty");
         querySQL.addQueryFields("qty_tq", "t9.qty");

+ 1 - 0
src/custom/restcontroller/webmanage/sale/stockbill/SQL/出入库单明细列表查询(红).sql

@@ -5,6 +5,7 @@ SELECT t1.*,
        t2.spec item_spec,
        t2.icaddqty,
        t2.icminqty,
+       t2.topclassnum,
        t3.unitname,
        t7.sonum
 FROM st_stockbill_items t1

+ 1 - 0
src/custom/restcontroller/webmanage/sale/stockbill/SQL/出入库单明细列表查询.sql

@@ -5,6 +5,7 @@ SELECT t1.*,
        t2.spec item_spec,
        t2.icaddqty,
        t2.icminqty,
+       t2.topclassnum,
        t3.unitname,
        t7.sonum
 FROM st_stockbill_items t1