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
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;
|
|
}
|
|
|
|
}
|
|
}
|