using HH.Redis.ReisModel;
using HH.WMS.BLL.SysMgr;
using HH.WMS.Common;
using HH.WMS.DAL;
using HH.WMS.DAL.Basic;
using HH.WMS.DAL.OutStock;
using HH.WMS.Entitys;
using HH.WMS.Entitys.Basic;
using HH.WMS.Entitys.Common;
using HH.WMS.Entitys.Entitys;
using HH.WMS.Entitys.Entitys.Mes;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace HH.WMS.BLL.OutStock
{
public class TN_WM_OUT_MSTBLL : DapperBaseBLL
{
#region 出库订单新增
///
/// 出库订单新增
///
///
///
public OperateResult AddOut(TN_WM_OUT_MSTEntity outMst)
{
return UseTransaction(trans =>
{
//新增主表
CreateDAL>().Add(outMst, trans);
//新增子表
CreateDAL>().AddRange(outMst.OutDtlList, trans);
});
}
#endregion
#region 出库订单修改
///
/// 出库订单修改
///
///
///
public OperateResult UpdateOut(TN_WM_OUT_MSTEntity outMst)
{
return UseTransaction(trans =>
{
//修改主表
CreateDAL>().Update(outMst, new { CN_S_OP_NO = outMst.CN_S_OP_NO }, trans);
//删除子表
CreateDAL>().Delete(new { CN_S_OP_NO = outMst.CN_S_OP_NO }, trans);
//新增子表
CreateDAL>().AddRange(outMst.OutDtlList, trans);
});
}
#endregion
#region 删除出库订单
///
/// 删除出库订单
///
///
///
public OperateResult DeleteOut(string opNo)
{
return UseTransaction(trans =>
{
//删除出库订单主表
CreateDAL>().Delete(new { CN_S_OP_NO = opNo }, trans);
//删除出库订单子表
CreateDAL>().Delete(new { CN_S_OP_NO = opNo }, trans);
});
}
#endregion
#region 获取出库主子表
///
/// 获取出库主子表
///
///
///
public TN_WM_OUT_MSTEntity GetOutMstAndDtl(string CN_S_OP_NO)
{
TN_WM_OUT_MSTEntity outMst = CreateDAL>().GetSingleEntity(new { CN_S_OP_NO = CN_S_OP_NO });
List outDtlList = CreateDAL>().GetList(new { CN_S_OP_NO = CN_S_OP_NO });
outMst.OutDtlList = outDtlList;
return outMst;
}
#endregion
#region 修改主子表状态
///
/// 修改主子表状态
///
///
///
///
public OperateResult UpdateOutState(string opNo, string state)
{
return UseTransaction(trans =>
{
//修改主表状态
CreateDAL>().Update(new { CN_S_STATE = state }, new { CN_S_OP_NO = opNo }, trans);
//修改子表状态
CreateDAL>().Update(new { CN_S_STATE = state }, new { CN_S_OP_NO = opNo }, trans);
});
}
#endregion
#region 获取出库订单所有客户
///
/// 获取出库订单所有客户
///
///
public List GetDistinctCustom()
{
return CreateDAL().GetDistinctCustom();
}
#endregion
#region 提交
///
/// 提交
///
///
public OperateResult SubmitOut(string opNo, List stockList, RedisUserEntity user)
{
return UseTransaction(trans =>
{
//修改主表状态
CreateDAL>().Update(new { CN_S_STATE = Constants.State_Submit }, new { CN_S_OP_NO = opNo }, trans);
//修改子表状态
CreateDAL>().Update(new { CN_S_STATE = Constants.State_Submit }, new { CN_S_OP_NO = opNo }, trans);
//库存编辑量上升
CreateDAL().UpdateStockEditingQty(stockList, trans);
//添加日志
CreateDAL>().Add(OutBillExec(opNo, Constants.Operate_Sumit, user), trans);
});
}
#endregion
#region 取消
///
/// 取消
///
///
///
///
///
public OperateResult CancelOut(TN_WM_OUT_MSTEntity outMst, List stockList, RedisUserEntity user)
{
return UseTransaction(trans =>
{
if (outMst.CN_S_STATE == Constants.State_Submit)
{
CreateDAL().UpdateStockEditingQty(stockList, trans);
}
if (outMst.CN_S_STATE == Constants.State_Audit)
{
CreateDAL().UpdateStockAllocQty(stockList, trans);
}
//修改主表状态
CreateDAL>().Update(new { CN_S_STATE = Constants.State_Cancel }, new { CN_S_OP_NO = outMst.CN_S_OP_NO }, trans);
//修改子表状态
CreateDAL>().Update(new { CN_S_STATE = Constants.State_Cancel }, new { CN_S_OP_NO = outMst.CN_S_OP_NO }, trans);
//添加日志
CreateDAL>().Add(OutBillExec(outMst.CN_S_OP_NO, Constants.State_Cancel, user), trans);
});
}
#endregion
#region 驳回
///
/// 驳回
///
///
///
public OperateResult OutReject(TN_WM_B_REJECTEntity rejectEntity, List stockList, RedisUserEntity user)
{
return UseTransaction(trans =>
{
//修改主表状态
CreateDAL>().Update(new { CN_S_STATE = Constants.State_Reject }, new { CN_S_OP_NO = rejectEntity.CN_S_FROM_NO }, trans);
//修改子表状态
CreateDAL>().Update(new { CN_S_STATE = Constants.State_Reject }, new { CN_S_OP_NO = rejectEntity.CN_S_FROM_NO }, trans);
//添加驳回记录
CreateDAL>().Add(rejectEntity, trans);
//仓库编辑量下降
CreateDAL().UpdateStockEditingQty(stockList, trans);
//添加日志
CreateDAL>().Add(OutBillExec(rejectEntity.CN_S_FROM_NO, Constants.Operate_Reject, user), trans);
});
}
#endregion
#region 审核
///
/// 审核
///
///
///
///
public OperateResult AuditOut(string opNo, List stockList, List areaList, RedisUserEntity user, TN_WM_OUT_MSTEntity outMst, List trayItemMstList = null, List trayLocationList = null, List reduceMst = null)
{
var operateResult = UseTransaction(trans =>
{
//状态置为'已审核'
string state = Constants.State_Audit;
string timeStamp = DateTime.Now.ToString("yyyyMMddHHmmssffff");
if (outMst.CN_S_OP_TYPE.Equals(Constants.OutOpType_WxXs) || outMst.CN_S_OP_TYPE.Equals(Constants.OutOpType_WxXh))
{
//库区量表下降
CreateDAL().UpdateAreaQty(areaList, trans);
state = Constants.State_Completed;
//消耗出库直接降库存
CreateDAL().UpdateStockQty(stockList, trans, timeStamp);
//下降托盘物料数据量
CreateDAL().DropTrayItemQty(trayItemMstList, null, trans);
//出库单数据
if (reduceMst != null)
{
//出库单子表数据
List reduceInventoryDtlList = new List();
reduceMst.ForEach(p =>
{
reduceInventoryDtlList.AddRange(p.DTLEntity);
});
CreateDAL>().AddRange(reduceMst, trans);
CreateDAL>().AddRange(reduceInventoryDtlList, trans);
}
}
else
{
//库存分配量上升
CreateDAL().UpdateStockAllocQty(stockList, trans, timeStamp);
}
//全部为消耗出库直接结束单据 ,状态置为'已完成'
if (outMst.OutDtlList.Sum(x => x.CN_F_QUANTITY) ==
outMst.OutDtlList.Where(x => x.CN_C_AUTO_INOUT).Sum(y => y.CN_F_QUANTITY))
{
state = Constants.State_Completed;
}
//存在大件时拆单
if (outMst.BigOutMst != null)
{
//生成新的大件单据
CreateDapperDAL().Add(outMst.BigOutMst, trans);
CreateDapperDAL().AddRange(outMst.BigOutMst.OutDtlList, trans);
//添加日志
CreateDAL>().Add(OutBillExec(outMst.BigOutMst.CN_S_OP_NO, Constants.State_Audit, user), trans);
//生成新的非大件的单据
if (outMst.OtherOutMst != null)
{
CreateDapperDAL().Add(outMst.OtherOutMst, trans);
CreateDapperDAL().AddRange(outMst.OtherOutMst.OutDtlList, trans);
//添加日志
CreateDAL>().Add(OutBillExec(outMst.OtherOutMst.CN_S_OP_NO, Constants.State_Audit, user), trans);
}
//取消当前的单据
CreateDapperDAL().Update(new
{
CN_B_CANCEL = true
}, new
{
CN_S_OP_NO = outMst.CN_S_OP_NO
}, trans);
//添加日志
CreateDAL>().Add(OutBillExec(opNo, Constants.State_Cancel, user), trans);
}
else
{
//修改主表状态
CreateDAL>().Update(
new
{
CN_S_STATE = state,
CN_S_AUDITOR = user.CN_S_NAME,
CN_T_AUDIT_TIME = DateTime.Now,
CN_S_MODIFY = user.CN_S_NAME,
CN_S_MODIFY_BY = user.CN_S_LOGIN,
CN_T_MODIFY = DateTime.Now
},
new { CN_S_OP_NO = opNo }, trans);
//修改子表状态
CreateDAL>().Update(new { CN_S_STATE = state }, new { CN_S_OP_NO = opNo }, trans);
}
//库存编辑量下降
stockList.ForEach(s => { s.CN_S_TIMESTAMP = timeStamp; });
CreateDAL().UpdateStockEditingQty(stockList, trans);
//添加日志
CreateDAL>().Add(OutBillExec(opNo, Constants.Operate_Audit, user), trans);
});
if ((outMst.CN_S_OP_TYPE.Equals(Constants.OutOpType_WxXs) || outMst.CN_S_OP_TYPE.Equals(Constants.OutOpType_WxXh)) && operateResult.Success && trayLocationList != null)
{
var currentTrayItemMst = CreateDAL>().GetList(new
{
CN_S_TRAY_CODE = trayLocationList.Select(x => x.CN_S_TRAY_CODE).ToList()
});
List clearLocations = new List();
foreach (var trayLocation in trayLocationList)
{
if (!currentTrayItemMst.FindAll(x => x.CN_S_TRAY_CODE.Equals(trayLocation.CN_S_TRAY_CODE)).Any())
clearLocations.Add(trayLocation);
}
if (clearLocations.Any())
{
operateResult = UseTransaction(trans =>
{
foreach (var clearLocation in clearLocations)
{
CreateDAL().ClearLocationByTrayCode(clearLocation, trans);
}
});
}
}
return operateResult;
}
#endregion
#region 反审
///
/// 反审
///
///
///
///
public OperateResult ReAuditOut(string opNo, List stockList, RedisUserEntity user)
{
return UseTransaction(trans =>
{
//修改主表状态
CreateDAL>().Update(new { CN_S_STATE = Constants.State_ReAudit }, new { CN_S_OP_NO = opNo }, trans);
//修改子表状态
CreateDAL>().Update(new { CN_S_STATE = Constants.State_ReAudit }, new { CN_S_OP_NO = opNo }, trans);
//库存分配量下降
string timeStamp = DateTime.Now.ToString("yyyyMMddHHmmssffff");
CreateDAL().UpdateStockAllocQty(stockList, trans, timeStamp);
//库存编辑量上升
stockList.ForEach(s => { s.CN_S_TIMESTAMP = timeStamp; });
CreateDAL().UpdateStockEditingQty(stockList, trans);
//添加日志
CreateDAL>().Add(OutBillExec(opNo, Constants.Operate_ReAudit, user), trans);
});
}
#endregion
#region 合单
///
/// 合单
///
///
///
///
public OperateResult MergeOrder(TN_WM_OUT_MSTEntity newOutMstEntity, List oldOutMstList, RedisUserEntity user)
{
return UseTransaction(trans =>
{
//合单的单据状态设 取消,父单据号
CreateDAL().UpdateMstMerage(oldOutMstList, trans);
//新增合单的主表
CreateDAL>().Add(newOutMstEntity, trans);
//新增合单的子表
CreateDAL>().AddRange(newOutMstEntity.OutDtlList, trans);
//添加日志
string progRess = Constants.Operate_MergeOrder + ":" + newOutMstEntity.CN_S_OP_NO + ";来源:" + string.Join(",", oldOutMstList.Select(x => x.CN_S_OP_NO));
CreateDAL>().Add(OutBillExec(newOutMstEntity.CN_S_OP_NO, Constants.Operate_MergeOrder, user, progRess), trans);
});
}
#endregion
#region 获取订单日志实体
///
/// 获取订单日志实体
///
///
///
///
///
public TN_WM_B_BILL_EXECEntity OutBillExec(string opNo, string operate, RedisUserEntity user, string progRess = "")
{
return new TN_WM_B_BILL_EXECEntity()
{
CN_GUID = Guid.NewGuid().ToString(),
CN_C_IS_KEY = Constants.Y,
CN_S_EXECUTOR = user.CN_S_LOGIN,
CN_S_EXECUTOR_BY = user.CN_S_NAME,
CN_S_NOTE = "",
CN_S_OP_NO = opNo,
CN_S_OP_TYPE = Constants.Out,
CN_S_PROGRESS = string.IsNullOrEmpty(progRess) ? operate + ":" + opNo : progRess,
CN_T_EXECUTE = DateTime.Now
};
}
#endregion
#region 获取出库单主子表信息
///
/// 获取出库单主子表信息
///
///
///
public TN_WM_OUT_MSTEntity GetOut(string outNo)
{
if (string.IsNullOrEmpty(outNo))
throw new Exception("出库单不可为空");
var outMst = CreateDAL>().GetSingleEntity(new
{
CN_S_OP_NO = outNo
});
if (outMst == null)
throw new Exception("未找到出库单:" + outNo);
var outDtl = CreateDAL>().GetList(new
{
CN_S_OP_NO = outNo
});
if (!outDtl.Any())
throw new Exception("未找到出库单:" + outNo + "的物料");
outMst.OutDtlList = outDtl;
return outMst;
}
#endregion
#region 获取出库单主子表信息
///
/// 获取出库单主子表信息
///
///
///
public List GetOutList(List outList)
{
var outMstList = CreateDAL>().GetList(new
{
CN_S_OP_NO = outList
});
var outDtlList = CreateDAL>().GetList(new
{
CN_S_OP_NO = outList
});
foreach (var outMst in outMstList)
{
var currentOutDtl = outDtlList.FindAll(x => x.CN_S_OP_NO == outMst.CN_S_OP_NO);
if (!currentOutDtl.Any())
throw new Exception("未找到出库单:" + outMst.CN_S_OP_NO + "的物料");
outMst.OutDtlList = currentOutDtl;
}
return outMstList;
}
#endregion
#region 获取出库单主子表信息
///
/// 获取出库单主子表信息
///
///
///
public List GetOutListByWave(string waveNo)
{
var outMstList = CreateDAL>().GetList(new
{
CN_S_WAVE_CODE = waveNo
});
var outDtlList = CreateDAL>().GetList(new
{
CN_S_OP_NO = outMstList.Select(s => s.CN_S_OP_NO).ToList()
});
foreach (var outMst in outMstList)
{
var currentOutDtl = outDtlList.FindAll(x => x.CN_S_OP_NO == outMst.CN_S_OP_NO);
if (!currentOutDtl.Any())
throw new Exception("未找到出库单:" + outMst.CN_S_OP_NO + "的物料");
outMst.OutDtlList = currentOutDtl;
}
return outMstList;
}
#endregion
#region K3出库对接
public OperateResult K3_Out(object Param, IDbTransaction trans)
{
//获取策略:是否需要与K3对接
string isUseK3 = "";// GetStrategy(stockCode, StrategyKey.IsUseK3);
//吉鑫祥项目需要反馈K3系统
if (Constants.SysConfig.APP_NAME == "JXX" && isUseK3.Equals("Y"))
{
}
return OperateResult.Error("未知");
}
#endregion
#region 根据包装箱编码查询数据
///
/// 根据包装箱编码查询数据
///
///
/// [HanHe(LT)] CREATED 2019/1/8
public DataTable GetOutPack(string sqlwhere)
{
return CreateDAL().GetOutPack(sqlwhere);
}
///
/// 根据包装箱编码查询数据
///
///
/// [HanHe(LT)] CREATED 2019/1/8
public DataTable GetBoxdtl(string sqlwhere)
{
DataTable dt = CreateDAL().GetBoxdtl(sqlwhere);
dt.Columns.Add("CN_S_MODEL");
//dt.Columns.Add("CN_S_MEASURE_UNIT");
Dictionary itemDic = new Dictionary();
foreach (DataRow row in dt.Rows)
{
if (!string.IsNullOrEmpty(row["CN_S_ITEM_CODE"].ToString()))
{
if (!itemDic.ContainsKey(row["CN_S_ITEM_CODE"].ToString()))
{
AutoBomItemEntity ItemEntity = CreateDAL().GetItemEntity(row["CN_S_ITEM_CODE"].ToString());
row["CN_S_MODEL"] = ItemEntity == null ? "" : ItemEntity.CN_S_MODEL;
row["CN_S_MEASURE_UNIT"] = ItemEntity == null ? "" : ItemEntity.CN_S_MEASURE_UNIT;
itemDic.Add(row["CN_S_ITEM_CODE"].ToString(), ItemEntity == null ? "" : ItemEntity.CN_S_MODEL + "|" + ItemEntity.CN_S_MEASURE_UNIT);
}
else
{
var s = itemDic[row["CN_S_ITEM_CODE"].ToString()].Split('|');
row["CN_S_MODEL"] = s[0];
row["CN_S_MEASURE_UNIT"] = s[1];
}
}
}
return dt;
}
#endregion
#region U8服务调用-新增出库单主子表
///
/// U8服务调用-新增出库单主子表
///
/// 出库单主子表集合
///
public OperateResult AddU8OutData(List mstList)
{
#region 组织数据锁定库存,增加分配量
//待批分数据
List batchesList = new List();
foreach (var mst in mstList)
{
foreach (var dtl in mst.OutDtlList)
{
batchesList.Add(new BatchesEntity()
{
ItemCode = dtl.CN_S_ITEM_CODE,
ItemState = dtl.CN_S_ITEM_STATE,
ItemArrivalLot = dtl.CN_S_LOT_CODE,
ItemProductionLot = dtl.CN_S_PRODUCTION_BATCH,
Owner = mst.CN_S_OWNER,
Qty = dtl.CN_F_QUANTITY,
StockCode = mst.CN_S_STOCK_CODE,
AreaCode = mst.CN_S_AREA,
OpNo = mst.CN_S_OP_NO,
OutMst = mst,
IsFilter = dtl.CN_C_AUTO_INOUT
});
}
}
//当前子表物料库存
var stockList = BLLCreator.Create>().GetList(new
{
CN_S_ITEM_CODE = batchesList.Select(p => p.ItemCode).ToList()
});
//算法策略
List lstStrate = BLLCreator.Create().GetStrateListByAreaOrStock("", "", Constants.Out)
.OrderByDescending(a => a.CN_N_PRIORITY).Select(o => o.CN_S_CODE).ToList();
//Log.Info("AddU8OutData mstList", JsonConvert.SerializeObject(mstList));
//Log.Info("AddU8OutData batchesList", JsonConvert.SerializeObject(batchesList));
//正批分分配量
var batchResult = stockList.BatchesStockQty(batchesList, BatchesType.ForwardBatch, StockBatchesField.AllocationQty, lstStrate);
if (!batchResult.Success) return batchResult;
#endregion
OperateResult operateResult = UseTransaction(trans =>
{
for (int i = 0; i < mstList.Count; i++)
{
CreateDAL>().Add(mstList[i], trans);
CreateDAL>().AddRange(mstList[i].OutDtlList, trans);
}
//增加量表分配量
CreateDAL().UpdateStockAllocQty(stockList, trans);
});
return operateResult;
}
#endregion
#region MES调用-接收出库订单
public MesDYResponse CreateOutOrder(StockOutCreateRequest request)
{
DeliveryOrder deliveryOrder = request.DeliveryOrder;
if (string.IsNullOrEmpty(deliveryOrder.StockCode))
{
var stockList = CreateDAL().GetStockList();
if (stockList.Any())
{
deliveryOrder.StockCode = stockList[0].CN_S_STOCK_CODE;
}
}
TN_WM_OUT_MSTEntity outMst = new TN_WM_OUT_MSTEntity();
List outDtlList = new List();
outMst.CN_GUID = Guid.NewGuid().ToString().ToUpper(); //guid
outMst.CN_S_OP_NO = deliveryOrder.DeliveryOrderCode; //发货通知单号
outMst.CN_S_MODIFY = deliveryOrder.Creator; //修改人
outMst.CN_S_MODIFY_BY = deliveryOrder.CreatorBy; //修改人
outMst.CN_S_OWNER = deliveryOrder.OwnerCode; //货主
outMst.CN_T_MODIFY = DateTime.Now; //修改时间
outMst.CN_S_STOCK_CODE = deliveryOrder.StockCode; //仓库编码
outMst.CN_S_OP_TYPE = deliveryOrder.OrderType; //业务类型
outMst.CN_S_CREATOR = deliveryOrder.Creator; //创建人
outMst.CN_T_OP_DATE = Convert.ToDateTime(deliveryOrder.CreateTime); //业务日期
outMst.CN_S_CREATOR_BY = deliveryOrder.CreatorBy; //创建人
outMst.CN_T_CREATE = DateTime.Now; //创建时间
outMst.CN_S_STATE = Constants.State_Audit; //,:CN_S_STATE
outMst.CN_S_DELIVERY_MODE = ""; //提货方式
outMst.CN_S_VENDOR_NO = deliveryOrder.SupplierCode; //供应商编码
outMst.CN_S_VENDOR_NAME = deliveryOrder.SupplierName;//供应商名称
outMst.CN_S_OP_FROM = "MES"; //MES来源
outMst.CN_S_FROM_NO = deliveryOrder.FromOrderNo; //来源单号
outMst.CN_S_NOTE = deliveryOrder.Note; //摘要
outMst.CN_S_WAVE_CODE = ""; //波次
outMst.CN_S_FORWARDING_WAY = deliveryOrder.TransportMode; //发运方式
outMst.CN_S_VENDOR_NO = deliveryOrder.SupplierCode;
outMst.CN_S_CUSTOMER_NAME = deliveryOrder.SupplierName;
outMst.CN_S_OPERATOR = deliveryOrder.Operator; //制单人
outMst.CN_S_AUDITOR = "汉和信息"; //审核人
outMst.CN_T_AUDIT_TIME = DateTime.Now; //审核日期
outMst.CN_S_AUDIT_REMARK = ""; //审核备注
outMst.CN_S_CONTRACT_NUM = ""; //合同号
if (request.OrderLines.Count > 0)
{
foreach (var orderLine in request.OrderLines)
{
TN_WM_OUT_DTLEntity outDtl = new TN_WM_OUT_DTLEntity();
outDtl.CN_GUID = Guid.NewGuid().ToString().ToUpper(); //guid
outDtl.CN_S_OP_NO = deliveryOrder.DeliveryOrderCode; //发货通知单号
outDtl.CN_S_CREATOR = deliveryOrder.Creator; //创建人
outDtl.CN_N_ROW_NO = Convert.ToInt32(orderLine.OrderLineNo); //行号
outDtl.CN_S_SERIAL_NO = ""; //产品序列号
outDtl.CN_S_CREATOR_BY = deliveryOrder.CreatorBy; //创建人
outDtl.CN_S_ITEM_CODE = orderLine.ItemCode; //物料编码
outDtl.CN_T_CREATE = DateTime.Now; //创建时间
outDtl.CN_S_ITEM_NAME = orderLine.ItemName; //物料名称
outDtl.CN_S_MODIFY = deliveryOrder.Creator; //修改人
outDtl.CN_S_MODIFY_BY = deliveryOrder.CreatorBy; //修改人
outDtl.CN_T_MODIFY = DateTime.Now; //修改时间
outDtl.CN_S_ITEM_STATE = orderLine.itemState; //物料状态
outDtl.CN_S_PRODUCTION_BATCH = orderLine.BatchCode; //批次
outDtl.CN_F_QUANTITY = orderLine.PlanQty; //数量
outDtl.CN_F_ADDUP_DELIVERY_QTY = 0; //
outDtl.CN_S_STATE = Constants.State_Audit; //状态
outDtl.CN_S_NOTE = ""; //备注
outDtl.CN_F_ADDUP_OUTSTOCK_QTY = 0;
outDtl.CN_F_ADDUP_RETSTOCK_QTY = 0;
outDtl.CN_F_SALE_PRICE = 0; //销售价格
outDtl.CN_F_SALE_MONEY = 0; //销售金额
AutoBomItemEntity itemenity = BLLCreator.Create().GetItemEntity(orderLine.ItemCode);
if (itemenity != null)
{
outDtl.CN_S_MODEL = itemenity.CN_S_MODEL; //规格型号
outDtl.CN_S_FIGURE_NO = itemenity.CN_S_FIGURE_NO; //图号
outDtl.CN_C_IS_WARRANTY_PARTS = itemenity.CN_C_IS_WARRNTY_PARTS; //是否质保件
outDtl.CN_S_MEASURE_UNIT = itemenity.CN_S_MEASURE_UNIT; //单位
}
outDtlList.Add(outDtl);
}
}
OperateResult operateResult = UseTransaction(trans =>
{
CreateDAL>().Add(outMst, trans);
CreateDAL>().AddRange(outDtlList, trans);
});
MesDYResponse response = new MesDYResponse();
//出库单创建日期
response.CreateTime = request.DeliveryOrder.CreateTime;
//出库单号
response.DeliveryOrderId = request.DeliveryOrder.DeliveryOrderCode;
//响应结果:True False
response.Flag = operateResult.Success.ToString();
//消息
if (!operateResult.Success)
response.Message = operateResult.Msg;
return response;
}
#endregion
#region 获取非内销的审核单据
///
/// 获取非内销的审核单据
///
///
public List GetNeNxAuditedList()
{
return CreateDAL().GetNeNxAuditedList();
}
#endregion
}
}