仓库-出库单新增与批量出库添加限制,拆箱拼箱暂时回退功能为不入库

This commit is contained in:
2024-04-24 09:46:35 +08:00
parent 70bcb9f5d3
commit da3749a95e
4 changed files with 54 additions and 38 deletions

View File

@@ -69,7 +69,10 @@ namespace ZR.Admin.WebApi.Controllers
var modal = parm.ToCreate(HttpContext); var modal = parm.ToCreate(HttpContext);
var response = _WmOutOrderService.AddWmOutOrder(modal); var response = _WmOutOrderService.AddWmOutOrder(modal);
if(response == null)
{
return ToResponse(new ApiResult(500, "数据存在异常请检查", "数据存在异常请检查"));
}
return SUCCESS(response); return SUCCESS(response);
} }

View File

@@ -170,9 +170,9 @@ namespace ZR.Service.Business
nowProduction.GoodsNumAction = quantityCount; nowProduction.GoodsNumAction = quantityCount;
nowProduction.Remark = "拼箱整箱"; nowProduction.Remark = "拼箱整箱";
//TODO 20240422开会讨论结果拼箱完需要重新扫码入库原数据删除 //TODO 20240422开会讨论结果拼箱完需要重新扫码入库原数据删除
Context.Deleteable<WmGoodsNowProduction>().Where(it => it.Id == nowProduction.Id).ExecuteCommand(); //Context.Deleteable<WmGoodsNowProduction>().Where(it => it.Id == nowProduction.Id).ExecuteCommand();
Context.Deleteable<WmGoodsNowProduction>().Where(it => it.Id == secondId).ExecuteCommand(); //Context.Deleteable<WmGoodsNowProduction>().Where(it => it.Id == secondId).ExecuteCommand();
return log; //return log;
// 修改主箱 // 修改主箱
Context.Updateable(nowProduction).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommand(); Context.Updateable(nowProduction).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommand();
// 次箱操作 // 次箱操作
@@ -302,8 +302,8 @@ namespace ZR.Service.Business
}; };
Context.Insertable(log).ExecuteReturnEntity(); Context.Insertable(log).ExecuteReturnEntity();
//TODO 20240422开会讨论结果拆箱完需要重新扫码入库原主箱数据删除 //TODO 20240422开会讨论结果拆箱完需要重新扫码入库原主箱数据删除
Context.Deleteable<WmGoodsNowProduction>().Where(it => it.Id == mainNowProduction.Id).ExecuteCommand(); //Context.Deleteable<WmGoodsNowProduction>().Where(it => it.Id == mainNowProduction.Id).ExecuteCommand();
return log; //return log;
// 执行修改 // 执行修改
// 1.主箱修改为1号分箱参数 // 1.主箱修改为1号分箱参数
WmGoodsNowProduction newPackage1 = mainNowProduction; WmGoodsNowProduction newPackage1 = mainNowProduction;

View File

@@ -39,7 +39,8 @@ namespace ZR.Service.mes.wms
.LeftJoin<WmMaterial>((wgo, wml) => wgo.Partnumber == wml.Partnumber) .LeftJoin<WmMaterial>((wgo, wml) => wgo.Partnumber == wml.Partnumber)
.Where(predicate.ToExpression()) .Where(predicate.ToExpression())
.Select((wgo, wml) => new WmGoodsOutProductionDto { Description = wml.Description }, true) .Select((wgo, wml) => new WmGoodsOutProductionDto { Description = wml.Description }, true)
.OrderBy(wml=>wml.OutTime,OrderByType.Desc) .MergeTable()
.OrderBy(wml => wml.OutTime,OrderByType.Desc)
.ToPageList(parm.PageNum, parm.PageSize,ref total); .ToPageList(parm.PageNum, parm.PageSize,ref total);
return (response,total); return (response,total);
@@ -167,6 +168,10 @@ namespace ZR.Service.mes.wms
} }
// 短批次号 // 短批次号
string shortPackageCode = parm.PackageCodeClient.Split('_')[0]; string shortPackageCode = parm.PackageCodeClient.Split('_')[0];
if (shortPackageCode.Length<8)
{
return "请输入至少8位批次号编码以保证正确批次出库";
}
List<WmGoodsNowProduction> nowProductionList = Context.Queryable<WmGoodsNowProduction>() List<WmGoodsNowProduction> nowProductionList = Context.Queryable<WmGoodsNowProduction>()
.Where(it => it.PackageCodeClient.Contains(shortPackageCode)).ToList(); .Where(it => it.PackageCodeClient.Contains(shortPackageCode)).ToList();
for (int i = 0; i < nowProductionList.Count; i++) for (int i = 0; i < nowProductionList.Count; i++)

