大连融科 WMS
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

214 lines
6.8 KiB

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<SiaSun.LMS.Model.PLAN_LIST> 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;
}
/// <summary>
/// 导入模板中存在[物料类别编码],可在【物料导入】进行导入
/// 导入模板中不存在[物料类别编码],可在【物料维护】指定类别导入
/// </summary>
/// <param name="dt"></param>
/// <param name="sResult"></param>
/// <returns></returns>
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;
}
}
}