From dcd7fcf596005d0c7cf66558bee97edf6c3b03a0 Mon Sep 17 00:00:00 2001
From: wang..123 <brook_w@163.com>
Date: 星期四, 10 三月 2022 18:12:09 +0800
Subject: [PATCH] #物料状态维护

---
 src/main/java/com/zy/common/service/erp/ErpService.java |  483 ++++++++++++++++++++++++++++++-----------------------
 1 files changed, 274 insertions(+), 209 deletions(-)

diff --git a/src/main/java/com/zy/common/service/erp/ErpService.java b/src/main/java/com/zy/common/service/erp/ErpService.java
index 612fc92..bdb282e 100644
--- a/src/main/java/com/zy/common/service/erp/ErpService.java
+++ b/src/main/java/com/zy/common/service/erp/ErpService.java
@@ -1,14 +1,21 @@
 package com.zy.common.service.erp;
 
+import com.baomidou.mybatisplus.MybatisSqlSessionTemplate;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.common.Cools;
 import com.core.common.DateUtils;
+import com.core.exception.CoolException;
+import com.zy.asrs.service.OutStockMainService;
+import com.zy.asrs.service.OutStockService;
 import com.zy.common.service.erp.dto.InStockDto;
 import com.zy.common.service.erp.dto.PInStockDto;
 import com.zy.common.service.erp.entity.*;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
 import java.text.MessageFormat;
 import java.util.ArrayList;
 import java.util.Date;
@@ -23,6 +30,8 @@
 
     @Autowired
     private ErpSqlServer erpSqlServer;
+    @Autowired
+    private JdbcTemplate jdbcTemplate;
 
     public List<StockEntryCensus> get(){
         return erpSqlServer.select("select * from StockEntryCensus where 1=1",StockEntryCensus.class);
@@ -36,8 +45,9 @@
         return erpSqlServer.update("delete from M_item where 1=1 and Mnumber = '" + Mnumber + "'") > 0;
     }
 
+    //////////////////////鎴愬搧銆佸師鏉愭枡鍏ュ簱閫氱煡鍗曟暟鎹彁鍙�//////////////////////////////////////////////////
     /**
-     * 鑾峰彇鏈鍙栬繃鐨勫師鏉愭枡鍏ュ簱鍗曟嵁
+     * 鎻愬彇涓棿琛ㄥ師鏉愭枡鍏ュ簱鍗曟嵁
      */
     public List<InStockDto> getReadyInStock() {
         List<InStockDto> result = new ArrayList<>();
@@ -59,30 +69,119 @@
     }
 
     /**
-     * 鑾峰彇鏈鍙栬繃鐨勬垚鍝佸叆搴撳崟鎹�
+     * 鏌ヨ鍚屼竴鍗曞彿鏄惁瀛樺湪鐩稿悓鐗╂枡鐨勬渶澶ф暟閲忓�硷紝
+     * @return
      */
