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