//#region 插入出库主表
/// <summary>
/// 插入出库主表
/// </summary>
/// <param name="param">出库主表对象</param>
/// <param name="ValidateGuid">验证码</param>
/// <returns></returns>
object IPublicWork.Insert(object param, Guid ValidateGuid)
{
string UserCode = ValidateCode.Validate(ValidateGuid);
if (!PublicStringTool.IsEmpty(UserCode))
{
OutStorageMainList outstorageobject = (OutStorageMainList)param;
//#region 开始事务
DbTransaction sqltrans = SqlExec.BeginTransaction(SystemType.WMS);
WMS_OutStorage.InsertWMS_OutStorage(outstorageobject.StorageMainObject, sqltrans);
//插入主表失败
if (PublicStringTool.IsEmpty(outstorageobject.StorageMainObject.OutStorage_Id))
{
//回滚
SqlExec.endTransactionRollback(sqltrans);
//异常
ExceptionManage ex = new ExceptionManage();
ex.ThrowException(110, SystemType.WMS);
return null;
}
else
{
//#region 出库明细
if (outstorageobject.ListObject != null)
{
foreach (ListObject listobject in outstorageobject.ListObject)
{
if (!DataAccess.WMS_OutStorageList.Insert_WMS_OutStorageList(listobject, sqltrans))
{
//回滚
SqlExec.endTransactionRollback(sqltrans);
//异常
ExceptionManage ex = new ExceptionManage();
ex.ThrowException(112, SystemType.WMS);
return null;
}
}
}
//#endregion
//#region 收货方信息
if (outstorageobject.StorageMainObject.IsIncludeAccept == 1)
{
if (outstorageobject.outStorage_Accept != null)
{
if (!DataAccess.WMS_OutStorage_Accept.InsertWMS_OutStorage_Accept(outstorageobject.outStorage_Accept, sqltrans))
{
//回滚
SqlExec.endTransactionRollback(sqltrans);
//异常
ExceptionManage ex = new ExceptionManage();
ex.ThrowException(1000, SystemType.WMS);
return null;
}
}
}
//#endregion
//#region 加工信息
if (outstorageobject.StorageMainObject.IsIncludeMachining == 1)
{
if (outstorageobject.outStorage_Maching != null)
{
foreach (OutStorage_Maching outStorage_Maching in outstorageobject.outStorage_Maching)
{
if (!DataAccess.WMS_OutStorage_Machining.Insert_WMS_OutStorage_Machining(outStorage_Maching, sqltrans))
{
SqlExec.endTransactionRollback(sqltrans);
ExceptionManage ex = new ExceptionManage();
ex.ThrowException(10001, SystemType.WMS);
return null;
}
}
}
}
//#endregion
//#region 运输方信息
if (outstorageobject.StorageMainObject.IsIncludeTransport == 1)
{
if (!DataAccess.WMS_OutStorage_Transport.InsertWMS_OutStorage_Transport(outstorageobject.outStorage_Transport, sqltrans))
{
SqlExec.endTransactionRollback(sqltrans);
ExceptionManage ex = new ExceptionManage();
ex.ThrowException(10003, SystemType.WMS);
return null;
}
}
//#endregion
//#region 提交事务
SqlExec.endTransactionCommit(sqltrans);
DataAccess.LOGWrite.WriteIMS_log(new IMS_LogObject(UserCode, SystemType.WMS, "insert", "插入", "", "WMS_OutStorage", outstorageobject.StorageMainObject.OutStorage_Id));
return null;
//#endregion
}
//#endregion
}
else
{
return null;
}
}