|
|
@@ -13,6 +13,7 @@ using Dongke.IBOSS.PRD.WCF.DataModels;
|
|
|
using Oracle.ManagedDataAccess.Client;
|
|
|
using Newtonsoft.Json.Linq;
|
|
|
using Newtonsoft.Json;
|
|
|
+using System.Linq;
|
|
|
|
|
|
namespace Dongke.IBOSS.PRD.Service.SAPHegiiDataService
|
|
|
{
|
|
|
@@ -1069,24 +1070,24 @@ namespace Dongke.IBOSS.PRD.Service.SAPHegiiDataService
|
|
|
string yyyymmddhh24miss = date.ToString("yyyyMMddHH24miss");
|
|
|
int r = 0;
|
|
|
|
|
|
- // 查询出当前日志外,最新的一次日志
|
|
|
- string sqlString = "SELECT t.executedateend\n" +
|
|
|
- " FROM (SELECT dl.executedateend\n" +
|
|
|
- " FROM tsap_hegii_datalog_bg dl\n" +
|
|
|
- " WHERE dl.logtype = '3'\n" +
|
|
|
- " AND dl.datastuts = 'S'\n" +
|
|
|
- " AND dl.datacode = :datacode\n" +
|
|
|
- " AND dl.logid <> :logid\n" +
|
|
|
- " ORDER BY dl.executedateend DESC) t\n" +
|
|
|
- " WHERE rownum = 1";
|
|
|
+ //// 查询出当前日志外,最新的一次日志
|
|
|
+ //string sqlString = "SELECT t.executedateend\n" +
|
|
|
+ // " FROM (SELECT dl.executedateend\n" +
|
|
|
+ // " FROM tsap_hegii_datalog_bg dl\n" +
|
|
|
+ // " WHERE dl.logtype = '3'\n" +
|
|
|
+ // " AND dl.datastuts = 'S'\n" +
|
|
|
+ // " AND dl.datacode = :datacode\n" +
|
|
|
+ // " AND dl.logid <> :logid\n" +
|
|
|
+ // " ORDER BY dl.executedateend DESC) t\n" +
|
|
|
+ // " WHERE rownum = 1";
|
|
|
|
|
|
- paras = new OracleParameter[]
|
|
|
- {
|
|
|
- new OracleParameter(":datacode", datacode),
|
|
|
- new OracleParameter(":logid", logid)
|
|
|
- };
|
|
|
+ //paras = new OracleParameter[]
|
|
|
+ //{
|
|
|
+ // new OracleParameter(":datacode", datacode),
|
|
|
+ // new OracleParameter(":logid", logid)
|
|
|
+ //};
|
|
|
|
|
|
- object executedateend = oracleConn.GetSqlResultToObj(sqlString, paras);
|
|
|
+ //object executedateend = oracleConn.GetSqlResultToObj(sqlString, paras);
|
|
|
|
|
|
//if (executedateend == null || Convert.ToDateTime(executedateend) >= date)
|
|
|
//{
|
|
|
@@ -1095,39 +1096,55 @@ namespace Dongke.IBOSS.PRD.Service.SAPHegiiDataService
|
|
|
// return sre;
|
|
|
//}
|
|
|
|
|
|
+ // 查询当前节点所有不为S的日志
|
|
|
+ string sqlString = @"
|
|
|
+ SELECT DL.LOGID
|
|
|
+ FROM TSAP_HEGII_DATALOG_BG DL
|
|
|
+ WHERE DL.LOGTYPE = '3'
|
|
|
+ AND DL.DATASTUTS <> 'S'
|
|
|
+ AND DL.DATACODE = :DATACODE ";
|
|
|
|
|
|
- sqlString = "SELECT TO_CHAR(wd.yyyymmdd) yyyymmdd\n" +
|
|
|
- " ,TO_CHAR(5000) 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(DL.EXECUTEDATEBEGIN, 'YYYYMMDD' ) ZSCNU\n" +
|
|
|
- " ,to_char(DL.EXECUTEDATEBEGIN, 'HH24MISS' ) ZKSSJ\n" +
|
|
|
- " ,to_char(DL.EXECUTEDATEEND, '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" +
|
|
|
- " ,DECODE( :datacode,20,TO_CHAR(wd.zscs),'T') AS zscs\n" +
|
|
|
- " ,TO_CHAR(wd.WORKSHOP) ZSCCJ\n" +
|
|
|
- " ,TO_CHAR( :yyyymmdd) CHARG\n" +
|
|
|
- " ,TO_CHAR( :datacode) datacode\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";
|
|
|
+ paras = new OracleParameter[]
|
|
|
+ {
|
|
|
+ new OracleParameter(":DATACODE", datacode),
|
|
|
+ };
|
|
|
+
|
|
|
+ DataTable dtLogID = oracleConn.GetSqlResultToDt(sqlString, paras);
|
|
|
+ string logIDs = "," + string.Join(",", dtLogID.AsEnumerable().Select(d => d.Field<decimal>("LOGID")).ToArray()) + ",";
|
|
|
+
|
|
|
+ sqlString = @"
|
|
|
+ SELECT TO_CHAR(WD.YYYYMMDD) YYYYMMDD,
|
|
|
+ TO_CHAR(5000) WERKS,
|
|
|
+ TO_CHAR(WD.GOODSCODE) GROES,
|
|
|
+ TO_CHAR(WD.SAPCODE) MATNR,
|
|
|
+ TO_CHAR(WD.USERCODE) ZGHNU,
|
|
|
+ TO_CHAR(WD.DATACODE) ZJDNU,
|
|
|
+ TO_CHAR(DL.EXECUTEDATEBEGIN, 'YYYYMMDD') ZSCNU,
|
|
|
+ TO_CHAR(DL.EXECUTEDATEBEGIN, 'HH24MISS') ZKSSJ,
|
|
|
+ TO_CHAR(DL.EXECUTEDATEEND, 'YYYYMMDDHH24MISS') ZJSRQ,
|
|
|
+ TO_CHAR(WD.ORDERCODE) VBELN,
|
|
|
+ TO_CHAR(WD.ORDERITEM) POSNR,
|
|
|
+ TO_CHAR(WD.OUTPUTNUM) ZCLNG,
|
|
|
+ TO_CHAR(WD.SCRAPNUM) ZSPNG,
|
|
|
+ TO_CHAR(WD.CLEANUPNUM) ZQCNG,
|
|
|
+ TO_CHAR(WD.RECOVERYNUM) ZHSNG,
|
|
|
+ TO_CHAR(WD.REPAIRNUM) ZGBNG,
|
|
|
+ TO_CHAR(WD.TESTMOULDFLAG) ZSCMS,
|
|
|
+ DECODE(:DATACODE, 20, TO_CHAR(WD.ZSCS), 'T') AS ZSCS,
|
|
|
+ TO_CHAR(WD.WORKSHOP) ZSCCJ,
|
|
|
+ TO_CHAR(:YYYYMMDD) CHARG,
|
|
|
+ TO_CHAR(:DATACODE) DATACODE,
|
|
|
+ DL.SAPGUID
|
|
|
+ FROM TSAP_HEGII_WORKDATA_BG WD
|
|
|
+ INNER JOIN TSAP_HEGII_DATALOG_BG DL
|
|
|
+ ON WD.LOGID = DL.LOGID
|
|
|
+ WHERE INSTR(:LOGIDS, WD.LOGID) > 0 ";
|
|
|
|
|
|
paras = new OracleParameter[]
|
|
|
{
|
|
|
- new OracleParameter(":logid", OracleDbType.Int32, logid, ParameterDirection.Input),
|
|
|
- new OracleParameter(":datacode",datacode),
|
|
|
- new OracleParameter(":yyyymmdd",yyyymmdd),
|
|
|
+ new OracleParameter(":DATACODE",datacode),
|
|
|
+ new OracleParameter(":YYYYMMDD",yyyymmdd),
|
|
|
+ new OracleParameter(":LOGIDS", OracleDbType.Varchar2, logIDs, ParameterDirection.Input),
|
|
|
};
|
|
|
|
|
|
DataTable workData = oracleConn.GetSqlResultToDt(sqlString, paras);
|
|
|
@@ -1140,22 +1157,22 @@ namespace Dongke.IBOSS.PRD.Service.SAPHegiiDataService
|
|
|
string result = PostData(url030, postString, "POST");
|
|
|
if (JObject.Parse(result)["TABLE_OUT"] != null && JObject.Parse(result)["TABLE_OUT"].ToString().Length > 0)
|
|
|
{
|
|
|
- sqlString = "update TSAP_HEGII_WorkData_bg t set t.ZTime =sysdate, ZTYPE = :ZTYPE, ZMSG = :ZMSG where logid = " + logid +
|
|
|
- " \n and YYYYMMDD='" + yyyymmdd + "' and WorkCode='" + workcode +
|
|
|
- "' and DataCode=:DataCode and GoodsCode=:GoodsCode and SAPCode=:SAPCode and UserCode=:UserCode \n" +
|
|
|
- "and OrderCode=:OrderCode and OrderItem=:OrderItem";
|
|
|
+ //sqlString = "update TSAP_HEGII_WorkData_bg t set t.ZTime =sysdate, ZTYPE = :ZTYPE, ZMSG = :ZMSG where logid = " + logid +
|
|
|
+ // " \n and YYYYMMDD='" + yyyymmdd + "' and WorkCode='" + workcode +
|
|
|
+ // "' and DataCode=:DataCode and GoodsCode=:GoodsCode and SAPCode=:SAPCode and UserCode=:UserCode \n" +
|
|
|
+ // "and OrderCode=:OrderCode and OrderItem=:OrderItem";
|
|
|
|
|
|
- //object obj = JObject.Parse(result)["TABLE_OUT"];
|
|
|
- Dictionary<string, object> obj = JsonConvert.DeserializeObject<Dictionary<string, object>>(result);
|
|
|
+ ////object obj = JObject.Parse(result)["TABLE_OUT"];
|
|
|
+ //Dictionary<string, object> obj = JsonConvert.DeserializeObject<Dictionary<string, object>>(result);
|
|
|
|
|
|
- object TABLE_OUT;
|
|
|
- obj.TryGetValue("TABLE_OUT", out TABLE_OUT);
|
|
|
+ //object TABLE_OUT;
|
|
|
+ //obj.TryGetValue("TABLE_OUT", out TABLE_OUT);
|
|
|
|
|
|
- obj = JsonConvert.DeserializeObject<Dictionary<string, object>>(TABLE_OUT + "");
|
|
|
- object item1;
|
|
|
- obj.TryGetValue("item", out item1);
|
|
|
+ //obj = JsonConvert.DeserializeObject<Dictionary<string, object>>(TABLE_OUT + "");
|
|
|
+ //object item1;
|
|
|
+ //obj.TryGetValue("item", out item1);
|
|
|
|
|
|
- JArray arr = JArray.FromObject(item1);
|
|
|
+ //JArray arr = JArray.FromObject(item1);
|
|
|
|
|
|
//foreach (JObject item in arr)
|
|
|
//{
|
|
|
@@ -1175,21 +1192,29 @@ namespace Dongke.IBOSS.PRD.Service.SAPHegiiDataService
|
|
|
//}
|
|
|
}
|
|
|
|
|
|
- sqlString = "update tsap_hegii_datalog_bg t set t.EndTime = sysdate, DataStuts = :DataStuts, DataMSG =:msg where logid = :logid";
|
|
|
+ sqlString = @"
|
|
|
+ UPDATE TSAP_HEGII_DATALOG_BG T
|
|
|
+ SET T.ENDTIME = SYSDATE,
|
|
|
+ DATASTUTS = :DATASTUTS,
|
|
|
+ DATAMSG = :MSG
|
|
|
+ WHERE INSTR(:LOGIDS, LOGID) > 0 ";
|
|
|
paras = new OracleParameter[]
|
|
|
{
|
|
|
- new OracleParameter(":DataStuts",OracleDbType.Varchar2, JObject.Parse(result)["ZTYPE"].ToString(), ParameterDirection.Input),
|
|
|
- new OracleParameter(":msg",OracleDbType.Varchar2, JObject.Parse(result)["ZMSG"].ToString(), ParameterDirection.Input),
|
|
|
- new OracleParameter(":logid",OracleDbType.Int32, logid, ParameterDirection.Input),
|
|
|
+ new OracleParameter(":DATASTUTS",OracleDbType.Varchar2, JObject.Parse(result)["ZTYPE"].ToString(), ParameterDirection.Input),
|
|
|
+ new OracleParameter(":MSG",OracleDbType.Varchar2, JObject.Parse(result)["ZMSG"].ToString(), ParameterDirection.Input),
|
|
|
+ new OracleParameter(":LOGIDS", OracleDbType.Varchar2, logIDs, ParameterDirection.Input),
|
|
|
};
|
|
|
r = oracleConn.ExecuteNonQuery(sqlString, paras);
|
|
|
if (JObject.Parse(result)["ZTYPE"].ToString() == "S")
|
|
|
{
|
|
|
- sqlString = "update tsap_hegii_datalog_bg t set t.createuserid = :userid where logid = :logid";
|
|
|
+ sqlString = @"
|
|
|
+ UPDATE TSAP_HEGII_DATALOG_BG T
|
|
|
+ SET T.CREATEUSERID = :USERID
|
|
|
+ WHERE INSTR(:LOGIDS, LOGID) > 0 ";
|
|
|
paras = new OracleParameter[]
|
|
|
{
|
|
|
- new OracleParameter(":logid",OracleDbType.Int32, logid, ParameterDirection.Input),
|
|
|
- new OracleParameter(":userid",OracleDbType.Int32, userid, ParameterDirection.Input),
|
|
|
+ new OracleParameter(":USERID",OracleDbType.Int32, userid, ParameterDirection.Input),
|
|
|
+ new OracleParameter(":LOGIDS", OracleDbType.Varchar2, logIDs, ParameterDirection.Input)
|
|
|
};
|
|
|
r = oracleConn.ExecuteNonQuery(sqlString, paras);
|
|
|
}
|