Просмотр исходного кода

由订单生成的销售出库单自动带入订单单头的备注

hu 4 месяцев назад
Родитель
Сommit
a989444866

+ 1 - 1
src/custom/beans/accountbalance/CashbillEntity.java

@@ -20,7 +20,7 @@ public class CashbillEntity {
 
 
 
-    private String type = "货款";
+    private String type;
 
     private String typemx;
 

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

@@ -1632,7 +1632,7 @@ public class Order extends Controller {
         insertSQL.setValue("typemx", "");
         insertSQL.setValue("sa_supplierid", 0);
         insertSQL.setValue("rb", 1);
-        insertSQL.setValue("remarks", "");
+        insertSQL.setValue("remarks", orderRow.getString("remarks"));
         insertSQL.setDateValue("billdate");
         insertSQL.setValue("billno", createBillCode("stockbill"));
 
@@ -1791,7 +1791,7 @@ public class Order extends Controller {
         insertSQL.setValue("typemx", "");
         insertSQL.setValue("sa_supplierid", 0);
         insertSQL.setValue("rb", 1);
-        insertSQL.setValue("remarks", "");
+        insertSQL.setValue("remarks", orderRow.getString("remarks"));
         insertSQL.setDateValue("billdate");
         insertSQL.setValue("billno", createBillCode("stockbill"));
 
@@ -1894,14 +1894,15 @@ public class Order extends Controller {
         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","invoicetaxno","invoicename","invoiceaddress","contact","address","phonenumber");
+        QuerySQL orderQuerySQL = SQLFactory.createQuerySQL(this, "sa_order","sa_orderid","sys_enterpriseid","sys_enterprise_financeid","rec_contactsid","logisticsmethod","invoicetaxno","invoicename","invoiceaddress","contact","address","phonenumber","remarks");
         orderQuerySQL.setTableAlias("t1");
         orderQuerySQL.addJoinTable(JOINTYPE.inner, "sa_orderitems", "t2", "t2.sa_orderid=t1.sa_orderid and t1.siteid=t2.siteid",
-                "sa_orderitemsid","itemid","undeliqty","defaultprice","remarks","itemno","itemname","model","price","delivery");
+                "sa_orderitemsid","itemid","undeliqty","defaultprice","itemno","itemname","model","price","delivery");
         orderQuerySQL.addJoinTable(JOINTYPE.inner, "plm_item", "t3", "t2.itemid=t3.itemid and t3.siteid=t2.siteid","skucontrol","outplace");
         orderQuerySQL.setWhere("t1.siteid",siteid);
         orderQuerySQL.setWhere("t1.sa_orderid",sa_orderids);
         orderQuerySQL.setWhere("t1.status='审核' and t1.type='配件订单' and t2.undeliqty>0 and ifnull(t2.delivery,'')!='' and t2.isclose=0");
+        orderQuerySQL.addQueryFields("remarksdetail","t2.remarks");
         Rows orderRows =orderQuerySQL.query();
 
         QuerySQL orderQuerySQL_jundge = SQLFactory.createQuerySQL(this, "sa_order","sa_orderid","status","sonum","type","delivery");
@@ -2028,14 +2029,6 @@ public class Order extends Controller {
 //            return getErrReturnObject().setErrMsg("存在配件申请单明细已生成销售出库单,无法一键出库").toString();
 //        }
 
-        QuerySQL enterprisefinanceQuerySQL = SQLFactory.createQuerySQL(this, "sys_enterprise_finance","*");
-        enterprisefinanceQuerySQL.setTableAlias("t1");
-        enterprisefinanceQuerySQL.addJoinTable(JOINTYPE.inner, "sa_order", "t2", "t1.sys_enterprise_financeid=t2.sys_enterprise_financeid");
-        enterprisefinanceQuerySQL.setWhere("t1.siteid",siteid);
-        enterprisefinanceQuerySQL.setWhere("t2.sa_orderid",orderRows_result.toArrayList("sa_orderid"));
-        Rows enterprisefinancerows =enterprisefinanceQuerySQL.query();
-
-
         //RowsMap enterprisefinancerowsMap =enterprisefinancerows.toRowsMap("sys_enterpriseid");
         RowsMap addressMap = orderRows_result.toRowsMap("address");
         RowsMap deliveryrowsMap = orderRows_result.toRowsMap("delivery");
@@ -2073,7 +2066,7 @@ public class Order extends Controller {
                     insertSQL.setValue("typemx", "");
                     insertSQL.setValue("sa_supplierid", 0);
                     insertSQL.setValue("rb", 1);
-                    insertSQL.setValue("remarks", "");
+                    insertSQL.setValue("remarks", orderdetailRows.toJsonArray("remarks").toString().replace("[", "").replace("]", ""));
                     insertSQL.setDateValue("billdate");
                     insertSQL.setValue("billno", createBillCode("stockbill"));
 
@@ -2677,7 +2670,7 @@ public class Order extends Controller {
 
         }
         if (agentrows.isNotEmpty()) {
-            if (agentrows.get(0).getBoolean("submitautocheck")) {
+            if (agentrows.get(0).getBoolean("submitautocheck") && !type.equals("配件订单")) {
                 Rows orderRows = dbConnect.runSqlQuery("select * from sa_order where sa_orderid="+sa_orderid+" and ifnull(remarks,'')!=''");
                 Rows orderdetailsRows = dbConnect.runSqlQuery("select * from sa_orderitems where sa_orderid="+sa_orderid+" and ifnull(remarks,'')!=''");
                 if(amount.compareTo(BigDecimal.ZERO)>0){

+ 20 - 4
src/custom/restcontroller/webmanage/sale/sendplan/sendplandetail.java

@@ -314,7 +314,8 @@ public class sendplandetail extends Controller {
             sys_enterpriseidList.add(sys_enterpriseid);
             String outplace = jsonObject.getString("outplace");
             String topclassnum = jsonObject.getString("topclassnum");
-            key = outplace+topclassnum;
+            String invoicename = jsonObject.getString("invoicename");
+            key = outplace+topclassnum+invoicename;
             HashMap<String, List<JSONObject>> agent = null;
             List<JSONObject> paolist = null;
             if (agentmap.containsKey(sys_enterpriseid)) {
@@ -382,6 +383,7 @@ public class sendplandetail extends Controller {
                     sqlFactory.addParameter("name", firstItem.getStringValue("contact"));
                     sqlFactory.addParameter("phonenumber", firstItem.getStringValue("phonenumber"));
                     sqlFactory.addParameter("address", firstItem.getStringValue("address"));
+                    sqlFactory.addParameter("remarks", mergeStrings(senddetailpaoit1,";"));
                 } else {
                     sqlFactory.addParameter("outplace", "");
                     sqlFactory.addParameter("rec_contactsid", 0);
@@ -393,6 +395,7 @@ public class sendplandetail extends Controller {
                     sqlFactory.addParameter("name", "");
                     sqlFactory.addParameter("phonenumber", "");
                     sqlFactory.addParameter("address", "");
+                    sqlFactory.addParameter("remarks", "");
                 }
 
 
@@ -403,7 +406,7 @@ public class sendplandetail extends Controller {
                 sqlFactory.addParameter("changedate", getDateTime_Str());
                 sqlFactory.addParameter("checkby", "");
                 sqlFactory.addParameter("checkdate", "null");
-                sqlFactory.addParameter("remarks", "");
+
                 sqlList.add(sqlFactory.getSQL());
 
                 int rowno = 1;
@@ -478,14 +481,16 @@ public class sendplandetail extends Controller {
         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", "rec_contactsid", "delivery","logisticsmethod"
-                , "invoicename", "invoiceaddress","invoicetaxno","contact","phonenumber","address");
-        querySQL.addJoinTable(JOINTYPE.left, "sa_orderitems", "t3", "t3.siteid = t1.siteid and t3.sa_orderitemsid = t1.sa_orderitemsid", "rowno", "remarks", "sa_orderitemsid");
+                , "invoicename", "invoiceaddress","invoicetaxno","contact","phonenumber","address","remarks");
+        querySQL.addJoinTable(JOINTYPE.left, "sa_orderitems", "t3", "t3.siteid = t1.siteid and t3.sa_orderitemsid = t1.sa_orderitemsid", "rowno", "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", "topclassnum");
         querySQL.addJoinTable(JOINTYPE.left, sqlFactory, "t7", "t7.sa_orderitemsid = t3.sa_orderitemsid", "undeliqty");
         querySQL.addQueryFields("willoutqty_jh", "t7.willoutqty");
         querySQL.addQueryFields("sendqty_canzhao", "t1.sendqty");
+        querySQL.addQueryFields("remarksdetail", "t3.remarks");
+
         querySQL.setSiteid(siteid);
         querySQL.setCondition("t1.outplace", "t2.sonum", "t4.agentnum", "t5.enterprisename");
         querySQL.setPage(pageSize, pageNumber);
@@ -548,5 +553,16 @@ public class sendplandetail extends Controller {
         return getSucReturnObject().toString();
     }
 
+    public static String mergeStrings(Iterator<JSONObject> iterator, String delimiter) throws YosException {
+        StringBuilder result = new StringBuilder();
+        while (iterator.hasNext()) {
+            JSONObject value = iterator.next();
+            if (result.length() > 0) {
+                result.append(delimiter);
+            }
+            result.append(value.getString("remarks"));
+        }
+        return result.toString();
+    }
 
 }