生成条码优化
This commit is contained in:
@ -69,7 +69,7 @@ namespace WCS.BLL.Services.Service
|
||||
MatSn = GetMatSn(matBaseInfo, startNumber + i),
|
||||
MatCode = matBaseInfo.MatCode,
|
||||
MatName = matBaseInfo.MatName,
|
||||
MatBatch = matBaseInfo.MatBatch,
|
||||
MatBatch = request.MatBatch,
|
||||
MatSpec = matBaseInfo.MatSpec,
|
||||
MatUnit = matBaseInfo.MatUnit,
|
||||
MatSupplier = matBaseInfo.MatSupplier,
|
||||
@ -107,11 +107,9 @@ namespace WCS.BLL.Services.Service
|
||||
private string GetMatSn(MatBaseInfo matBaseInfo, int serialNumber)
|
||||
{
|
||||
var gongshi = "=A1&\"-\"&A2&A3";
|
||||
|
||||
//var matSn = matBaseInfo.MatCode + matBaseInfo.MatBatch + serialNumber.ToString().PadLeft(6, '0');
|
||||
Dictionary<string, string> keyValuePairs = new Dictionary<string, string>();
|
||||
keyValuePairs.Add("A1", matBaseInfo.MatCode);
|
||||
keyValuePairs.Add("A2", matBaseInfo.MatName);
|
||||
keyValuePairs.Add("A2", string.IsNullOrEmpty(matBaseInfo.MatBatch) ? "" : matBaseInfo.MatBatch);
|
||||
keyValuePairs.Add("A3", serialNumber.ToString().PadLeft(6, '0'));
|
||||
var matSn = PnHelp.Jx(gongshi, keyValuePairs);
|
||||
return matSn;
|
||||
|
@ -1,11 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Runtime;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading.Tasks;
|
||||
using System.Text.RegularExpressions;
|
||||
using WCS.BLL.Config;
|
||||
using WCS.BLL.DbModels;
|
||||
using WCS.BLL.HardWare;
|
||||
@ -15,8 +8,6 @@ using WCS.BLL.Tool;
|
||||
using WCS.BLL.Tool.Api.ApiModel;
|
||||
using WCS.DAL.Db;
|
||||
using WCS.Model;
|
||||
using WCS.Model.ApiModel.MatBaseInfo;
|
||||
using static Dm.net.buffer.ByteArrayBuffer;
|
||||
|
||||
namespace WCS.BLL.Services.Service
|
||||
{
|
||||
|
@ -30,7 +30,7 @@ namespace WCS.BLL.Services.Service
|
||||
return new ResponseBase()
|
||||
{
|
||||
Code = 201,
|
||||
Message = "单据同步失败:缺少需要出库的物料类型!"
|
||||
Message = "出库单据同步失败:缺少需要出库的物料类型!"
|
||||
};
|
||||
}
|
||||
//保存数据
|
||||
@ -65,7 +65,7 @@ namespace WCS.BLL.Services.Service
|
||||
return new ResponseCommon()
|
||||
{
|
||||
Code = 200,
|
||||
Message = "单据同步成功!"
|
||||
Message = $"出库单据同步成功!\r\n出库单据号为{request.OrderNumber}",
|
||||
}; ;
|
||||
}
|
||||
catch (Exception ex)
|
||||
@ -75,7 +75,7 @@ namespace WCS.BLL.Services.Service
|
||||
return new ResponseBase()
|
||||
{
|
||||
Code = 200,
|
||||
Message = $"单据同步失败:{ex.Message}"
|
||||
Message = $"出库单据同步失败:{ex.Message}"
|
||||
};
|
||||
}
|
||||
}
|
||||
@ -89,7 +89,7 @@ namespace WCS.BLL.Services.Service
|
||||
return new ResponseBase()
|
||||
{
|
||||
Code = 201,
|
||||
Message = "单据同步失败:缺少物料明细!"
|
||||
Message = "出库单据同步失败:缺少物料明细!"
|
||||
};
|
||||
}
|
||||
//库存有无校验 & 库存已锁校验
|
||||
@ -109,7 +109,7 @@ namespace WCS.BLL.Services.Service
|
||||
return new ResponseCommon()
|
||||
{
|
||||
Code = 201,
|
||||
Message = "单据同步失败:存在物料不在库存中!",
|
||||
Message = "出库单据同步失败:存在物料不在库存中!",
|
||||
Data = request.SnList
|
||||
|
||||
};
|
||||
@ -121,7 +121,7 @@ namespace WCS.BLL.Services.Service
|
||||
return new ResponseCommon()
|
||||
{
|
||||
Code = 201,
|
||||
Message = "单据同步失败:存在物料被锁定!",
|
||||
Message = "出库单据同步失败:存在物料被锁定!",
|
||||
Data = inventoryDetails.Where(t => t.IsLocked).Select(t => t.MatSN).ToList()
|
||||
};
|
||||
}
|
||||
@ -176,7 +176,7 @@ namespace WCS.BLL.Services.Service
|
||||
return new ResponseCommon()
|
||||
{
|
||||
Code = 200,
|
||||
Message = $"单据同步成功!",
|
||||
Message = $"出库单据同步成功!\r\n出库单据号为{request.OrderNumber}",
|
||||
Data = order.Id
|
||||
};
|
||||
#endregion
|
||||
@ -187,7 +187,7 @@ namespace WCS.BLL.Services.Service
|
||||
return new ResponseBase()
|
||||
{
|
||||
Code = 201,
|
||||
Message = $"单据同步失败:{ex.Message}"
|
||||
Message = $"出库单据同步失败:{ex.Message}"
|
||||
};
|
||||
}
|
||||
|
||||
@ -288,7 +288,7 @@ namespace WCS.BLL.Services.Service
|
||||
return new ResponseCommon()
|
||||
{
|
||||
Code = 201,
|
||||
Message = $"查询失败:不存在单据号为{request.OrderNumber}的出库单!",
|
||||
Message = $"查询失败:不存在出库单据号为{request.OrderNumber}的出库单!",
|
||||
};
|
||||
}
|
||||
}
|
||||
@ -348,7 +348,7 @@ namespace WCS.BLL.Services.Service
|
||||
return new ResponseCommon()
|
||||
{
|
||||
Code = 201,
|
||||
Message = $"查询失败:不存在单据号为{request.OrderNumber}的出库单!",
|
||||
Message = $"查询失败:不存在出库单据号为{request.OrderNumber}的出库单!",
|
||||
};
|
||||
}
|
||||
}
|
||||
@ -406,7 +406,7 @@ namespace WCS.BLL.Services.Service
|
||||
//如果是按物料编码出库 需要计算物料明细、并进行物料锁定
|
||||
if (order.SyncType == SyncTypeEnum.ByMatCode)
|
||||
{
|
||||
var result = CaculateOutOrderMatDetails(order);
|
||||
var result = CaculateOutOrderMatDetails(order, request.UserName);
|
||||
if (result.Code != 200)
|
||||
{
|
||||
return result;
|
||||
@ -465,13 +465,13 @@ namespace WCS.BLL.Services.Service
|
||||
var matCode = outOrderDetailCount.First().bb.Key;
|
||||
outOrderMatDetails = outOrderMatDetails.Where(t => t.MatCode == matCode)
|
||||
.ToList();
|
||||
Logs.Write($"发料单{order.OrderNumber},本次亮灯物料{matCode}!");
|
||||
Logs.Write($"出库单{order.OrderNumber},本次亮灯物料{matCode}!");
|
||||
}
|
||||
//相同物料不存在盘数超过n的情况,剩余物料全部亮灯
|
||||
else
|
||||
{
|
||||
//剩余物料全出
|
||||
Logs.Write($"发料单{order.OrderNumber},剩余物料灯全亮!");
|
||||
Logs.Write($"出库单{order.OrderNumber},剩余物料灯全亮!");
|
||||
}
|
||||
}
|
||||
|
||||
@ -500,7 +500,7 @@ namespace WCS.BLL.Services.Service
|
||||
}
|
||||
}
|
||||
//计算、加锁
|
||||
private ResponseBase CaculateOutOrderMatDetails(OutOrder order)
|
||||
private ResponseBase CaculateOutOrderMatDetails(OutOrder order, string createUser = "")
|
||||
{
|
||||
try
|
||||
{
|
||||
@ -514,7 +514,7 @@ namespace WCS.BLL.Services.Service
|
||||
return new ResponseCommon()
|
||||
{
|
||||
Code = 201,
|
||||
Message = $"计算物料失败,{order.OrderNumber}没有单据明细!"
|
||||
Message = $"计算物料失败,{order.OrderNumber}没有出库单据明细!"
|
||||
};
|
||||
}
|
||||
//第二步 开始计算物料
|
||||
@ -527,7 +527,7 @@ namespace WCS.BLL.Services.Service
|
||||
.WhereIF(!string.IsNullOrEmpty(outOrderDetail.MatBatch), t => t.MatBatch == outOrderDetail.MatBatch)
|
||||
.Where(t => t.IsLocked == false)//未锁定的物料
|
||||
.OrderBy(t => t.MatBatch)//先进先出
|
||||
.OrderBy(t => t.MatQty)//零散料先出
|
||||
//(t => t.MatQty)//零散料先出
|
||||
.ToList();
|
||||
|
||||
//2.2按照搜索出来的库存和当前未出的数量 计算需要出的SN
|
||||
@ -552,7 +552,7 @@ namespace WCS.BLL.Services.Service
|
||||
MatSupplier = matInventoryDetails[i].MatSupplier,
|
||||
MatCustomer = matInventoryDetails[i].MatCustomer,
|
||||
IsSended = false,
|
||||
CreateUser = "待定",
|
||||
CreateUser = createUser,
|
||||
});
|
||||
outOrderDetail.ReqQty = 0;
|
||||
|
||||
@ -580,7 +580,7 @@ namespace WCS.BLL.Services.Service
|
||||
MatSupplier = matInventoryDetails[i].MatSupplier,
|
||||
MatCustomer = matInventoryDetails[i].MatCustomer,
|
||||
IsSended = false,
|
||||
CreateUser = "待定",
|
||||
CreateUser = createUser,
|
||||
});
|
||||
|
||||
matInventoryDetails[i].IsLocked = true;
|
||||
@ -590,11 +590,21 @@ namespace WCS.BLL.Services.Service
|
||||
}
|
||||
DbHelp.db.Insertable(outOrderMatDetails).ExecuteCommand();
|
||||
DbHelp.db.CommitTran();
|
||||
return new ResponseCommon()
|
||||
if (outOrderMatDetails.Count == 0)
|
||||
{
|
||||
Code = 200,
|
||||
Message = $"Success"
|
||||
};
|
||||
return new ResponseCommon()
|
||||
{
|
||||
Code = 201,
|
||||
Message = $"计算物料失败,没有满足条件的物料进行出库!(请检查对应物料是否已被锁定)"
|
||||
};
|
||||
}
|
||||
else
|
||||
|
||||
return new ResponseCommon()
|
||||
{
|
||||
Code = 200,
|
||||
Message = $"Success"
|
||||
};
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@ -607,7 +617,7 @@ namespace WCS.BLL.Services.Service
|
||||
}
|
||||
}
|
||||
|
||||
//解锁
|
||||
//删除 解锁
|
||||
private ResponseBase CancelOutOrderMatDetails(OutOrder order)
|
||||
{
|
||||
try
|
||||
@ -618,7 +628,7 @@ namespace WCS.BLL.Services.Service
|
||||
.Where(t => t.IsSended == false)
|
||||
.ToList();
|
||||
|
||||
var inventoryIds = outOrderMatDetails.Select(t => t.Id).ToList();
|
||||
var inventoryIds = outOrderMatDetails.Select(t => t.InventoryDetailId).ToList();
|
||||
var inventoryDetails = DbHelp.db.Queryable<InventoryDetail>()
|
||||
.Where(t => inventoryIds.Contains(t.Id))
|
||||
.ToList();
|
||||
@ -639,7 +649,7 @@ namespace WCS.BLL.Services.Service
|
||||
return new ResponseCommon()
|
||||
{
|
||||
Code = 300,
|
||||
Message = $"发生异常:{ex.Message}"
|
||||
Message = $"解锁物料时发生异常:{ex.Message}"
|
||||
};
|
||||
}
|
||||
}
|
||||
@ -679,7 +689,7 @@ namespace WCS.BLL.Services.Service
|
||||
return new ResponseCommon()
|
||||
{
|
||||
Code = 201,
|
||||
Message = $"单据【{request.OrderNumber}】不在出库中!",
|
||||
Message = $"出库单据【{request.OrderNumber}】不在出库中!",
|
||||
Data = null
|
||||
};
|
||||
}
|
||||
@ -694,8 +704,6 @@ namespace WCS.BLL.Services.Service
|
||||
if (order.SyncType == SyncTypeEnum.ByMatCode)
|
||||
CancelOutOrderMatDetails(order);
|
||||
|
||||
|
||||
|
||||
return new ResponseCommon()
|
||||
{
|
||||
Code = 200,
|
||||
|
@ -296,7 +296,7 @@ namespace WCS.BLL.Services.Service
|
||||
{
|
||||
Data = new SysStockTakingOrderData() { StocktakingOrderNumber = request.StocktakingOrderNumber },
|
||||
Code = 200,
|
||||
Message = $"Success"
|
||||
Message = $"生成盘点单据成功!\r\n单据号为:{request.StocktakingOrderNumber}"
|
||||
};
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
Reference in New Issue
Block a user