Ver código fonte

erp、wms数据对接自动任务调整

shenjingwei 3 meses atrás
pai
commit
dbcef40e30

+ 18 - 16
src/custom/service/GetFirstDeliveryDateService.java

@@ -1,29 +1,31 @@
 package service;
 
 import common.ServiceController;
-import common.data.Row;
-import common.data.Rows;
+import common.data.*;
 
 import java.util.ArrayList;
 
 public class GetFirstDeliveryDateService extends ServiceController {
+
     @Override
     public void serviceRun() throws Exception {
-        Rows siterows = dbConnect.runSqlQuery("select siteid from sys_site");
-        ArrayList<String> sqlList = new ArrayList<>();
-        for (Row siterow : siterows) {
-            String siteid = siterow.getString("siteid");
-            Rows stockbillrows = dbConnect.runSqlQuery("select sys_enterpriseid,min(checkdate) checkdate from st_stockbill where type='销售出库' and status='审核' and checkdate is not null and siteid='" + siteid + "' and sys_enterpriseid in(select sys_enterpriseid from sa_agents where ifnull(startdate,'')='') group by sys_enterpriseid");
-            if (!stockbillrows.isEmpty()) {
-                for (Row stockbillrow : stockbillrows) {
-                    long sys_enterpriseid = stockbillrow.getLong("sys_enterpriseid");
-                    String checkdate = stockbillrow.getString("checkdate");
-                    if (!checkdate.isEmpty()) {
-                        sqlList.add("update sa_agents set startdate='" + stockbillrow.getString("checkdate") + "' where sys_enterpriseid=" + sys_enterpriseid);
-                    }
-                }
+        SQLDump sqlDump = new SQLDump();
+        ArrayList<String> enterpriseids = dbConnect.runSqlQuery("select sys_enterpriseid from sa_agents where ifnull(startdate,'')=''").toArrayList("sys_enterpriseid");
+        QuerySQL stockbillQuery = SQLFactory.createQuerySQL(dbConnect, "st_stockbill", "sys_enterpriseid");
+        stockbillQuery.addQueryFields("checkdate", "min(checkdate)");
+        stockbillQuery.setWhere("sys_enterpriseid", enterpriseids);
+        stockbillQuery.setWhere("type", "销售出库");
+        stockbillQuery.setWhere("status", "审核");
+        stockbillQuery.setWhere("checkdate is not null");
+        stockbillQuery.addGroupBy("sys_enterpriseid");
+        Rows stockbillrows = stockbillQuery.query();
+        for (Row stockbillrow : stockbillrows) {
+            long sys_enterpriseid = stockbillrow.getLong("sys_enterpriseid");
+            String checkdate = stockbillrow.getString("checkdate");
+            if (!checkdate.isEmpty()) {
+                sqlDump.add("update sa_agents set startdate='" + checkdate + "' where sys_enterpriseid=" + sys_enterpriseid);
             }
         }
-        dbConnect.runSqlUpdate(sqlList);
+        sqlDump.commit();
     }
 }

+ 7 - 2
src/custom/service/GetOutCodeFromMQWms.java

@@ -12,7 +12,7 @@ public class GetOutCodeFromMQWms extends ServiceController {
 
     @Override
     public void serviceRun() throws Exception {
-
+        getOutCode();
     }
 
     @Override
@@ -28,6 +28,7 @@ public class GetOutCodeFromMQWms extends ServiceController {
     public void getOutCode() throws YosException {
         Rows rows = YUNl_DB.runSqlQuery("select ccode,cinvcode,cinvsn from Wms_Rdrecord32SN where year(ddate)>=" + (Calendar.getInstance().get(Calendar.YEAR) - 1) + " and DRPstatus=0 and ccode not like'TN%' order by ccode,rowno");
         if (rows.isNotEmpty()) {
+            logger.info("监测到有{}个出库序列号", rows.size());
             //E-订单单据查询
             QuerySQL billCheckSQL = SQLFactory.createQuerySQL(dbConnect, "st_stockbill", "billno", "st_stockbillid", "sys_enterpriseid", "status", "iswx").setTableAlias("t1");
             billCheckSQL.addJoinTable(JOINTYPE.inner, "st_stockbill_items_sku", "t2", "t1.st_stockbillid=t2.st_stockbillid", "sku");
@@ -46,19 +47,23 @@ public class GetOutCodeFromMQWms extends ServiceController {
             for (Row row : rows) {
                 String billno = row.getString("ccode");
                 String sku = row.getString("cinvsn");
+                logger.info("开始处理单据{},序列号{}", billno, sku);
 
                 if (!billRowsMap.containsKey(billno)) {
                     //单据不存在
                     YUNl_DB.runSqlUpdate("update Wms_Rdrecord32SN set drpstatus=-1 where ccode='" + billno + "' and cinvsn='" + sku + "'");
+                    logger.info("E-订单单据{}不存在,将中间表状态改为-1", billno);
                     continue;
                 }
                 if (billRowsMap.containsKey(billno) && billRowsMap.get(billno).toArrayList("sku").contains(sku)) {
                     //出库单序列号已存在
                     YUNl_DB.runSqlUpdate("update Wms_Rdrecord32SN set drpstatus=1 where ccode='" + billno + "' and cinvsn='" + sku + "'");
+                    logger.info("E-订单单据{},序列号{}已存在,将中间表状态改为1", billno, sku);
                     continue;
                 }
                 if (!codeRowsMap.containsKey(sku)) {
                     //序列号不存在或者不在101-109仓库中
+                    logger.info("E-订单序列号{}已存在于仓库101或109中", sku);
                     continue;
                 }
 
@@ -94,7 +99,7 @@ public class GetOutCodeFromMQWms extends ServiceController {
                     sqlDump.commit();
                     YUNl_DB.runSqlUpdate("update Wms_Rdrecord32SN set drpstatus=1 where ccode='" + billno + "' and cinvsn='" + sku + "'");
                 } catch (Exception e) {
-
+                    logger.error("处理单据{},序列号{}出错", billno, sku, e);
                 }
             }
         }

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

@@ -13,7 +13,7 @@ public class GetOutCodeFromTQWms extends ServiceController {
 
     @Override
     public void serviceRun() throws Exception {
-
+        getOutCode();
     }
 
     @Override
@@ -24,6 +24,7 @@ public class GetOutCodeFromTQWms extends ServiceController {
     public void getOutCode() throws YosException {
         Rows rows = TQWMS.runSqlQuery("select distinct t1.billno,t2.materialcode,t3.serialno from TOutInt t1 inner join TOutDetailInt t2 on t1.OutPlanID=t2.OutPlanID inner join TOutSerialnoDetail t3 on t2.DetailID=t3.DetailID where t2.Status=2 and t2.IsDeleted=0and t1.IsDeleted=0 and year(t3.CreateDate)>=" + (Calendar.getInstance().get(Calendar.YEAR) - 1) + " and isnull(t3.status,0)=0");
         if (rows.isNotEmpty()) {
+            logger.info("监测到有{}个出库序列号", rows.size());
             QuerySQL billCheckSQL = SQLFactory.createQuerySQL(dbConnect, "st_stockbill", "billno", "st_stockbillid", "sys_enterpriseid", "status", "iswx").setTableAlias("t1");
             billCheckSQL.addJoinTable(JOINTYPE.inner, "st_stockbill_items_sku", "t2", "t1.st_stockbillid=t2.st_stockbillid", "sku");
             billCheckSQL.addJoinTable(JOINTYPE.left, "sa_agents", "t3", "t1.sys_enterpriseid=t3.sys_enterpriseid", "entity");
@@ -41,19 +42,22 @@ public class GetOutCodeFromTQWms extends ServiceController {
             for (Row row : rows) {
                 String billno = row.getString("billno");
                 String sku = row.getString("serialno");
-
+                logger.info("开始处理单据{},序列号{}", billno, sku);
                 if (!billRowsMap.containsKey(billno)) {
                     //单据不存在
                     TQWMS.runSqlUpdate("update TOutSerialnoDetail set status=-1 where BillNo='" + billno + "' and SerialNo='" + sku + "'");
+                    logger.info("E-订单单据{}不存在,将中间表状态改为-1", billno);
                     continue;
                 }
                 if (billRowsMap.containsKey(billno) && billRowsMap.get(billno).toArrayList("sku").contains(sku)) {
                     //出库单序列号已存在
                     TQWMS.runSqlUpdate("update TOutSerialnoDetail set status=1 where BillNo='" + billno + "' and SerialNo='" + sku + "'");
+                    logger.info("E-订单单据{},序列号{}已存在,将中间表状态改为1", billno, sku);
                     continue;
                 }
                 if (!codeRowsMap.containsKey(sku)) {
                     //序列号不存在或者不在101-103仓库中
+                    logger.info("E-订单序列号{}已存在于仓库101或103中", sku);
                     continue;
                 }
 
@@ -107,7 +111,7 @@ public class GetOutCodeFromTQWms extends ServiceController {
                         }
                     }
                 } catch (Exception e) {
-
+                    logger.error("处理单据{},序列号{}出错", billno, sku, e);
                 }
             }
         }

+ 11 - 2
src/custom/service/GetStockBillFromMQWms.java

@@ -15,7 +15,7 @@ public class GetStockBillFromMQWms extends ServiceController {
 
     @Override
     public void serviceRun() throws Exception {
-
+        stockIn();
     }
 
     @Override
@@ -31,6 +31,7 @@ public class GetStockBillFromMQWms extends ServiceController {
     public void stockIn() throws YosException {
         Rows rows = YUNl_DB.runSqlQuery("select cinvcode,cinvsn,ddate,id from Wms_Rdrecordother where drpstatus=0");
         if (rows.isNotEmpty()) {
+            logger.info("监测到有{}个入库序列号", rows.size());
             QuerySQL billCheckSQL = SQLFactory.createQuerySQL(dbConnect, "st_stockbill", "billno").setTableAlias("t1");
             billCheckSQL.addJoinTable(JOINTYPE.inner, "st_stockbill_items_sku", "t2", "t1.st_stockbillid=t2.st_stockbillid", "sku");
             billCheckSQL.setWhere("siteid", "MD").setWhere("t1.type in ('返修入库','销售出库')");
@@ -52,10 +53,11 @@ public class GetStockBillFromMQWms extends ServiceController {
                 String sku = row.getString("cinvsn");
                 String itemno = row.getString("cinvcode");
                 Date createdate = row.getDate("ddate");
-
+                logger.info("开始处理序列号{}", sku);
                 if (billCodeList.contains(sku)) {
                     //如果序列号已经存在返修入库、或者销售出库,则将状态改为11
                     YUNl_DB.runSqlUpdate("update Wms_Rdrecordother set drpstatus=11  where ID=" + id);
+                    logger.info("序列号{}已经存在返修入库、或者销售出库,将中间表状态改为11", sku);
                     continue;
                 }
                 Calendar calendar = Calendar.getInstance();
@@ -63,27 +65,33 @@ public class GetStockBillFromMQWms extends ServiceController {
                 if (createdate.before(calendar.getTime())) {
                     //超过时间未能处理,则将状态改为12
                     YUNl_DB.runSqlUpdate("update Wms_Rdrecordother set drpstatus=12 where ID=" + id);
+                    logger.info("序列号{}超过两个月未能正确处理,将中间表状态改为12", sku);
                     continue;
                 }
                 if (!codeRowsMap.containsKey(sku)) {
                     //序列号不存在,则跳过
+                    logger.info("序列号{}不存在", sku);
                     continue;
                 }
                 if (!codeRowsMap.get(sku).getRow(0).getString("itemno").equals(itemno)) {
                     //商品编号不匹配,则跳过
+                    logger.info("序列号{}商品编号{}不匹配,DRP中为{}", sku, itemno, codeRowsMap.get(sku).getRow(0).getString("itemno"));
                     continue;
                 }
                 if (codeRowsMap.get(sku).getRow(0).getInteger("stockid") > 0) {
                     //序列号仓库不为空,则跳过
+                    logger.info("序列号{}仓库不为空", sku);
                     continue;
                 }
                 String instockno = codeRowsMap.get(sku).getRow(0).getString("stockno");
                 if (instockno.isEmpty()) {
                     //商品默认仓库为空,则跳过
+                    logger.info("序列号{}所属商品没有默认仓库", sku);
                     continue;
                 }
                 if (stockRowsMap.get(instockno).isEmpty()) {
                     //仓库不存在,跳过
+                    logger.info("序列号{}所属仓库不存在", sku);
                     continue;
                 }
 
@@ -149,6 +157,7 @@ public class GetStockBillFromMQWms extends ServiceController {
                     dbConnect.runSqlUpdate("delete from st_stockbill where st_stockbillid=" + st_stockbillid);
                     dbConnect.runSqlUpdate("delete from st_stockbill_items where st_stockbillid=" + st_stockbillid);
                     dbConnect.runSqlUpdate("delete from st_stockbill_items_sku where st_stockbillid=" + st_stockbillid);
+                    logger.info("序列号{}生成入库单审核失败", sku);
                 }
             }
         }

+ 22 - 6
src/custom/service/GetStockBillFromTQWms.java

@@ -5,7 +5,6 @@ import common.ServiceController;
 import common.YosException;
 import common.data.*;
 import common.data.db.DBConnect;
-import org.apache.ibatis.jdbc.SQL;
 
 import java.util.ArrayList;
 import java.util.Calendar;
@@ -20,7 +19,8 @@ public class GetStockBillFromTQWms extends ServiceController {
 
     @Override
     public void serviceRun() throws Exception {
-
+        stockIn();
+        cxwgIn();
     }
 
     @Override
@@ -35,8 +35,8 @@ public class GetStockBillFromTQWms extends ServiceController {
      */
     public void stockIn() throws YosException {
         Rows rows = TQWMS.runSqlQuery("SELECT t1.DetailID,t1.SerialNo,t1.MaterialCode,t1.CreateDate FROM TInDetailInt t1 INNER JOIN TMaterialsSerialNo t2 on t1.SerialNo=t2.SerialNo WHERE year(t1.CreateDate)>=2018 and t1.Status=0 and t1.IsDeleted=0 and t2.sysfrom='DRP'");
-
         if (rows.isNotEmpty()) {
+            logger.info("监测到有{}个入库序列号", rows.size());
             QuerySQL billCheckSQL = SQLFactory.createQuerySQL(dbConnect, "st_stockbill", "billno").setTableAlias("t1");
             billCheckSQL.addJoinTable(JOINTYPE.inner, "st_stockbill_items_sku", "t2", "t1.st_stockbillid=t2.st_stockbillid", "sku");
             billCheckSQL.setWhere("siteid", "MD").setWhere("t1.type in ('返修入库','销售出库')");
@@ -59,10 +59,11 @@ public class GetStockBillFromTQWms extends ServiceController {
                 String sku = row.getString("SerialNo");
                 String itemno = row.getString("MaterialCode");
                 Date createdate = row.getDate("CreateDate");
-
+                logger.info("开始处理序列号{}", sku);
                 if (billCodeList.contains(sku)) {
                     //如果序列号已经存在返修入库、或者销售出库,则将状态改为11
                     TQWMS.runSqlUpdate("update TInDetailInt set status=11,ModifyDate=GETDATE() where DetailID=" + DetailID);
+                    logger.info("序列号{}已经存在返修入库、或者销售出库,将中间表状态改为11", sku);
                     continue;
                 }
                 Calendar calendar = Calendar.getInstance();
@@ -70,27 +71,33 @@ public class GetStockBillFromTQWms extends ServiceController {
                 if (createdate.before(calendar.getTime())) {
                     //超过时间未能处理,则将状态改为12
                     TQWMS.runSqlUpdate("update TInDetailInt set status=12,ModifyDate=GETDATE() where DetailID=" + DetailID);
+                    logger.info("序列号{}超过两个月未能正确处理,将中间表状态改为12", sku);
                     continue;
                 }
                 if (!codeRowsMap.containsKey(sku)) {
+                    logger.info("序列号{}不存在", sku);
                     //序列号不存在,则跳过
                     continue;
                 }
                 if (!codeRowsMap.get(sku).getRow(0).getString("itemno").equals(itemno)) {
                     //商品编号不匹配,则跳过
+                    logger.info("序列号{}商品编号{}不匹配,DRP中为{}", sku, itemno, codeRowsMap.get(sku).getRow(0).getString("itemno"));
                     continue;
                 }
                 if (codeRowsMap.get(sku).getRow(0).getInteger("stockid") > 0) {
                     //序列号仓库不为空,则跳过
+                    logger.info("序列号{}仓库不为空", sku);
                     continue;
                 }
                 String instockno = codeRowsMap.get(sku).getRow(0).getString("stockno");
                 if (instockno.isEmpty()) {
                     //商品默认仓库为空,则跳过
+                    logger.info("序列号{}所属商品没有默认仓库", sku);
                     continue;
                 }
                 if (stockRowsMap.get(instockno).isEmpty()) {
                     //仓库不存在,跳过
+                    logger.info("序列号{}所属仓库不存在", sku);
                     continue;
                 }
 
@@ -123,7 +130,7 @@ public class GetStockBillFromTQWms extends ServiceController {
                 stStockbillitems.setValue("rowno", 1);
                 stStockbillitems.setValue("createby", "wms");
                 stStockbillitems.setValue("itemid", coderow.getLong("itemid"));
-                stStockbillitems.setValue("skucontrol",true);
+                stStockbillitems.setValue("skucontrol", true);
                 stStockbillitems.setValue("itemno", coderow.getString("itemno"));
                 stStockbillitems.setValue("itemname", coderow.getString("itemname"));
                 stStockbillitems.setValue("model", coderow.getString("model"));
@@ -157,6 +164,7 @@ public class GetStockBillFromTQWms extends ServiceController {
                     dbConnect.runSqlUpdate("delete from st_stockbill where st_stockbillid=" + st_stockbillid);
                     dbConnect.runSqlUpdate("delete from st_stockbill_items where st_stockbillid=" + st_stockbillid);
                     dbConnect.runSqlUpdate("delete from st_stockbill_items_sku where st_stockbillid=" + st_stockbillid);
+                    logger.info("序列号{}生成入库单审核失败", sku);
                 }
             }
         }
@@ -168,6 +176,7 @@ public class GetStockBillFromTQWms extends ServiceController {
     public void cxwgIn() throws YosException {
         Rows rows = TQWMS.runSqlQuery("SELECT DetailID,T1.SerialNo,T1.CreateDate,T1.MaterialCode FROM TInDetailInt T1 INNER JOIN TMaterialsSerialNo T2 ON T1.SerialNo=T2.SerialNo WHERE T2.sysfrom='U8_888' AND T1.Status=0");
         if (rows.isNotEmpty()) {
+            logger.info("监测到有{}个创新外购入库序列号", rows.size());
             QuerySQL billCheckSQL = SQLFactory.createQuerySQL(dbConnect, "st_stockbill", "billno").setTableAlias("t1");
             billCheckSQL.addJoinTable(JOINTYPE.inner, "st_stockbill_items_sku", "t2", "t1.st_stockbillid=t2.st_stockbillid", "sku");
             billCheckSQL.setWhere("siteid", "MD").setWhere("t2.sku", rows.toArrayList("cinvsn"));
@@ -197,13 +206,15 @@ public class GetStockBillFromTQWms extends ServiceController {
                 String sku = row.getString("SerialNo");
                 String itemno = row.getString("MaterialCode");
                 Date createdate = row.getDate("CreateDate");
-
+                logger.info("开始处理序列号{}", sku);
                 if (!codeCheckList.contains(itemno)) {
+                    logger.info("序列号{}商品编码{}不存在于中间表inventory中", sku, itemno);
                     continue;
                 }
                 if (billCodeList.contains(sku)) {
                     //如果序列号已经出入库记录
                     TQWMS.runSqlUpdate("update TInDetailInt set status=11,ModifyDate=GETDATE() where DetailID=" + DetailID);
+                    logger.info("序列号{}已经存在出入库记录,将中间表状态改为11", sku);
                     continue;
                 }
                 Calendar calendar = Calendar.getInstance();
@@ -211,18 +222,22 @@ public class GetStockBillFromTQWms extends ServiceController {
                 if (createdate.before(calendar.getTime())) {
                     //超过时间未能处理,则将状态改为12
                     TQWMS.runSqlUpdate("update TInDetailInt set status=12,ModifyDate=GETDATE() where DetailID=" + DetailID);
+                    logger.info("序列号{}超过两个月未能正确处理,将中间表状态改为12", sku);
                     continue;
                 }
                 if (!codeRowsMap.containsKey(sku)) {
                     //序列号不存在,则跳过
+                    logger.info("序列号{}不存在", sku);
                     continue;
                 }
                 if (!codeRowsMap.get(sku).getRow(0).getString("itemno").equals(itemno)) {
                     //商品编号不匹配,则跳过
+                    logger.info("序列号{}商品编号{}不匹配,DRP中为{}", sku, itemno, codeRowsMap.get(sku).getRow(0).getString("itemno"));
                     continue;
                 }
                 if (codeRowsMap.get(sku).getRow(0).getInteger("stockid") > 0) {
                     //序列号仓库不为空,则跳过
+                    logger.info("序列号{}仓库不为空", sku);
                     continue;
                 }
 
@@ -290,6 +305,7 @@ public class GetStockBillFromTQWms extends ServiceController {
                     dbConnect.runSqlUpdate("delete from st_stockbill where st_stockbillid=" + st_stockbillid);
                     dbConnect.runSqlUpdate("delete from st_stockbill_items where st_stockbillid=" + st_stockbillid);
                     dbConnect.runSqlUpdate("delete from st_stockbill_items_sku where st_stockbillid=" + st_stockbillid);
+                    logger.info("序列号{}生成入库单审核失败", sku);
                 }
             }
         }

+ 8 - 3
src/custom/service/GetStockBillFromU8.java

@@ -17,7 +17,7 @@ public class GetStockBillFromU8 extends ServiceController {
 
     @Override
     public void serviceRun() throws Exception {
-
+        getProdIN();
     }
 
     @Override
@@ -32,6 +32,7 @@ public class GetStockBillFromU8 extends ServiceController {
         //产品入库表头
         Rows u8billRows = YUNl_DB.runSqlQuery("select top(50) cvencode,ccode,ddate,cwhcode,cmemo,id,dnverifytime,chandler from rdrecord where status=0 and billtype='10' and dnverifytime is not null and accid in('666','888') and  isnull(errtimes,0)<=5 order by errtimes");
         if (u8billRows.isNotEmpty()) {
+            logger.info("监测到有{}个u8产品入库单", u8billRows.size());
             //产品入库表体
             Rows u8billmxAllRows = SQLFactory.createQuerySQL(YUNl_DB, "RdRecords", "autoid,cinvcode,iquantity,iunitcost,iprice,cbmemo,cbatch").setWhere("billtype", "10").setWhere("accid in('666','888')").setWhere("id", u8billRows.toArrayList("id")).query();
             RowsMap u8billmxRowsMap = u8billmxAllRows.toRowsMap("id");
@@ -56,18 +57,21 @@ public class GetStockBillFromU8 extends ServiceController {
                     if (drpbillList.contains(ccode)) {
                         //已存在审核状态的单据,则直接判定成功
                         YUNl_DB.runSqlUpdate("update RdRecord set status=1  where ID ='" + id + "' and billtype='10'");
+                        logger.info("入库单{}已存在,将中间表状态改为1", ccode);
                         continue;
                     }
                     String ddate = getDate_Str(cInvCodeRow.getDate("ddate"));
                     if (dbConnect.runSqlQuery("select * from st_period where isclose=0 and begdate<='" + ddate + "' and enddate>='" + ddate + "'").isEmpty()) {
                         //会计期间不存在,直接判定失败
                         YUNl_DB.runSqlUpdate("update RdRecord set ErrTimes=10,failreason='找不到有效的会计期间' where ID ='" + id + " and billtype='10' ");
+                        logger.info("入库单{}单据日期{}所在会计期间不存在", ccode, ddate);
                         continue;
                     }
                     String cwhcode = cInvCodeRow.getString("cwhcode");
                     if (stockRowsMap.get(cwhcode).isEmpty()) {
                         //仓库不存在,失败次数+1
                         YUNl_DB.runSqlUpdate("update RdRecord set ErrTimes=isnull(ErrTimes,0)+1,failreason='仓库不存在' where ID ='" + id + " and billtype='10' ");
+                        logger.info("入库单{}仓库{}不存在", ccode, cwhcode);
                         continue;
                     }
                     Rows u8billmxRows = u8billmxRowsMap.get(id);//获取表体
@@ -77,6 +81,7 @@ public class GetStockBillFromU8 extends ServiceController {
                         if (itemRowsMap.get(cinvcode).isEmpty()) {
                             //商品编号不存在,失败次数+1
                             YUNl_DB.runSqlUpdate("update RdRecord set ErrTimes=isnull(ErrTimes,0)+1,failreason='商品不存在' where ID ='" + id + " and billtype='10' ");
+                            logger.info("入库单{}商品{}不存在", ccode, cinvcode);
                             continue foreachbill;
                         }
 
@@ -84,7 +89,6 @@ public class GetStockBillFromU8 extends ServiceController {
 
                     RowsMap u8billmxCodeMXRowsMap = u8billmxCodeRowsMap.get(id).toRowsMap("ivouchsid");//获取表体序列号
 
-
                     String cmemo = cInvCodeRow.getString("cmemo");
                     String dnverifytime = cInvCodeRow.getString("dnverifytime");
                     String chandler = cInvCodeRow.getString("chandler");
@@ -171,10 +175,11 @@ public class GetStockBillFromU8 extends ServiceController {
                         dbConnect.runSqlUpdate("delete from st_stockbill_items where st_stockbillid=" + st_stockbillid);
                         dbConnect.runSqlUpdate("delete from st_stockbill_items_sku where st_stockbillid=" + st_stockbillid);
                         YUNl_DB.runSqlUpdate("update RdRecord set ErrTimes=isnull(ErrTimes,0)+1,failreason='" + e.getMessage() + "' where ID ='" + id + " and billtype='10' ");
+                        logger.info("产品入库单{}审核失败", ccode);
                     }
                 } catch (Exception e) {
-                    logger.error("U8货品档案同步DRP失败", cInvCodeRow.toJsonObject(), e);
                     YUNl_DB.runSqlUpdate("update RdRecord set ErrTimes=isnull(ErrTimes,0)+1,failreason='" + e.getMessage() + "' where ID ='" + id + " and billtype='10' ");
+                    logger.info("产品入库单ID{}同步失败", cInvCodeRow.toJsonObject());
                 }
             }
         }

+ 6 - 3
src/custom/service/UpdateBasicDataToWms.java

@@ -18,7 +18,8 @@ public class UpdateBasicDataToWms extends ServiceController {
 
     @Override
     public void serviceRun() throws Exception {
-
+        getItem();
+        getMcode();
     }
 
     @Override
@@ -30,10 +31,11 @@ public class UpdateBasicDataToWms extends ServiceController {
     public void getItem() throws YosException {
         QuerySQL querySQL = SQLFactory.createQuerySQL(dbConnect, "plm_item", "itemno", "itemname", "subString(model,0,50)model", "spec", "stockno", "shapesize").setTableAlias("t1");
         querySQL.addJoinTable(JOINTYPE.left, "plm_unit", "t2", "unitid=:unitid", "unitname");
-        querySQL.setWhere("siteid", "MD").setWhere("(t1.WMSUPLOADFLAG<2) and (t1.stockno='101' or t1.createby!='U8')");
+        querySQL.setWhere("siteid", "MD").setWhere("(t1.wmsuploadflag<2) and (t1.stockno='101' or t1.createby!='U8')");
         Rows itemRows = querySQL.query();
 
         if (itemRows.isNotEmpty()) {
+            logger.info("监测到有{}个商品档案待更新至wms", itemRows.size());
             ArrayList<String> tqitems = SQLFactory.createQuerySQL(TQWMS, "TMaterialsInt", "MaterialCode").setWhere("MaterialCode", itemRows.toArrayList("itemno")).query().toArrayList("MaterialCode");
 
             ArrayList<String> TQSqlist = new ArrayList<>();
@@ -60,13 +62,14 @@ public class UpdateBasicDataToWms extends ServiceController {
 
             TQWMS.runSqlUpdate(TQSqlist);
             YUNl_DB.runSqlUpdate(MQSqlist);
-            SQLFactory.createUpdateSQL(dbConnect, "plm_item").setValue("WMSUPLOADFLAG", 2).setWhere("siteid", "MD").setWhere("itemno", itemRows.toArrayList("itemno")).update();
+            SQLFactory.createUpdateSQL(dbConnect, "plm_item").setValue("wmsuploadflag", 2).setWhere("siteid", "MD").setWhere("itemno", itemRows.toArrayList("itemno")).update();
         }
     }
 
     public void getMcode() throws YosException {
         Rows skuRows = SQLFactory.createQuerySQL(dbConnect, "sa_itemsku", "itemno", "sku").setWhere("siteid", "MD").setWhere("wmsuploadflag<2").query();
         if (skuRows.isNotEmpty()) {
+            logger.info("监测到有{}个序列号待更新至wms", skuRows.size());
             ArrayList<String> tqskus = SQLFactory.createQuerySQL(TQWMS, "TMaterialsSerialNo", "SerialNo").setWhere("SerialNo", skuRows.toArrayList("sku")).query().toArrayList("SerialNo");
             ArrayList<String> mqskus = SQLFactory.createQuerySQL(TQWMS, "ST_SNState", "cInvSN").setWhere("cInvSN", skuRows.toArrayList("sku")).query().toArrayList("cInvSN");