Forráskód Böngészése

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

shenjingwei 5 hónapja
szülő
commit
6e2cc4c3dc

+ 7 - 0
src/custom/beans/data/BatchDeleteErr.java

@@ -23,6 +23,13 @@ public class BatchDeleteErr {
         array.add(object);
         return this;
     }
+    public BatchDeleteErr addErr(String billno, String errmsg) {
+        JSONObject object = new JSONObject();
+        object.put("billno", billno);
+        object.put("errmsg", errmsg);
+        array.add(object);
+        return this;
+    }
 
     public boolean isEmpty() {
         return array.isEmpty();

+ 14 - 1
src/custom/restcontroller/webmanage/sale/aftersalesmag/aftersalesmag.java

@@ -314,12 +314,25 @@ public class aftersalesmag extends Controller {
         querySQL.addJoinTable(JOINTYPE.left, "sa_agents", "t3", "t1.sys_enterpriseid = t3.sys_enterpriseid AND t1.siteid = t3.siteid", "agentnum");
         querySQL.addJoinTable(JOINTYPE.left, "sa_aftersalesmag_items", "t4", "t1.sa_aftersalesmagid = t4.sa_aftersalesmagid AND t1.siteid = t4.siteid", "name", "phonenumber", "address",
                 "stockdate", "enddate", "model", "spec", "unitname", "itemname", "itemno", "duty", "demand", "machinecode", "qty", "itemid");
-        querySQL.addJoinTable(JOINTYPE.left, "sa_warrantycard", "t5", "t5.sku = t4.machinecode AND t5.siteid = t4.siteid", "cardno");
+//        querySQL.addJoinTable(JOINTYPE.left, "sa_warrantycard", "t5", "t5.sku = t4.machinecode AND t5.siteid = t4.siteid", "cardno");
         querySQL.addQueryFields("remarksdetail", "t4.remarks");
         querySQL.addQueryFields("reasondetail", "t4.reason");
         querySQL.setSiteid(siteid);
         querySQL.setWhere("t1.sa_aftersalesmagid", sa_aftersalesmagid);
         Rows rows = querySQL.query();
+        for(Row row :rows){
+            if(StringUtils.isBlank(row.getString("machinecode"))){
+                row.put("cardno","");
+            }else{
+                Rows warrantycardrows = dbConnect.runSqlQuery("select cardno from sa_warrantycard where sku='"+row.getString("machinecode")+"'");
+                if(warrantycardrows.isEmpty()){
+                    row.put("cardno","");
+                }else{
+                    row.put("cardno",warrantycardrows.get(0).getString("cardno"));
+                }
+
+            }
+        }
         return getSucReturnObject().setData(rows).toString();
     }
 

+ 109 - 93
src/custom/restcontroller/webmanage/sale/expressform/expressform.java

@@ -202,7 +202,7 @@ public class expressform extends Controller {
             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("t1.txlogisticid like'%").append(whereObject.getString("condition")).append("%' ");
                 where.append("or t1.remarks like'%").append(whereObject.getString("condition")).append("%' ");
                 where.append(")");
             }
@@ -471,104 +471,120 @@ public class expressform extends Controller {
      */
     @API(title = "申请圆通电子面单号", apiversion = R.ID2025080714245303.v1.class)
     public String applyMailNo_YTO() throws YosException {
-        long expressformid = content.getLong("expressformid");
+        JSONArray expressformids = content.getJSONArray("expressformids");
         ArrayList<String> sqlList = new ArrayList<>();
-        Rows rows = dbConnect.runSqlQuery("select * from expressform where siteid='" + siteid + "' and expressformid=" + expressformid);
-        if (rows.isEmpty()) {
-            return getErrReturnObject().setErrMsg("该快递信息不存在").toString();
-        }
-        if (rows.get(0).getBoolean("success")) {
-            return getErrReturnObject().setErrMsg("该快递信息单已成功申请电子面单!").toString();
-        } else if (StringUtils.isNotBlank(rows.get(0).getString("mailno"))) {
-            return getErrReturnObject().setErrMsg("该快递信息单已有快递面单单号,不需要重复申请!").toString();
-        } else if ("关闭".equals(rows.get(0).getString("status"))) {
-            return getErrReturnObject().setErrMsg("该快递信息单已关闭,不能申请电子面单!").toString();
-        } else if (!"YTO".equalsIgnoreCase(rows.get(0).getString("logisticproviderid"))) {
-            return getErrReturnObject().setErrMsg("目前只支持申请圆通的电子面单!").toString();
-        }
-
-        String ordertype = rows.get(0).getString("ordertype");
-        Rows expressvalRows = dbConnect.runSqlQuery("select * from expressval where siteid='" + siteid + "' and logisticproviderid='YTO' and ordertype='" + ordertype + "'");
-        if (expressvalRows.isEmpty()) {
-            return getErrReturnObject().setErrMsg("数据表'expressVal'中,缺少圆通快递开放平台的对接信息! 发货方式: " + ordertype + ";快递公司: YTO").toString();
-        }
-
-        String url_mailno = expressvalRows.get(0).getString("url_mailno");
-        String clientId = expressvalRows.get(0).getString("clientid");
-        String partnerID = expressvalRows.get(0).getString("partnerid");
-
-        Rows expresssdrRows = dbConnect.runSqlQuery("select * from expresssdr where siteid='" + siteid + "' and expresssdrid=" + rows.get(0).getLong("expresssdrid"));
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "expressform", "*");
+        querySQL.setTableAlias("t1");
+        querySQL.setWhere("t1.siteid", siteid);
+        querySQL.setWhere("t1.expressformid", expressformids);
+        Rows rows = querySQL.query();
+        BatchDeleteErr batchDeleteErr = BatchDeleteErr.create(this, expressformids.size());
+        for(Row row : rows){
+            if (row.getBoolean("success")) {
+                batchDeleteErr.addErr(row.getString("txlogisticid"), "该快递信息单已成功申请电子面单");
+                continue;
+            } else if (StringUtils.isNotBlank(row.getString("mailno"))) {
+                batchDeleteErr.addErr(row.getString("txlogisticid"), "该快递信息单已有快递面单单号,不需要重复申请!");
+                continue;
+            } else if ("关闭".equals(row.getString("status"))) {
+                batchDeleteErr.addErr(row.getString("txlogisticid"), "该快递信息单已关闭,不能申请电子面单!");
+                continue;
+            } else if (!"YTO".equalsIgnoreCase(row.getString("logisticproviderid"))) {
+                batchDeleteErr.addErr(row.getString("txlogisticid"), "目前只支持申请圆通的电子面单");
+                continue;
+            }
+            String ordertype = row.getString("ordertype");
+            Rows expressvalRows = dbConnect.runSqlQuery("select * from expressval where siteid='" + siteid + "' and logisticproviderid='YTO' and ordertype='" + ordertype + "'");
+            if (expressvalRows.isEmpty()) {
+                batchDeleteErr.addErr(row.getString("txlogisticid"), "数据表'expressVal'中,缺少圆通快递开放平台的对接信息! 发货方式: " + ordertype + ";快递公司: YTO");
+                continue;
+            }
+            Rows expresssdrRows = dbConnect.runSqlQuery("select * from expresssdr where siteid='" + siteid + "' and expresssdrid=" + rows.get(0).getLong("expresssdrid"));
 
-        if (expresssdrRows.isEmpty()) {
-            return getErrReturnObject().setErrMsg("未设置默认发件人信息").toString();
-        }
-        Person sender = new Person(expresssdrRows.get(0).getString("name"), expresssdrRows.get(0).getString("postcode"),
-                expresssdrRows.get(0).getString("phonenumber"), expresssdrRows.get(0).getString("mobile"),
-                expresssdrRows.get(0).getString("province"), expresssdrRows.get(0).getString("city") + "," + expresssdrRows.get(0).getString("county"), expresssdrRows.get(0).getString("address"));
-
-        YTOExpressMailNoClient client = new YTOExpressMailNoClient(url_mailno, clientId, partnerID, sender);
-
-        YTORequestOrder requestOrder = client.newYTORequestOrder();
-        //tradeNo,orderType,serviceType,remark
-        //rcv_name,rcv_postCode,rcv_phone,rcv_mobile,rcv_prov,rcv_city,rcv_address
-        //itemName,number,itemsweight
-        requestOrder.setTxLogisticID(rows.get(0).getString("txlogisticid"));
-        requestOrder.setTradeNo(rows.get(0).getString("tradeno"));
-        if (StringUtils.isBlank(rows.get(0).getString("ordertype"))) {
-            return getErrReturnObject().setErrMsg("未设置快递付款类型").toString();
-        }
-        requestOrder.setOrderType(rows.get(0).getInteger("ordertype"));
-        requestOrder.setServiceType(rows.get(0).getInteger("servicetype"));
-        requestOrder.setRemark(rows.get(0).getString("remarks"));
-        //if(requestOrder.getOrderType()==0 || requestOrder.getOrderType()==4) {
-        if (requestOrder.getOrderType() == 4) {
-            requestOrder.setAgencyFund(rows.get(0).getDouble("agencyfund"));
-        }
+            if (expresssdrRows.isEmpty()) {
+                batchDeleteErr.addErr(row.getString("txlogisticid"), "未设置默认发件人信息");
+                continue;
+            }
+            if (StringUtils.isBlank(row.getString("ordertype"))) {
+                batchDeleteErr.addErr(row.getString("txlogisticid"), "未设置快递付款类型");
+                continue;
+            }
+            String url_mailno = expressvalRows.get(0).getString("url_mailno");
+            String clientId = expressvalRows.get(0).getString("clientid");
+            String partnerID = expressvalRows.get(0).getString("partnerid");
+            Person sender = new Person(expresssdrRows.get(0).getString("name"), expresssdrRows.get(0).getString("postcode"),
+                    expresssdrRows.get(0).getString("phonenumber"), expresssdrRows.get(0).getString("mobile"),
+                    expresssdrRows.get(0).getString("province"), expresssdrRows.get(0).getString("city") + "," + expresssdrRows.get(0).getString("county"), expresssdrRows.get(0).getString("address"));
+
+            YTOExpressMailNoClient client = new YTOExpressMailNoClient(url_mailno, clientId, partnerID, sender);
+
+            YTORequestOrder requestOrder = client.newYTORequestOrder();
+            //tradeNo,orderType,serviceType,remark
+            //rcv_name,rcv_postCode,rcv_phone,rcv_mobile,rcv_prov,rcv_city,rcv_address
+            //itemName,number,itemsweight
+            requestOrder.setTxLogisticID(row.getString("txlogisticid"));
+            requestOrder.setTradeNo(row.getString("tradeno"));
+
+            requestOrder.setOrderType(row.getInteger("ordertype"));
+            requestOrder.setServiceType(row.getInteger("servicetype"));
+            requestOrder.setRemark(row.getString("remarks"));
+            //if(requestOrder.getOrderType()==0 || requestOrder.getOrderType()==4) {
+            if (requestOrder.getOrderType() == 4) {
+                requestOrder.setAgencyFund(row.getDouble("agencyfund"));
+            }
 
-        Person receiver = new Person(rows.get(0).getString("rcv_name"), rows.get(0).getString("rcv_postcode"),
-                rows.get(0).getString("rcv_phone"), rows.get(0).getString("rcv_mobile"),
-                rows.get(0).getString("rcv_prov"), rows.get(0).getString("rcv_city") + "," + rows.get(0).getString("rcv_county"), rows.get(0).getString("rcv_address"));
-        requestOrder.setReceiver(receiver);
-
-        Item item = new Item(rows.get(0).getString("itemname"), rows.get(0).getInteger("number"), rows.get(0).getDouble("itemsweight"));
-        requestOrder.setItems(new Item[]{item});
-        //Map<String, Object> resultMap = new HashMap<>();
-        Map<String, Object> resultMap= client.sendRequestForMailNo(requestOrder);
-        if (resultMap != null) {
-            String code = (String) resultMap.get("code");
-            if ("200".equals(code)) {//成功
-                UpdateSQL updateSQL = SQLFactory.createUpdateSQL(this, "expressform");
-                updateSQL.setUniqueid(expressformid);
-                updateSQL.setSiteid(siteid);
-                updateSQL.setDateValue("pushdate");
-                updateSQL.setValue("code", code);
-                updateSQL.setValue("mailno", (String) resultMap.get("mailNo"));
-                Map<String, String> distributeInfoMap = (Map<String, String>) resultMap.get("distributeInfo");
-                updateSQL.setValue("shortAddress", distributeInfoMap.get("shortAddress"));
-                updateSQL.setValue("consigneebranchcode", distributeInfoMap.get("consigneeBranchCode"));
-                updateSQL.setValue("packagecentercode", distributeInfoMap.get("packageCenterCode"));
-                updateSQL.setValue("packagecentername", distributeInfoMap.get("packageCenterName"));
-                updateSQL.setValue("success", 1);
-                updateSQL.setValue("changeby", username);
-                updateSQL.setDateValue("changedate");
-                sqlList.add(updateSQL.getSQL());
-            } else {//失败
-                UpdateSQL updateSQL = SQLFactory.createUpdateSQL(this, "expressform");
-                updateSQL.setUniqueid(expressformid);
-                updateSQL.setSiteid(siteid);
-                updateSQL.setDateValue("pushdate");
-                updateSQL.setValue("code", code);
-                updateSQL.setValue("reason", (String) resultMap.get("reason"));
-                updateSQL.setValue("success", 0);
-                updateSQL.setValue("changeby", username);
-                updateSQL.setDateValue("changedate");
-                sqlList.add(updateSQL.getSQL());
+            Person receiver = new Person(row.getString("rcv_name"), row.getString("rcv_postcode"),
+                    row.getString("rcv_phone"), row.getString("rcv_mobile"),
+                    row.getString("rcv_prov"), row.getString("rcv_city") + "," + row.getString("rcv_county"), row.getString("rcv_address"));
+            requestOrder.setReceiver(receiver);
+
+            Item item = new Item(row.getString("itemname"), row.getInteger("number"), row.getDouble("itemsweight"));
+            requestOrder.setItems(new Item[]{item});
+            //Map<String, Object> resultMap = new HashMap<>();
+            Map<String, Object> resultMap= client.sendRequestForMailNo(requestOrder);
+            if (resultMap != null) {
+                String code = (String) resultMap.get("code");
+                if ("200".equals(code)) {//成功
+                    UpdateSQL updateSQL = SQLFactory.createUpdateSQL(this, "expressform");
+                    updateSQL.setUniqueid(row.getLong("expressformid"));
+                    updateSQL.setSiteid(siteid);
+                    updateSQL.setDateValue("pushdate");
+                    updateSQL.setValue("code", code);
+                    updateSQL.setValue("mailno", (String) resultMap.get("mailNo"));
+                    Map<String, String> distributeInfoMap = (Map<String, String>) resultMap.get("distributeInfo");
+                    updateSQL.setValue("shortAddress", distributeInfoMap.get("shortAddress"));
+                    updateSQL.setValue("consigneebranchcode", distributeInfoMap.get("consigneeBranchCode"));
+                    updateSQL.setValue("packagecentercode", distributeInfoMap.get("packageCenterCode"));
+                    updateSQL.setValue("packagecentername", distributeInfoMap.get("packageCenterName"));
+                    updateSQL.setValue("success", 1);
+                    updateSQL.setValue("changeby", username);
+                    updateSQL.setDateValue("changedate");
+                    sqlList.add(updateSQL.getSQL());
+                } else {//失败
+                    UpdateSQL updateSQL = SQLFactory.createUpdateSQL(this, "expressform");
+                    updateSQL.setUniqueid(row.getLong("expressformid"));
+                    updateSQL.setSiteid(siteid);
+                    updateSQL.setDateValue("pushdate");
+                    updateSQL.setValue("code", code);
+                    updateSQL.setValue("reason", (String) resultMap.get("reason"));
+                    updateSQL.setValue("success", 0);
+                    updateSQL.setValue("changeby", username);
+                    updateSQL.setDateValue("changedate");
+                    sqlList.add(updateSQL.getSQL());
+                    batchDeleteErr.addErr(row.getString("txlogisticid"),  (String) resultMap.get("reason"));
+                    continue;
+                }
+            } else {
+                batchDeleteErr.addErr(row.getString("txlogisticid"), "请求电子面单接口超时");
+                continue;
             }
-        } else {
-            throw new YosException("请求电子面单接口超时");
         }
         dbConnect.runSqlUpdate(sqlList);
-        return getSucReturnObject().toString();
+        HashMap<String,Object> result=new HashMap<>();
+        String success= "共申请"+expressformids.size()+"张圆通电子面单号,其中失败"+ batchDeleteErr.size()+"张!";
+        result.put("success",success);
+        result.put("errinfo",batchDeleteErr.getReturnObject());
+        return getSucReturnObject().setData(result).toString();
     }
 
 

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

@@ -6,6 +6,7 @@ SELECT t1.*,
        t2.icaddqty,
        t2.icminqty,
        t2.topclassnum,
+       t2.outplace,
        t3.unitname,
        t7.sonum,
        t8.stockname

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

@@ -6,6 +6,7 @@ SELECT t1.*,
        t2.icaddqty,
        t2.icminqty,
        t2.topclassnum,
+       t2.outplace,
        t3.unitname,
        t7.sonum,
        t8.stockname

+ 34 - 1
src/custom/restcontroller/webmanage/sale/stockbill/stockbill.java

@@ -70,6 +70,13 @@ public class stockbill extends Controller {
         String delivery = content.getStringValue("delivery");
         String logisticsmethod = content.getStringValue("logisticsmethod");
         Rows invoicerows = dbConnect.runSqlQuery("select * from sys_enterprise_finance where sys_enterpriseid=" + sys_enterpriseid + " order by isdefault desc");
+        Rows addressrows = dbConnect.runSqlQuery("select * from sys_enterprise_contacts where sys_enterpriseid=" + sys_enterpriseid + " order by isdefault desc");
+        RowsMap addressrowsMap = addressrows.toRowsMap("type");
+        Rows departmentrows = dbConnect.runSqlQuery("select depname from sys_department where departmentid=" + departmentid);
+        String depname="";
+        if(departmentrows.isNotEmpty()){
+            depname=departmentrows.get(0).getString("depname");
+        }
         String invoice_enterprisename = content.getStringValue("invoice_enterprisename");
         String invoice_address = content.getStringValue("invoice_address");
         String invoice_taxno = content.getStringValue("invoice_taxno");
@@ -113,7 +120,32 @@ public class stockbill extends Controller {
             } else {
                 insertSQL.setValue("billno", createBillCode("stockbill"));
             }
+            String name="";
+            String phonenumber="";
+            String address="";
+            if (content.getString("rb").equals("1") && type.equals("销售出库")) {
+                if(depname.equals("售后部")){
+                    if(addressrowsMap.containsKey("配件")){
+                        name=addressrowsMap.get("配件").get(0).getString("name");
+                        phonenumber=addressrowsMap.get("配件").get(0).getString("phonenumber");
+                        address=addressrowsMap.get("配件").get(0).getString("address");
+                    }else if(addressrowsMap.containsKey("收货")){
+                        name=addressrowsMap.get("收货").get(0).getString("name");
+                        phonenumber=addressrowsMap.get("收货").get(0).getString("phonenumber");
+                        address=addressrowsMap.get("收货").get(0).getString("address");
+                    }
+                }else{
+                    if(addressrowsMap.containsKey("收货")){
+                        name=addressrowsMap.get("收货").get(0).getString("name");
+                        phonenumber=addressrowsMap.get("收货").get(0).getString("phonenumber");
+                        address=addressrowsMap.get("收货").get(0).getString("address");
+                    }
+                }
+            }
 
+            insertSQL.setValue("name", name);
+            insertSQL.setValue("phonenumber", phonenumber);
+            insertSQL.setValue("address", address);
             insertSQL.setValue("outplace", outplace);
             insertSQL.setValue("delivery", delivery);
             insertSQL.setValue("logisticsmethod", logisticsmethod);
@@ -1167,6 +1199,7 @@ public class stockbill extends Controller {
         String phonenumber = content.getStringValue("phonenumber");
         String address = content.getStringValue("address");
         BigDecimal agencyfund = content.getBigDecimal("agencyfund");
+        String ordertype = content.getStringValue("ordertype");
 
         JSONArray st_stockbillids=content.getJSONArray("st_stockbillids");
 
@@ -1195,7 +1228,7 @@ public class stockbill extends Controller {
             insertSQL.setUniqueid(expressformid);
             insertSQL.setSiteid(siteid);
             insertSQL.setValue("logisticproviderid", "YTO");
-            insertSQL.setValue("ordertype", "4");
+            insertSQL.setValue("ordertype", ordertype);
             insertSQL.setValue("agencyfund", agencyfund);
             insertSQL.setValue("itemname", "配件");
             insertSQL.setValue("number", 1);

+ 29 - 1
src/custom/restcontroller/webmanage/sale/stockbill/stockbillitems.java

@@ -13,6 +13,7 @@ import common.annotation.API;
 import common.annotation.CACHEING;
 import common.annotation.CACHEING_CLEAN;
 import common.data.*;
+import org.apache.commons.lang.StringUtils;
 import restcontroller.R;
 
 import java.math.BigDecimal;
@@ -151,7 +152,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,stockid,type from st_stockbill where st_stockbillid=" + st_stockbillid);
+        Rows rowscount = dbConnect.runSqlQuery("select billno,status,sourceobject,stockid,type,name,phonenumber,address,departmentid from st_stockbill where st_stockbillid=" + st_stockbillid);
         if (!rowscount.isEmpty()) {
             if (!rowscount.get(0).getString("status").equals("新建")) {
                 return getErrReturnObject().setErrMsg("非新建状态的出库单无法新增修改").toString();
@@ -207,6 +208,12 @@ public class stockbillitems extends Controller {
                         }else{
                             insertSQL.setValue("stockid", stockRowsMap.get("101").get(0).getLong("stockid"));
                         }
+                    }else 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{
                         insertSQL.setValue("stockid", iteminfo.getLong("stockid"));
                     }
@@ -230,6 +237,27 @@ public class stockbillitems extends Controller {
                 insertSQL.setValue("untaxedamount", iteminfo.getBigDecimal("qty").multiply(iteminfo.getBigDecimal("price").divide(new BigDecimal(1.13),2, BigDecimal.ROUND_HALF_UP)));
                 insertSQL.setValue("skucontrol", itemRowsMap.containsKey(iteminfo.getStringValue("itemid"))?itemRowsMap.get(iteminfo.getStringValue("itemid")).get(0).getBoolean("skucontrol"):iteminfo.getBoolean("skucontrol"));
                 i++;
+                if(StringUtils.isBlank(rowscount.get(0).getString("name"))
+                        || StringUtils.isBlank(rowscount.get(0).getString("phonenumber"))
+                        ||  StringUtils.isBlank(rowscount.get(0).getString("address"))){
+                    Rows orderRows =dbConnect.runSqlQuery("select * from sa_order where sa+sa_orderid="+iteminfo.getLongValue("sa_orderid"));
+                    if(orderRows.isNotEmpty()){
+                        sqlList.add("update st_stockbill set name='"+orderRows.get(0).getString("contact")+"',phonenumber='"+orderRows.get(0).getString("phonenumber")+"',address='"+orderRows.get(0).getString("address")+"' where st_stockbillid="+st_stockbillid);
+                    }
+                }else{
+                    String depname="";
+                    Rows departmentrows = dbConnect.runSqlQuery("select depname from sys_department where departmentid=" + rowscount.get(0).getLong("departmentid"));
+                    if(departmentrows.isNotEmpty()){
+                        depname=departmentrows.get(0).getString("depname");
+                    }
+                    if(depname.equals("售后部")){
+                        Rows orderRows =dbConnect.runSqlQuery("select * from sa_order where sa+sa_orderid="+iteminfo.getLongValue("sa_orderid"));
+                        if(orderRows.isNotEmpty()){
+                            sqlList.add("update st_stockbill set name='"+orderRows.get(0).getString("contact")+"',phonenumber='"+orderRows.get(0).getString("phonenumber")+"',address='"+orderRows.get(0).getString("address")+"' where st_stockbillid="+st_stockbillid);
+                        }
+                    }
+
+                }
                 sqlList.add(insertSQL.getSQL());
             } else {
                 Rows rows = dbConnect.runSqlQuery(

+ 1 - 0
src/custom/service/AutoCreateU8prodprice.java

@@ -19,6 +19,7 @@ public class AutoCreateU8prodprice extends ServiceController {
         ArrayList<String> sqlList = new ArrayList<>();
         if(cprkrows.isEmpty()){
             for(Row row :cprkrows){
+                System.err.println(row.getString("sqlstr"));
                 sqlList.add(row.getString("sqlstr"));
             }
         }

+ 3 - 3
src/custom/service/GetOutCodeFromTQWms.java

@@ -112,13 +112,13 @@ public class GetOutCodeFromTQWms extends ServiceController {
                 try {
                     //判断关闭中间表状态
                     Rows skucountRows = dbConnect.runSqlQuery("select sum(1) as skucount,sum(case when createby='WMS' then 1 else 0 end ) as wmsskucount from st_stockbill_items_sku where st_stockbillid=" + st_stockbillid);
-                    Rows skuitemcountRows = dbConnect.runSqlQuery("select sum(qty) as totalcount,sum(case when t1.wmsuploadflag=2 then qty else 0 end ) as wmscount from st_stockbill_items t1 inner join plm_item t2 on t1.itemid=t2.itemid and t2.skucontrol=1 where t1.st_stockbillid=" + st_stockbillid);
+                    Rows skuitemcountRows = dbConnect.runSqlQuery("select sum(qty) as totalcount,sum(case when t1.wmsuploadflag=2 then qty else 0 end ) as sendwmscount from st_stockbill_items t1 inner join plm_item t2 on t1.itemid=t2.itemid and t2.skucontrol=1 where t1.st_stockbillid=" + st_stockbillid);
                     if (skucountRows.isNotEmpty() && skuitemcountRows.isNotEmpty()) {
                         int skucount = skucountRows.get(0).getInteger("skucount");//已收集的序列号数
                         int wmsskucount = skucountRows.get(0).getInteger("wmsskucount");//从立库收集的序列号数
                         int totalcount = skuitemcountRows.get(0).getInteger("totalcount");//出库总数
-                        int wmscount = skuitemcountRows.get(0).getInteger("wmscount");//已下发立库的总数
-                        if (wmsskucount >= wmscount || totalcount >= skucount) {
+                        int sendwmscount = skuitemcountRows.get(0).getInteger("sendwmscount");//已下发立库的总数
+                        if (wmsskucount >= sendwmscount || skucount >= totalcount) {
                             //当从立库收集的序列号数大于等于已下发立库的总数时或者出库总数大于等于已收集的序列号数时,表示本次立库收集完成
                             ArrayList<String> sqlist = new ArrayList<>();
                             sqlist.add("update TOutInt set status=10 ,ModifyDate=getdate() where BillNo='" + billno + "'");