| | |
| | | }} |
| | | {{ GetBtn9(d) }} |
| | | </script> |
| | | |
| | | <script type="text/html" id="templetIsMixBox"> |
| | | {{# function GetBtn10(d){ |
| | | switch (d.IsMixBox) { |
| | | case "0": |
| | | return "否"; |
| | | case "1": |
| | | return "是"; |
| | | default: |
| | | return ""; |
| | | } |
| | | } |
| | | }} |
| | | {{ GetBtn10(d) }} |
| | | </script> |
| | | <!-- #endregion --> |
| | | </div> |
| | | |
| | |
| | | { field: 'CompleteQty', title: '拣货数量', align: 'center', width: 100 }, |
| | | { field: 'IsBale', title: '是否裹包', align: 'center', templet: '#templetIsBale', width: 90 }, |
| | | { field: 'IsBelt', title: '是否打带', align: 'center', templet: '#templetIsBelt', width: 90 }, |
| | | { field: 'IsMixBox', title: '是否拼箱', align: 'center', templet: '#templetIsMixBox', width: 90 }, |
| | | { field: 'LotText', title: '批次描述', align: 'center', width: 100 }, |
| | | { field: 'PackagName', title: '包装名称', align: 'center', width: 120 }, |
| | | { field: 'SupplierLot', title: '供货批次', align: 'center', width: 120 }, |
| | |
| | | isChongFu = true; |
| | | }); |
| | | } else { //不成功 |
| | | |
| | | layer.confirm('当前单据批次出库是跨批出库,是否跨批出库?', function () { |
| | | var param1 = { |
| | | soNo: SoNo, |
| | | tab: "1" |
| | | }; |
| | | sendData(IP + "/BllSo/ExportAutoAllot", param1, 'get', function (res) { |
| | | if (res.code == 0) { //成功 |
| | | layer.msg("操作成功!", { |
| | | icon: 1, |
| | | time: 2000 //2秒关闭(如果不配置,默认是3秒) |
| | | }, function () { |
| | | refreshTable(); |
| | | isChongFu = true; |
| | | }); |
| | | } else { |
| | | layer.msg(res.msg, { |
| | | icon: 2, |
| | | time: 2000 //2秒关闭(如果不配置,默认是3秒) |
| | | }, function () { |
| | | isChongFu = true; |
| | | }); |
| | | } |
| | | if(res.code==2){ |
| | | layer.confirm('当前单据批次出库是跨批出库,是否跨批出库?', function () { |
| | | var param1 = { |
| | | soNo: SoNo, |
| | | tab: "1" |
| | | }; |
| | | sendData(IP + "/BllSo/ExportAutoAllot", param1, 'get', function (res) { |
| | | if (res.code == 0) { //成功 |
| | | layer.msg("操作成功!", { |
| | | icon: 1, |
| | | time: 2000 //2秒关闭(如果不配置,默认是3秒) |
| | | }, function () { |
| | | refreshTable(); |
| | | isChongFu = true; |
| | | }); |
| | | } else { |
| | | layer.msg(res.msg, { |
| | | icon: 2, |
| | | time: 2000 //2秒关闭(如果不配置,默认是3秒) |
| | | }, function () { |
| | | isChongFu = true; |
| | | }); |
| | | } |
| | | }) |
| | | }) |
| | | }) |
| | | }else{ |
| | | layer.msg(res.msg, { |
| | | icon: 2, |
| | | time: 2000 //2秒关闭(如果不配置,默认是3秒) |
| | | }); |
| | | } |
| | | isChongFu = true; |
| | | } |
| | | }); |
| | |
| | | /// 上游系统明细单号 |
| | | /// </summary> |
| | | public string OrderDetailCode { get; set; } |
| | | |
| | | /// <summary> |
| | | /// Desc:是否接受拼箱 |
| | | /// Default: 0:否 1:是 |
| | | /// Nullable:True |
| | | /// </summary> |
| | | public string IsMixBox { get; set; } |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | public string IsBelt { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 是否接受拼箱 |
| | | /// </summary> |
| | | public string IsMixBox { get; set; } |
| | | |
| | | /// <summary> |
| | | /// Desc:供货批次 |
| | | /// </summary> |
| | | public string SupplierLot { get; set; } |
| | |
| | | SupplierLot = a.SupplierLot, |
| | | IsWave = a.IsWave, |
| | | WaveNo = a.WaveNo, |
| | | IsMixBox = a.IsMixBox, |
| | | |
| | | CreateUserName = c.RealName, |
| | | UpdateUserName = d.RealName, |
| | |
| | | IsWave = "0", |
| | | WaveNo = "", |
| | | IsIssueLotNo = string.IsNullOrWhiteSpace(d.LotNo) ? "0" : "1", |
| | | IsMixBox = d.IsMixBox, |
| | | |
| | | OrderDetailCode = d.OrderDetailCode, |
| | | |
| | |
| | | var item = new BllExportNoticeDetail() |
| | | { |
| | | SONo = billNo, |
| | | OrderDetailCode=d.OrderDetailCode, |
| | | OrderDetailCode = d.OrderDetailCode, |
| | | SkuNo = sku.SkuNo, |
| | | SkuName = sku.SkuName, |
| | | Standard = sku.Standard, |
| | |
| | | IsWave = "0", |
| | | WaveNo = "", |
| | | IsIssueLotNo = string.IsNullOrWhiteSpace(d.LotNo) ? "0" : "1", |
| | | IsMixBox = d.IsMixBox, |
| | | |
| | | CreateUser = 0, |
| | | }; |
| | |
| | | var noticeDetail = Db.Queryable<BllExportNoticeDetail>().Where(m => m.IsDel == "0" && m.SONo == soNo).ToList(); |
| | | //库存总表信息 |
| | | var data = Db.Queryable<DataStock>().Where(m => m.IsDel == "0").ToList(); |
| | | //库存明细中检验合格批次集合 |
| | | var dataDetail = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.InspectStatus == "1").GroupBy(g => g.LotNo).Select(s => s.LotNo).ToList(); |
| | | //库存明细表信息 |
| | | var dataBoxInfo = Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0").ToList(); |
| | | |
| | |
| | | { |
| | | //验证先进先出原则 |
| | | |
| | | var forData = data.Where(m => m.SkuNo == item.SkuNo && m.LotNo != item.LotNo && (m.Qty - m.FrozenQty - m.LockQty) > 0 ).Select(m=>m.LotNo).ToList(); //获取当前物料的所有批次信息(排除单据的批次,防止单据所在批次锁定数量后验证小于等于0) |
| | | var forData = data.Where(m => m.SkuNo == item.SkuNo && m.LotNo != item.LotNo && (m.Qty - m.FrozenQty - m.LockQty) > 0 && dataDetail.Contains(m.LotNo)).Select(m=>m.LotNo).ToList(); //获取当前物料的所有批次信息(排除单据的批次,防止单据所在批次锁定数量后验证小于等于0) |
| | | |
| | | forData.Add(item.LotNo); //集合添加单据的批次 |
| | | //获取排序后的第一个批次 |
| | |
| | | /// Nullable:True |
| | | /// </summary> |
| | | public string IsIssueLotNo { get; set; } |
| | | |
| | | |
| | | /// <summary> |
| | | /// Desc:是否接受拼箱 |
| | | /// Default: 0:否 1:是 |
| | | /// Nullable:True |
| | | /// </summary> |
| | | public string IsMixBox { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 自定义列1 |