소스 검색

Merge remote-tracking branch 'origin/develop' into develop

shenjingwei 5 달 전
부모
커밋
79ccd87cc1

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

@@ -1819,7 +1819,7 @@ public class Order extends Controller {
     @API(title = "批量一键出库_配件", apiversion = R.ID2025110515173403.v1.class)
     public String oneClickcreateStockbills_pj() throws YosException {
         JSONArray sa_orderids =content.getJSONArray("sa_orderids");
-//        JSONArray noneeddeliverys =content.getJSONArray("noneeddeliverys");
+        JSONArray noneeddeliverys =content.getJSONArray("noneeddeliverys");
 //        String outplace=content.getString("outplace");
         ArrayList<String> sqlList = new ArrayList<>();
         QuerySQL orderQuerySQL = SQLFactory.createQuerySQL(this, "sa_order","sa_orderid","sys_enterpriseid","sys_enterprise_financeid","rec_contactsid","logisticsmethod");
@@ -1959,9 +1959,9 @@ public class Order extends Controller {
         RowsMap deliveryrowsMap = orderRows_result.toRowsMap("delivery");
         Set<String> enterpriseSet = enterpriserowsMap.keySet();
         Set<String>  deliverySet = deliveryrowsMap.keySet();
-//        for(Object object :noneeddeliverys){
-//            deliverySet.remove((String)object);
-//        }
+        for(Object object :noneeddeliverys){
+            deliverySet.remove((String)object);
+        }
         int stockbillcount=0;
 
         QuerySQL accountbalanceQuerySQL = SQLFactory.createQuerySQL(this, "sa_accountbalance","*");

+ 10 - 1
src/custom/restcontroller/webmanage/sale/sendrepair/sendrepair.java

@@ -82,6 +82,8 @@ public class sendrepair extends Controller {
         UpdateSQLdetail.setValue("disposition", content.getStringValue("disposition"));
         UpdateSQLdetail.setValue("idearemarks", content.getStringValue("idearemarks"));
         UpdateSQLdetail.setValue("agentcost", content.getBigDecimal("agentcost"));
+        UpdateSQLdetail.setValue("logisticscost", content.getBigDecimal("logisticscost"));
+        UpdateSQLdetail.setValue("logistics", content.getStringValue("logistics"));
 
         UpdateSQLdetail.setValue("newitemid", content.getStringValue("newitemid"));
         UpdateSQLdetail.setValue("newitemno", content.getStringValue("newitemno"));
@@ -350,7 +352,7 @@ public class sendrepair extends Controller {
 
             }
         }
-
+        Rows departmenthrrows =dbConnect.runSqlQuery("select *from sys_departmenthrid where hrid="+hrid);
         ArrayList<String> sqlList = new ArrayList<>();
         UpdateSQL updateSQL = SQLFactory.createUpdateSQL(this, "sa_sendrepair");
         updateSQL.setUniqueid(sa_sendrepairid);
@@ -385,6 +387,7 @@ public class sendrepair extends Controller {
                     insertSQL.setValue("billno", createBillCode("stockbilla"));
                     insertSQL.setValue("type", "返修出库");
                     insertSQL.setValue("typemx", "");
+                    insertSQL.setValue("departmentid", departmenthrrows.isNotEmpty()?departmenthrrows.get(0).getLong("departmentid"):0);
                     insertSQL.setValue("sys_enterpriseid",row.getLong("sys_enterpriseid"));
                     insertSQL.setValue("rb", 1);
                     insertSQL.setValue("sourceobject", "sa_sendrepair");
@@ -411,6 +414,7 @@ public class sendrepair extends Controller {
                     insertSQL.setValue("itemname", row.getString("itemname"));
                     insertSQL.setValue("model", row.getString("model"));
                     insertSQL.setValue("qty", row.getBigDecimal("qty"));
+                    insertSQL.setValue("sku", row.getString("sku"));
                     insertSQL.setValue("st_stockbillid", st_stockbillid);
                     sqlList.add(insertSQL.getSQL());
                     if(StringUtils.isNotBlank(row.getString("sku"))){
@@ -437,6 +441,7 @@ public class sendrepair extends Controller {
                     insertSQL.setValue("billno", createBillCode("stockbilla"));
                     insertSQL.setValue("type", "返修出库");
                     insertSQL.setValue("typemx", "");
+                    insertSQL.setValue("departmentid", departmenthrrows.isNotEmpty()?departmenthrrows.get(0).getLong("departmentid"):0);
                     insertSQL.setValue("sys_enterpriseid",row.getLong("sys_enterpriseid"));
                     insertSQL.setValue("rb", 1);
                     insertSQL.setValue("sourceobject", "sa_sendrepair");
@@ -463,6 +468,7 @@ public class sendrepair extends Controller {
                     insertSQL.setValue("itemname", row.getString("newitemname"));
                     insertSQL.setValue("model", row.getString("newmodel"));
                     insertSQL.setValue("qty", row.getBigDecimal("qty"));
+                    insertSQL.setValue("sku", row.getString("newsku"));
                     insertSQL.setValue("st_stockbillid", st_stockbillid);
                     sqlList.add(insertSQL.getSQL());
                     if(StringUtils.isNotBlank(row.getString("newsku"))){
@@ -488,6 +494,7 @@ public class sendrepair extends Controller {
                     insertSQL.setValue("billno", createBillCode("stockbilla"));
                     insertSQL.setValue("type", "返修出库");
                     insertSQL.setValue("typemx", "");
+                    insertSQL.setValue("departmentid", departmenthrrows.isNotEmpty()?departmenthrrows.get(0).getLong("departmentid"):0);
                     insertSQL.setValue("sys_enterpriseid",row.getLong("sys_enterpriseid"));
                     insertSQL.setValue("rb", 1);
                     insertSQL.setValue("sourceobject", "sa_sendrepair");
@@ -514,6 +521,7 @@ public class sendrepair extends Controller {
                     insertSQL.setValue("itemname", row.getString("newitemname"));
                     insertSQL.setValue("model", row.getString("newmodel"));
                     insertSQL.setValue("qty", row.getBigDecimal("qty"));
+                    insertSQL.setValue("sku", row.getString("sku"));
                     insertSQL.setValue("st_stockbillid", st_stockbillid);
                     sqlList.add(insertSQL.getSQL());
                     if(StringUtils.isNotBlank(row.getString("sku"))){
@@ -1001,6 +1009,7 @@ public class sendrepair extends Controller {
             insertSQL.setValue("itemname", sendrepairdetail.getString("itemname"));
             insertSQL.setValue("model", sendrepairdetail.getString("model"));
             insertSQL.setValue("qty", sendrepairdetail.getBigDecimal("qty"));
+            insertSQL.setValue("sku", sendrepairdetail.getString("sku"));
             insertSQL.setValue("st_stockbillid", st_stockbillid);
             sqlList.add(insertSQL.getSQL());
             if(StringUtils.isNotBlank(sendrepairdetail.getString("sku"))){

+ 23 - 4
src/custom/restcontroller/webmanage/sale/stockbill/stockbillitems.java

@@ -148,7 +148,7 @@ public class stockbillitems extends Controller {
         Long st_stockbillid = content.getLong("st_stockbillid");
         JSONArray iteminfos = content.getJSONArray("iteminfos");
         ArrayList<String> sqlList = new ArrayList<>();
-        Rows rowscount = dbConnect.runSqlQuery("select billno,status,sourceobject from st_stockbill where st_stockbillid=" + st_stockbillid);
+        Rows rowscount = dbConnect.runSqlQuery("select billno,status,sourceobject,stockid,type from st_stockbill where st_stockbillid=" + st_stockbillid);
         if (!rowscount.isEmpty()) {
             if (!rowscount.get(0).getString("status").equals("新建")) {
                 return getErrReturnObject().setErrMsg("非新建状态的出库单无法新增修改").toString();
@@ -176,8 +176,8 @@ public class stockbillitems extends Controller {
             list.add(((JSONObject)object).getLong("itemid"));
         }
 
-        RowsMap itemRowsMap = SQLFactory.createQuerySQL(this, "plm_item", "*").setWhere("itemid", list).query().toRowsMap("itemid");
-
+        RowsMap itemRowsMap = SQLFactory.createQuerySQL(this, "plm_item", "*").setTableAlias("t1").addJoinTable(JOINTYPE.left, "st_stock", "t2", "t1.siteid = t2.siteid and t1.stockno = t2.stockno","stockid").setWhere("itemid", list).query().toRowsMap("itemid");
+        RowsMap stockRowsMap = SQLFactory.createQuerySQL(this, "st_stock", "stockid", "stockno").query().toRowsMap("stockno");
 
         for (Object obj : iteminfos) {
             JSONObject iteminfo = (JSONObject) obj;
@@ -191,7 +191,26 @@ public class stockbillitems extends Controller {
                 insertSQL.setValue("rowno", maxid + i + 1);
                 insertSQL.setValue("st_stockbillid", st_stockbillid);
                 insertSQL.setValue("sa_orderitemsid", iteminfo.getLong("sa_orderitemsid"));
-                insertSQL.setValue("stockid", iteminfo.getLongValue("stockid"));
+                if(rowscount.get(0).getString("type").equals("其他入库")){
+                    if(rowscount.get(0).getLong("stockid")!=0){
+                        insertSQL.setValue("stockid", rowscount.get(0).getLong("stockid"));
+                    }else{
+                        insertSQL.setValue("stockid",itemRowsMap.containsKey(iteminfo.getStringValue("itemid"))?itemRowsMap.get(iteminfo.getStringValue("itemid")).get(0).getLong("stockid"):iteminfo.getLongValue("stockid"));
+                    }
+                }else if(rowscount.get(0).getString("type").equals("销售出库")){
+                    if(itemRowsMap.containsKey(iteminfo.getStringValue("itemid"))){
+                        if(itemRowsMap.get(iteminfo.getStringValue("itemid")).get(0).getBoolean("ismodule")){
+                            insertSQL.setValue("stockid", stockRowsMap.get("105").get(0).getLong("stockid"));
+                        }else{
+                            insertSQL.setValue("stockid", stockRowsMap.get("101").get(0).getLong("stockid"));
+                        }
+                    }else{
+                        insertSQL.setValue("stockid", iteminfo.getLong("stockid"));
+                    }
+                }else{
+                    insertSQL.setValue("stockid", iteminfo.getLongValue("stockid"));
+                }
+
                 insertSQL.setValue("itemid", iteminfo.getStringValue("itemid"));
                 insertSQL.setValue("sa_orderid", iteminfo.getStringValue("sa_orderid"));
                 insertSQL.setValue("qty", iteminfo.getStringValue("qty"));