| | |
| | | using HH.WCS.Mobox3.pinggao.core; |
| | | using static HH.WCS.Mobox3.pinggao.api.OtherModel.Putaway_Order_In; |
| | | using System.Web.Http.Results; |
| | | using System.Runtime.Caching; |
| | | |
| | | namespace HH.WCS.Mobox3.pinggao.api |
| | | { |
| | |
| | | S_END_LOC = endinfo.S_CODE, |
| | | S_END_AREA = endinfo.S_AREA_CODE, |
| | | S_END_WH = endinfo.S_WH_CODE, |
| | | |
| | | N_PRIORITY=1, |
| | | N_TYPE = 2, |
| | | // S_TYPE = WMSTask.GetTypeStr(1), |
| | | S_TYPE = "出库空托盘", |
| | |
| | | } |
| | | |
| | | } |
| | | private static readonly ObjectCache Cache = MemoryCache.Default; |
| | | private const string CachePrefix = "ClickProtection_"; |
| | | private const int CacheDurationInSeconds = 2; |
| | | |
| | | public static bool IsClickAllowed(string parameter) |
| | | { |
| | | string cacheKey = CachePrefix + parameter; |
| | | |
| | | // 检查缓存中是否已存在该参数 |
| | | if (Cache.Contains(cacheKey)) |
| | | { |
| | | // 缓存中存在,说明5秒内已点击过 |
| | | return false; |
| | | } |
| | | else |
| | | { |
| | | // 缓存中不存在,添加到缓存并设置5秒后过期 |
| | | CacheItemPolicy policy = new CacheItemPolicy { AbsoluteExpiration = DateTimeOffset.Now.AddSeconds(CacheDurationInSeconds) }; |
| | | Cache.Set(cacheKey, parameter, policy); |
| | | return true; |
| | | } |
| | | } |
| | | /// <summary> |
| | | /// 分拣 |
| | | /// </summary> |
| | |
| | | { |
| | | |
| | | var result = new SimpleResult(); |
| | | if (!IsClickAllowed(model.cntr_code)) |
| | | { |
| | | // 提示用户5秒内已点击过 |
| | | result.resultMsg = "您已点击过,请2秒后再试。"; |
| | | result.resultCode = 1; |
| | | return result; |
| | | } |
| | | else |
| | | { |
| | | |
| | | } |
| | | // var db = new SqlHelper<object>().GetInstance(); |
| | | |
| | | using (var db = new SqlHelper<object>().GetInstance()) |
| | |
| | | |
| | | } |
| | | LogHelper.Info($"S_OUT_TYPE{po.S_OUT_TYPE}"); |
| | | var gzra = db.Queryable<TN_GZ_SZ>().Where(a => a.N_ENABLE == 1).First(); |
| | | var GZRQ = DateTime.Now.ToString("yyyyMMdd"); |
| | | if (gzra != null) |
| | | { |
| | | GZRQ = gzra.S_GZRQ.ToString("yyyyMMdd"); |
| | | } |
| | | //根据不同出库类型 回调sap |
| | | if (po.S_OUT_TYPE == "冲销出库") |
| | | { |
| | | result = await CXAddOutboundOrder(db, model.MaterList, model.arrival_no, model.cntr_code, start); |
| | | result = await CXAddOutboundOrder(GZRQ,db, model.MaterList, model.arrival_no, model.cntr_code, start); |
| | | } |
| | | else |
| | | if (po.S_OUT_TYPE == "出库")//普通出库 |
| | | { |
| | | LogHelper.Info($"S_OUT_TYPE{po.S_OUT_TYPE}"); |
| | | result = await AddOutboundOrder(db, model.MaterList, model.arrival_no, model.cntr_code, start); |
| | | result = await AddOutboundOrder(GZRQ, db, model.MaterList, model.arrival_no, model.cntr_code, start); |
| | | } |
| | | else if (po.S_OUT_TYPE == "计划外发料出库") |
| | | { |
| | | result = await jhwtlAddOutboundOrder(db, model.MaterList, model.arrival_no, model.cntr_code, start); |
| | | result = await jhwtlAddOutboundOrder(GZRQ,db, model.MaterList, model.arrival_no, model.cntr_code, start); |
| | | } |
| | | else if (po.S_OUT_TYPE == "成本中心出库") |
| | | { |
| | | result = await CBAddOutboundOrder(db, model.MaterList, model.arrival_no, model.cntr_code, start); |
| | | result = await CBAddOutboundOrder(GZRQ,db, model.MaterList, model.arrival_no, model.cntr_code, start); |
| | | } |
| | | |
| | | if (result.resultCode == 1) |
| | | { |
| | | return result; |
| | | } |
| | | //通用接口 对容器货品的删减 和生成回库单 都要用的接口 |
| | | result = await TYAddOutboundOrder(db, model.MaterList, model.arrival_no, model.cntr_code, model.IsHK, start, po.S_OUT_TYPE, model.cntr_type); |
| | | if (result.resultCode == 1) |
| | |
| | | }; |
| | | if (WMSHelper.CreateWmsTask(wmsTask)) |
| | | { |
| | | LocationHelper.LockLoc(start, 1); |
| | | LocationHelper.LockLoc(start, 2); |
| | | result.resultMsg = $"创建作业成功,作业号{wmsTask.S_CODE}"; |
| | | } |
| | | } |
| | |
| | | result.resultMsg = $"{model.cntr_code}托盘找不到货位"; |
| | | return result; |
| | | } |
| | | var startloc = db.Queryable<Location>().Where(a => a.S_CODE == model.start).First(); |
| | | var start = ""; |
| | | var startloc1 = db.Queryable<LocCntrRel>().Where(a => a.S_CNTR_CODE == model.cntr_code).First(); |
| | | if (startloc1 != null) |
| | | { |
| | | start = startloc1.S_LOC_CODE; |
| | | } |
| | | else |
| | | { |
| | | result.resultMsg = $"{model.cntr_code}容器未找到货位信息"; |
| | | result.resultCode = 1; |
| | | return result; |
| | | } |
| | | var startloc = db.Queryable<Location>().Where(a => a.S_CODE ==start).First(); |
| | | //var location = db.Queryable<Location>().Where(a => a.S_CODE == locs.S_LOC_CODE).First(); |
| | | var wmsTask = new WMSTask |
| | | { |
| | | S_CNTR_CODE = model.cntr_code, |
| | | S_CODE = WMSHelper.GenerateTaskNo(), |
| | | S_START_LOC = model.start, |
| | | S_START_LOC = startloc.S_CODE, |
| | | S_START_AREA = startloc.S_AREA_CODE, |
| | | S_START_WH = startloc.S_WH_CODE, |
| | | |
| | |
| | | }; |
| | | if (WMSHelper.CreateWmsTask(wmsTask)) |
| | | { |
| | | LocationHelper.LockLoc(model.start, 1); |
| | | LocationHelper.LockLoc(startloc.S_CODE, 1); |
| | | result.resultMsg = $"创建作业成功,作业号{wmsTask.S_CODE}"; |
| | | } |
| | | } |
| | |
| | | /// <param name="cntr_code"></param> |
| | | /// <param name="start"></param> |
| | | /// <returns></returns> |
| | | public static async Task<SimpleResult> CBAddOutboundOrder(SqlSugarClient db, List<Mater> MaterList, string arrival_no, string cntr_code, string start) |
| | | public static async Task<SimpleResult> CBAddOutboundOrder(string GZRQ,SqlSugarClient db, List<Mater> MaterList, string arrival_no, string cntr_code, string start) |
| | | { |
| | | //using (var db = new SqlHelper<object>().GetInstance()) |
| | | //{ |
| | |
| | | //回参物料信息 |
| | | List<CBcenterBackDto.HEADItem> iTEMs = new List<CBcenterBackDto.HEADItem>(); |
| | | List<OutboundRecord> records = new List<OutboundRecord>(); |
| | | string GZRQ = ""; |
| | | //string GZRQ = ""; |
| | | string PZZDRQ = ""; |
| | | if (po.BUDAT != null) |
| | | { |
| | | GZRQ = DateTime.Parse(po.BUDAT.ToString()).ToString("yyyyMMdd"); |
| | | } |
| | | //if (po.BUDAT != null) |
| | | //{ |
| | | // GZRQ = DateTime.Parse(po.BUDAT.ToString()).ToString("yyyyMMdd"); |
| | | //} |
| | | if (po.BLDAT != null) |
| | | { |
| | | PZZDRQ = DateTime.Parse(po.BLDAT.ToString()).ToString("yyyyMMdd"); |
| | |
| | | /// <param name="cntr_code"></param> |
| | | /// <param name="start"></param> |
| | | /// <returns></returns> |
| | | public static async Task<SimpleResult> jhwtlAddOutboundOrder(SqlSugarClient db, List<Mater> MaterList, string arrival_no, string cntr_code, string start) |
| | | public static async Task<SimpleResult> jhwtlAddOutboundOrder(string GZRQ,SqlSugarClient db, List<Mater> MaterList, string arrival_no, string cntr_code, string start) |
| | | { |
| | | //using (var db = new SqlHelper<object>().GetInstance()) |
| | | //{ |
| | |
| | | |
| | | DateTime dateTime; |
| | | DateTime dateTime1; |
| | | string GZRQ = ""; |
| | | //string GZRQ = ""; |
| | | string PZZDRQ = ""; |
| | | if (po.BUDAT != null) |
| | | { |
| | | GZRQ = DateTime.Parse(po.BUDAT.ToString()).ToString("yyyyMMdd"); |
| | | } |
| | | //if (po.BUDAT != null) |
| | | //{ |
| | | // GZRQ = DateTime.Parse(po.BUDAT.ToString()).ToString("yyyyMMdd"); |
| | | //} |
| | | if (po.BLDAT != null) |
| | | { |
| | | PZZDRQ = DateTime.Parse(po.BLDAT.ToString()).ToString("yyyyMMdd"); |
| | |
| | | /// <param name="cntr_code"></param> |
| | | /// <param name="start"></param> |
| | | /// <returns></returns> |
| | | public static async Task<SimpleResult> CXAddOutboundOrder(SqlSugarClient db, List<Mater> MaterList, string arrival_no, string cntr_code, string start) |
| | | public static async Task<SimpleResult> CXAddOutboundOrder(string GZRQ,SqlSugarClient db, List<Mater> MaterList, string arrival_no, string cntr_code, string start) |
| | | { |
| | | // var db = new SqlHelper<object>().GetInstance(); |
| | | |
| | |
| | | try |
| | | { |
| | | //库位信息 |
| | | var startinfo = db.Queryable<Location>().Where(it => it.S_CODE == start).First(); |
| | | //var startinfo = db.Queryable<Location>().Where(it => it.S_CODE == start).First(); |
| | | //出库单详情 |
| | | var po = db.Queryable<TN_Outbound_Order>().Includes(s => s.Details).Where(a => a.S_NO == arrival_no).First(); |
| | | |
| | | string GZRQ = ""; |
| | | if (po.BUDAT != null) |
| | | { |
| | | GZRQ = DateTime.Parse(po.BUDAT.ToString()).ToString("yyyyMMdd"); |
| | | } |
| | | //string GZRQ = ""; |
| | | //if (po.BUDAT != null) |
| | | //{ |
| | | // GZRQ = DateTime.Parse(po.BUDAT.ToString()).ToString("yyyyMMdd"); |
| | | //} |
| | | |
| | | //来源冲销凭证对应的物料凭证信息 |
| | | //var poIn = db.Queryable<TN_Inbound_Order>().Includes(s => s.Details).Where(a => a.S_NO == po.S_BS_NO).First(); |
| | |
| | | hEAD.GZRQ = GZRQ; |
| | | hEAD.SRSJ = DateTime.Now.ToString("yyyyMMdd"); |
| | | |
| | | //hEAD.WLPZ = porecord.Where(s => s.S_WLBM == item.item_code && s.S_WLH == item.N_ROW_NO).First()?.S_WLPZBH; |
| | | //hEAD.WLPZNF = porecord.Where(s=>s.S_WLBM==item.item_code&&s.S_WLH==item.N_ROW_NO).First()?.S_WLPZND; |
| | | |
| | | //hEAD.WLPZ = porecord.First()?.S_WLPZBH; |
| | | //hEAD.WLPZNF = porecord.First()?.S_WLPZND; |
| | | |
| | | hEAD.WLPZ = porecord.FirstOrDefault()?.S_WLPZBH; |
| | | hEAD.WLPZNF = porecord.FirstOrDefault()?.S_WLPZND; |
| | |
| | | /// <param name="cntr_code"></param> |
| | | /// <param name="start"></param> |
| | | /// <returns></returns> |
| | | public static async Task<SimpleResult> AddOutboundOrder(SqlSugarClient db, List<Mater> MaterList, string arrival_no, string cntr_code, string start) |
| | | public static async Task<SimpleResult> AddOutboundOrder(string GZRQ,SqlSugarClient db, List<Mater> MaterList, string arrival_no, string cntr_code, string start) |
| | | { |
| | | //using (var db = new SqlHelper<object>().GetInstance()) |
| | | //{ |
| | |
| | | var startinfo = db.Queryable<Location>().Where(it => it.S_CODE == start).First(); |
| | | //出库单详情 |
| | | var po = db.Queryable<TN_Outbound_Order>().Includes(s => s.Details).Where(a => a.S_NO == arrival_no).First(); |
| | | string GZRQ = ""; |
| | | //string GZRQ = ""; |
| | | string PZZDRQ = ""; |
| | | //if (po.Details[0].S_CJRQ != null) |
| | | //{ |
| | |
| | | KEY = po.S_NO, |
| | | ZYWLX = "2", |
| | | PZRQ = DateTime.Now.ToString("yyyyMMdd"), |
| | | GZRQ = DateTime.Now.ToString("yyyyMMdd"), // 假设日期格式为"年-月-日" |
| | | GZRQ = GZRQ, // 假设日期格式为"年-月-日" |
| | | GZRY = po.S_CREATOR_NAME, |
| | | ITEM = new List<CkBcakDto.ITEM> |
| | | { |
| | |
| | | /// </summary> |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | | internal static WeiLiResult Out_Order_Inss(string S_NO) |
| | | internal static WeiLiResult Out_Order_Inss(string S_NO,int N_PRIORITY) |
| | | { |
| | | var result = new WeiLiResult(); |
| | | // var db = new SqlHelper<object>().GetInstance(); |
| | |
| | | else |
| | | { |
| | | //var az = db.Queryable<AZInventory>().ToList(); |
| | | var po1 = new TN_Outbound_Order { S_NO = WMSHelper.GenerateShippNo(), UNAME = po.UNAME, S_FACTORY = po.S_FACTORY, S_CBZX = po.S_CBZX, S_ZZKM = po.S_ZZKM, S_LRZX = po.S_LRZX, BLDAT = po.BLDAT, BUDAT = po.BUDAT, S_OUT_TYPE = po.S_OUT_TYPE, S_BS_TYPE = po.S_BS_TYPE, S_AREA_CODE = po.S_AREA_CODE, S_BS_NO = po.S_NO }; |
| | | var po1 = new TN_Outbound_Order { S_NO = WMSHelper.GenerateShippNo(), N_PRIORITY=N_PRIORITY, UNAME = po.UNAME, S_FACTORY = po.S_FACTORY, S_CBZX = po.S_CBZX, S_ZZKM = po.S_ZZKM, S_LRZX = po.S_LRZX, BLDAT = po.BLDAT, BUDAT = po.BUDAT, S_OUT_TYPE = po.S_OUT_TYPE, S_BS_TYPE = po.S_BS_TYPE, S_AREA_CODE = po.S_AREA_CODE, S_BS_NO = po.S_NO }; |
| | | List<TN_Ll_detail> tN_Ll_Details = new List<TN_Ll_detail>(); |
| | | po1.Details = new List<TN_Outbound_Detail>(); |
| | | var list = po.Details.Where(s => s.F_QTY > s.F_ACC_D_QTY&&s.S_ERP_WH_CODE=="4004").Select(s => s.S_ITEM_CODE).Distinct().ToArray(); |
| | |
| | | db.BeginTran(); |
| | | |
| | | var po = db.Queryable<TN_Inbound_Order>().Includes(p => p.Details).Where(a => a.S_NO == model.S_NO).First(); |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | LogHelper.Info($"进来了2"); |
| | | #region MyRegion |
| | | if (po.Details.Count > 0) |
| | |
| | | w.S_ITEM_CODE == d.S_ITEM_CODE && |
| | | w.N_ROW_NO == d.N_ROW_NO)).OrderBy(s => s.N_ROW_NO) |
| | | .ToList(); |
| | | |
| | | #region MyRegion |
| | | |
| | | |
| | | List<TN_Center_Inbound_Detail> tN_Center_Inbound_Details=new List<TN_Center_Inbound_Detail>(); |
| | | foreach (var item in po.Details) |
| | | { |
| | | bool idadd = true; |
| | | // var cir2 = db.Queryable<CGRels>().Where(a => a.S_ITEM_CODE == item.S_ITEM_CODE && a.S_CNTR_TYPE == "半托").Select(s => s.S_CNTR_CODE).Distinct().ToArray(); |
| | | var S_CNTR_CODE = ""; |
| | | |
| | | |
| | | |
| | | var lcr = db.Queryable<LocCntrRel>() |
| | | .InnerJoin<CGRels>((l, c) => l.S_CNTR_CODE == c.S_CNTR_CODE) |
| | | .Where((l, c) => c.S_ITEM_CODE == item.S_ITEM_CODE && c.S_CNTR_TYPE == "半托") |
| | | .OrderByDescending((l, c) => l.T_CREATE) |
| | | .Select((l, c) => l).ToList() |
| | | .FirstOrDefault(); |
| | | |
| | | //if (cir2.Count()>0) |
| | | //{ |
| | | |
| | | |
| | | // var lcr = db.Queryable<LocCntrRel>().Where(c => cir2.Contains(c.S_CNTR_CODE)).OrderByDescending(s=>s.T_CREATE).First(); |
| | | |
| | | S_CNTR_CODE = lcr.S_CNTR_CODE; |
| | | if (lcr != null) |
| | | { |
| | | //起始库位 |
| | | var startloc = db.Queryable<Location>().Where(it => it.S_CODE == lcr.S_LOC_CODE).First(); |
| | | var wsc = db.Queryable<WCSTask>().Where(it => it.S_CNTR_CODE == S_CNTR_CODE&&it.S_TYPE.Contains("出库") && it.N_B_STATE < 3).First(); |
| | | if (wsc != null) |
| | | { |
| | | item.N_B_STATE = 2; |
| | | db.Updateable(item).UpdateColumns(it => new { it.N_B_STATE }).ExecuteCommand(); |
| | | } |
| | | else |
| | | { |
| | | if (startloc != null)//&& |
| | | { |
| | | //终点货位 |
| | | var endloc = db.Queryable<Location>().Where(it => it.S_AREA_CODE == "QYQXHQ" && it.N_LOCK_STATE == 0 && it.N_CURRENT_NUM == 0).First(); |
| | | |
| | | // var endloc = db.Queryable<Location>().Where(it => it.S_CODE == item.S_END_LOC).First(); |
| | | if (endloc != null) |
| | | { |
| | | var optask = new WMSTask |
| | | { |
| | | S_CODE = WMSHelper.GenerateTaskNo(), |
| | | S_START_LOC = startloc.S_CODE, |
| | | S_START_AREA = startloc.S_AREA_CODE, |
| | | S_START_WH = startloc.S_WH_CODE, |
| | | S_END_LOC = endloc.S_CODE, |
| | | S_END_AREA = endloc.S_AREA_CODE, |
| | | S_END_WH = endloc.S_WH_CODE, |
| | | N_PRIORITY = 1, |
| | | S_TYPE = "半托出库", |
| | | N_TYPE = 2, |
| | | N_B_STATE = 0, |
| | | S_BS_NO = "", |
| | | S_CNTR_CODE = S_CNTR_CODE, |
| | | S_OP_DEF_NAME = item.S_BS_TYPE |
| | | }; |
| | | var res = db.Insertable(optask).ExecuteCommand() > 0; |
| | | if (res) |
| | | { |
| | | startloc.N_LOCK_STATE = 2; |
| | | startloc.S_LOCK_STATE = "出库锁"; |
| | | db.Updateable(startloc).UpdateColumns(it => new { it.S_LOCK_STATE, it.N_LOCK_STATE }).ExecuteCommand(); |
| | | var models = db.Queryable<Location>().Where(a => a.S_CODE == endloc.S_CODE).First(); |
| | | // if (model != null && model.S_LOCK_STATE.Trim() == "无") |
| | | if (models != null && models.N_LOCK_STATE == 0) |
| | | { |
| | | models.N_LOCK_STATE = 1; |
| | | models.S_LOCK_STATE = Location.GetLockStateStr(1); |
| | | res = db.Updateable(models).UpdateColumns(it => new { it.N_LOCK_STATE, it.S_LOCK_STATE }).ExecuteCommand() > 0; |
| | | } |
| | | //LocationHelper.LockLoc(endloc.S_CODE, 1); |
| | | item.N_B_STATE = 2; |
| | | db.Updateable(item).UpdateColumns(it => new { it.N_B_STATE }).ExecuteCommand(); |
| | | |
| | | |
| | | } |
| | | } |
| | | else |
| | | { |
| | | idadd = false; |
| | | LogHelper.Info($" 库区AGVXHQ无空货位"); |
| | | |
| | | } |
| | | } |
| | | else |
| | | { |
| | | idadd = false; |
| | | LogHelper.Info($" 库区无货位"); |
| | | } |
| | | } |
| | | |
| | | } |
| | | else |
| | | { |
| | | idadd = false; |
| | | LogHelper.Info($"物料{item.S_ITEM_CODE}未找到容器对应的货位信息,请联系人工绑定关系"); |
| | | } |
| | | if (!idadd) |
| | | { |
| | | TN_Center_Inbound_Detail tN_Center_Inbound_Detail = new TN_Center_Inbound_Detail(); |
| | | tN_Center_Inbound_Detail.S_IO_NO = item.S_IO_NO; |
| | | tN_Center_Inbound_Detail.N_ROW_NO = item.N_ROW_NO; |
| | | tN_Center_Inbound_Detail.S_ITEM_CODE = item.S_ITEM_CODE; |
| | | tN_Center_Inbound_Detail.F_QTY = item.F_QTY; |
| | | tN_Center_Inbound_Detail.S_ITEM_STATE = item.S_ITEM_STATE; |
| | | tN_Center_Inbound_Detail.S_ITEM_NAME = item.S_ITEM_NAME; |
| | | tN_Center_Inbound_Detail.F_ACC_B_QTY = item.F_ACC_B_QTY; |
| | | tN_Center_Inbound_Detail.S_KCDD = item.S_KCDD; |
| | | tN_Center_Inbound_Detail.S_UOM = item.S_UOM;//计量单位 |
| | | tN_Center_Inbound_Detail.S_BATCH_NO = item.S_BATCH_NO; |
| | | tN_Center_Inbound_Detail.S_CGPZH = item.S_CGPZH; |
| | | tN_Center_Inbound_Detail.S_CGPZXMBH = item.S_CGPZXMBH; |
| | | tN_Center_Inbound_Detail.S_CKPZKJND = item.S_CKPZKJND; |
| | | tN_Center_Inbound_Detail.S_CKPZXM = item.S_CKPZXM; |
| | | tN_Center_Inbound_Detail.S_CXWLPZBH = item.S_CXWLPZBH; |
| | | tN_Center_Inbound_Detail.S_HWSJJYZT = item.S_HWSJJYZT; |
| | | tN_Center_Inbound_Detail.S_JYPBH = item.S_JYPBH; |
| | | tN_Center_Inbound_Detail.S_KJPZSSRQ = item.S_KJPZSSRQ; |
| | | tN_Center_Inbound_Detail.S_KJPZSRSJ = item.S_KJPZSRSJ; |
| | | tN_Center_Inbound_Details.Add(tN_Center_Inbound_Detail); |
| | | |
| | | } |
| | | //} |
| | | //else |
| | | //{ |
| | | // LogHelper.Info($"未找到物料{item.S_ITEM_CODE}对应的容器"); |
| | | //} |
| | | |
| | | } |
| | | db.Insertable(tN_Center_Inbound_Details).ExecuteCommand(); |
| | | #endregion |
| | | |
| | | var gzra = db.Queryable<TN_GZ_SZ>().Where(a => a.N_ENABLE == 1).First(); |
| | | var GZRQ = DateTime.Now.ToString("yyyyMMdd"); |
| | | if (gzra!=null) |
| | | { |
| | | GZRQ= gzra.S_GZRQ.ToString("yyyyMMdd"); |
| | | } |
| | | if (po.S_IN_TYPE == "内采入库") |
| | | { |
| | | List<NcRkDto.ITEM> listitem = new List<NcRkDto.ITEM>(); |
| | |
| | | { |
| | | |
| | | KEY = KEY, |
| | | GZRQ = DateTime.Now.ToString("yyyyMMdd"), |
| | | GZRQ = GZRQ, |
| | | GZRY = model.GZRY,//GenerateTaskNo |
| | | WLPZBH = po.S_NO, |
| | | WLPZND = po.S_WLPZND |
| | |
| | | { |
| | | DateTime dateTime; |
| | | DateTime dateTime1; |
| | | string GZRQ = ""; |
| | | //string GZRQ = ""; |
| | | string PZZDRQ = ""; |
| | | if (po.BUDAT != null) |
| | | { |
| | | GZRQ = DateTime.Parse(po.BUDAT.ToString()).ToString("yyyyMMdd"); |
| | | } |
| | | //if (po.BUDAT != null) |
| | | //{ |
| | | // GZRQ = DateTime.Parse(po.BUDAT.ToString()).ToString("yyyyMMdd"); |
| | | //} |
| | | if (po.BLDAT != null) |
| | | { |
| | | PZZDRQ = DateTime.Parse(po.BLDAT.ToString()).ToString("yyyyMMdd"); |
| | |
| | | HEAD = new WcRkBc.HEAD |
| | | { |
| | | KEY = KEY, |
| | | GZRQ = DateTime.Now.ToString("yyyyMMdd"), |
| | | GZRQ = GZRQ, |
| | | GZRY = model.GZRY, |
| | | GC = po.S_FACTORY |
| | | }, |
| | |
| | | { |
| | | |
| | | var materpz = db.Queryable<TN_Inbound_Order>().Where(s => s.S_NO == po.S_NO).First(); |
| | | string GZRQ = ""; |
| | | //string GZRQ = ""; |
| | | LogHelper.Info($"冲销入库入库{po.BUDAT}"); |
| | | if (po.BUDAT != null) |
| | | { |
| | | GZRQ = DateTime.Parse(po.BUDAT.ToString()).ToString("yyyyMMdd"); |
| | | } |
| | | //if (po.BUDAT != null) |
| | | //{ |
| | | // GZRQ = DateTime.Parse(po.BUDAT.ToString()).ToString("yyyyMMdd"); |
| | | //} |
| | | |
| | | //出库回调入参 |
| | | CXCkBackDto.Root roots = new CXCkBackDto.Root |