.vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/3051f4c7-a03d-4ed5-a59d-3d04bff3e616.vsidxBinary files differ
.vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/83dde277-5a65-4de9-9767-687a4e67f7ac.vsidxBinary files differ
.vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/b2279396-cedf-4e13-9379-f9b937f2b7c7.vsidxBinary files differ
.vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/b390e7fe-a07b-4bb1-b189-3369e1fec281.vsidxBinary files differ
.vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/bfedc8a7-5d30-4f46-ba09-dd908b77cc68.vsidxBinary files differ
.vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/c17e55d3-cccd-4fba-9a50-2551ca54ee71.vsidxBinary files differ
api/AgvController.cs
@@ -21,6 +21,7 @@ /// <returns></returns> [HttpPost] [Route("AGVCallbackState")] public ReturnResult AGVCallbackState(AgvTaskState model) { LogHelper.Info("NDC HostToAGV 任务状态回报:" + JsonConvert.SerializeObject(model), "HosttoagvTask"); api/ApiHelper.cs
@@ -1200,9 +1200,9 @@ var taskName = TaskName.C成品胶出库; try { var orderNo = GenerateOrderNo("出库单号", "ON"); var orderNo = GenerateOrderNo("出库单号", "CKD"); var cgDetailList = SelectCgByTotalQty(model); var cgDetailList = SelectCgByTotalQty(model.Qty, model.ItemCode, model.BatchNo, model.CntrType, model.ForcedOut); if (cgDetailList.Count == 0) { info = "没有合适的物料可以出库"; @@ -1271,9 +1271,9 @@ var taskName = TaskName.C成品胶出库; try { var orderNo = GenerateOrderNo("出库单号", "ON"); var orderNo = GenerateOrderNo("出库单号", "CKD"); var cgDetailList = SelectCgByTotalQty(model); var cgDetailList = SelectCgByTotalQty(model.Qty, model.ItemCode, model.BatchNo, model.CntrType, model.ForcedOut); if (cgDetailList.Count == 0) { info = "没有合适的物料可以出库"; @@ -1331,14 +1331,14 @@ } } public static List<TN_CG_Detail> SelectCgByTotalQty(FinishedOutboundInfo model) { public static List<TN_CG_Detail> SelectCgByTotalQty(int qty, string itemCode, string batchNo, string cntrType = "", bool forcedOut = true) { var db = new SqlHelper<object>().GetInstance(); var result = new List<TN_CG_Detail>(); var targetNum = model.Qty; var targetNum = qty; var info = ""; try { var targetCg = db.Queryable<TN_CG_Detail>() .Where(a => a.S_ITEM_CODE == model.ItemCode && a.S_BATCH_NO == model.BatchNo) .Where(a => a.S_ITEM_CODE == itemCode && a.S_BATCH_NO == batchNo) .Where(a => a.N_ITEM_NUM > targetNum) .OrderBy(a => a.N_ITEM_NUM, OrderByType.Asc).First(); if (targetCg != null) //刚好有一行满足条件 @@ -1351,10 +1351,18 @@ var sortedMaterials = new List<TN_CG_Detail>(); if (model.ForcedOut) { var cntrTypeList = new List<string>(); if (cntrType == "") { cntrTypeList = new List<string> { "托盘", "好运箱" }; // 不指定托盘类型,二者均可 } else { cntrTypeList.Add(cntrType); } if (forcedOut) { sortedMaterials = db.Queryable<TN_CG_Detail, TN_Loc_Container>((d, c) => d.S_CNTR_CODE == c.S_CNTR_CODE) .Where(d => d.S_ITEM_CODE == model.ItemCode && d.S_BATCH_NO == model.BatchNo && d.N_ITEM_NUM > 0) .Where((d, c) => c.S_CNTR_TYPE == model.CntrType) .Where(d => d.S_ITEM_CODE == itemCode && d.S_BATCH_NO == batchNo && d.N_ITEM_NUM > 0) .Where((d, c) => cntrTypeList.Contains(c.S_CNTR_TYPE)) .Where(d => d.N_ITEM_STATE == 0 && d.S_ITEM_STATE == "合格" || d.N_ITEM_STATE == 1 && d.S_ITEM_STATE == "待检") .OrderBy(d => d.N_ITEM_NUM, OrderByType.Desc) @@ -1362,13 +1370,12 @@ } else { sortedMaterials = db.Queryable<TN_CG_Detail, TN_Loc_Container>((d, c) => d.S_CNTR_CODE == c.S_CNTR_CODE) .Where(d => d.S_ITEM_CODE == model.ItemCode && d.S_BATCH_NO == model.BatchNo && d.N_ITEM_NUM > 0) .Where((d, c) => c.S_CNTR_TYPE == model.CntrType) .Where(d => d.S_ITEM_CODE == itemCode && d.S_BATCH_NO == batchNo && d.N_ITEM_NUM > 0) .Where((d, c) => cntrTypeList.Contains(c.S_CNTR_TYPE)) .Where(d => d.N_ITEM_STATE == 0 && d.S_ITEM_STATE == "合格") .OrderBy(d => d.N_ITEM_NUM, OrderByType.Desc) .OrderBy(d => d.N_ITEM_STATE, OrderByType.Asc).ToList(); } if (sortedMaterials.Count == 0) //没有满足条件的 { @@ -1481,124 +1488,124 @@ public static ErpResult ErpSendOutboundPlan(ErpSendOutboundPlanInfo model) { var db = new SqlHelper<object>().GetInstance(); var orderNo = GenerateOrderNo("出库单号", "ON"); var orderNo = GenerateOrderNo("出库单号", "CKD"); var info = ""; try { if (string.IsNullOrEmpty(orderNo)) { info = "出库单号不能为空"; // 参数合法性确认部分:错误编码:400 if (model.pzsl <= 0) { info = $"物料数量(pzsl){model.pzsl}不合法:物料数量应该大于 0"; LogHelper.Info(info); return NewErpResult(2, info); return NewErpResult(400, info); } var outboundPlan = new TN_Outbound_Plan { jhdh = model.jhdh, ckzt = model.ckzt, jhlb = model.jhlb, ckdh = model.ckdh, cph = model.cph, ysfs = model.ysfs, cpzt = model.cpzt, mddw = model.mddw, cpdm = model.cpdm, cplb = model.cplb, cplbmx = model.cplbmx, pp = model.pp, dj = model.dj, gh = model.gh, ph = model.ph, bzlx = model.bzlx, pzdh = model.pzdh, pzd_dw = model.pzd_dw, pzd_dybh = model.pzd_dybh, pzjs = model.pzjs, pzsl = model.pzsl, pz_rq = model.pz_rq, pz_czrq = model.pz_czrq, pz_zfbj = model.pz_zfbj, pz_zfrq = model.pz_zfrq, pz_bz = model.pz_bz, ckdbh = model.ckdbh, sfjs = model.sfjs, sfsl = model.sfsl, sfcs = model.sfcs, zcsj = model.zcsj, jldw = model.jldw, fhrq = model.fhrq, ckdm = model.ckdm, fhr = model.fhr, czydm = model.czydm, shr_username = model.shr_username, shrq = model.shrq, zfbj = model.zfbj, zfrq = model.zfrq, jsdw = model.jsdw, shdw = model.shdw, ysdw = model.ysdw, lxr = model.lxr, ry_zxg = model.ry_zxg, ry_ccsj = model.ry_ccsj, erphx_jhdh = model.erphx_jhdh, erphx_wlbm = model.erphx_wlbm, erphx_wlmc = model.erphx_wlmc, erphx_cjrq = model.erphx_cjrq, hw = model.hw, hwzt = model.hwzt JHDH = model.jhdh, // 计划单号(唯一标识) CKZT = model.ckzt, // 出库状态 JHLB = model.jhlb, // 计划类别 CKDH = model.ckdh, // 参考单号 CPH = model.cph, // 车牌号 YSFS = model.ysfs, // 运输方式 CPZT = model.cpzt, // 产品状态 MDDW = model.mddw, // 买断单位 CPDM = model.cpdm, // 产品代码 CPLB = model.cplb, // 产品类别 CPLBMX = model.cplbmx, // 产品类别明细 PP = model.pp, // 品牌 DJ = model.dj, // 等级 GH = model.gh, // 罐号 PH = model.ph, // 批号 BZLX = model.bzlx, // 包装类型 PZDH = model.pzdh, // 派装单号 PZD_DW = model.pzd_dw, // 派装单单位 PZD_DYBH = model.pzd_dybh, // 派装单调运编号 PZJS = model.pzjs, // 派装件数 PZSL = model.pzsl, // 派装数量 PZ_RQ = model.pz_rq, // 派装日期(yyyy-mm-dd) PZ_CZRQ = model.pz_czrq, // 派装操作日期 PZ_ZFBJ = model.pz_zfbj, // 派装作废标记 PZ_ZFRQ = model.pz_zfrq, // 派装作废日期 PZ_BZ = model.pz_bz, // 派装备注 CKDBH = model.ckdbh, // 出库单编号 SFJS = model.sfjs, // 实发件数 SFSL = model.sfsl, // 实发数量 SFCS = model.sfcs, // 实发车数 ZCSJ = model.zcsj, // 装车时间 JLDW = model.jldw, // 计量单位 FHRQ = model.fhrq, // 发货日期 CKDM = model.ckdm, // 仓库代码 FHR = model.fhr, // 发货人 CZYDM = model.czydm, // 操作员 SHR_USERNAME = model.shr_username, // 审核人 SHRQ = model.shrq, // 审核日期 ZFBJ = model.zfbj, // 作废标记 ZFRQ = model.zfrq, // 作废日期 JSDW = model.jsdw, // 结算单位 SHDW = model.shdw, // 收货单位 YSDW = model.ysdw, // 运输单位 LXR = model.lxr, // 联系人 RY_ZXG = model.ry_zxg, // 装卸工 RY_CCSJ = model.ry_ccsj, // 叉车司机 ERPHX_JHDH = model.erphx_jhdh, // erp交货单号 ERPHX_WLBM = model.erphx_wlbm, // erp物料编码 ERPHX_WLMC = model.erphx_wlmc, // erp物料名称 ERPHX_CJRQ = model.erphx_cjrq, // erp创建日期 HW = model.hw, // 货位 HWZT = model.hwzt // 货位状态 }; //var cgDetailList = SelectCgByTotalQty(new FinishedOutboundInfo { // BatchNo = model.BatchNo, // CntrType= model.CntrType, // ItemCode= model.ItemCode, // EndArea= model.EndArea, // ForcedOut= model.ForcedOut, // Qty= model.Qty, // Spe = model.Spe //}); var cgDetailList = SelectCgByTotalQty( qty: (int)model.pzsl, itemCode: model.cpdm, batchNo: model.ph ); //if (cgDetailList.Count == 0) { // info = "没有合适的物料可以出库"; // LogHelper.Info(info); // return NewErpResult(3, info); //} if (cgDetailList.Count == 0) { info = "没有合适的物料可以出库"; LogHelper.Info(info); return NewErpResult(3, info); } //var order = new TN_Outbound_Order { // S_NO = orderNo, // S_ITEM_CODE = model.ItemCode, // S_BATCH = model.BatchNo, // N_END_NUM = model.Qty, // //F_OUT_QTY = cgDetailList.Sum(a => a.N_QTY), // S_END_AREA = model.EndArea, // S_BS_NO = model.ErpNo, // S_BS_TYPE = "ERP", //}; var order = new TN_Outbound_Order { S_NO = orderNo, S_ITEM_CODE = model.cpdm, S_BATCH = model.ph, N_END_NUM = (int)model.pzsl, //F_OUT_QTY = cgDetailList.Sum(a => a.N_QTY), S_END_AREA = model.ysfs == "汽车" ? "QCCKQ" : "HCCKQ", // 暂时用运输方式(火车/汽车)来区分终点货区 S_BS_NO = model.jhdh, S_BS_TYPE = "ERP", }; //var detailList = new List<TN_Outbound_Detail>(); //foreach (var cgDetail in cgDetailList) { // var detail = new TN_Outbound_Detail { // S_OO_NO = orderNo, // S_ITEM_CODE = cgDetail.S_ITEM_CODE, // S_BATCH_NO = cgDetail.S_BATCH_NO, // S_CNTR_CODE = cgDetail.S_CNTR_CODE, // N_COUNT = cgDetail.N_ITEM_NUM, // S_END_AREA = model.EndArea // }; // detailList.Add(detail); //} var detailList = new List<TN_Outbound_Detail>(); foreach (var cgDetail in cgDetailList) { var detail = new TN_Outbound_Detail { S_OO_NO = orderNo, S_ITEM_CODE = cgDetail.S_ITEM_CODE, S_BATCH_NO = cgDetail.S_BATCH_NO, S_CNTR_CODE = cgDetail.S_CNTR_CODE, N_COUNT = cgDetail.N_ITEM_NUM, S_END_AREA = order.S_END_AREA, // order为detail的每一个货位设置终点值 S_BS_NO = order.S_BS_NO, S_BS_TYPE= order.S_BS_TYPE, }; detailList.Add(detail); } using (var tran = db.Ado.UseTran()) { //if (db.Insertable<TN_Outbound_Order>(order).ExecuteCommand() <= 0) { // tran.RollbackTran(); // info = "生成出库单失败:" + JsonConvert.SerializeObject(order); // LogHelper.Info(info); // return NewErpResult(2, info); //} if (db.Insertable<TN_Outbound_Order>(order).ExecuteCommand() <= 0) { tran.RollbackTran(); info = "生成出库单失败:" + JsonConvert.SerializeObject(order); LogHelper.Info(info); return NewErpResult(2, info); } //if (db.Insertable<TN_Outbound_Detail>(detailList).ExecuteCommand() <= 0) { // tran.RollbackTran(); // info = "生成出库单明细失败"; // LogHelper.Info(info); // return NewErpResult(4, info); //} if (db.Insertable<TN_Outbound_Detail>(detailList).ExecuteCommand() <= 0) { tran.RollbackTran(); info = "生成出库单明细失败"; LogHelper.Info(info); return NewErpResult(4, info); } if (db.Insertable<TN_Outbound_Plan>(outboundPlan).ExecuteCommand() <= 0) { tran.RollbackTran(); info = "生成出库单计划记录表失败"; config/config.json
@@ -1,5 +1,5 @@ { "WebApiUrl": "http://192.168.1.141:8901", "WebApiUrl": "http://127.0.0.1:8901", "NdcApiUrl": "http://127.0.0.1:5201/api/order/", "ErpApiUrl": "http://127.0.0.1:8085/api/", "SqlServer": "Data Source=192.168.1.87;Initial Catalog=AMS_OIMobox;User ID=sa;Password=123456;", core/Monitor.cs
@@ -300,7 +300,9 @@ detail.N_B_STATE = 2; var cntId = detail.S_CNTR_CODE; var task = WCSHelper.BuildTask(startLoc, endLoc, cntId, taskName); var erp_no = string.IsNullOrEmpty(detail.S_BS_NO) ? "" : detail.S_BS_NO; var task = WCSHelper.BuildTask(startLoc, endLoc, cntId, taskName, detail.S_OO_NO, erp_no); LocationHelper.LockStartLoc(ref startLoc); // 起点出库锁 LocationHelper.LockEndLoc(ref endLoc); // 终点入库锁 @@ -324,6 +326,7 @@ LogHelper.Info(info); continue; } if (db.Updateable<TN_Location>(endLoc).UpdateColumns(it => new { it.N_LOCK_STATE, @@ -412,7 +415,7 @@ .Count(d => d.S_OO_NO == order.S_NO && d.N_B_STATE >= 2); // 执行中 var allCount = db.Queryable<TN_SpotCheck_Detail>() .Count(d => d.S_OO_NO == order.S_NO); LogHelper.Info($"轮询--{taskName}--统计{taskName}单'{order.S_NO}'任务已下发:{doingCount}/{allCount}"); LogHelper.Info($"轮询:{taskName}:统计{taskName}单'{order.S_NO}'任务已下发:{doingCount}/{allCount}"); if (doingCount == allCount) { order.N_B_STATE = 2; // 所有任务都已执行 @@ -425,7 +428,7 @@ .ToList(); if (checkDetailList.Count == 0) { LogHelper.Info($"轮询--{taskName}--仍有任务未执行完成,但当前没有已下发的任务"); LogHelper.Info($"轮询:{taskName}:仍有任务未执行完成,但当前没有已下发的任务"); continue; } @@ -441,7 +444,7 @@ .First(); if (startLoc == null) { LogHelper.Info($"轮询--{taskName}:没有找到合适的起点货位!"); LogHelper.Info($"轮询:{taskName}:没有找到合适的起点货位!"); continue; } @@ -451,14 +454,14 @@ .Where(a => a.N_CURRENT_NUM == 0).First(); if (endLoc == null) { LogHelper.Info($"轮询--{taskName}:没有找到合适的终点货位!"); LogHelper.Info($"轮询:{taskName}:没有找到合适的终点货位!"); continue; } detail.N_B_STATE = 2; var cntId = detail.S_CNTR_CODE; var task = WCSHelper.BuildTask(startLoc, endLoc, cntId, taskName); var task = WCSHelper.BuildTask(startLoc, endLoc, cntId, taskName, detail.S_OO_NO); LocationHelper.LockStartLoc(ref startLoc); // 起点出库锁 LocationHelper.LockEndLoc(ref endLoc); // 终点入库锁 @@ -466,7 +469,7 @@ using (var tran = db.Ado.UseTran()) { if (db.Updateable<TN_SpotCheck_Detail>(detail).UpdateColumns(it => it.N_B_STATE).ExecuteCommand() <= 0) { tran.RollbackTran(); LogHelper.Info($"轮询--{taskName}:修改{taskName}单明细表状态为完成--失败!"); LogHelper.Info($"轮询:{taskName}:修改{taskName}单明细表状态为完成--失败!"); continue; } @@ -524,7 +527,7 @@ .ToList(); if (orderList.Count == 0) { LogHelper.Info($"轮询--{taskName}--暂无待执行的{taskName}单"); LogHelper.Info($"轮询:{taskName}:暂无待执行的{taskName}单"); return; } @@ -534,7 +537,7 @@ .Count(d => d.S_OO_NO == order.S_NO && d.N_B_STATE >= 2); // 执行中 var allCount = db.Queryable<TN_RelocationList_Detail>() .Count(d => d.S_OO_NO == order.S_NO); LogHelper.Info($"轮询--{taskName}--统计{taskName}单'{order.S_NO}'任务已下发:{doingCount}/{allCount}"); LogHelper.Info($"轮询:{taskName}:统计{taskName}单'{order.S_NO}'任务已下发:{doingCount}/{allCount}"); if (doingCount == allCount) { order.N_B_STATE = 2; // 所有任务都已执行 @@ -547,7 +550,7 @@ .ToList(); if (checkDetailList.Count == 0) { LogHelper.Info($"轮询--{taskName}--仍有任务未执行完成,但当前没有已下发的任务"); LogHelper.Info($"轮询:{taskName}:仍有任务未执行完成,但当前没有已下发的任务"); continue; } @@ -565,7 +568,7 @@ .First(); if (startLoc == null) { LogHelper.Info($"轮询--{taskName}:没有找到合适的起点货位!"); LogHelper.Info($"轮询:{taskName}:没有找到合适的起点货位!"); continue; } @@ -575,14 +578,14 @@ .Where(a => a.N_CURRENT_NUM == 0).First(); if (endLoc == null) { LogHelper.Info($"轮询--{taskName}:没有找到合适的终点货位!"); LogHelper.Info($"轮询:{taskName}:没有找到合适的终点货位!"); continue; } detail.N_B_STATE = 2; var cntId = detail.S_CNTR_CODE; var task = WCSHelper.BuildTask(startLoc, endLoc, cntId, taskName); var task = WCSHelper.BuildTask(startLoc, endLoc, cntId, taskName, detail.S_OO_NO); LocationHelper.LockStartLoc(ref startLoc); // 起点出库锁 LocationHelper.LockEndLoc(ref endLoc); // 终点入库锁 @@ -590,7 +593,7 @@ using (var tran = db.Ado.UseTran()) { if (db.Updateable<TN_RelocationList_Detail>(detail).UpdateColumns(it => it.N_B_STATE).ExecuteCommand() <= 0) { tran.RollbackTran(); LogHelper.Info($"轮询--{taskName}:修改{taskName}单明细表状态为完成--失败!"); LogHelper.Info($"轮询:{taskName}:修改{taskName}单明细表状态为完成--失败!"); continue; } core/WCSCore.cs
@@ -175,8 +175,9 @@ S_TASK_NO = task.S_CODE, T_RECORD_TIME = DateTime.Now, S_TYPE = task.S_TYPE, S_BS_CODE = task.S_BS_TYPE, S_BS_CODE = task.S_BS_NO, // ERP单号,默认为空 N_QTY = cgDetail.N_ITEM_NUM, S_NO = task.S_OP_CODE, // 出库/抽检/移库单 }; // 数据库操作 models/TN_Outbound_Detail.cs
@@ -11,6 +11,10 @@ /// </summary> public string S_OO_NO { get; set; } public string S_BS_TYPE { get; set; } = string.Empty; // ERP public string S_BS_NO { get; set; } = string.Empty; // ERP 单号(来源单号) /// <summary> /// 业务状态:0待执行 1已下发 2执行中 3已完成 /// </summary> models/TN_Outbound_Plan.cs
@@ -11,265 +11,265 @@ /// 出库计划实体类 /// </summary> [SugarTable("TN_Outbound_Plan")] public class TN_Outbound_Plan { public class TN_Outbound_Plan : BaseModel { /// <summary> /// 计划单号(唯一标识) /// </summary> public string jhdh { get; set; } public string JHDH { get; set; } /// <summary> /// 出库状态 /// </summary> public string ckzt { get; set; } public string CKZT { get; set; } /// <summary> /// 计划类别 /// </summary> public string jhlb { get; set; } public string JHLB { get; set; } /// <summary> /// 参考单号 /// </summary> public string ckdh { get; set; } public string CKDH { get; set; } /// <summary> /// 车牌号 /// </summary> public string cph { get; set; } public string CPH { get; set; } /// <summary> /// 运输方式 /// </summary> public string ysfs { get; set; } public string YSFS { get; set; } /// <summary> /// 产品状态 /// </summary> public string cpzt { get; set; } public string CPZT { get; set; } /// <summary> /// 买断单位 /// </summary> public string mddw { get; set; } public string MDDW { get; set; } /// <summary> /// 产品代码 /// </summary> public string cpdm { get; set; } public string CPDM { get; set; } /// <summary> /// 产品类别 /// </summary> public string cplb { get; set; } public string CPLB { get; set; } /// <summary> /// 产品类别明细 /// </summary> public string cplbmx { get; set; } public string CPLBMX { get; set; } /// <summary> /// 品牌 /// </summary> public string pp { get; set; } public string PP { get; set; } /// <summary> /// 等级 /// </summary> public string dj { get; set; } public string DJ { get; set; } /// <summary> /// 罐号 /// </summary> public string gh { get; set; } public string GH { get; set; } /// <summary> /// 批号 /// </summary> public string ph { get; set; } public string PH { get; set; } /// <summary> /// 包装类型 /// </summary> public string bzlx { get; set; } public string BZLX { get; set; } /// <summary> /// 派装单号 /// </summary> public string pzdh { get; set; } public string PZDH { get; set; } /// <summary> /// 派装单单位 /// </summary> public string pzd_dw { get; set; } public string PZD_DW { get; set; } /// <summary> /// 派装单调运编号 /// </summary> public string pzd_dybh { get; set; } public string PZD_DYBH { get; set; } /// <summary> /// 派装件数 /// </summary> public double pzjs { get; set; } public double PZJS { get; set; } /// <summary> /// 派装数量 /// </summary> public decimal pzsl { get; set; } public decimal PZSL { get; set; } /// <summary> /// 派装日期(yyyy-mm-dd) /// </summary> public string pz_rq { get; set; } public string PZ_RQ { get; set; } /// <summary> /// 派装操作日期 /// </summary> public long pz_czrq { get; set; } public long PZ_CZRQ { get; set; } /// <summary> /// 派装作废标记 /// </summary> public int pz_zfbj { get; set; } public int PZ_ZFBJ { get; set; } /// <summary> /// 派装作废日期 /// </summary> public long pz_zfrq { get; set; } public long PZ_ZFRQ { get; set; } /// <summary> /// 派装备注 /// </summary> public string pz_bz { get; set; } public string PZ_BZ { get; set; } /// <summary> /// 出库单编号 /// </summary> public string ckdbh { get; set; } public string CKDBH { get; set; } /// <summary> /// 实发件数 /// </summary> public double sfjs { get; set; } public double SFJS { get; set; } /// <summary> /// 实发数量 /// </summary> public decimal sfsl { get; set; } public decimal SFSL { get; set; } /// <summary> /// 实发车数 /// </summary> public int sfcs { get; set; } public int SFCS { get; set; } /// <summary> /// 装车时间 /// </summary> public string zcsj { get; set; } public string ZCSJ { get; set; } /// <summary> /// 计量单位 /// </summary> public string jldw { get; set; } public string JLDW { get; set; } /// <summary> /// 发货日期 /// </summary> public long fhrq { get; set; } public long FHRQ { get; set; } /// <summary> /// 仓库代码 /// </summary> public string ckdm { get; set; } public string CKDM { get; set; } /// <summary> /// 发货人 /// </summary> public string fhr { get; set; } public string FHR { get; set; } /// <summary> /// 操作员 /// </summary> public string czydm { get; set; } public string CZYDM { get; set; } /// <summary> /// 审核人 /// </summary> public string shr_username { get; set; } public string SHR_USERNAME { get; set; } /// <summary> /// 审核日期 /// </summary> public long shrq { get; set; } public long SHRQ { get; set; } /// <summary> /// 作废标记 /// </summary> public long zfbj { get; set; } public long ZFBJ { get; set; } /// <summary> /// 作废日期 /// </summary> public long zfrq { get; set; } public long ZFRQ { get; set; } /// <summary> /// 结算单位 /// </summary> public string jsdw { get; set; } public string JSDW { get; set; } /// <summary> /// 收货单位 /// </summary> public string shdw { get; set; } public string SHDW { get; set; } /// <summary> /// 运输单位 /// </summary> public string ysdw { get; set; } public string YSDW { get; set; } /// <summary> /// 联系人 /// </summary> public string lxr { get; set; } public string LXR { get; set; } /// <summary> /// 装卸工 /// </summary> public string ry_zxg { get; set; } public string RY_ZXG { get; set; } /// <summary> /// 叉车司机 /// </summary> public string ry_ccsj { get; set; } public string RY_CCSJ { get; set; } /// <summary> /// erp交货单号 /// </summary> public string erphx_jhdh { get; set; } public string ERPHX_JHDH { get; set; } /// <summary> /// erp物料编码 /// </summary> public string erphx_wlbm { get; set; } public string ERPHX_WLBM { get; set; } /// <summary> /// erp物料名称 /// </summary> public string erphx_wlmc { get; set; } public string ERPHX_WLMC { get; set; } /// <summary> /// erp创建日期 /// </summary> public string erphx_cjrq { get; set; } public string ERPHX_CJRQ { get; set; } /// <summary> /// 货位 /// </summary> public string hw { get; set; } public string HW { get; set; } /// <summary> /// 货位状态 /// </summary> public string hwzt { get; set; } public string HWZT { get; set; } } } models/TN_Record_Table.cs
@@ -13,6 +13,10 @@ [SugarTable("TN_Record_Table")] public class TN_Record_Table : BaseModel { /// <summary> /// 业务单号 /// </summary> public string S_NO { get; set; } /// <summary> /// 任务号 /// </summary> public string S_TASK_NO { get; set; } models/TN_Task.cs
@@ -78,6 +78,10 @@ public string S_EQ_TASK_CODE { get; set; } public string S_CNTR_CODE { get; set; } /// <summary> /// 作业编码 /// </summary> public string S_OP_CODE { get; set; } public string S_OP_NAME { get; set; } public int N_START_LAYER { get; internal set; } wms/WCSHelper.cs
@@ -63,7 +63,7 @@ return TN_Task; } public static TN_Task BuildErpTask(TN_Location startLoc, TN_Location endLoc, string cntId, string type, string erpNo) { public static TN_Task BuildTask(TN_Location startLoc, TN_Location endLoc, string cntId, string type, string op_no, string erp_no = "") { TN_Task TN_Task = new TN_Task() { S_CODE = GenerateTaskNo(), S_START_AREA = startLoc.S_AREA_CODE, @@ -75,8 +75,9 @@ N_SCHEDULE_TYPE = 1, // NDC N_B_STATE = 0, S_CNTR_CODE = cntId, S_BS_NO = erpNo, S_BS_TYPE = "ERP", S_OP_CODE = op_no, S_BS_NO = erp_no, S_BS_TYPE = erp_no == "" ? "" : "ERP", }; return TN_Task;