using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using System.Reflection; namespace SiaSun.LMS.Implement { public class PlanImport:S_BaseService { public PlanImport() { } public bool PlanCreate(SiaSun.LMS.Model.PLAN_MAIN mPLAN_MAIN, IList lsPLAN_LIST, out string sResult) { bool bResult = true; sResult = string.Empty; int iReturn = 0; try { this._P_Base_House.BeginTransaction(); if (null != this._P_PLAN_MAIN.GetModelPlanCode(mPLAN_MAIN.PLAN_CODE)) { bResult = false; sResult = string.Format("{0}单号已经存在!", mPLAN_MAIN.PLAN_CODE); return bResult; } this._P_PLAN_MAIN.Add(mPLAN_MAIN); foreach (SiaSun.LMS.Model.PLAN_LIST mPLAN_LIST in lsPLAN_LIST) { if (mPLAN_LIST.PLAN_ID.Equals(0)) { mPLAN_LIST.PLAN_ID = mPLAN_MAIN.PLAN_ID; this._P_PLAN_LIST.Add(mPLAN_LIST); } else { this._P_PLAN_LIST.Update(mPLAN_LIST); } } iReturn = this.ExecuteNonQuery_ReturnInt(string.Format(" update u5wmcsinterface set wmi_status = '3' where wmi_taskno = '{0}'", mPLAN_MAIN.PLAN_CODE),"ERPMap"); } catch (Exception ex) { bResult = false; sResult = ex.Message; } finally { if (iReturn>0) { this._P_Base_House.CommitTransaction(); } else { this._P_Base_House.RollBackTransaction(); } } return bResult; } /// /// 导入模板中存在[物料类别编码],可在【物料导入】进行导入 /// 导入模板中不存在[物料类别编码],可在【物料维护】指定类别导入 /// /// /// /// public bool GoodsCreate(DataTable dt, int GOODS_CLASS_ID,out string sResult) { bool bResult = true; sResult = string.Empty; int rowaffect = 0; Model.GOODS_CLASS mGOODS_CLASS = null; try { if (GOODS_CLASS_ID != 0) { mGOODS_CLASS = this._P_GOODS_CLASS.GetModel(GOODS_CLASS_ID); if (mGOODS_CLASS==null) { sResult = string.Format("物料类别索引[{0}]不存在", GOODS_CLASS_ID); bResult = false; return bResult; } } foreach (DataRow dr in dt.Rows) { if (string.IsNullOrEmpty(dr["物料编码"].ToString()) || string.IsNullOrEmpty(dr["物料名称"].ToString())) continue; if (string.IsNullOrEmpty(dr["物料类别编码"].ToString()) && GOODS_CLASS_ID == 0) { bResult = false; sResult = string.Format("模板中不存在[物料类别编码]"); return bResult; } Model.GOODS_MAIN mGOODS_MAIN = this._P_GOODS_MAIN.GetModel(dr["物料编码"].ToString()); string aa = dr["物料编码"].ToString(); if (GOODS_CLASS_ID == 0) { mGOODS_CLASS = this._P_GOODS_CLASS.GetModel(dr["物料类别编码"].ToString()); if (mGOODS_CLASS == null) { sResult = string.Format("物料类别编码[{0}]不存在,请先建立该类别", dr["物料类别编码"].ToString()); bResult = false; break; } } if (mGOODS_MAIN == null) { mGOODS_MAIN = new Model.GOODS_MAIN(); mGOODS_MAIN.GOODS_CLASS_ID = mGOODS_CLASS.GOODS_CLASS_ID; mGOODS_MAIN.GOODS_CODE = dr["物料编码"].ToString(); mGOODS_MAIN.GOODS_NAME = dr["物料名称"].ToString(); mGOODS_MAIN.GOODS_UNITS = dr["单位"].ToString(); // mGOODS_MAIN.GOODS_CONST_PROPERTY1 = dr["物料状态"].ToString(); //mGOODS_MAIN.GOODS_CONST_PROPERTY2 = dr["制造商名称"].ToString(); // mGOODS_MAIN.GOODS_CONST_PROPERTY3 = dr["供应商名称"].ToString(); mGOODS_MAIN.GOODS_CONST_PROPERTY4 = dr["规格型号"].ToString(); // mGOODS_MAIN.GOODS_CONST_PROPERTY5 = dr["版本号"].ToString(); //mGOODS_MAIN.GOODS_CONST_PROPERTY6 = dr["出厂日期"].ToString(); //mGOODS_MAIN.GOODS_CONST_PROPERTY7 = dr["单价"].ToString(); //mGOODS_MAIN.GOODS_CONST_PROPERTY8 = dr["数量"].ToString(); mGOODS_MAIN.GOODS_FLAG = "1"; rowaffect += this._P_GOODS_MAIN.Add(mGOODS_MAIN); } else { mGOODS_MAIN.GOODS_CLASS_ID = mGOODS_CLASS.GOODS_CLASS_ID; mGOODS_MAIN.GOODS_CODE = dr["物料编码"].ToString(); mGOODS_MAIN.GOODS_NAME = dr["物料名称"].ToString(); mGOODS_MAIN.GOODS_UNITS = dr["单位"].ToString(); mGOODS_MAIN.GOODS_CONST_PROPERTY1 = dr["规格型号"].ToString(); mGOODS_MAIN.GOODS_FLAG = "1"; rowaffect += this._P_GOODS_MAIN.Update(mGOODS_MAIN); } } if (rowaffect > 0) { sResult = string.Format("导入{0}条物料成功!", rowaffect); } } catch (Exception ex) { bResult = false; sResult = ex.Message; this._log.Fatal(string.Format("调用方法{0}发生异常。", MethodBase.GetCurrentMethod().Name), ex); } return bResult; } } }