fubin 3 سال پیش
والد
کامیت
56dff99e3f
2فایلهای تغییر یافته به همراه221 افزوده شده و 212 حذف شده
  1. 215 207
      DK.Service/PMModuleLogic/PMModuleLogicDAL.cs
  2. 6 5
      WCF.Service/WCF.Hosting/Config.ini

+ 215 - 207
DK.Service/PMModuleLogic/PMModuleLogicDAL.cs

@@ -21814,97 +21814,102 @@ updateuserid=:updateuserid where barcode=:barcode";
                 {
                     //调用新报工接口
                     #region
-                    //INIUtility sap_hegii = INIUtility.Instance(INIUtility.IniFile.SAP_HEGII);
-                    //workcode = sap_hegii.ReadIniData("SAP_NEW_INFO", "Factory");
-                    workcode = "5310"; //原5010
+                    INIUtility sap_hegii = INIUtility.Instance(INIUtility.IniFile.SAP_HEGII);
+                    workcode = sap_hegii.ReadIniData("SAP_NEW_INFO", "Factory");
+                    //workcode = "5310"; //原5010
                     //workcode = "5320"; //原5011
 
-                    sqlString =
-                        @" SELECT :yyyymmdd AS yyyymmdd
-                          ,SYSDATE AS createtime
-                          ,tt.goodscode GROES
-                          , tt.sapcode MATNR
-                           , tt.usercode ZGHNU
-                            , tt.ordercode VBELN
-                             , tt.orderitem POSNR
-                              , decode(tt.testmouldflag,0,'C',1,'Y','') ZSCMS
-                          -- ,tt.zscs
-                          ,'T' AS zscs
-                          , to_char(tt.outputnum) AS ZCLNG
-                           , to_char(tt.recoverynum) AS ZHSNG
-                                                  , :workcode WERKS
-										      , '60' ZJDNU
-							          ,to_char(SYSDATE, 'YYYYMMDD') ZSCNU
-							          ,to_char(SYSDATE, 'HH24MISS') ZKSSJ
-							          ,to_char(SYSDATE, 'YYYYMMDDHH24MISS') ZJSRQ
-										    ,'0' ZSPNG
-										    ,'0' ZQCNG
-										    ,'0' ZGBNG
-										    ,to_char(tt.WORKSHOP) ZSCCJ
-										    ,'60' datacode
-                      FROM(SELECT t.goodscode
-                                  , t.sapcode
-                                  , t.usercode
-                                  , t.ordercode
-                                  , t.orderitem
-                                  , t.testmouldflag
-                                  , t.zscs
-                                  , t.WORKSHOP
-                                  , SUM(decode(t.recyclingflag, '1', 0, 1)) outputnum
-                                  , SUM(decode(t.recyclingflag, '0', 0, 1)) recoverynum
-                              FROM(SELECT bar.goodscode
-                                          , bar.materialcode sapcode
-                                          , gh.fhusercode usercode
-                                          , o.orderno
-                                          , bar.recyclingflag
-                                          , bar.testmouldflag
-                                          , decode(bar.testmouldflag, '0', '', decode(g.goods_line_code, 'G', 'A', 'M', 'A', 'L', 'B', '')) as zscs
-                                          , CASE
-                                               WHEN o.orderid IS NULL
-                                                    OR o.orderno LIKE 'HEGII%' THEN
+                    sqlString = @" 
+                    SELECT TO_CHAR(SYSDATE, 'YYYYMMDD') AS YYYYMMDD,
+                           SYSDATE AS CREATETIME,
+                           TT.GOODSCODE GROES,
+                           TT.SAPCODE MATNR,
+                           TT.USERCODE ZGHNU,
+                           TT.ORDERCODE VBELN,
+                           TT.ORDERITEM POSNR,
+                           'C' AS ZSCMS,
+                           'T' AS ZSCS,
+                           TO_CHAR(TT.OUTPUTNUM) AS ZCLNG,
+                           TO_CHAR(TT.RECOVERYNUM) AS ZHSNG,
+                           :WORKCODE AS WERKS,
+                           '60' ZJDNU,
+                           TO_CHAR(SYSDATE, 'YYYYMMDD') ZSCNU,
+                           TO_CHAR(SYSDATE, 'HH24MISS') ZKSSJ,
+                           TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS') ZJSRQ,
+                           '0' ZSPNG,
+                           '0' ZQCNG,
+                           '0' ZGBNG,
+                           TO_CHAR(TT.WORKSHOP) ZSCCJ,
+                           '60' DATACODE,
+                           TT.CHARG
+                      FROM (SELECT T.GOODSCODE,
+                                   T.SAPCODE,
+                                   T.USERCODE,
+                                   T.ORDERCODE,
+                                   T.ORDERITEM,
+                                   T.WORKSHOP,
+                                   T.CHARG,
+                                   SUM(DECODE(T.RECYCLINGFLAG, '1', 0, 1)) OUTPUTNUM,
+                                   SUM(DECODE(T.RECYCLINGFLAG, '0', 0, 1)) RECOVERYNUM
+                              FROM (SELECT BAR.GOODSCODE,
+                                           BAR.MATERIALCODE SAPCODE,
+                                           GH.FHUSERCODE USERCODE,
+                                           O.ORDERNO,
+                                           BAR.RECYCLINGFLAG,
+                                           CASE
+                                               WHEN O.ORDERID IS NULL
+                                                    OR O.ORDERNO LIKE 'HEGII%' THEN
                                                 ' '
-                                               WHEN instr(o.orderno, '/') = 0 THEN
-                                                to_char(o.orderno)
+                                               WHEN INSTR(O.ORDERNO, '/') = 0 THEN
+                                                TO_CHAR(O.ORDERNO)
                                                ELSE
-                                                to_char(substr(o.orderno, 1, instr(o.orderno, '/') - 1))
-                                           END ordercode-- 销售凭证
-                                          , CASE
-                                               WHEN o.orderid IS NULL
-                                                    OR o.orderno LIKE 'HEGII%'
-                                                    OR instr(o.orderno, '/') = 0 THEN
+                                                TO_CHAR(SUBSTR(O.ORDERNO, 1, INSTR(O.ORDERNO, '/') - 1))
+                                           END ORDERCODE -- 销售凭证
+                                          ,
+                                           CASE
+                                               WHEN O.ORDERID IS NULL
+                                                    OR O.ORDERNO LIKE 'HEGII%'
+                                                    OR INSTR(O.ORDERNO, '/') = 0 THEN
                                                 '0'
-                                               WHEN instr(o.orderno, '#') = 0 THEN
-                                                to_char(substr(o.orderno, instr(o.orderno, '/') + 1))
+                                               WHEN INSTR(O.ORDERNO, '#') = 0 THEN
+                                                TO_CHAR(SUBSTR(O.ORDERNO, INSTR(O.ORDERNO, '/') + 1))
                                                ELSE
-                                                to_char(substr(o.orderno
-                                                              , instr(o.orderno, '/') + 1
-                                                              , instr(o.orderno, '#') - instr(o.orderno, '/') - 1))
-                                           END orderitem,
-                                           1 AS WORKSHOP
-                                      FROM tp_pm_groutingdailydetail bar
-                                     INNER JOIN tp_pm_finishedproduct gh
-                                        ON bar.groutingdailydetailid = gh.groutingdailydetailid
-                                     INNER JOIN tp_mst_goods g
-                                        ON g.goodsid = bar.goodsid
-                                     INNER JOIN TP_MST_GOODSTYPE GT ON GT.GOODSTYPEID = G.GOODSTYPEID
-                                     LEFT JOIN tp_pm_order o
-                                        ON o.orderid = gh.fhorderid where 1 = 1 " + fifter + @" ) t
-                             GROUP BY t.goodscode
-                                     , t.sapcode
-                                     , t.usercode
-                                     , t.ordercode
-                                     , t.orderitem, t.testmouldflag, t.zscs, t.WORKSHOP) tt
-                        WHERE tt.outputnum <> 0 OR tt.recoverynum <> 0
-                     ORDER BY tt.goodscode
-                             ,tt.sapcode
-                             ,tt.usercode
-                             ,tt.ordercode
-                             ,tt.orderitem,tt.zscs, tt.WORKSHOP";
+                                                TO_CHAR(SUBSTR(O.ORDERNO
+                                                              ,INSTR(O.ORDERNO, '/') + 1
+                                                              ,INSTR(O.ORDERNO, '#') - INSTR(O.ORDERNO, '/') - 1))
+                                           END ORDERITEM,
+                                           1 AS WORKSHOP,
+                                           TO_CHAR(GH.FHTIME, 'yyyymm') AS CHARG
+                                      FROM TP_PM_GROUTINGDAILYDETAIL BAR
+                                     INNER JOIN TP_PM_FINISHEDPRODUCT GH
+                                        ON BAR.GROUTINGDAILYDETAILID = GH.GROUTINGDAILYDETAILID
+                                     INNER JOIN TP_MST_GOODS G
+                                        ON G.GOODSID = BAR.GOODSID
+                                     INNER JOIN TP_MST_GOODSTYPE GT
+                                        ON GT.GOODSTYPEID = G.GOODSTYPEID
+                                      LEFT JOIN TP_PM_ORDER O
+                                        ON O.ORDERID = GH.FHORDERID
+                                     WHERE 1 = 1 " + fifter + @") T
+                             GROUP BY T.GOODSCODE,
+                                      T.SAPCODE,
+                                      T.USERCODE,
+                                      T.ORDERCODE,
+                                      T.ORDERITEM,
+                                      T.WORKSHOP,
+                                      T.CHARG) TT
+                     WHERE TT.OUTPUTNUM <> 0
+                        OR TT.RECOVERYNUM <> 0
+                     ORDER BY TT.GOODSCODE,
+                              TT.SAPCODE,
+                              TT.USERCODE,
+                              TT.ORDERCODE,
+                              TT.ORDERITEM,
+                              TT.WORKSHOP,
+                              TT.CHARG ";
 
                     oracleParameter = new OracleParameter[]
                     {
-                        new OracleParameter(":workcode", workcode),
-                        new OracleParameter(":yyyymmdd", yyyymmdd)
+                        new OracleParameter(":WORKCODE", workcode)
                     };
                     DataTable workData5000 = oracleTrConn.GetSqlResultToDt(sqlString, oracleParameter);
 
@@ -21957,7 +21962,7 @@ updateuserid=:updateuserid where barcode=:barcode";
                            "  ,ORDERITEM\n" +
                            "  ,testmouldflag\n" +
                            "  ,zscs\n" +
-                           "  ,LogID,createtime,workdataid)\n" +
+                           "  ,LogID,createtime,workdataid,charg)\n" +
                            "values\n" +
                            "  ('" + yyyymmdd + "'\n" +
                            "  ,:workcode\n" +
@@ -21972,7 +21977,7 @@ updateuserid=:updateuserid where barcode=:barcode";
                            "  ,:ORDERITEM\n" +
                            "  ,:testmouldflag\n" +
                            "  ,:zscs\n" +
-                           "  ," + logid_bg + ",:createtime,:workdataid)";
+                           "  ," + logid_bg + ",:createtime,:workdataid,:charg)";
 
                     DateTime now = DateTime.Now;
                     foreach (DataRow item in workData5000.Rows)
@@ -21994,12 +21999,13 @@ updateuserid=:updateuserid where barcode=:barcode";
                             new OracleParameter(":zscs",  item["ZSCS"].ToString()),
                             new OracleParameter(":createtime", OracleDbType.Date,item["createtime"], ParameterDirection.Input),
                             new OracleParameter(":workdataid",  workdataid),
+                            new OracleParameter(":charg",  item["CHARG"].ToString()),
                         };
                         r = oracleTrConn.ExecuteNonQuery(sqlString, oracleParameter);
                     }
 
                     sqlString = "SELECT TO_CHAR(wd.yyyymmdd) yyyymmdd\n" +
