| | |
| | | case "TB_MESTOERP_TransferIn"://分布式调入单 |
| | | case "TB_MESTOERP_ZJDB"://直接调拨单 |
| | | case "TB_MESTOERP_WWDDXD"://委外订单下达 |
| | | case "TB_MESTOERP_WWLL"://委外领料单 |
| | | case "TB_MESTOERP_XSTH"://销售退货 |
| | | case "TB_MESTOERP_WWCG"://委外下推采购 |
| | | result = MesToErp(drSource, ref msg, rtaskid); |
| | | break; |
| | |
| | | case "TB_ERPTOMES_WW": |
| | | result = TB_ERPTOMES_WW(taskid, inputds, operatype, ref msg); |
| | | break; |
| | | |
| | | //26.TB_ERPTOMES_XSTH销售退货通知单 |
| | | case "TB_ERPTOMES_XSTH": |
| | | result = TB_ERPTOMES_XSTH(taskid, inputds, operatype, ref msg); |
| | | break; |
| | | //27.TB_ERPTOMES_CGTH销售退货通知单 |
| | | case "TB_ERPTOMES_CGTH": |
| | | result = TB_ERPTOMES_CGTH(taskid, inputds, operatype, ref msg); |
| | | break; |
| | | case "TB_XKY_GET_DHD"://推送审核送货单 |
| | | result = XKY_GET_DHD(drSource, ref msg); |
| | | break; |
| | |
| | | colMapping[4] = new SqlBulkCopyColumnMapping("GYSA005", "GYS005"); // 组织号 |
| | | colMapping[5] = new SqlBulkCopyColumnMapping("ERPID", "ERPID"); // ERPID |
| | | colMapping[6] = new SqlBulkCopyColumnMapping("FUseOrgId", "FUseOrgId"); // 内/外销 |
| | | if (dt.Columns.Contains("GYSA006")) |
| | | { |
| | | colMapping[7] = new SqlBulkCopyColumnMapping("GYSA006", "GYSA006"); //备注 |
| | | } |
| | | //colMapping[8] = new SqlBulkCopyColumnMapping("AUDITING", "AUDITING"); |
| | | |
| | | return DataTableToSQLServer(dt, conStr, "GS_GYS", colMapping, ref ErrorMsg); |
| | |
| | | FUseOrgld='{6}' |
| | | where ERPID='{0}'; ", dr["ERPID"] |
| | | , dr["GYSA001"], dr["GYSA002"], dr["GYSA003"], dr["GYSA004"], dr["GYSA005"], dr["FUseOrgld"]); |
| | | |
| | | if (dt.Columns.Contains("GYSA006")) |
| | | { |
| | | sql = string.Format(@" update GS_GYS |
| | | set |
| | | GYS001='{1}', |
| | | GYS002='{2}', |
| | | GYS003='{3}', |
| | | GYS004='{4}', |
| | | GYS005='{5}', |
| | | FUseOrgld='{6}', |
| | | GYS006='{7}' |
| | | where ERPID='{0}'; ", dr["ERPID"] |
| | | , dr["GYSA001"], dr["GYSA002"], dr["GYSA003"], dr["GYSA004"], dr["GYSA005"], dr["FUseOrgld"], dr["GYSA006"]); |
| | | } |
| | | } |
| | | return _sqlHelper.ExecuteNonQuery(sql) > 0; |
| | | |
| | | #endregion |
| | | } |
| | | else //DELETE |
| | |
| | | //用来拼ID集合 |
| | | List<string> IDList = new List<string>(); |
| | | string dtName = ""; |
| | | string statue = ""; |
| | | string CGA001 = ""; |
| | | if (operatype != "INSERT" && operatype != "UPDATE") |
| | | { |
| | | sql = string.Format(@" delete from GS_CG where CGA001 in ('{0}') ", operatype); |
| | |
| | | { |
| | | dr["CGA002"] = task_name == "TB_ERPTOMES_CG" ? "3301" : "3302"; |
| | | } |
| | | |
| | | if (dr["CGA005"].ToString() == "标准委外订单") |
| | | { |
| | | statue = "委外"; |
| | | CGA001 = dr["CGA001"].ToString(); |
| | | } |
| | | } |
| | | |
| | | //插入前先删除重复键 |
| | |
| | | //} |
| | | |
| | | SqlBulkCopyColumnMapping[] colMapping = new SqlBulkCopyColumnMapping[dt.Columns.Count]; |
| | | |
| | | int i = 19; |
| | | colMapping[0] = new SqlBulkCopyColumnMapping("AUDITING", "flagApp"); |
| | | colMapping[1] = new SqlBulkCopyColumnMapping("NEWERPID", "ID"); //ID |
| | | colMapping[2] = new SqlBulkCopyColumnMapping("CGA001", "CGA001"); //采购单号 |
| | |
| | | colMapping[18] = new SqlBulkCopyColumnMapping("CGA0017", "CGA017"); //备注 |
| | | if (dt.Columns.Contains("CGAORG")) |
| | | { |
| | | colMapping[19] = new SqlBulkCopyColumnMapping("CGAORG", "CGAORG"); //备注 |
| | | colMapping[i++] = new SqlBulkCopyColumnMapping("CGAORG", "CGAORG"); //备注 |
| | | } |
| | | else |
| | | { |
| | |
| | | } |
| | | if (dt.Columns.Contains("CGA018")) |
| | | { |
| | | colMapping[20] = new SqlBulkCopyColumnMapping("CGA018", "CGA018"); //备注 |
| | | colMapping[i++] = new SqlBulkCopyColumnMapping("CGA018", "CGA018"); //备注 |
| | | } |
| | | if (dt.Columns.Contains("CGA0018")) |
| | | { |
| | | colMapping[20] = new SqlBulkCopyColumnMapping("CGA0018", "CGA018"); //备注 |
| | | colMapping[i++] = new SqlBulkCopyColumnMapping("CGA0018", "CGA018"); //备注 |
| | | } |
| | | if (dt.Columns.Contains("CGA0019")) |
| | | { |
| | | colMapping[i++] = new SqlBulkCopyColumnMapping("CGA0019", "CGA019"); //备注 |
| | | } |
| | | |
| | | |
| | |
| | | colMapping[22] = new SqlBulkCopyColumnMapping("CGB0020", "CGB020"); //超收比例 |
| | | colMapping[23] = new SqlBulkCopyColumnMapping("CGB0021", "CGB021"); //含税单价 |
| | | colMapping[24] = new SqlBulkCopyColumnMapping("CGB0022", "CGB022"); //价税合计 |
| | | if (dt.Columns.Contains("CGB0024")) |
| | | { |
| | | colMapping[25] = new SqlBulkCopyColumnMapping("CGB0024", "CGB024"); //源单类型 |
| | | } |
| | | if (dt.Columns.Contains("CGB0025")) |
| | | { |
| | | colMapping[26] = new SqlBulkCopyColumnMapping("CGB0025", "CGB025"); //源单单号 |
| | | } |
| | | if (dt.Columns.Contains("CGB0026")) |
| | | { |
| | | colMapping[27] = new SqlBulkCopyColumnMapping("CGB0026", "CGB026"); //源单明细ID |
| | | } |
| | | DataTableToSQLServer(dt, conStr, "CGDB", colMapping, ref ErrorMsg); |
| | | |
| | | foreach (DataRow dF in dt.Rows) |
| | |
| | | string UP = string.Format(@"EXEC API_UPDATE_CGDB {0},{1} ", dF["CGB001"].ToString(), dF["CGB002"].ToString()); |
| | | _sqlHelper.ExecuteNonQuery(UP); |
| | | } |
| | | |
| | | |
| | | #endregion |
| | | } |
| | | |
| | |
| | | #endregion |
| | | } |
| | | } |
| | | |
| | | //if (statue == "委外") |
| | | //{ |
| | | // string WWSQL = string.Format(@"EXEC API_CREATE_LLD '{0}' ", CGA001); |
| | | // _sqlHelper.ExecuteNonQuery(WWSQL); |
| | | //} |
| | | |
| | | return true; |
| | | } |
| | | catch (Exception ex) |
| | |
| | | /// <returns></returns> |
| | | private bool MesToErp(DataRow dr, ref string ErrorMsg,string rtaskid) |
| | | { |
| | | string sql = string.Format(@" update sysdec set states='NEWIN' WHERE TASK_ID='{0}' ", rtaskid); |
| | | var logId = Guid.NewGuid(); |
| | | string sql = string.Format(@" update sysdec set states='NEWIN' WHERE TASK_ID='{0}' |
| | | insert into SYSDECLOG |
| | | select *,'{1}',GETDATE(),GETDATE() from SYSDEC where TASK_ID = '{0}' ", rtaskid, logId); |
| | | |
| | | _sqlHelper.ExecuteNonQuery(sql); |
| | | try |
| | |
| | | |
| | | _sqlHelper.ExecuteNonQuery(sql); |
| | | |
| | | |
| | | if (res.Contains("OK") || res.Contains("MES单号唯一检测不通过")) |
| | | { |
| | | sql = string.Format(@" update SYSDECLOG set states='SUCCESS',msg = '{1}',endtime = GETDATE() WHERE logId='{0}' ", logId, res); |
| | | |
| | | _sqlHelper.ExecuteNonQuery(sql); |
| | | } |
| | | else |
| | | { |
| | | sql = string.Format(@" update SYSDECLOG set states='FAIL',msg = '{1}',endtime = GETDATE() WHERE logId='{0}' ", logId, res); |
| | | |
| | | _sqlHelper.ExecuteNonQuery(sql); |
| | | } |
| | | |
| | | if (string.IsNullOrWhiteSpace(res)) { |
| | | res = "数据有异常"; |
| | | } |
| | | |
| | | //string res = a.arg0.ws.MES_TO_ERP_DataTransport(task_name, descript, create_time, creator, operatype, source_table, target_table, data, data_inserted, data_deleted); |
| | | if (res.Contains("OK")) |
| | | { |
| | | ErrorMsg = res; |
| | | return true; |
| | | } |
| | | else if (res.Contains("MES单号唯一检测不通过")) |
| | | else if(res.Contains("MES单号唯一检测不通过")) |
| | | { |
| | | ErrorMsg = res; |
| | | return true; |
| | |
| | | } |
| | | #endregion |
| | | |
| | | #region 26.ERPTHA销售退货通知单(同步推送) bool TB_ERPTOMES_XSTH(string task_name,DataSet ds, string operatype, ref string ErrorMsg) |
| | | /// <summary> |
| | | /// ERPTHA销售退货通知单(同步推送) |
| | | /// </summary> |
| | | /// <param name="task_name">任务名称</param> |
| | | /// <param name="ds">数据集</param> |
| | | /// <param name="operatype">执行类型</param> |
| | | /// <param name="ErrorMsg">错误说明</param> |
| | | /// <returns></returns> |
| | | private bool TB_ERPTOMES_XSTH(string task_name, DataSet ds, string operatype, ref string ErrorMsg) |
| | | { |
| | | string sql = ""; |
| | | //用来拼ID集合 |
| | | List<string> IDList = new List<string>(); |
| | | string dtName = ""; |
| | | string XSTHA001 = ""; |
| | | if (operatype != "INSERT" && operatype != "UPDATE") |
| | | { |
| | | sql = string.Format(@" delete from GS_XSTHA where XSTHA001 in ('{0}') ", operatype); |
| | | string sqlTT = string.Format(@" delete from GS_XSTHB where XSTHB001 in ('{0}') ", operatype); |
| | | _sqlHelper.ExecuteNonQuery(sql); |
| | | _sqlHelper.ExecuteNonQuery(sqlTT); |
| | | return true; |
| | | } |
| | | |
| | | |
| | | if (ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0) |
| | | { |
| | | ErrorMsg = "生成数据表失败"; |
| | | return false; |
| | | } |
| | | try |
| | | { |
| | | foreach (DataTable dt in ds.Tables) |
| | | { |
| | | dtName = dt.TableName; |
| | | IDList.Clear(); |
| | | //主从表的同步,修改和新增一样,先删除原记录后插入新记录,要求同步过来的数据也是整单完整数据 |
| | | if (operatype == "INSERT" || operatype == "UPDATE") |
| | | { |
| | | #region INSERT |
| | | if (dt.TableName == "ERPSALRETURNNOTICEA") |
| | | { |
| | | #region 销售退货通知单主表的处理 |
| | | dt.Columns.Add("AUDITING", typeof(string)); |
| | | |
| | | foreach (DataRow dr in dt.Rows) |
| | | { |
| | | IDList.Add(dr["ERPID"].ToString()); |
| | | |
| | | dr["AUDITING"] = "Y"; |
| | | XSTHA001 = dr["XSTHA001"].ToString(); |
| | | |
| | | switch (dr["XSTHA005"].ToString()) |
| | | { |
| | | case "A": |
| | | dr["XSTHA005"] = "创建"; |
| | | break; |
| | | case "B": |
| | | dr["XSTHA005"] = "审核中"; |
| | | break; |
| | | case "C": |
| | | dr["XSTHA005"] = "已审核"; |
| | | break; |
| | | case "D": |
| | | dr["XSTHA005"] = "重新审核"; |
| | | break; |
| | | case "Z": |
| | | dr["XSTHA005"] = "暂存"; |
| | | break; |
| | | } |
| | | |
| | | } |
| | | |
| | | //插入前先删除重复键 |
| | | DeleteDataBeforeInsert("GS_XSTHA", "ID", string.Join("','", IDList), ""); |
| | | //if (!DeleteDataBeforeInsert("PURDDA", "ERPID", string.Join("','", IDList), "")) |
| | | //{ |
| | | // ErrorMsg = "PURDDA重复键删除失败!"; |
| | | // return false; |
| | | //} |
| | | |
| | | SqlBulkCopyColumnMapping[] colMapping = new SqlBulkCopyColumnMapping[dt.Columns.Count]; |
| | | |
| | | colMapping[0] = new SqlBulkCopyColumnMapping("AUDITING", "flagApp"); |
| | | colMapping[1] = new SqlBulkCopyColumnMapping("ERPID", "ID"); //ID |
| | | colMapping[2] = new SqlBulkCopyColumnMapping("XSTHA001", "XSTHA001"); //退货通知单号 |
| | | colMapping[3] = new SqlBulkCopyColumnMapping("XSTHA003", "XSTHA003"); //单据日期 |
| | | colMapping[4] = new SqlBulkCopyColumnMapping("XSTHA004", "XSTHA004"); //单据类型 |
| | | colMapping[5] = new SqlBulkCopyColumnMapping("XSTHA005", "XSTHA005"); //单据状态 |
| | | colMapping[6] = new SqlBulkCopyColumnMapping("XSTHA006", "XSTHA006"); //单据类型 |
| | | colMapping[7] = new SqlBulkCopyColumnMapping("XSTHA007", "XSTHA007"); //销售组织 |
| | | colMapping[8] = new SqlBulkCopyColumnMapping("XSTHA008", "XSTHA008"); //销售部门 |
| | | colMapping[9] = new SqlBulkCopyColumnMapping("XSTHA009", "XSTHA009"); //退货客户 |
| | | colMapping[10] = new SqlBulkCopyColumnMapping("XSTHA010", "XSTHA010"); //结算币别 |
| | | colMapping[11] = new SqlBulkCopyColumnMapping("XSTHA011", "XSTHA011"); //库存组织 |
| | | colMapping[12] = new SqlBulkCopyColumnMapping("XSTHA012", "XSTHA012"); //备注 |
| | | colMapping[13] = new SqlBulkCopyColumnMapping("XSTHA013", "XSTHA013"); //退货原因 |
| | | |
| | | |
| | | DataTableToSQLServer(dt, conStr, "GS_XSTHA", colMapping, ref ErrorMsg); |
| | | #endregion |
| | | } |
| | | if (dt.TableName == "ERPSALRETURNNOTICEB") |
| | | { |
| | | #region 采购订单明细的处理 |
| | | dt.Columns.Add("AUDITING", typeof(string)); |
| | | |
| | | foreach (DataRow dr in dt.Rows) |
| | | { |
| | | IDList.Add(dr["ERPID"].ToString()); |
| | | |
| | | dr["AUDITING"] = "Y"; |
| | | } |
| | | |
| | | //插入前先删除重复键 |
| | | DeleteDataBeforeInsert("GS_XSTHB", "PID", string.Join("','", IDList), ""); |
| | | //if (!DeleteDataBeforeInsert("PURDDB", "ERPID+DDB002", string.Join("','", IDList), "")) |
| | | //{ |
| | | // ErrorMsg = "PURDDB重复键删除失败!"; |
| | | // return false; |
| | | //} |
| | | |
| | | SqlBulkCopyColumnMapping[] colMapping = new SqlBulkCopyColumnMapping[dt.Columns.Count]; |
| | | colMapping[0] = new SqlBulkCopyColumnMapping("AUDITING", "flagApp"); |
| | | colMapping[1] = new SqlBulkCopyColumnMapping("ERPID", "PID"); //ERPID |
| | | colMapping[2] = new SqlBulkCopyColumnMapping("XSTHB001", "XSTHB001"); //物料ID |
| | | colMapping[3] = new SqlBulkCopyColumnMapping("XSTHB002", "XSTHB002"); //物料编码 |
| | | colMapping[4] = new SqlBulkCopyColumnMapping("XSTHB003", "XSTHB003"); //物料名称 |
| | | colMapping[5] = new SqlBulkCopyColumnMapping("XSTHB004", "XSTHB004"); //规格型号 |
| | | colMapping[6] = new SqlBulkCopyColumnMapping("XSTHB005", "XSTHB005"); //销售单位 |
| | | colMapping[7] = new SqlBulkCopyColumnMapping("XSTHB006", "XSTHB006"); //实退数量 |
| | | colMapping[8] = new SqlBulkCopyColumnMapping("XSTHB007", "XSTHB007"); //客户物料编码 |
| | | colMapping[9] = new SqlBulkCopyColumnMapping("XSTHB008", "XSTHB008"); //客户物料名称 |
| | | colMapping[10] = new SqlBulkCopyColumnMapping("XSTHB009", "XSTHB009"); //退货类型 |
| | | colMapping[11] = new SqlBulkCopyColumnMapping("XSTHB010", "XSTHB010"); //仓库 |
| | | colMapping[12] = new SqlBulkCopyColumnMapping("XSTHB011", "XSTHB011"); //退货日期 |
| | | colMapping[13] = new SqlBulkCopyColumnMapping("ERP_EntryID", "ID"); //明细ID |
| | | //colMapping[14] = new SqlBulkCopyColumnMapping("XSTHB006", "XSTHB012"); //明细ID |
| | | DataTableToSQLServer(dt, conStr, "GS_XSTHB", colMapping, ref ErrorMsg); |
| | | |
| | | #endregion |
| | | } |
| | | |
| | | #endregion |
| | | } |
| | | else //DELETE |
| | | { |
| | | //ErrorMsg = "执行删除数据表"; |
| | | #region DELETE |
| | | //if (dt.TableName == "ERPCGA") |
| | | //{ |
| | | // foreach (DataRow dr in dt.Rows) |
| | | // { |
| | | // IDList.Add(dr["ERPID"].ToString()); |
| | | // } |
| | | // sql = string.Format(@" delete from PURDDA where ERPID in ('{0}'); delete from PURDDB where ERPID in ('{0}'); ", string.Join("','", IDList)); |
| | | //} |
| | | //_sqlHelper.ExecuteNonQuery(sql); |
| | | #endregion |
| | | } |
| | | } |
| | | string UP = string.Format(@"EXEC API_UPDATE_XSTH '{0}' ", XSTHA001); |
| | | _sqlHelper.ExecuteNonQuery(UP); |
| | | return true; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | ErrorMsg = "[" + dtName + "]" + ex.Message; |
| | | return false; |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | #region 27.ERPCTHA采购退货通知单(同步推送) bool TB_ERPTOMES_CGTH(string task_name,DataSet ds, string operatype, ref string ErrorMsg) |
| | | /// <summary> |
| | | /// ERPCGA采购订单|委外订单(同步推送) |
| | | /// </summary> |
| | | /// <param name="task_name">任务名称</param> |
| | | /// <param name="ds">数据集</param> |
| | | /// <param name="operatype">执行类型</param> |
| | | /// <param name="ErrorMsg">错误说明</param> |
| | | /// <returns></returns> |
| | | private bool TB_ERPTOMES_CGTH(string task_name, DataSet ds, string operatype, ref string ErrorMsg) |
| | | { |
| | | string sql = ""; |
| | | //用来拼ID集合 |
| | | List<string> IDList = new List<string>(); |
| | | string dtName = ""; |
| | | if (operatype != "INSERT" && operatype != "UPDATE") |
| | | { |
| | | sql = string.Format(@" delete from GS_CGTHA where CGTHA001 in ('{0}') ", operatype); |
| | | string sqlTT = string.Format(@" delete from GS_CGTHB where CGTHB001 in ('{0}') ", operatype); |
| | | _sqlHelper.ExecuteNonQuery(sql); |
| | | _sqlHelper.ExecuteNonQuery(sqlTT); |
| | | return true; |
| | | } |
| | | |
| | | |
| | | if (ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0) |
| | | { |
| | | ErrorMsg = "生成数据表失败"; |
| | | return false; |
| | | } |
| | | try |
| | | { |
| | | foreach (DataTable dt in ds.Tables) |
| | | { |
| | | dtName = dt.TableName; |
| | | IDList.Clear(); |
| | | //主从表的同步,修改和新增一样,先删除原记录后插入新记录,要求同步过来的数据也是整单完整数据 |
| | | if (operatype == "INSERT" || operatype == "UPDATE") |
| | | { |
| | | #region INSERT |
| | | if (dt.TableName == "ERPCGTHA") |
| | | { |
| | | #region 销售退货通知单主表的处理 |
| | | dt.Columns.Add("AUDITING", typeof(string)); |
| | | |
| | | foreach (DataRow dr in dt.Rows) |
| | | { |
| | | IDList.Add(dr["ERPID"].ToString()); |
| | | dr["AUDITING"] = "Y"; |
| | | dr["AUDITING"] = "Y"; |
| | | |
| | | switch (dr["CGTHA008"].ToString()) |
| | | { |
| | | case "A": |
| | | dr["CGTHA008"] = "检验退料"; |
| | | break; |
| | | case "B": |
| | | dr["CGTHA008"] = "库存退料"; |
| | | break; |
| | | } |
| | | |
| | | switch (dr["CGTHA009"].ToString()) |
| | | { |
| | | case "A": |
| | | dr["CGTHA009"] = "退料补料"; |
| | | break; |
| | | case "B": |
| | | dr["CGTHA009"] = "退料扣款"; |
| | | break; |
| | | } |
| | | |
| | | switch (dr["CGTHA015"].ToString()) |
| | | { |
| | | case "A": |
| | | dr["CGTHA015"] = "创建"; |
| | | break; |
| | | case "B": |
| | | dr["CGTHA015"] = "审核中"; |
| | | break; |
| | | case "C": |
| | | dr["CGTHA015"] = "已审核"; |
| | | break; |
| | | case "D": |
| | | dr["CGTHA015"] = "重新审核"; |
| | | break; |
| | | case "Z": |
| | | dr["CGTHA015"] = "暂存"; |
| | | break; |
| | | } |
| | | } |
| | | |
| | | //插入前先删除重复键 |
| | | DeleteDataBeforeInsert("GS_CGTHA", "ID", string.Join("','", IDList), ""); |
| | | //if (!DeleteDataBeforeInsert("PURDDA", "ERPID", string.Join("','", IDList), "")) |
| | | //{ |
| | | // ErrorMsg = "PURDDA重复键删除失败!"; |
| | | // return false; |
| | | //} |
| | | |
| | | SqlBulkCopyColumnMapping[] colMapping = new SqlBulkCopyColumnMapping[dt.Columns.Count]; |
| | | |
| | | colMapping[0] = new SqlBulkCopyColumnMapping("CGTHA001", "CGTHA001"); //单据编号 |
| | | colMapping[1] = new SqlBulkCopyColumnMapping("CGTHA002", "CGTHA002"); //单据日期 |
| | | colMapping[2] = new SqlBulkCopyColumnMapping("CGTHA003", "CGTHA003"); //单据类型 |
| | | colMapping[3] = new SqlBulkCopyColumnMapping("CGTHA004", "CGTHA004"); //单据类型 |
| | | colMapping[4] = new SqlBulkCopyColumnMapping("CGTHA005", "CGTHA005"); //业务类型 |
| | | colMapping[5] = new SqlBulkCopyColumnMapping("CGTHA006", "CGTHA006"); //供应商 |
| | | colMapping[6] = new SqlBulkCopyColumnMapping("CGTHA007", "CGTHA007"); //采购组织 |
| | | colMapping[7] = new SqlBulkCopyColumnMapping("CGTHA008", "CGTHA008"); //退料类型 |
| | | colMapping[8] = new SqlBulkCopyColumnMapping("CGTHA009", "CGTHA009"); //退料方式 |
| | | colMapping[9] = new SqlBulkCopyColumnMapping("CGTHA010", "CGTHA010"); //补料方式 |
| | | colMapping[10] = new SqlBulkCopyColumnMapping("CGTHA011", "CGTHA011"); //申请组织 |
| | | colMapping[11] = new SqlBulkCopyColumnMapping("CGTHA012", "CGTHA012"); //需求组织 |
| | | colMapping[12] = new SqlBulkCopyColumnMapping("CGTHA013", "CGTHA013"); //币别 |
| | | colMapping[13] = new SqlBulkCopyColumnMapping("CGTHA015", "CGTHA015"); //单据状态 |
| | | colMapping[14] = new SqlBulkCopyColumnMapping("CGTHA016", "CGTHA016"); //备注 |
| | | colMapping[15] = new SqlBulkCopyColumnMapping("CGTHA017", "CGTHA017"); //结算组织 |
| | | colMapping[16] = new SqlBulkCopyColumnMapping("ERPID", "ID"); //ERPID |
| | | colMapping[17] = new SqlBulkCopyColumnMapping("AUDITING", "flagApp"); |
| | | |
| | | DataTableToSQLServer(dt, conStr, "GS_CGTHA", colMapping, ref ErrorMsg); |
| | | #endregion |
| | | } |
| | | if (dt.TableName == "ERPCGTHB") |
| | | { |
| | | #region 采购订单明细的处理 |
| | | dt.Columns.Add("AUDITING", typeof(string)); |
| | | |
| | | foreach (DataRow dr in dt.Rows) |
| | | { |
| | | IDList.Add(dr["ERPID"].ToString()); |
| | | |
| | | dr["AUDITING"] = "Y"; |
| | | //应退数量 |
| | | if (dr["CGTHB006"].ToString() == "") |
| | | { |
| | | dr["CGTHB006"] = "0"; |
| | | } |
| | | else |
| | | { |
| | | double A = Convert.ToDouble(dr["CGTHB006"].ToString()); |
| | | string B = A.ToString(); |
| | | dr["CGTHB006"] = B; |
| | | } |
| | | |
| | | //实退数量 |
| | | if (dr["CGTHB007"].ToString() == "") |
| | | { |
| | | dr["CGTHB007"] = "0"; |
| | | } |
| | | else |
| | | { |
| | | double A = Convert.ToDouble(dr["CGTHB007"].ToString()); |
| | | string B = A.ToString(); |
| | | dr["CGTHB007"] = B; |
| | | } |
| | | |
| | | if (dr["CGTHB008"].ToString() == "") |
| | | { |
| | | dr["CGTHB008"] = "0"; |
| | | } |
| | | else |
| | | { |
| | | double A = Convert.ToDouble(dr["CGTHB008"].ToString()); |
| | | string B = A.ToString(); |
| | | dr["CGTHB008"] = B; |
| | | } |
| | | } |
| | | |
| | | //插入前先删除重复键 |
| | | DeleteDataBeforeInsert("GS_CGTHB", "PID", string.Join("','", IDList), ""); |
| | | //if (!DeleteDataBeforeInsert("PURDDB", "ERPID+DDB002", string.Join("','", IDList), "")) |
| | | //{ |
| | | // ErrorMsg = "PURDDB重复键删除失败!"; |
| | | // return false; |
| | | //} |
| | | |
| | | SqlBulkCopyColumnMapping[] colMapping = new SqlBulkCopyColumnMapping[dt.Columns.Count]; |
| | | colMapping[0] = new SqlBulkCopyColumnMapping("AUDITING", "flagApp"); |
| | | colMapping[1] = new SqlBulkCopyColumnMapping("ERPID", "PID"); //ERPID |
| | | colMapping[2] = new SqlBulkCopyColumnMapping("CGTHB001", "CGTHB001"); //采购退料通知单号 |
| | | colMapping[3] = new SqlBulkCopyColumnMapping("CGTHB002", "CGTHB002"); //序号 |
| | | colMapping[4] = new SqlBulkCopyColumnMapping("CGTHB003", "CGTHB003"); //物料编码 |
| | | colMapping[5] = new SqlBulkCopyColumnMapping("CGTHB004", "CGTHB004"); //物料名称 |
| | | colMapping[6] = new SqlBulkCopyColumnMapping("CGTHB005", "CGTHB005"); //规格型号 |
| | | colMapping[7] = new SqlBulkCopyColumnMapping("CGTHB006", "CGTHB006"); //申请退料数量 |
| | | colMapping[8] = new SqlBulkCopyColumnMapping("CGTHB007", "CGTHB007"); //补料数量 |
| | | colMapping[9] = new SqlBulkCopyColumnMapping("CGTHB008", "CGTHB008"); //扣款数量 |
| | | colMapping[10] = new SqlBulkCopyColumnMapping("CGTHB009", "CGTHB009"); //库存单位 |
| | | colMapping[11] = new SqlBulkCopyColumnMapping("CGTHB010", "CGTHB010"); //计价单位 |
| | | colMapping[12] = new SqlBulkCopyColumnMapping("CGTHB011", "CGTHB011"); //退货原因 |
| | | colMapping[13] = new SqlBulkCopyColumnMapping("ERP_EntryID", "ID"); //明细ID |
| | | DataTableToSQLServer(dt, conStr, "GS_CGTHB", colMapping, ref ErrorMsg); |
| | | #endregion |
| | | } |
| | | |
| | | #endregion |
| | | } |
| | | else //DELETE |
| | | { |
| | | //ErrorMsg = "执行删除数据表"; |
| | | #region DELETE |
| | | //if (dt.TableName == "ERPCGA") |
| | | //{ |
| | | // foreach (DataRow dr in dt.Rows) |
| | | // { |
| | | // IDList.Add(dr["ERPID"].ToString()); |
| | | // } |
| | | // sql = string.Format(@" delete from PURDDA where ERPID in ('{0}'); delete from PURDDB where ERPID in ('{0}'); ", string.Join("','", IDList)); |
| | | //} |
| | | //_sqlHelper.ExecuteNonQuery(sql); |
| | | #endregion |
| | | } |
| | | } |
| | | return true; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | ErrorMsg = "[" + dtName + "]" + ex.Message; |
| | | return false; |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | private bool XKY_GET_DHD(DataRow dr, ref string ErrorMsg) |
| | | { |
| | | |