-    public List<CPICMO> getReadyCPICMO() {
-        String sql = "select * from CPICMO where 1=1 and Fflag_rw = 0";
-        return erpSqlServer.select(sql, CPICMO.class);
+    public Number QueryFnumberInCount(Integer FInterID) {
+        String sql = "select top 1 qty from (\n" +
+                "select Fnumber,count(*) as qty from InStockbill a,InStockbillEntry b\n" +
+                "where a.FInterID=b.FInterID and a.FInterID=" + FInterID +
+                " group by Fnumber\n" +
+                ") a\n" +
+                "order by qty desc";
+        return erpSqlServer.executeQueryCount(sql,"qty");
+    }
+
+    /**
+     * 鑾峰彇鍏ュ簱鐗╂祦鏄庣粏
+     * @param fInterID 鍗曟嵁鍐呯爜
+     */
+    private List<InStockBillEntry> getInStockBillEntry(Integer fInterID) {
+//        String sql = "select * from InStockBillEntry where 1=1 and FSourceBillNo!='' and FAuxCommitQty=0 and FInterID = " + fInterID;
+        String sql = "select * from InStockBillEntry where 1=1 and FAuxCommitQty=0 and FInterID = " + fInterID;
+        return erpSqlServer.select(sql, InStockBillEntry.class);
     }
 
     /**
      * 灏嗘湭璇荤殑鍘熸潗鏂欏叆搴撳崟鎹缃负宸茶
      */
-    public boolean haveReadInStock(String FBillNo){
-        String sql = "update InStockBill set Fflag_rw = 1 where FBillNo = ''{0}''";
-        sql = MessageFormat.format(sql, FBillNo);
+    public boolean haveReadInStock(String FBillNo, Integer value){
+        String sql = "update InStockBill set Fflag_rw = {1,number,#} where FBillNo = ''{0}''";
+        sql = MessageFormat.format(sql, FBillNo, value);
         return erpSqlServer.update(sql) > 0;
+    }
+
+    /**
+     * 鎻愬彇涓棿琛ㄦ垚鍝佸叆搴撳崟鎹�
+     */
+    public List<CPICMO> getReadyCPICMO() {
+//        String sql = "select * from CPICMO where 1=1 and FSourceBillNo!='' and FAuxCommitQty=0 and Fflag_rw = 0";
+        String sql = "select * from CPICMO where 1=1 and FAuxCommitQty=0 and Fflag_rw = 0";
+        return erpSqlServer.select(sql, CPICMO.class);
+    }
+
+    /**
+     * 鏌ヨ鍚屼竴鍗曞彿鏄惁瀛樺湪鐩稿悓鐗╂枡鐨勬渶澶ф暟閲忓�硷紝
+     * @return
+     */
+    public Number QueryFnumberCPICMOCount(Integer FInterID) {
+        String sql = "select top 1 qty from (\n" +
+                "select count(*) as qty from CPICMO\n" +
+                "where FInterID=" + FInterID +
+                " group by Fnumber\n" +
+                ") a\n" +
+                "order by qty desc";
+        return erpSqlServer.executeQueryCount(sql,"qty");
     }
 
     /**
      * 灏嗘湭璇荤殑鎴愬搧鍏ュ簱鍗曟嵁璁剧疆涓哄凡璇�
      */
-    public boolean haveReadCPICMO(String FBillNo){
-        String sql = "update CPICMO set Fflag_rw = 1 where FBillNo = ''{0}''";
-        sql = MessageFormat.format(sql, FBillNo);
+    public boolean haveReadCPICMO(Integer FInterID, Integer value){
+        String sql = "update CPICMO set Fflag_rw = {1,number,#} where FInterID = ''{0,number,#}''";
+        sql = MessageFormat.format(sql, FInterID, value);
         return erpSqlServer.update(sql) > 0;
     }
+    ////////////////////////////////////////////////////////////////////////////////////////
+
+    ////////////////////// 鍑哄簱閫氱煡鍗曟暟鎹彁鍙�//////////////////////////////////////////////////
+    /**
+     * 鏌ヨerp涓棿琛ㄨ〃澶碠utStockBill鏁版嵁
+     * @return
+     */
+    public List<OutStockBill> syncOutStock() {
+        return erpSqlServer.select("SELECT * FROM  xtyasrs_dual.dbo.OutStockBill where Fflag_rw=0", OutStockBill.class);
+//        return erpSqlServer.select("SELECT * FROM  xtyasrs_dual.dbo.OutStockBill where Fflag_rw=0", OutStockBill.class);
+    }
+
+    /**
+     * 鏌ヨ鍚屼竴鍗曞彿鏄惁瀛樺湪鐩稿悓鐗╂枡鐨勬渶澶ф暟閲忓�硷紝
+     * @return
+     */
+    public Number QueryFnumberOutCount(Integer FInterID) {
+        String sql = "select top 1 qty from (\n" +
+                "select Fnumber,count(*) as qty from OutStockbill a,OutStockbillEntry b\n" +
+                "where a.FInterID=b.FInterID and a.FInterID=" + FInterID +
+                " group by Fnumber\n" +
+                ") a\n" +
+                "order by qty desc";
+        return erpSqlServer.executeQueryCount(sql,"qty");
+    }
+
+
+    /**
+     * 鏌ヨerp涓棿琛ㄨ〃浣揙utStockbillEntry鏁版嵁
+     * @param FInterID
+     * @return
+     */
+    public List<OutStockBillEntry> syncOutStockDetail(Integer FInterID) {
+//        String sql = "SELECT * FROM  xtyasrs_dual.dbo.OutStockBillEntry where FSourceBillNo!='' and FAuxCommitQty=0 and FInterID=" + FInterID;
+        String sql = "SELECT * FROM  xtyasrs_dual.dbo.OutStockBillEntry where FAuxCommitQty=0 and FInterID=" + FInterID;
+        return erpSqlServer.select(sql, OutStockBillEntry.class);
+    }
+
+    /**
+     * 灏嗘彁鍙栧畬鎴愮殑鎴愬搧鍑哄簱閫氱煡鍗曟嵁璁剧疆涓哄凡璇�
+     */
+    public boolean haveReadOutBill(String FBrNo, Integer FInterID, Integer value){
+        String sql = "update OutStockbill set Fflag_rw = {2,number,#} where FBillNo = ''{0}'' and FInterID = {1,number,#} ";
+        sql = MessageFormat.format(sql, FBrNo, FInterID, value);
+        return erpSqlServer.update(sql) > 0;
+    }
+    ////////////////////////////////////////////////////////////////////////////////////////////
+
+
+
 
     /**
      * 鎻愪氦瀹為檯鏀惰揣鏁伴噺
@@ -100,15 +199,29 @@
      * 鍘熸潗鏂欏閲忓叆搴�
      */
     public boolean incrementPakIn(String FBillNo, String Fnumber, Double increment) {
+//        String[] arrays = Fnumbers.split("|");
+//        String Fnumber="",sBillNo=""; //浜у搧浠g爜,鐢熶骇鍗曞彿
+
         String sql = "update ise \n" +
                 "set ise.FAuxCommitQty = (ise.FAuxCommitQty + {0,number,#}) \n" +
                 "from InStockBillEntry ise\n" +
                 "left join InStockbill isb on isb.FInterID = ise.FInterID\n" +
                 "where 1=1 \n" +
                 "and ise.Fnumber = ''{1}''\n" +
-                "and isb.FBillNo= ''{2}''";
+                "and isb.FBillNo= ''{2}''\n";
         sql = MessageFormat.format(sql, increment, Fnumber, FBillNo);
+
+//        Fnumber = arrays[0];
+//        if(arrays.length>1){
+//            sBillNo = arrays[1];
+//            sql = sql + "and ise.FSourceBillNo= ''{3}''";
+//            sql = MessageFormat.format(sql, increment, Fnumber, FBillNo, sBillNo);
+//        } else {
+//            sql = MessageFormat.format(sql, increment, Fnumber, FBillNo);
+//        }
+
         if (erpSqlServer.update(sql) > 0) {
+//            log.error("鏇存柊ERP涓棿琛ㄦ垚鍔�===>>[FBillNo:{},Fnumber:{},increment:{}]",FBillNo,Fnumber,increment);
             List<InStockBillEntry> inStockBillEntries = getInStockBillEntry(FBillNo);
             boolean complete = true;
             // 姣旇緝鍗曠瑪璧勬枡鐗╂枡鏄惁鍏ㄩ儴瀹屾垚
@@ -133,6 +246,7 @@
             }
             return true;
         } else {
+            log.error("鏇存柊ERP涓棿琛ㄥけ璐�===>>[FBillNo:{},Fnumber:{},increment:{}]",FBillNo,Fnumber,increment);
             return false;
         }
     }
@@ -141,20 +255,38 @@
      * 鎴愬搧澧為噺鍏ュ簱
      */
     public boolean incrementCPakIn(String FBillNo, String Fnumber, Double increment) {
-        String sql = "update CPICMO set FAuxCommitQty = (FAuxCommitQty + {0,number,#}) where 1=1 and Fnumber = ''{1}'' and FBillNo = ''{2}''";
+//        String[] arrays = Fnumbers.split("|");
+//        String Fnumber="",sBillNo=""; //浜у搧浠g爜,鐢熶骇鍗曞彿
+
+        String sql = "update CPICMO set FAuxCommitQty = (FAuxCommitQty + {0,number,#}) where 1=1 and Fnumber = ''{1}'' and FBillNo = ''{2}'' ";
         sql = MessageFormat.format(sql, increment, Fnumber, FBillNo);
+
+//        Fnumber = arrays[0];
+//        if(arrays.length>1){
+//            sBillNo = arrays[1];
+//            sql = sql + " and FSourceBillNo= ''{3}''";
+//            sql = MessageFormat.format(sql, increment, Fnumber, FBillNo, sBillNo);
+//        } else {
+//            sql = MessageFormat.format(sql, increment, Fnumber, FBillNo);
+//        }
+
         if (erpSqlServer.update(sql) > 0) {
-            sql = "select * from CPICMO where 1=1 and Fnumber = ''{0}'' and FBillNo = ''{1}''";
-            sql = MessageFormat.format(sql, Fnumber, FBillNo);
+//            if(arrays.length>1) {
+//                sql = "select * from CPICMO where 1=1 and Fnumber = ''{0}'' and FBillNo = ''{1}'' and FSourceBillNo= ''{2}''";
+//                sql = MessageFormat.format(sql, Fnumber, FBillNo, sBillNo);
+//            } else {
+                sql = "select * from CPICMO where 1=1 and Fnumber = ''{0}'' and FBillNo = ''{1}''";
+                sql = MessageFormat.format(sql, Fnumber, FBillNo);
+//            }
             List<CPICMO> select = erpSqlServer.select(sql, CPICMO.class);
             CPICMO cpicmo = select.get(0);
             boolean complete = false;
             if (cpicmo.getFQty() > 0) {
-                if (cpicmo.getFAuxCommitQty() >= cpicmo.getFQty()) {
+                if (Double.doubleToLongBits(cpicmo.getFAuxCommitQty()) == Double.doubleToLongBits(cpicmo.getFQty())) {
                     complete = true;
                 }
             } else {
-                if (cpicmo.getFAuxCommitQty() >= cpicmo.getFAuxQty()) {
+                if (Double.doubleToLongBits(cpicmo.getFAuxCommitQty()) == Double.doubleToLongBits(cpicmo.getFAuxQty())) {
                     complete = true;
                 }
             }
@@ -224,29 +356,22 @@
 
     /**
      * 搴撳瓨鐩樼偣
-     * @param FItemID 鐗╂枡鍐呯爜
+     * @param FNumber 鐗╂枡鍐呯爜
      * @param qty 鏁伴噺锛堟琛ㄧず鐩樼泩銆佽礋琛ㄧず鐩樹簭锛�
      */
-    public boolean checkStockEntity(Integer FItemID, Integer FEntryID, Double qty){
-        String sql = "insert [dbo].[StockCheckRecord] ([FItemID],[FEntryID], [CheckQty],[Fflag_rw],[Fflag_finish]) values ({0,number,#}, {1,number,#}, {2,number,#}, 0, 0);";
-        sql = MessageFormat.format(sql, FItemID, FEntryID, qty);
+    public boolean checkStockEntity(String FNumber, Double qty){
+//        String[] arrays = FNumber.split("|");
+//        FNumber = arrays[0];
+        String sql = "insert [dbo].[StockCheckRecord] ([FNumber],[CheckQty],[Fflag_rw],[Fflag_finish],[sync_id]) values (''{0}'', {1,number,#}, 0, 0, -1);";
+        sql = MessageFormat.format(sql, FNumber, qty);
         if (erpSqlServer.update(sql) == 0) {
-            log.error("{}鏂板鐩樼偣璁板綍澶辫触", FItemID);
+            log.error("{}鏂板鐩樼偣璁板綍澶辫触", FNumber);
             return false;
         }
         return true;
     }
 
     // 绉佹湁鏂规硶 --------------------------------------------------------------------------------------
-
-    /**
-     * 鑾峰彇鍏ュ簱鐗╂祦鏄庣粏
-     * @param fInterID 鍗曟嵁鍐呯爜
-     */
-    private List<InStockBillEntry> getInStockBillEntry(Integer fInterID) {
-        String sql = "select * from InStockBillEntry where 1=1 and FInterID = " + fInterID;
-        return erpSqlServer.select(sql, InStockBillEntry.class);
-    }
 
     private List<InStockBillEntry> getInStockBillEntry(String FBillNo) {
         String sql = "select ise.* from InStockBillEntry ise left join InStockbill isb on isb.FInterID = ise.FInterID where 1=1 and isb.FBillNo = '" + FBillNo +"'";
@@ -266,187 +391,127 @@
      * 鎴愬搧鍏ュ簱鍗曟爣璁板畬鎴�
      */
     private boolean completeCPakIn(String FBillNo, String Fnumber){
-        String sql = "update CPICMO set Fflag_finish = 1 where FBillNo = ''{0}'' and Fnumber = ''{1}''";
-        sql = MessageFormat.format(sql, FBillNo, Fnumber);
+//        if(Cools.isEmpty(sBillNo)) {
+            String sql = "update CPICMO set Fflag_finish = 1 where FBillNo = ''{0}'' and Fnumber = ''{1}''";
+            sql = MessageFormat.format(sql, FBillNo, Fnumber);
+            return erpSqlServer.update(sql) > 0;
+//        } else {
+//            String sql = "update CPICMO set Fflag_finish = 1 where FBillNo = ''{0}'' and Fnumber = ''{1}'' and FSourceBillNo= ''{2}'' ";
+//            sql = MessageFormat.format(sql, FBillNo, Fnumber, sBillNo);
+//            return erpSqlServer.update(sql) > 0;
+//        }
+    }
+
+
+//    /**
+//     * 鍑哄簱鍗曟爣璁板畬鎴�
+//     */
+//    private boolean completePakOut(Integer fInterID){
+//        String sql = "update OutStockBill set Fflag_finish = 1 where FInterID = {0,number,#}";
+//        sql = MessageFormat.format(sql, fInterID);
+//        return erpSqlServer.update(sql) > 0;
+//    }
+
+    /* 鎴愬搧澧為噺鍑哄簱 */
+    public boolean incrementCPakOut(Integer FInterID, String Fnumber, Double increment, String FBillNo) {
+//        String[] arrays = Fnumbers.split("|");
+//        String Fnumber="",sBillNo=""; //浜у搧浠g爜,鐢熶骇鍗曞彿
+
+        String sql = "update OutStockbillEntry set FAuxCommitQty = (FAuxCommitQty + {0,number,#}) where 1=1 and Fnumber = ''{1}'' and FInterID = {2,number,#} ";
+        sql = MessageFormat.format(sql, increment, Fnumber, FInterID);
+
+//        Fnumber = arrays[0];
+//        if(arrays.length>1){
+//            sBillNo = arrays[1];
+//            sql = sql + " and FSourceBillNo= ''{3}''";
+//            sql = MessageFormat.format(sql, increment, Fnumber, FInterID, sBillNo);
+//        } else {
+//            sql = MessageFormat.format(sql, increment, Fnumber, FInterID);
+//        }
+
+        try {
+            if (erpSqlServer.update(sql) > 0) {
+//                if(arrays.length>1) {
+//                    sql = "select * from OutStockbillEntry where 1=1 and Fnumber = ''{0}'' and FInterID = {1,number,#} and FSourceBillNo= ''{2}''";
+//                    sql = MessageFormat.format(sql, Fnumber, FInterID, sBillNo);
+//                } else {
+                    sql = "select * from OutStockbillEntry where 1=1 and Fnumber = ''{0}'' and FInterID = {1,number,#}";
+                    sql = MessageFormat.format(sql, Fnumber, FInterID);
+//                }
+
+                List<OutStockBillEntry> select = erpSqlServer.select(sql, OutStockBillEntry.class);
+                OutStockBillEntry outStockBillEntry = select.get(0);
+                boolean complete = false;
+                if (outStockBillEntry.getFQty().compareTo(BigDecimal.ZERO) == 1) {
+                    if (outStockBillEntry.getFAuxCommitQty().compareTo(outStockBillEntry.getFQty()) > -1) {
+                        complete = true;
+                    }
+                } else {
+                    if (outStockBillEntry.getFAuxCommitQty().compareTo(outStockBillEntry.getFAuxQty()) > -1) {
+                        complete = true;
+                    }
+                }
+                if (complete) {
+                    sql = "select * from OutStockbillEntry where 1=1 and FInterID = {1,number,#} and FAuxCommitQty != FQty";
+                    sql = MessageFormat.format(sql, Fnumber, FInterID);
+                    List<OutStockBillEntry> select1 = erpSqlServer.select(sql, OutStockBillEntry.class);
+                    if(select1.size()<1){
+                        if (!completeCPakOut(FBillNo) ) {
+                            log.error("{}鍑哄簱鍗曟爣璁板畬鎴愬け璐�", FBillNo);
+                        }
+                        int updateCount = jdbcTemplate.update("update OutStockbill set Fflag_finish=1 where FBillNo='" + FBillNo + "'");
+                        if(updateCount<=0){
+                            throw new CoolException("鏇存柊鍑哄簱閫氱煡妗e畬鎴愭爣璁板け璐FBillNo="+FBillNo+"]");
+                        }
+                    }
+                }
+                return true;
+            } else {
+                return false;
+            }
+        }catch (Exception e){
+            String msg = "incrementCPakOut鎴愬搧澧為噺鍑哄簱澶辫触[FInterID={0},Fnumber={1},FBillNo={2}]\n";
+            msg = MessageFormat.format(msg,FInterID,Fnumber,FBillNo);
+            log.error(msg, e);
+//            e.printStackTrace();
+            log.error("incrementCPakOut----" + sql);
+            return false;
+        }
+
+    }
+
+    /* 鎴愬搧鍑哄簱鍗曟爣璁板畬鎴� */
+    private boolean completeCPakOut(String FBillNo){
+        String sql = "update OutStockbill set Fflag_finish = 1 where FBillNo = ''{0}''";
+        sql = MessageFormat.format(sql, FBillNo);
         return erpSqlServer.update(sql) > 0;
     }
 
 
-    /**
-     * 鍑哄簱鍗曟爣璁板畬鎴�
-     */
-    private boolean completePakOut(Integer fInterID){
-        String sql = "update OutStockBill set Fflag_finish = 1 where FInterID = {0,number,#}";
-        sql = MessageFormat.format(sql, fInterID);
-        return erpSqlServer.update(sql) > 0;
+//    public boolean updateFnumber(Integer itemId, String FNumber){
+//        String sql = "update InStockbillEntry set Fnumber = ''{0}'' where FItemID = {1,number,#}";
+//        sql = MessageFormat.format(sql, FNumber, itemId);
+//        return erpSqlServer.update(sql) > 0;
+//    }
+
+//    public boolean updateCFnumber(Integer itemId, String FNumber){
+//        String sql = "update CPICMO set Fnumber = ''{0}'' where FItemID = {1,number,#}";
+//        sql = MessageFormat.format(sql, FNumber, itemId);
+//        return erpSqlServer.update(sql) > 0;
+//    }
+
+    public List<CPICMO> queryErpCPICMO(String fbillNo, String fsourceBillNo) {
+        String sql = "select * from CPICMO";
+        if (!Cools.isEmpty(fbillNo) && Cools.isEmpty(fsourceBillNo)) {
+            sql = "select * from CPICMO where FBillNo = ''{0}''";
+            sql = MessageFormat.format(sql, fbillNo);
+        } else if (Cools.isEmpty(fbillNo) && !Cools.isEmpty(fsourceBillNo)) {
+            sql = "select * from CPICMO where FSourceBillNo = ''{0}''";
+            sql = MessageFormat.format(sql, fsourceBillNo);
+        } else if (!Cools.isEmpty(fbillNo) && !Cools.isEmpty(fsourceBillNo)) {
+            sql = "select * from CPICMO where FBillNo = ''{0}'' and FSourceBillNo = ''{1}''";
+            sql = MessageFormat.format(sql, fbillNo, fsourceBillNo);
+        }
+        return erpSqlServer.select(sql, CPICMO.class);
     }
-
-    public boolean syncOutStock() {
-        return erpSqlServer.update("MERGE INTO xtyasrs.dbo.OutStockBill AS a \n" +
-                "USING (SELECT * FROM  xtyasrs_dual.dbo.OutStockBill c)\n" +
-                "AS b\n" +
-                " ON a.FInterID = b.FInterID\n" +
-                "WHEN MATCHED THEN\n" +
-                "UPDATE SET \n" +
-                "FBrNo = b.FBrNo,\n" +
-                "FInterID = b.FInterID,\n" +
-                "FBillNo = b.FBillNo,\n" +
-                "FTranType = b.FTranType,\n" +
-                "FSalType = b.FSalType,\n" +
-                "FCustID = b.FCustID,\n" +
-                "FDate = b.FDate,\n" +
-                "FStockID = b.FStockID,\n" +
-                "FAdd = b.FAdd,\n" +
-                "FNote = b.FNote,\n" +
-                "FEmpID = b.FEmpID,\n" +
-                "FCheckerID = b.FCheckerID,\n" +
-                "FBillerID = b.FBillerID,\n" +
-                "FManagerID = b.FManagerID,\n" +
-                "FClosed = b.FClosed,\n" +
-                "FInvoiceClosed = b.FInvoiceClosed,\n" +
-                "FBClosed = b.FBClosed,\n" +
-                "FDeptID = b.FDeptID,\n" +
-                "FSettleID = b.FSettleID,\n" +
-                "FTranStatus = b.FTranStatus,\n" +
-                "FExchangeRate = b.FExchangeRate,\n" +
-                "FCurrencyID = b.FCurrencyID,\n" +
-                "FStatus = b.FStatus,\n" +
-                "FCancellation = b.FCancellation,\n" +
-                "FMultiCheckLevel1 = b.FMultiCheckLevel1,\n" +
-                "FMultiCheckLevel2 = b.FMultiCheckLevel2,\n" +
-                "FMultiCheckLevel3 = b.FMultiCheckLevel3,\n" +
-                "FMultiCheckLevel4 = b.FMultiCheckLevel4,\n" +
-                "FMultiCheckLevel5 = b.FMultiCheckLevel5,\n" +
-                "FMultiCheckLevel6 = b.FMultiCheckLevel6,\n" +
-                "FMultiCheckDate1 = b.FMultiCheckDate1,\n" +
-                "FMultiCheckDate2 = b.FMultiCheckDate2,\n" +
-                "FMultiCheckDate3 = b.FMultiCheckDate3,\n" +
-                "FMultiCheckDate4 = b.FMultiCheckDate4,\n" +
-                "FMultiCheckDate5 = b.FMultiCheckDate5,\n" +
-                "FMultiCheckDate6 = b.FMultiCheckDate6,\n" +
-                "FCurCheckLevel = b.FCurCheckLevel,\n" +
-                "FRelateBrID = b.FRelateBrID,\n" +
-                "FCheckDate = b.FCheckDate,\n" +
-                "FExplanation = b.FExplanation,\n" +
-                "FFetchAdd = b.FFetchAdd,\n" +
-                "FSelTranType = b.FSelTranType,\n" +
-                "FChildren = b.FChildren,\n" +
-                "FBrID = b.FBrID,\n" +
-                "FAreaPS = b.FAreaPS,\n" +
-                "FPOOrdBillNo = b.FPOOrdBillNo,\n" +
-                "FManageType = b.FManageType,\n" +
-                "FPrintCount = b.FPrintCount,\n" +
-                "Fflag_rw = b.Fflag_rw,\n" +
-                "Fflag_finish = b.Fflag_finish,\n" +
-                "FWeiOrder = b.FWeiOrder,\n" +
-                "FWeiOpenID = b.FWeiOpenID,\n" +
-                "FOrderBillNo = b.FOrderBillNo,\n" +
-                "FWLNumber = b.FWLNumber,\n" +
-                "FWLCompany = b.FWLCompany,\n" +
-                "FReturnFundType = b.FReturnFundType\n" +
-                "WHEN NOT MATCHED  THEN\n" +
-                "\tINSERT (FBrNo, FInterID, FBillNo, FTranType, FSalType, FCustID, FDate, FStockID, FAdd, FNote, FEmpID, FCheckerID, FBillerID, FManagerID, FClosed, FInvoiceClosed, FBClosed, FDeptID, FSettleID, FTranStatus, FExchangeRate, FCurrencyID, FStatus, FCancellation, FMultiCheckLevel1, FMultiCheckLevel2, FMultiCheckLevel3, FMultiCheckLevel4, FMultiCheckLevel5, FMultiCheckLevel6, FMultiCheckDate1, FMultiCheckDate2, FMultiCheckDate3, FMultiCheckDate4, FMultiCheckDate5, FMultiCheckDate6, FCurCheckLevel, FRelateBrID, FCheckDate, FExplanation, FFetchAdd, FSelTranType, FChildren, FBrID, FAreaPS, FPOOrdBillNo, FManageType, FPrintCount, Fflag_rw, Fflag_finish, FWeiOrder, FWeiOpenID, FOrderBillNo, FWLNumber, FWLCompany, FReturnFundType) \n" +
-                "\tVALUES (b.FBrNo, b.FInterID, b.FBillNo, FTranType, FSalType, FCustID, FDate, FStockID, FAdd, FNote, FEmpID, FCheckerID, FBillerID, FManagerID, FClosed, FInvoiceClosed, FBClosed, FDeptID, FSettleID, FTranStatus, FExchangeRate, FCurrencyID, FStatus, FCancellation, FMultiCheckLevel1, FMultiCheckLevel2, FMultiCheckLevel3, FMultiCheckLevel4, FMultiCheckLevel5, FMultiCheckLevel6, FMultiCheckDate1, FMultiCheckDate2, FMultiCheckDate3, FMultiCheckDate4, FMultiCheckDate5, FMultiCheckDate6, FCurCheckLevel, FRelateBrID, FCheckDate, FExplanation, FFetchAdd, FSelTranType, FChildren, FBrID, FAreaPS, FPOOrdBillNo, FManageType, FPrintCount, Fflag_rw, Fflag_finish, FWeiOrder, FWeiOpenID, FOrderBillNo, FWLNumber, FWLCompany, FReturnFundType);")> 0;
-    }
-
-    public boolean syncOutStockDetail() {
-        return erpSqlServer.update("MERGE INTO xtyasrs.dbo.OutStockBillEntry AS a \n" +
-                "USING (SELECT * FROM  xtyasrs_dual.dbo.OutStockBillEntry c)\n" +
-                "AS b\n" +
-                " ON (a.FInterID = b.FInterID and a.FEntryID = b.FEntryID)\n" +
-                "WHEN MATCHED THEN\n" +
-                "UPDATE SET\n" +
-                "FBrNo = b.FBrNo,\n" +
-                "FInterID = b.FInterID,\n" +
-                "FEntryID = b.FEntryID,\n" +
-                "FDetailID = b.FDetailID,\n" +
-                "FItemID = b.FItemID,\n" +
-                "FQty = b.FQty,\n" +
-                "FCommitQty = b.FCommitQty,\n" +
-                "FPrice = b.FPrice,\n" +
-                "FAmount = b.FAmount,\n" +
-                "FOrderInterID = b.FOrderInterID,\n" +
-                "FDate = b.FDate,\n" +
-                "FNote = b.FNote,\n" +
-                "FInvoiceQty = b.FInvoiceQty,\n" +
-                "FBCommitQty = b.FBCommitQty,\n" +
-                "FUnitID = b.FUnitID,\n" +
-                "FAuxBCommitQty = b.FAuxBCommitQty,\n" +
-                "FAuxCommitQty = b.FAuxCommitQty,\n" +
-                "FAuxInvoiceQty = b.FAuxInvoiceQty,\n" +
-                "FAuxPrice = b.FAuxPrice,\n" +
-                "FAuxQty = b.FAuxQty,\n" +
-                "FSourceEntryID = b.FSourceEntryID,\n" +
-                "FMapNumber = b.FMapNumber,\n" +
-                "FMapName = b.FMapName,\n" +
-                "FAuxPropID = b.FAuxPropID,\n" +
-                "FBatchNo = b.FBatchNo,\n" +
-                "FCheckDate = b.FCheckDate,\n" +
-                "FExplanation = b.FExplanation,\n" +
-                "FFetchAdd = b.FFetchAdd,\n" +
-                "FFetchDate = b.FFetchDate,\n" +
-                "FMultiCheckDate1 = b.FMultiCheckDate1,\n" +
-                "FMultiCheckDate2 = b.FMultiCheckDate2,\n" +
-                "FMultiCheckDate3 = b.FMultiCheckDate3,\n" +
-                "FMultiCheckDate4 = b.FMultiCheckDate4,\n" +
-                "FMultiCheckDate5 = b.FMultiCheckDate5,\n" +
-                "FMultiCheckDate6 = b.FMultiCheckDate6,\n" +
-                "FSecCoefficient = b.FSecCoefficient,\n" +
-                "FSecQty = b.FSecQty,\n" +
-                "FSecCommitQty = b.FSecCommitQty,\n" +
-                "FSourceTranType = b.FSourceTranType,\n" +
-                "FSourceInterId = b.FSourceInterId,\n" +
-                "FSourceBillNo = b.FSourceBillNo,\n" +
-                "FContractInterID = b.FContractInterID,\n" +
-                "FContractEntryID = b.FContractEntryID,\n" +
-                "FContractBillNo = b.FContractBillNo,\n" +
-                "FOrderEntryID = b.FOrderEntryID,\n" +
-                "FOrderBillNo = b.FOrderBillNo,\n" +
-                "FStockID = b.FStockID,\n" +
-                "FBackQty = b.FBackQty,\n" +
-                "FAuxBackQty = b.FAuxBackQty,\n" +
-                "FSecBackQty = b.FSecBackQty,\n" +
-                "FStdAmount = b.FStdAmount,\n" +
-                "FPlanMode = b.FPlanMode,\n" +
-                "FMTONo = b.FMTONo,\n" +
-                "FStockQtyOnlyForShow = b.FStockQtyOnlyForShow,\n" +
-                "FComplexQty = b.FComplexQty,\n" +
-                "Fmodel = b.Fmodel,\n" +
-                "Fname = b.Fname,\n" +
-                "Fnumber = b.Fnumber,\n" +
-                "FBarCode = b.FBarCode,\n" +
-                "FBTPLCommitQty = b.FBTPLCommitQty,\n" +
-                "FTPLCommitQty = b.FTPLCommitQty,\n" +
-                "fsecinvoiceqty = b.fsecinvoiceqty\n" +
-                "WHEN NOT MATCHED  THEN\n" +
-                "\tINSERT (FBrNo, FInterID, FEntryID, FDetailID, FItemID, FQty, FCommitQty, FPrice, FAmount, FOrderInterID, FDate, FNote, FInvoiceQty, FBCommitQty, FUnitID, FAuxBCommitQty, FAuxCommitQty, FAuxInvoiceQty, FAuxPrice, FAuxQty, FSourceEntryID, FMapNumber, FMapName, FAuxPropID, FBatchNo, FCheckDate, FExplanation, FFetchAdd, FFetchDate, FMultiCheckDate1, FMultiCheckDate2, FMultiCheckDate3, FMultiCheckDate4, FMultiCheckDate5, FMultiCheckDate6, FSecCoefficient, FSecQty, FSecCommitQty, FSourceTranType, FSourceInterId, FSourceBillNo, FContractInterID, FContractEntryID, FContractBillNo, FOrderEntryID, FOrderBillNo, FStockID, FBackQty, FAuxBackQty, FSecBackQty, FStdAmount, FPlanMode, FMTONo, FStockQtyOnlyForShow, FComplexQty, Fmodel, Fname, Fnumber, FBarCode, FBTPLCommitQty, FTPLCommitQty, fsecinvoiceqty) \n" +
-                "\tVALUES (b.FBrNo, b.FInterID, b.FEntryID, b.FDetailID, b.FItemID, b.FQty, b.FCommitQty, b.FPrice, b.FAmount, b.FOrderInterID, b.FDate, b.FNote, b.FInvoiceQty, b.FBCommitQty, b.FUnitID, b.FAuxBCommitQty, b.FAuxCommitQty, b.FAuxInvoiceQty, b.FAuxPrice, b.FAuxQty, b.FSourceEntryID, b.FMapNumber, b.FMapName, b.FAuxPropID, b.FBatchNo, b.FCheckDate, b.FExplanation, b.FFetchAdd, b.FFetchDate, b.FMultiCheckDate1, b.FMultiCheckDate2, b.FMultiCheckDate3, b.FMultiCheckDate4, b.FMultiCheckDate5, b.FMultiCheckDate6, b.FSecCoefficient, b.FSecQty, b.FSecCommitQty, b.FSourceTranType, b.FSourceInterId, b.FSourceBillNo, b.FContractInterID, b.FContractEntryID, b.FContractBillNo, b.FOrderEntryID, b.FOrderBillNo, b.FStockID, b.FBackQty, b.FAuxBackQty, b.FSecBackQty, b.FStdAmount, b.FPlanMode, b.FMTONo, b.FStockQtyOnlyForShow, b.FComplexQty, b.Fmodel, b.Fname, b.Fnumber, b.FBarCode, b.FBTPLCommitQty, b.FTPLCommitQty, b.fsecinvoiceqty);")> 0;
-    }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    public boolean updateFnumber(Integer itemId, String FNumber){
-        String sql = "update InStockbillEntry set Fnumber = ''{0}'' where FItemID = {1,number,#}";
-        sql = MessageFormat.format(sql, FNumber, itemId);
-        return erpSqlServer.update(sql) > 0;
-    }
-
-    public boolean updateCFnumber(Integer itemId, String FNumber){
-        String sql = "update CPICMO set Fnumber = ''{0}'' where FItemID = {1,number,#}";
-        sql = MessageFormat.format(sql, FNumber, itemId);
-        return erpSqlServer.update(sql) > 0;
-    }
-
 }

--
Gitblit v1.9.1