-                                    "      ,:workcode WERKS\n" +
+                                    "      ,wd.workcode WERKS\n" +
                                     "      ,TO_CHAR(wd.goodscode) GROES\n" +
                                     "      ,TO_CHAR(wd.sapcode) MATNR\n" +
                                     "      ,TO_CHAR(wd.usercode) ZGHNU\n" +
@@ -22018,21 +22024,18 @@ updateuserid=:updateuserid where barcode=:barcode";
                                     "      -- ,TO_CHAR(wd.zscs) zscs\n" +
                                     "      ,'T' AS zscs\n" +
                                     "      ,TO_CHAR(wd.WORKSHOP) ZSCCJ\n" +
-                                    "      ,TO_CHAR( :yyyymm) CHARG\n" +
+                                    "      ,WD.CHARG\n" +
                                     "      ,TO_CHAR(60) datacode\n" +
-                                    "      ,:workcode || LPAD(DL.LOGID, 10,'0') AS ZID\n" +
+                                    "      ,wd.workcode || LPAD(DL.LOGID, 10,'0') AS ZID\n" +
                                     "  FROM tsap_hegii_workdata_bg wd\n" +
                                     "  INNER JOIN TSAP_HEGII_DATALOG_BG DL\n" +
                                     "  ON wd.LOGID = DL.LOGID \n" +
                                     " WHERE wd.logid = :logid";
 
