| | |
| | | { |
| | | |
| | | // 检查下游单据 WOMDAA 是否存在影响同步的数据 |
| | | string sqlCheck = string.Format(@"SELECT COUNT(*) FROM WOMDAA WHERE DAA014 = '{0}' AND DAA011 > 0", dr["TLA001"]); |
| | | /* string sqlCheck2 = string.Format(@"SELECT COUNT(*) FROM WOMDAA WHERE DAA014 = '{0}' AND FSTATUS = 1", dr["TLA001"]); |
| | | int downstreamCount2 = Convert.ToInt32(_sqlHelper.GetSingle(sqlCheck2)); |
| | | */ |
| | | |
| | | //任务数只能变大不能变小 |
| | | string sqlCheck = string.Format(@"SELECT nvl(CAA012,0) FROM womcaa WHERE caa001 = '{0}' ", dr["TLA001"]); |
| | | int downstreamCount = Convert.ToInt32(_sqlHelper.GetSingle(sqlCheck)); |
| | | |
| | | // 如果存在下游单据且数量 > 0,则返回失败 |
| | | if (downstreamCount > 0) |
| | | string sqlgds = string.Format(@"SELECT sum(daa008) FROM WOMDAA WHERE DAA014 = '{0}' AND FSTATUS = 1", dr["TLA001"]); |
| | | int gds = Convert.ToInt32(_sqlHelper.GetSingle(sqlgds)); |
| | | |
| | | int newTaskCount = Convert.ToInt32(dr["TLA012"]); |
| | | // 如果已排产工单数大于新工单数,则返回失败,且排除未同步过的 |
| | | if (gds > newTaskCount && downstreamCount > 0 && gds != 0) |
| | | { |
| | | ErrorMsg = string.Format("存在下游单据,无法同步数据: 主表记录 TLA001 = {0}", dr["TLA001"]); |
| | | ErrorMsg = string.Format("存在已排工单数大于任务总数,无法同步数据: 主表记录 TLA001 = {0}", dr["TLA001"]); |
| | | return false; |
| | | } |
| | | //2025-01-22 修改单据状态审核/反审核 |
| | |
| | | } |
| | | if (dt.TableName == "ERPWWTLA") |
| | | { |
| | | |
| | | #region 投料单主表的处理 |
| | | foreach (DataRow dr in dt.Rows) |
| | | { |
| | |
| | | }*/ |
| | | string SQLF = string.Format(@"DELETE WOMCAA WHERE CAA001='{0}'", dr["WWTLA001"]); |
| | | int B = _sqlHelper.ExecuteNonQuery(SQLF); |
| | | string SQLD = string.Format(@"DELETE WOMCAB WHERE CAB001='{0}' and WWLL_TYPE=1", dr["ERPID"]); |
| | | string SQLD = string.Format(@"DELETE WOMCAB WHERE CAB001='{0}' and WWLL_TYPE is not null", dr["ERPID"]); |
| | | int D = _sqlHelper.ExecuteNonQuery(SQLD); |
| | | |
| | | sql = string.Format(@" INSERT INTO WOMCAA(ID,ERPID,CAA001,CAA002,CAA003,CAA004,CAA005,CAA006,CAA007,CAA008,CAA009,CAA010,CAA011,CAA012,CAA013,CAA014,CAA015,CAA016,CAA018,CAA019,CAA020,CAA021,FSTATUS,CAA022,GYS_NO,XS_NO,CG_NO,EBELN_LINE,tsbs,FSTATES,TYPEA) |
| | |
| | | { |
| | | string SQLF = string.Format(@"DELETE WOMCAA WHERE CAA001='{0}'", dr["WWTLA001"]); |
| | | int B = _sqlHelper.ExecuteNonQuery(SQLF); |
| | | string SQLD = string.Format(@"DELETE WOMCAB WHERE CAB001='{0}' and WWLL_TYPE=1", dr["ERPID"]); |
| | | string SQLD = string.Format(@"DELETE WOMCAB WHERE CAB001='{0}' and WWLL_TYPE is not null", dr["ERPID"]); |
| | | int D = _sqlHelper.ExecuteNonQuery(SQLD); |
| | | } |
| | | } |
| | |
| | | SQLStringList.Add(sqlcr); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | // string sqlcr = string.Format(@" insert into |
| | | |
| | | |
| | | } |
| | | } |
| | | |
| | | if ( dr["JA003"].ToString().Equals("反结案 ", StringComparison.OrdinalIgnoreCase)) |
| | | { |
| | | string daa014 = dr["JA001"].ToString(); |
| | | string sqlja = string.Format(@"update womdaa set daa018='反完工',WORK_BY='',DAA017='' where daa018='完工' and WORK_BY='ERP结案' and daa014='" + daa014 + "'"); |
| | | SQLStringList.Add(sqlja); |
| | | //查询要插入工单信息 |
| | | string SqlStr = string.Format(@"Select a.daa001,j.caa015,s.ITEM_NO,s.ITEM_NAME,a.daa029,s.ITEM_MODEL,nvl(max(lv.SQE_NUM),0),s.id |
| | | from womdaa a left join GD_LVL lv on a.daa001=lv.DAA001 |
| | | left join womcaa j |
| | | on A.DAA021 = j.CAA020 and j.CAA001 = A.DAA014 left join v_mes_items s on a.daa002=s.id WHERE a.daa018 ='完工' and WORK_BY='ERP结案' and |
| | | a.daa014 = '" + daa014 + @"' |
| | | group by a.daa001, j.caa015, s.ITEM_NO, s.ITEM_NAME, a.daa029, s.ITEM_MODEL, s.id "); |
| | | DataTable tbQueue = _sqlHelper.ExecuteDataTable(SqlStr); |
| | | //有数据 |
| | | if (tbQueue.Rows.Count > 0) |
| | | { |
| | | foreach (DataRow item in tbQueue.Rows) |
| | | { |
| | | var daa001 = item[0]; |
| | | /* var daa001 = item[1]; |
| | | var daa001 = item[2]; |
| | | var daa001 = item[3]; |
| | | var daa001 = item[4]; |
| | | var daa001 = item[5];*/ |
| | | //insert |
| | | string sqlcr = string.Format(@" insert into GD_LVL(id, caa015, daa001, item_no, item_id, item_name, item_model, xt, xg_state, sg_time, xg_user, sqe_num) values ( |
| | | F_GETSEQNEXTVALUE('GD_LVL'), '{0}','{1}','{2}','{3}','{4}','{5}' ,'{6}','反完工',sysdate,'ERP反结案','{7}') ", item[1], item[0], item[2], item[7], item[3], item[5], item[4], item[6]); |
| | | SQLStringList.Add(sqlcr); |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | return _sqlHelper.ExecuteSqlTran(SQLStringList); |
| | | //插入前先删除重复键 |
| | | // DeleteDataBeforeInsert("COMMAA", "ERPID", string.Join("','", IDList), ""); |
| | |
| | | DataRow dr = (DataRow)obj2; |
| | | if (dr["FDOCUMENTSTATUS"].ToString() == "C") |
| | | { |
| | | string sqlT = string.Format("SELECT count(*) cou FROM MES_ROH_IN WHERE EBELN='{0}'", dr["CGA001"]); |
| | | |
| | | |
| | | string sqlT = string.Format("SELECT count(*) cou FROM MES_ROH_IN WHERE EBELN='{0}'", dr["CGA001"]); |
| | | int c = Convert.ToInt32(this._sqlHelper.GetSingle(sqlT)); |
| | | bool flag4 = c != 0; |
| | | if (flag4) |
| | |
| | | { |
| | | string SQLF = string.Format("DELETE FROM MES_ROH_IN WHERE EBELN='{0}'", dr["CGA001"]); |
| | | int B = this._sqlHelper.ExecuteNonQuery(SQLF); |
| | | string SQLD = string.Format("DELETE FROM MES_ROH_IN_DATA WHERE EBELN='{0}'", dr["CGA001"]); |
| | | int D = this._sqlHelper.ExecuteNonQuery(SQLD); |
| | | |
| | | } |
| | | catch (Exception) |
| | | { |
| | |
| | | foreach (object obj3 in dt.Rows) |
| | | { |
| | | DataRow dr2 = (DataRow)obj3; |
| | | string erpid = dr2["ERPID"].ToString(); |
| | | //普通料 |
| | | string urgencyStr = this._sqlHelper.GetSingle(string.Format( |
| | | "SELECT URGENCY FROM MES_ROH_IN_DATA WHERE ERPID='{0}'", erpid))?.ToString(); |
| | | //采购要求供应商送货时间 |
| | | string cgb024Str = this._sqlHelper.GetSingle(string.Format( |
| | | "SELECT CGB024 FROM MES_ROH_IN_DATA WHERE ERPID='{0}'", erpid))?.ToString(); |
| | | //供应商承诺交货时间 |
| | | string gys_jhtimeStr = this._sqlHelper.GetSingle(string.Format( |
| | | "SELECT GYS_JHTIME FROM MES_ROH_IN_DATA WHERE ERPID='{0}'", erpid))?.ToString(); |
| | | //跟进备注 |
| | | string gbbz = this._sqlHelper.GetSingle(string.Format( |
| | | "SELECT GBBZ FROM MES_ROH_IN_DATA WHERE ERPID='{0}'", erpid))?.ToString() ?? ""; |
| | | |
| | | string cgb = this._sqlHelper.GetSingle(string.Format("SELECT CGB FROM MES_ROH_IN_DATA WHERE ERPID='{0}'", erpid))?.ToString() ?? ""; |
| | | |
| | | string cgb025Str = this._sqlHelper.GetSingle(string.Format("SELECT CGB025 FROM MES_ROH_IN_DATA WHERE ERPID='{0}'", erpid))?.ToString(); |
| | | string cgb026 = this._sqlHelper.GetSingle(string.Format("SELECT CGB026 FROM MES_ROH_IN_DATA WHERE ERPID='{0}'", erpid))?.ToString() ?? ""; |
| | | string cgb028Str = this._sqlHelper.GetSingle(string.Format("SELECT CGB028 FROM MES_ROH_IN_DATA WHERE ERPID='{0}'", erpid))?.ToString(); |
| | | |
| | | |
| | | // 转换类型 |
| | | string urgency = string.IsNullOrWhiteSpace(urgencyStr) ? "0" : urgencyStr; // number 不加引号 |
| | | string cgb024 = string.IsNullOrWhiteSpace(cgb024Str) ? "NULL" : $"TO_DATE('{Convert.ToDateTime(cgb024Str):yyyy-MM-dd HH:mm:ss}', 'yyyy-MM-dd HH24:MI:SS')"; |
| | | string gys_jhtime = string.IsNullOrWhiteSpace(gys_jhtimeStr) ? "NULL" : $"TO_DATE('{Convert.ToDateTime(gys_jhtimeStr):yyyy-MM-dd HH:mm:ss}', 'yyyy-MM-dd HH24:MI:SS')"; |
| | | string cgb025 = string.IsNullOrWhiteSpace(cgb025Str) ? "0" : cgb025Str; |
| | | string cgb028 = string.IsNullOrWhiteSpace(cgb028Str) ? "NULL" : $"TO_DATE('{Convert.ToDateTime(cgb028Str):yyyy-MM-dd HH:mm:ss}', 'yyyy-MM-dd HH24:MI:SS')"; |
| | | string SQLD = string.Format("DELETE FROM MES_ROH_IN_DATA WHERE ERPID='{0}'", erpid); |
| | | int D = this._sqlHelper.ExecuteNonQuery(SQLD); |
| | | |
| | | // 判断 CGB019 是否等于 MENGE,若是则 CGB025 为 1,否则为 0 |
| | | int cgb025Value = (dr2["CGB008"].ToString() == dr2["CGB014"].ToString()) ? 1 : 0; |
| | | int cgb025Value = (dr2["CGB008"].ToString() == dr2["CGB014"].ToString()) ? 1 : 0; |
| | | // int cgb025Value2 = dr2["CGB008"] == dr2["CGB014"] ? 1 : 0; |
| | | |
| | | string sql2 = string.Format(" INSERT INTO MES_ROH_IN_DATA(ID,ERPID,EBELN,CGB002,MATNR,CGB004,CGB005,CGB006,CGB007,MENGE,CGB009,CGB010,CGB011,CGB012,CGB013,CGB014,CGB015,CGB016,CGB018,CGB020,CGB021,CGB022,CGB023,CGB027,CGB029,cgb024,TB_TIME,CGB019,FMRPCLOSESTATUS,FMRPTERMINATESTATUS,cgb025) " + |
| | | "VALUES (SEQ_BASEINFO_ID.nextval,'{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}','{13}','{14}','{15}','{16}','{17}','18','{19}','{20}','{21}','{22}','{23}',TIMESTAMP '{24}',sysdate,'{25}','{26}','{27}','{28}') ", new object[] |
| | | string sql2 = string.Format(" INSERT INTO MES_ROH_IN_DATA(ID,ERPID,EBELN,CGB002,MATNR,CGB004,CGB005,CGB006,CGB007,MENGE,CGB009,CGB010,CGB011,CGB012,CGB013,CGB014,CGB015,CGB016,CGB018,CGB020,CGB021,CGB022,CGB023,CGB027,CGB029,cgb024,TB_TIME,CGB019,FMRPCLOSESTATUS,FMRPTERMINATESTATUS,URGENCY, GYS_JHTIME, GBBZ, CGB, CGB025, CGB026, CGB028) " + |
| | | "VALUES (SEQ_BASEINFO_ID.nextval,'{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}','{13}','{14}','{15}','{16}','{17}','18','{19}','{20}','{21}','{22}','{23}',TIMESTAMP '{24}',sysdate,'{25}','{26}','{27}','{28}',{29},'{30}','{31}','{32}','{33}',{34}) ", new object[] |
| | | { |
| | | dr2["ERPID"], |
| | | dr2["CGB001"], |
| | |
| | | dr2["CGB014"], |
| | | dr2["FMRPCloseStatus"], |
| | | dr2["FMRPTerminateStatus"], |
| | | cgb025Value |
| | | urgency, gys_jhtime, gbbz.Replace("'", "''"), cgb.Replace("'", "''"), |
| | | cgb025, cgb026.Replace("'", "''"), cgb028 |
| | | |
| | | }); |
| | | SQLStringListT.Add(sql2); |