View File

@@ -103,44 +103,52 @@ namespace ZR.Service.mes.wms
/// <returns></returns> /// <returns></returns>
public WmOutOrder AddWmOutOrder(WmOutOrder_materialDto model) public WmOutOrder AddWmOutOrder(WmOutOrder_materialDto model)
{ {
string today_id = "EG" + DateTime.Now.ToString("yyMMdd"); try
string last_outorder_ShipmentNum = Context.Queryable<WmOutOrder>().Where(it => it.ShipmentNum.StartsWith(today_id)).Max(it => it.ShipmentNum);
if (string.IsNullOrEmpty(last_outorder_ShipmentNum))
{ {
model.ShipmentNum = today_id + "001"; string today_id = "EG" + DateTime.Now.ToString("yyMMdd");
string last_outorder_ShipmentNum = Context.Queryable<WmOutOrder>().Where(it => it.ShipmentNum.StartsWith(today_id)).Max(it => it.ShipmentNum);
} if (string.IsNullOrEmpty(last_outorder_ShipmentNum))
else
{
int flow = int.Parse(last_outorder_ShipmentNum.Substring(last_outorder_ShipmentNum.Length - 3, 3)) + 1;
model.ShipmentNum = today_id + flow.ToString("000");
}
WmOutOrder wmOutOrder = model.Adapt<WmOutOrder>();
// 关联表也要新增
if (model.MaterialList != null)
{
if (model.MaterialList.Count > 0)
{ {
List<WmMaterialOutorder> materialOutorderList = new List<WmMaterialOutorder>(); model.ShipmentNum = today_id + "001";
foreach (var item in model.MaterialList) }
else
{
int flow = int.Parse(last_outorder_ShipmentNum.Substring(last_outorder_ShipmentNum.Length - 3, 3)) + 1;
model.ShipmentNum = today_id + flow.ToString("000");
}
WmOutOrder wmOutOrder = model.Adapt<WmOutOrder>();
// 关联表也要新增
if (model.MaterialList != null)
{
if (model.MaterialList.Count > 0)
{ {
WmMaterialOutorder materialOutorder = new WmMaterialOutorder(); List<WmMaterialOutorder> materialOutorderList = new List<WmMaterialOutorder>();
materialOutorder.FkMaterialId = item.Id;
materialOutorder.FkOutorderId = model.ShipmentNum; foreach (var item in model.MaterialList)
materialOutorder.OuthouseNum = item.requireOutNum; {
materialOutorder.CreatedBy = model.CreatedBy; WmMaterialOutorder materialOutorder = new WmMaterialOutorder();
materialOutorder.CreatedTime = DateTime.Now; materialOutorder.FkMaterialId = item.Id;
materialOutorderList.Add(materialOutorder); materialOutorder.FkOutorderId = model.ShipmentNum;
}; materialOutorder.OuthouseNum = item.requireOutNum;
int result = Context.Insertable(materialOutorderList).ExecuteCommand(); materialOutorder.CreatedBy = model.CreatedBy;
materialOutorder.CreatedTime = DateTime.Now;
materialOutorderList.Add(materialOutorder);
};
int result = Context.Insertable(materialOutorderList).ExecuteCommand();
}
} }
return Context.Insertable(wmOutOrder).ExecuteReturnEntity();
} }
catch (Exception ex)
return Context.Insertable(wmOutOrder).ExecuteReturnEntity(); {
return null;
}
} }
/// <summary> /// <summary>
/// 删除出货单关联的物料出货单 /// 删除出货单关联的物料出货单