-                    string yyyymm = date.ToString("yyyyMM");
                     OracleParameter[] par = null;
                     par = new OracleParameter[]
                     {
-                        new OracleParameter(":workcode", workcode),
                         new OracleParameter(":logid", OracleDbType.Int32, logid_bg, ParameterDirection.Input),
-                        new OracleParameter(":yyyymm",yyyymm),
                     };
 
                     DataTable dtt = oracleTrConn.GetSqlResultToDt(sqlString, par);
@@ -22978,97 +22981,101 @@ updateuserid=:updateuserid where barcode=:barcode";
                 }
                 else
                 {
-                    //INIUtility sap_hegii = INIUtility.Instance(INIUtility.IniFile.SAP_HEGII);
-                    //workcode = sap_hegii.ReadIniData("SAP_NEW_INFO", "Factory");
-                    workcode = "5310"; //原5010
+                    INIUtility sap_hegii = INIUtility.Instance(INIUtility.IniFile.SAP_HEGII);
+                    workcode = sap_hegii.ReadIniData("SAP_NEW_INFO", "Factory");
+                    //workcode = "5310"; //原5010
                     //workcode = "5320"; //原5011
-                    sqlString =
-                        @"SELECT :yyyymmdd AS yyyymmdd
-                          ,SYSDATE AS createtime
-                          ,tt.goodscode GROES
-                          , tt.sapcode MATNR
-                           , tt.usercode ZGHNU
-                            , tt.ordercode VBELN
-                             , tt.orderitem POSNR
-                              , decode(tt.testmouldflag, 0, 'C', 1, 'Y', '') ZSCMS
-                              --       ,tt.zscs
-			                    ,'T' AS zscs
-                          , to_char(tt.outputnum) AS ZCLNG
-                           , to_char(tt.recoverynum) AS ZHSNG
-                                  ,:workcode WERKS
-			                    , '60' ZJDNU
-			                    ,to_char(SYSDATE, 'YYYYMMDD') ZSCNU
-			                    ,to_char(SYSDATE, 'HH24MISS') ZKSSJ
-			                    ,to_char(SYSDATE, 'YYYYMMDDHH24MISS') ZJSRQ
-			                    ,'0' ZSPNG
-			                    ,'0' ZQCNG
-			                    ,'0' ZGBNG
-			                    ,to_char(tt.WORKSHOP) ZSCCJ
-			                    ,'0' datacode
-                      FROM(SELECT t.goodscode
-                                  , t.sapcode
-                                  , t.usercode
-                                  , t.ordercode
-                                  , t.orderitem
-                                  , t.testmouldflag
-                                  , t.zscs
-                                  , t.WORKSHOP
-                                  , 0 - SUM(decode(t.recyclingflag, '1', 0, 1)) outputnum
-                                  , 0 - SUM(decode(t.recyclingflag, '0', 0, 1)) recoverynum
-                              FROM(SELECT bar.goodscode
-                                          , bar.materialcode sapcode
-                                          , gh.fhusercode usercode
-                                          , o.orderno
-                                          , bar.recyclingflag
-                                          , bar.testmouldflag
-                                          , decode(bar.testmouldflag, '0', '', decode(g.goods_line_code, 'G', 'A', 'M', 'A', 'L', 'B', '')) as zscs
-                                          , CASE
-                                               WHEN o.orderid IS NULL
-                                                    OR o.orderno LIKE 'HEGII%' THEN
+                    sqlString = @"
+                    SELECT TO_CHAR(SYSDATE, 'YYYYMMDD') AS YYYYMMDD,
+                           SYSDATE AS CREATETIME,
+                           TT.GOODSCODE GROES,
+                           TT.SAPCODE MATNR,
+                           TT.USERCODE ZGHNU,
+                           TT.ORDERCODE VBELN,
+                           TT.ORDERITEM POSNR,
+                           'C' AS ZSCMS,
+                           'T' AS ZSCS,
+                           TO_CHAR(TT.OUTPUTNUM) AS ZCLNG,
+                           TO_CHAR(TT.RECOVERYNUM) AS ZHSNG,
+                           :WORKCODE WERKS,
+                           '60' ZJDNU,
+                           TO_CHAR(SYSDATE, 'YYYYMMDD') ZSCNU,
+                           TO_CHAR(SYSDATE, 'HH24MISS') ZKSSJ,
+                           TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS') ZJSRQ,
+                           '0' ZSPNG,
+                           '0' ZQCNG,
+                           '0' ZGBNG,
+                           TO_CHAR(TT.WORKSHOP) ZSCCJ,
+                           '0' DATACODE,
+                           TT.CHARG
+                      FROM (SELECT T.GOODSCODE,
+                                   T.SAPCODE,
+                                   T.USERCODE,
+                                   T.ORDERCODE,
+                                   T.ORDERITEM,
+                                   T.WORKSHOP,
+                                   T.CHARG,
+                                   0 - SUM(DECODE(T.RECYCLINGFLAG, '1', 0, 1)) OUTPUTNUM,
+                                   0 - SUM(DECODE(T.RECYCLINGFLAG, '0', 0, 1)) RECOVERYNUM
+                              FROM (SELECT BAR.GOODSCODE,
+                                           BAR.MATERIALCODE SAPCODE,
+                                           GH.FHUSERCODE USERCODE,
+                                           O.ORDERNO,
+                                           BAR.RECYCLINGFLAG,
+                                           CASE
+                                               WHEN O.ORDERID IS NULL
+                                                    OR O.ORDERNO LIKE 'HEGII%' THEN
                                                 ' '
-                                               WHEN instr(o.orderno, '/') = 0 THEN
-                                                to_char(o.orderno)
+                                               WHEN INSTR(O.ORDERNO, '/') = 0 THEN
+                                                TO_CHAR(O.ORDERNO)
                                                ELSE
-                                                to_char(substr(o.orderno, 1, instr(o.orderno, '/') - 1))
-                                           END ordercode-- 销售凭证
-                                          , CASE
-                                               WHEN o.orderid IS NULL
-                                                    OR o.orderno LIKE 'HEGII%'
-                                                    OR instr(o.orderno, '/') = 0 THEN
+                                                TO_CHAR(SUBSTR(O.ORDERNO, 1, INSTR(O.ORDERNO, '/') - 1))
+                                           END ORDERCODE -- 销售凭证
+                                          ,
+                                           CASE
+                                               WHEN O.ORDERID IS NULL
+                                                    OR O.ORDERNO LIKE 'HEGII%'
+                                                    OR INSTR(O.ORDERNO, '/') = 0 THEN
                                                 '0'
-                                               WHEN instr(o.orderno, '#') = 0 THEN
-                                                to_char(substr(o.orderno, instr(o.orderno, '/') + 1))
+                                               WHEN INSTR(O.ORDERNO, '#') = 0 THEN
+                                                TO_CHAR(SUBSTR(O.ORDERNO, INSTR(O.ORDERNO, '/') + 1))
                                                ELSE
-                                                to_char(substr(o.orderno
-                                                              , instr(o.orderno, '/') + 1
-                                                              , instr(o.orderno, '#') - instr(o.orderno, '/') - 1))
-                                           END orderitem
-                                         , 1 AS WORKSHOP
-                                      FROM tp_pm_groutingdailydetail bar
-                                     INNER JOIN tp_pm_finishedproduct gh
-                                        ON bar.groutingdailydetailid = gh.groutingdailydetailid
-                                     INNER JOIN tp_mst_goods g
-                                        ON g.goodsid = bar.goodsid
-                                     INNER JOIN TP_MST_GOODSTYPE GT ON GT.GOODSTYPEID = G.GOODSTYPEID
-                                     LEFT JOIN tp_pm_order o
-                                        ON o.orderid = gh.fhorderid where 1 = 1 " + fifter + @") t
-                             GROUP BY t.goodscode
-                                     , t.sapcode
-                                     , t.usercode
-                                     , t.ordercode
-                                     , t.orderitem, t.testmouldflag, t.zscs,t.WORKSHOP) tt
-                        WHERE tt.outputnum <> 0
-                        OR tt.recoverynum <> 0
-                     ORDER BY tt.goodscode
-                             ,tt.sapcode
-                             ,tt.usercode
-                             ,tt.ordercode
-                             ,tt.orderitem,tt.zscs,tt.WORKSHOP";
+                                                TO_CHAR(SUBSTR(O.ORDERNO
+                                                              ,INSTR(O.ORDERNO, '/') + 1
+                                                              ,INSTR(O.ORDERNO, '#') - INSTR(O.ORDERNO, '/') - 1))
+                                           END ORDERITEM,
+                                           1 AS WORKSHOP,
+                                           TO_CHAR(GH.FHTIME, 'yyyymm') AS CHARG
+                                      FROM TP_PM_GROUTINGDAILYDETAIL BAR
+                                     INNER JOIN TP_PM_FINISHEDPRODUCT GH
+                                        ON BAR.GROUTINGDAILYDETAILID = GH.GROUTINGDAILYDETAILID
+                                     INNER JOIN TP_MST_GOODS G
+                                        ON G.GOODSID = BAR.GOODSID
+                                     INNER JOIN TP_MST_GOODSTYPE GT
+                                        ON GT.GOODSTYPEID = G.GOODSTYPEID
+                                      LEFT JOIN TP_PM_ORDER O
+                                        ON O.ORDERID = GH.FHORDERID
+                                     WHERE 1 = 1 " + fifter + @") T
+                             GROUP BY T.GOODSCODE,
+                                      T.SAPCODE,
+                                      T.USERCODE,
+                                      T.ORDERCODE,
+                                      T.ORDERITEM,
+                                      T.WORKSHOP,
+                                      T.CHARG) TT
+                     WHERE TT.OUTPUTNUM <> 0
+                        OR TT.RECOVERYNUM <> 0
+                     ORDER BY TT.GOODSCODE,
+                              TT.SAPCODE,
+                              TT.USERCODE,
+                              TT.ORDERCODE,
+                              TT.ORDERITEM,
+                              TT.WORKSHOP,
+                              TT.CHARG ";
 
                     oracleParameter = new OracleParameter[]
                     {
-                        new OracleParameter(":workcode", workcode),
-                        new OracleParameter(":yyyymmdd", yyyymmdd)
+                        new OracleParameter(":WORKCODE", workcode)
                     };
 
                     DataTable workData5000 = oracleTrConn.GetSqlResultToDt(sqlString, oracleParameter);
@@ -23120,7 +23127,7 @@ updateuserid=:updateuserid where barcode=:barcode";
                                     "  ,ORDERITEM\n" +
                                     "  ,testmouldflag\n" +
                                     "  ,zscs\n" +
-                                    "  ,LogID,createtime,workdataid)\n" +
+                                    "  ,LogID,createtime,workdataid,charg)\n" +
                                     "values\n" +
                                     "  ('" + yyyymmdd + "'\n" +
                                     "  ,:workcode\n" +
@@ -23135,7 +23142,7 @@ updateuserid=:updateuserid where barcode=:barcode";
                                     "  ,:ORDERITEM\n" +
                                     "  ,:testmouldflag\n" +
                                     "  ,:zscs\n" +
-                                    "  ," + logid_bg + ",:createtime,:workdataid)";
+                                    "  ," + logid_bg + ",:createtime,:workdataid,:charg)";
                     DateTime now = DateTime.Now;
                     foreach (DataRow item in workData5000.Rows)
                     {
@@ -23143,6 +23150,7 @@ updateuserid=:updateuserid where barcode=:barcode";
 
                         oracleParameter = new OracleParameter[]
                         {
+                            new OracleParameter(":workcode", workcode),
                             new OracleParameter(":GoodsCode", item["GROES"].ToString()),
                             new OracleParameter(":SAPCode",  item["MATNR"].ToString()),
                             new OracleParameter(":UserCode",  item["ZGHNU"].ToString()),
@@ -23155,52 +23163,52 @@ updateuserid=:updateuserid where barcode=:barcode";
                             new OracleParameter(":zscs",  item["ZSCS"].ToString()),
                             new OracleParameter(":createtime", OracleDbType.Date,item["createtime"], ParameterDirection.Input),
                             new OracleParameter(":workdataid",  workdataid),
+                            new OracleParameter(":charg", item["CHARG"].ToString()),
                         };
                         r = oracleTrConn.ExecuteNonQuery(sqlString, oracleParameter);
                     }
+
                     sqlString = "SELECT TO_CHAR(wd.yyyymmdd) yyyymmdd\n" +
-                                    "      ,:workcode WERKS\n" +
-                                    "      ,TO_CHAR(wd.goodscode) GROES\n" +
-                                    "      ,TO_CHAR(wd.sapcode) MATNR\n" +
-                                    "      ,TO_CHAR(wd.usercode) ZGHNU\n" +
-                                    "      ,TO_CHAR(wd.datacode) ZJDNU\n" +
-                                    "      ,to_char(sysdate, 'YYYYMMDD' ) ZSCNU\n" +
-                                    "      ,to_char(sysdate, 'HH24MISS' ) ZKSSJ\n" +
-                                    "      ,to_char(sysdate, 'YYYYMMDDHH24MISS' ) ZJSRQ\n" +
-                                    "      ,TO_CHAR(wd.ordercode) VBELN\n" +
-                                    "      ,TO_CHAR(wd.orderitem) POSNR\n" +
-                                    "      ,TO_CHAR(wd.outputnum) ZCLNG\n" +
-                                    "      ,TO_CHAR(wd.scrapnum) ZSPNG\n" +
-                                    "      ,TO_CHAR(wd.cleanupnum) ZQCNG\n" +
-                                    "      ,TO_CHAR(wd.recoverynum) ZHSNG\n" +
-                                    "      ,TO_CHAR(wd.repairnum) ZGBNG\n" +
-                                    "      ,TO_CHAR(wd.testmouldflag) ZSCMS\n" +
-                                    "      -- ,TO_CHAR(wd.zscs) zscs\n" +
-                                    "      ,'T' AS zscs\n" +
-                                    "      ,TO_CHAR(wd.WORKSHOP) ZSCCJ\n" +
-                                    "      ,TO_CHAR( :yyyymm) CHARG\n" +
-                                    "      ,TO_CHAR(60) datacode\n" +
-                                    "      ,:workcode || LPAD(DL.LOGID, 10,'0') AS ZID\n" +
-                                    "  FROM tsap_hegii_workdata_bg wd\n" +
-                                    "  INNER JOIN TSAP_HEGII_DATALOG_BG DL\n" +
-                                    "  ON wd.LOGID = DL.LOGID \n" +
-                                    " WHERE wd.logid = :logid";
+                                "      ,wd.WORKCODE WERKS\n" +
+                                "      ,TO_CHAR(wd.goodscode) GROES\n" +
+                                "      ,TO_CHAR(wd.sapcode) MATNR\n" +
+                                "      ,TO_CHAR(wd.usercode) ZGHNU\n" +
+                                "      ,TO_CHAR(wd.datacode) ZJDNU\n" +
+                                "      ,to_char(sysdate, 'YYYYMMDD' ) ZSCNU\n" +
+                                "      ,to_char(sysdate, 'HH24MISS' ) ZKSSJ\n" +
+                                "      ,to_char(sysdate, 'YYYYMMDDHH24MISS' ) ZJSRQ\n" +
+                                "      ,TO_CHAR(wd.ordercode) VBELN\n" +
+                                "      ,TO_CHAR(wd.orderitem) POSNR\n" +
+                                "      ,TO_CHAR(wd.outputnum) ZCLNG\n" +
+                                "      ,TO_CHAR(wd.scrapnum) ZSPNG\n" +
+                                "      ,TO_CHAR(wd.cleanupnum) ZQCNG\n" +
+                                "      ,TO_CHAR(wd.recoverynum) ZHSNG\n" +
+                                "      ,TO_CHAR(wd.repairnum) ZGBNG\n" +
+                                "      ,TO_CHAR(wd.testmouldflag) ZSCMS\n" +
+                                "      -- ,TO_CHAR(wd.zscs) zscs\n" +
+                                "      ,'T' AS zscs\n" +
+                                "      ,TO_CHAR(wd.WORKSHOP) ZSCCJ\n" +
+                                "      ,WD.CHARG\n" +
+                                "      ,TO_CHAR(60) datacode\n" +
+                                "      ,wd.WORKCODE || LPAD(DL.LOGID, 10,'0') AS ZID\n" +
+                                "  FROM tsap_hegii_workdata_bg wd\n" +
+                                "  INNER JOIN TSAP_HEGII_DATALOG_BG DL\n" +
+                                "  ON wd.LOGID = DL.LOGID \n" +
+                                " WHERE wd.logid = :logid";
 
-                    string yyyymm = date.ToString("yyyyMM");
                     OracleParameter[] par = null;
                     par = new OracleParameter[]
                     {
-                        new OracleParameter(":workcode", workcode),
                         new OracleParameter(":logid", OracleDbType.Int32, logid_bg, ParameterDirection.Input),
-                        new OracleParameter(":yyyymm",yyyymm),
                     };
 
                     DataTable dtt = oracleTrConn.GetSqlResultToDt(sqlString, par);
                     int num = dtt.Rows.Count;
 
-                    //string sq = "select SAP_INI_BG from TP_SYS_SAPCONFIG";
-                    //string SAP_ING_NEW = oracleTrConn.GetSqlResultToStr(sq);
-                    if (true)
+                    string sq = "select SAP_INI_BG from TP_SYS_SAPCONFIG";
+                    string SAP_ING_NEW = oracleTrConn.GetSqlResultToStr(sq);
+                    if (SAP_ING_NEW == "1")
+                    //if (true)
                     {
                         // 调用SAP接口
                         string postString = "{\"ZSUM\":" + num.ToString() + ",\"TABLE_IN\":{\"item\":" + JsonHelper.ToJson(ModelConvertHelper<BGToSAP>.ConvertToModel(dtt)) + "}}";

+ 6 - 5
WCF.Service/WCF.Hosting/Config.ini

@@ -3,12 +3,13 @@ ServiceName=
 Description=
 
 [DBSetting]
-DBIP=172.19.22.61
+DBIP=172.19.22.131
+#DBIP=172.19.22.61
 DBPort=1521
-#SID=ibossmes
-#DBUser=devhgcz
-SID=hgcz1
-DBUser=hgcz1
+SID=hgcz3
+DBUser=hgcz3
+#SID=hgcz1
+#DBUser=hgcz1
 DBPassword=etLHPkLTOLw=
 
 [WCFSetting]