diff --git a/ZR.Admin.WebApi/Controllers/mes/wms/WMExitwarehouseController.cs b/ZR.Admin.WebApi/Controllers/mes/wms/WMExitwarehouseController.cs
index cb6c0fc4..21d327bf 100644
--- a/ZR.Admin.WebApi/Controllers/mes/wms/WMExitwarehouseController.cs
+++ b/ZR.Admin.WebApi/Controllers/mes/wms/WMExitwarehouseController.cs
@@ -42,7 +42,7 @@ namespace ZR.Admin.WebApi.Controllers.mes.wms
///
/// 7 判断箱子是否存在成品库仓库里
///
- ///
+ ///
///
[HttpGet("is_existed_warehouse")]
public IActionResult IsExistedWarehouse(string originalCode = "")
diff --git a/ZR.Admin.WebApi/Controllers/mes/wms/WmBlankRecordController.cs b/ZR.Admin.WebApi/Controllers/mes/wms/WmBlankRecordController.cs
index f71bebb7..12136ec7 100644
--- a/ZR.Admin.WebApi/Controllers/mes/wms/WmBlankRecordController.cs
+++ b/ZR.Admin.WebApi/Controllers/mes/wms/WmBlankRecordController.cs
@@ -38,7 +38,6 @@ namespace ZR.Admin.WebApi.Controllers
return SUCCESS(response);
}
-
///
/// 查询毛坯库存库存变动记录表详情
///
@@ -71,15 +70,22 @@ namespace ZR.Admin.WebApi.Controllers
}
///
- /// 1.增加库存
+ /// 1.增加库存(入库)
///
/// 库存id
/// 毛坯号
/// 变动量
+ /// 入库/出库时间
/// 备注
///
[HttpGet("add_inventory")]
- public IActionResult AddInventory(string fkBlankInventoryId, string blankNum, int changeQuantity, string remark)
+ public IActionResult AddInventory(
+ string fkBlankInventoryId,
+ string blankNum,
+ int changeQuantity,
+ string remark,
+ DateTime? actionTime
+ )
{
try
{
@@ -91,26 +97,39 @@ namespace ZR.Admin.WebApi.Controllers
{
return ToResponse(new ApiResult(500, "毛坯号为空!", "毛坯号为空!"));
}
- var response = _WmBlankRecordService.AddInventory(fkBlankInventoryId, blankNum, changeQuantity, HttpContext.GetName(), remark);
+ var response = _WmBlankRecordService.AddInventory(
+ fkBlankInventoryId,
+ blankNum,
+ changeQuantity,
+ HttpContext.GetName(),
+ remark,
+ actionTime
+ );
return SUCCESS(response);
}
catch (Exception ex)
{
return ToResponse(new ApiResult(500, ex.Message, "添加记录失败"));
}
-
}
///
- /// 2.减少库存
+ /// 2.减少库存(出库)
///
/// 库存id
/// 毛坯号
/// 变动量
+ /// 操作时间(出库时间)
/// 备注
///
[HttpGet("delete_inventory")]
- public IActionResult DeleteInventory(string fkBlankInventoryId, string blankNum, int changeQuantity, string remark)
+ public IActionResult DeleteInventory(
+ string fkBlankInventoryId,
+ string blankNum,
+ int changeQuantity,
+ string remark,
+ DateTime? actionTime
+ )
{
try
{
@@ -122,16 +141,22 @@ namespace ZR.Admin.WebApi.Controllers
{
return ToResponse(new ApiResult(500, "毛坯号为空!", "毛坯号为空!"));
}
- var response = _WmBlankRecordService.DeleteInventory(fkBlankInventoryId, blankNum, changeQuantity, HttpContext.GetName(), remark);
+ var response = _WmBlankRecordService.DeleteInventory(
+ fkBlankInventoryId,
+ blankNum,
+ changeQuantity,
+ HttpContext.GetName(),
+ remark,
+ actionTime
+ );
return SUCCESS(response);
}
catch (Exception ex)
{
return ToResponse(new ApiResult(500, ex.Message, "添加记录失败"));
}
-
-
}
+
///
/// 更新毛坯库存库存变动记录表
///
@@ -157,15 +182,14 @@ namespace ZR.Admin.WebApi.Controllers
public IActionResult DeleteWmBlankRecord(string ids)
{
string[] idsArr = ids.Split(',');
- if (idsArr.Length <= 0) { return ToResponse(ApiResult.Error($"删除失败Id 不能为空")); }
+ if (idsArr.Length <= 0)
+ {
+ return ToResponse(ApiResult.Error($"删除失败Id 不能为空"));
+ }
var response = _WmBlankRecordService.Delete(idsArr);
return ToResponse(response);
}
-
-
-
-
}
-}
\ No newline at end of file
+}
diff --git a/ZR.Admin.WebApi/Controllers/mes/wms/WmGoodsBatchSearchController.cs b/ZR.Admin.WebApi/Controllers/mes/wms/WmGoodsBatchSearchController.cs
index 20cea4b6..34ed2a1c 100644
--- a/ZR.Admin.WebApi/Controllers/mes/wms/WmGoodsBatchSearchController.cs
+++ b/ZR.Admin.WebApi/Controllers/mes/wms/WmGoodsBatchSearchController.cs
@@ -28,7 +28,7 @@ namespace ZR.Admin.WebApi.Controllers
///
///
[HttpPost("getBatchTreeTableData")]
- [Log(Title = "根据查询条件聚合批量查询出库数据,并生成树列表数据", BusinessType = BusinessType.QUERY)]
+ // [Log(Title = "根据查询条件聚合批量查询出库数据,并生成树列表数据", BusinessType = BusinessType.QUERY)]
public IActionResult GetBatchTreeTableData([FromBody] WmGoodsBatchSearchDto parm)
{
if (parm is null)
diff --git a/ZR.Admin.WebApi/Controllers/mes/wms/WmGoodsNowProductionController.cs b/ZR.Admin.WebApi/Controllers/mes/wms/WmGoodsNowProductionController.cs
index 97c28fed..41d8d7cb 100644
--- a/ZR.Admin.WebApi/Controllers/mes/wms/WmGoodsNowProductionController.cs
+++ b/ZR.Admin.WebApi/Controllers/mes/wms/WmGoodsNowProductionController.cs
@@ -111,7 +111,7 @@ namespace ZR.Admin.WebApi.Controllers
///
[HttpPost]
[ActionPermissionFilter(Permission = "wmsManagement:wmgoodsnowproduction:add")]
- [Log(Title = "成品库当前货物表", BusinessType = BusinessType.INSERT)]
+ [Log(Title = "添加成品库当前货物表", BusinessType = BusinessType.INSERT)]
public IActionResult AddWmGoodsNowProduction([FromBody] WmGoodsNowProductionDto parm)
{
var modal = parm.Adapt().ToCreate(HttpContext);
@@ -127,7 +127,7 @@ namespace ZR.Admin.WebApi.Controllers
///
[HttpPut]
[ActionPermissionFilter(Permission = "wmsManagement:wmgoodsnowproduction:edit")]
- [Log(Title = "成品库当前货物表", BusinessType = BusinessType.UPDATE)]
+ [Log(Title = "更新成品库当前货物表", BusinessType = BusinessType.UPDATE)]
public IActionResult UpdateWmGoodsNowProduction([FromBody] WmGoodsNowProductionDto parm)
{
var modal = parm.Adapt().ToUpdate(HttpContext);
@@ -142,7 +142,7 @@ namespace ZR.Admin.WebApi.Controllers
///
[HttpDelete("{ids}")]
[ActionPermissionFilter(Permission = "wmsManagement:wmgoodsnowproduction:delete")]
- [Log(Title = "成品库当前货物表", BusinessType = BusinessType.DELETE)]
+ [Log(Title = "删除成品库当前货物表", BusinessType = BusinessType.DELETE)]
public IActionResult DeleteWmGoodsNowProduction(string ids)
{
long[] idsArr = Tools.SpitLongArrary(ids);
@@ -160,6 +160,7 @@ namespace ZR.Admin.WebApi.Controllers
///
///
[HttpGet("modifyInventoryQuantity")]
+ [Log(Title = "修改库存数量", BusinessType = BusinessType.UPDATE)]
public IActionResult ModifyInventoryQuantity(string id, int stack_num)
{
if (string.IsNullOrEmpty(id))
@@ -170,6 +171,21 @@ namespace ZR.Admin.WebApi.Controllers
return SUCCESS(response);
}
+ ///
+ /// 批量修改成品库仓库编码
+ ///
+ ///
+ [HttpPost("batchUpdateGoodsNowProductionLocationCode")]
+ [ActionPermissionFilter(Permission = "wmsManagement:wmgoodsnowproduction:edit")]
+ [Log(Title = "批量修改成品库仓库编码(移入呆滞品)", BusinessType = BusinessType.UPDATE)]
+ public IActionResult BatchUpdateGoodsNowProductionLocationCode([FromBody] BatchUpdateLocationCodeDto parm)
+ {
+ parm.UpdatedBy = HttpContext.GetName();
+ parm.UpdatedTime = DateTime.Now;
+ var response = _WmGoodsNowProductionService.BatchUpdateLocationCode(parm);
+ return SUCCESS(response);
+ }
+
}
}
\ No newline at end of file
diff --git a/ZR.Admin.WebApi/Controllers/mes/wms/WmGoodsOutProductionController.cs b/ZR.Admin.WebApi/Controllers/mes/wms/WmGoodsOutProductionController.cs
index 6503a15b..8fb3076b 100644
--- a/ZR.Admin.WebApi/Controllers/mes/wms/WmGoodsOutProductionController.cs
+++ b/ZR.Admin.WebApi/Controllers/mes/wms/WmGoodsOutProductionController.cs
@@ -62,7 +62,7 @@ namespace ZR.Admin.WebApi.Controllers
///
[HttpPost]
[ActionPermissionFilter(Permission = "wmsManagement:wmgoodsoutproduction:add")]
- [Log(Title = "出库货物记录表", BusinessType = BusinessType.INSERT)]
+ [Log(Title = "添加出库货物记录表", BusinessType = BusinessType.INSERT)]
public IActionResult AddWmGoodsOutProduction([FromBody] WmGoodsOutProductionDto parm)
{
try
@@ -86,7 +86,7 @@ namespace ZR.Admin.WebApi.Controllers
///
[HttpPut]
[ActionPermissionFilter(Permission = "wmsManagement:wmgoodsoutproduction:edit")]
- [Log(Title = "出库货物记录表", BusinessType = BusinessType.UPDATE)]
+ [Log(Title = "更新出库货物记录表", BusinessType = BusinessType.UPDATE)]
public IActionResult UpdateWmGoodsOutProduction([FromBody] WmGoodsOutProductionDto parm)
{
var modal = parm.Adapt().ToUpdate(HttpContext);
@@ -101,7 +101,7 @@ namespace ZR.Admin.WebApi.Controllers
///
[HttpDelete("{ids}")]
[ActionPermissionFilter(Permission = "wmsManagement:wmgoodsoutproduction:delete")]
- [Log(Title = "出库货物记录表", BusinessType = BusinessType.DELETE)]
+ [Log(Title = "删除出库货物记录表", BusinessType = BusinessType.DELETE)]
public IActionResult DeleteWmGoodsOutProduction(string ids)
{
long[] idsArr = Tools.SpitLongArrary(ids);
diff --git a/ZR.Admin.WebApi/Controllers/mes/wms/WmMaterialController.cs b/ZR.Admin.WebApi/Controllers/mes/wms/WmMaterialController.cs
index 3080d0cf..9a2514ff 100644
--- a/ZR.Admin.WebApi/Controllers/mes/wms/WmMaterialController.cs
+++ b/ZR.Admin.WebApi/Controllers/mes/wms/WmMaterialController.cs
@@ -108,7 +108,6 @@ namespace ZR.Admin.WebApi.Controllers
[HttpGet("getInfoByPatchCode")]
- [Log(Title = "物料记录表", BusinessType = BusinessType.QUERY)]
public IActionResult GetInfoByPatchCode(string patchCode)
{
if (string.IsNullOrEmpty(patchCode))
diff --git a/ZR.Admin.WebApi/Controllers/mes/wms/WmOutOrderController.cs b/ZR.Admin.WebApi/Controllers/mes/wms/WmOutOrderController.cs
index 4bf87f5a..14ab2c85 100644
--- a/ZR.Admin.WebApi/Controllers/mes/wms/WmOutOrderController.cs
+++ b/ZR.Admin.WebApi/Controllers/mes/wms/WmOutOrderController.cs
@@ -248,7 +248,7 @@ namespace ZR.Admin.WebApi.Controllers
///
///
[HttpPost("doMaterialOut")]
- [Log(Title = "出库", BusinessType = BusinessType.INSERT)]
+ [Log(Title = "成品出库", BusinessType = BusinessType.INSERT)]
public IActionResult DoMaterialOut([FromBody] WmDoMaterialOut_Dto doMaterialOut)
{
if (doMaterialOut == null || doMaterialOut.ShipmentNum == null)
diff --git a/ZR.Model/MES/wms/Dto/WmBlankRecordDto.cs b/ZR.Model/MES/wms/Dto/WmBlankRecordDto.cs
index d5f1462f..d0833acb 100644
--- a/ZR.Model/MES/wms/Dto/WmBlankRecordDto.cs
+++ b/ZR.Model/MES/wms/Dto/WmBlankRecordDto.cs
@@ -60,6 +60,8 @@ namespace ZR.Model.MES.wms.Dto
public int Status { get; set; }
+ public DateTime? ActionTime { get; set; }
+
public string Remark { get; set; }
public string CreatedBy { get; set; }
diff --git a/ZR.Model/MES/wms/Dto/WmGoodsNowProductionDto.cs b/ZR.Model/MES/wms/Dto/WmGoodsNowProductionDto.cs
index a1e9d5d1..57a2cdc4 100644
--- a/ZR.Model/MES/wms/Dto/WmGoodsNowProductionDto.cs
+++ b/ZR.Model/MES/wms/Dto/WmGoodsNowProductionDto.cs
@@ -131,4 +131,18 @@ namespace ZR.Model.MES.wms.Dto
///
public object Value { get; set; }
}
+
+ ///
+ /// 批量修改成品库库存
+ ///
+ public class BatchUpdateLocationCodeDto
+ {
+ public List Ids { get; set; }
+
+ public string LocationCode { get; set; }
+
+ public string UpdatedBy { get; set; }
+
+ public DateTime? UpdatedTime { get; set; }
+ }
}
diff --git a/ZR.Model/MES/wms/WmBlankRecord.cs b/ZR.Model/MES/wms/WmBlankRecord.cs
index d8ce2c62..af8d27bc 100644
--- a/ZR.Model/MES/wms/WmBlankRecord.cs
+++ b/ZR.Model/MES/wms/WmBlankRecord.cs
@@ -31,6 +31,13 @@ namespace ZR.Model.MES.wms
[SugarColumn(ColumnName = "change_quantity")]
public int? ChangeQuantity { get; set; }
+
+ ///
+ /// 创建时间
+ ///
+ [SugarColumn(ColumnName = "action_time")]
+ public DateTime? ActionTime { get; set; }
+
///
/// 类别
///
diff --git a/ZR.Service/mes/mm/MaterialInputService.cs b/ZR.Service/mes/mm/MaterialInputService.cs
index d198d1a6..01f4bd2f 100644
--- a/ZR.Service/mes/mm/MaterialInputService.cs
+++ b/ZR.Service/mes/mm/MaterialInputService.cs
@@ -1,10 +1,11 @@
-using Infrastructure;
-using Infrastructure.Attribute;
-using SqlSugar;
-using System;
+using System;
using System.Globalization;
using System.Linq;
using System.Text.Json;
+using Infrastructure;
+using Infrastructure.Attribute;
+using JinianNet.JNTemplate;
+using SqlSugar;
using ZR.Model.MES.mm;
using ZR.Model.MES.mm.Dto;
using ZR.Model.MES.pro;
@@ -21,44 +22,46 @@ namespace ZR.Service.mes.mm
public MaterialInputService()
{
logger = NLog.LogManager.GetCurrentClassLogger();
-
}
+
///
/// 获取AGV上料起点
///
///
public string[] Getstart_AGV_points()
{
- List positions = Context.Queryable()
+ List positions = Context
+ .Queryable()
.Where(it => it.AreaCode == 2)
.Where(it => it.Type == 0)
.ToList();
string[] cors = new string[positions.Count];
- for (int i = 0; i < positions.Count; i++) cors[i] = positions[i].Coordinate.ToString();
+ for (int i = 0; i < positions.Count; i++)
+ cors[i] = positions[i].Coordinate.ToString();
return cors;
}
-
///
/// 获取AGV上料终点
///
///
public string[] Getend_AGV_points()
{
- List positions = Context.Queryable()
- .Where(it => it.AreaCode == 2)
- .Where(it => it.Type == 1)
- .ToList();
+ List positions = Context
+ .Queryable()
+ .Where(it => it.AreaCode == 2)
+ .Where(it => it.Type == 1)
+ .ToList();
string[] cors = new string[positions.Count];
- for (int i = 0; i < positions.Count; i++) cors[i] = positions[i].Coordinate.ToString();
+ for (int i = 0; i < positions.Count; i++)
+ cors[i] = positions[i].Coordinate.ToString();
return cors;
}
-
///
/// 获取工单列表
///
@@ -66,27 +69,40 @@ namespace ZR.Service.mes.mm
///
public (List, int) Getworkorderlist(WorkorderqueryDto query)
{
-
- DateTime datetimespan = new DateTime(query.datetimespan.Year, query.datetimespan.Month, query.datetimespan.Day, 0, 0, 0);
+ DateTime datetimespan = new DateTime(
+ query.datetimespan.Year,
+ query.datetimespan.Month,
+ query.datetimespan.Day,
+ 0,
+ 0,
+ 0
+ );
// 获取年份和周数
Calendar calendar = new GregorianCalendar();
int year = calendar.GetYear(datetimespan);
- int week = calendar.GetWeekOfYear(datetimespan, CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Sunday);
+ int week = calendar.GetWeekOfYear(
+ datetimespan,
+ CalendarWeekRule.FirstFourDayWeek,
+ DayOfWeek.Sunday
+ );
// 获取这一周中的第几天
DayOfWeek dayOfWeek = datetimespan.DayOfWeek;
int dayOfWeekNumber = (int)dayOfWeek; // 将 DayOfWeek 枚举转换为从 1 开始的数字
- Console.WriteLine("<-获取工单列表-> " + year + "年" + week + "周" + dayOfWeekNumber + "日");
+ Console.WriteLine(
+ "<-获取工单列表-> " + year + "年" + week + "周" + dayOfWeekNumber + "日"
+ );
logger.Error("<-获取工单列表-> " + year + "年" + week + "周" + dayOfWeekNumber + "日");
- //todo 已经和正在配料的工单号和毛坯号不能变??????
+ //todo 已经和正在配料的工单号和毛坯号不能变??????
int total = 0;
- List WorkorderList = Context.Queryable()
- .Where(it => it.Year == year)
- .Where(it => it.Week == week)
- .Where(it => it.Date == dayOfWeekNumber)
- .Where(it => it.Remark3 == "是" || it.Remark1 == "调试")
- .ToList();
+ List WorkorderList = Context
+ .Queryable()
+ .Where(it => it.Year == year)
+ .Where(it => it.Week == week)
+ .Where(it => it.Date == dayOfWeekNumber)
+ .Where(it => it.Remark3 == "是" || it.Remark1 == "调试")
+ .ToList();
// .ToPageList(query.pageNum??1, query.pageSize??10, ref total);
foreach (ProWorkorder_v2 workorder in WorkorderList)
@@ -96,7 +112,8 @@ namespace ZR.Service.mes.mm
workorder.ClientWorkorder = "调试:" + workorder.Id;
}
// 配料任务
- bool isExist = Context.Queryable()
+ bool isExist = Context
+ .Queryable()
.Where(it => it.FkWorkorder == workorder.ClientWorkorder)
.Where(it => it.FkBlanknumber == workorder.BlankNumber)
.Any();
@@ -115,17 +132,17 @@ namespace ZR.Service.mes.mm
else
{
// todo 有个漏洞 如果计划单 修改数量 remian 就不对
- var ingredient = Context.Queryable()
- .Where(it => it.FkWorkorder == workorder.ClientWorkorder)
- .Where(it => it.FkBlanknumber == workorder.BlankNumber)
- .First();
+ var ingredient = Context
+ .Queryable()
+ .Where(it => it.FkWorkorder == workorder.ClientWorkorder)
+ .Where(it => it.FkBlanknumber == workorder.BlankNumber)
+ .First();
if (ingredient != null)
{
- workorder.PreviousNumber = workorder.PreviousNumber - (ingredient.Previous_numbered ?? 0);
+ workorder.PreviousNumber =
+ workorder.PreviousNumber - (ingredient.Previous_numbered ?? 0);
}
-
-
}
}
WorkorderList.RemoveAll(num => num.PreviousNumber <= 0);
@@ -157,29 +174,28 @@ namespace ZR.Service.mes.mm
if (remian == 0)
{
//更改配料进度为完成
- int result = Context.Updateable()
- .Where(it => it.FkWorkorder == item.workorder)
- .Where(it => it.FkBlanknumber == item.blanknumber)
- .SetColumns(it => it.Previous_numbered == item.previousNumbered)
+ int result = Context
+ .Updateable()
+ .Where(it => it.FkWorkorder == item.workorder)
+ .Where(it => it.FkBlanknumber == item.blanknumber)
+ .SetColumns(it => it.Previous_numbered == item.previousNumbered)
.SetColumns(it => it.Isingredient == 1)
.SetColumns(it => it.UpdatedTime == DateTime.Now)
- .ExecuteCommand();
-
+ .ExecuteCommand();
}
else
{
//更改配料进度 修改配料进度
- Context.Updateable()
- .Where(it => it.FkWorkorder == item.workorder)
- .Where(it => it.FkBlanknumber == item.blanknumber)
- .SetColumns(it => it.Previous_numbered == item.previousNumbered)
- .SetColumns(it => it.UpdatedTime == DateTime.Now)
- .SetColumns(it => it.Isingredient == 0)
- .ExecuteCommand();
-
+ Context
+ .Updateable()
+ .Where(it => it.FkWorkorder == item.workorder)
+ .Where(it => it.FkBlanknumber == item.blanknumber)
+ .SetColumns(it => it.Previous_numbered == item.previousNumbered)
+ .SetColumns(it => it.UpdatedTime == DateTime.Now)
+ .SetColumns(it => it.Isingredient == 0)
+ .ExecuteCommand();
}
-
MmIngredientTask ingredientTask = new MmIngredientTask();
ingredientTask.AgvPosition = task.agv_position;
ingredientTask.TaskId = taskid.ToString();
@@ -191,17 +207,12 @@ namespace ZR.Service.mes.mm
ingredientTask.CreatedBy = name;
ingredientTask.CreatedTime = DateTime.Now;
-
ingredientTasks.Add(ingredientTask);
-
}
return Context.Insertable(ingredientTasks).ExecuteCommand();
-
-
}
-
///
/// 获取配料任务
///
@@ -213,19 +224,18 @@ namespace ZR.Service.mes.mm
DateTime startOfDay = queryParams.datetimespan.Date;
// 获取当天的结束时间
DateTime endOfDay = startOfDay.AddDays(1).AddTicks(-1);
- return Context.Queryable()
- .Where(it => it.CreatedTime > startOfDay && it.CreatedTime < endOfDay)
- .Where(it => it.Isfinal == 0)
- .GroupBy(it => it.TaskId)
- .Select(it => new MmIngredientTask()
- {
- TaskId = it.TaskId,
- AgvPosition = SqlFunc.AggregateMax(it.AgvPosition),
- CreatedTime = SqlFunc.AggregateMax(it.CreatedTime)
- })
- .ToList();
-
-
+ return Context
+ .Queryable()
+ .Where(it => it.CreatedTime > startOfDay && it.CreatedTime < endOfDay)
+ .Where(it => it.Isfinal == 0)
+ .GroupBy(it => it.TaskId)
+ .Select(it => new MmIngredientTask()
+ {
+ TaskId = it.TaskId,
+ AgvPosition = SqlFunc.AggregateMax(it.AgvPosition),
+ CreatedTime = SqlFunc.AggregateMax(it.CreatedTime)
+ })
+ .ToList();
}
///
@@ -244,13 +254,13 @@ namespace ZR.Service.mes.mm
///
public string[] Getfabgopoints()
{
- return Context.Queryable().Where(it => it.AreaCode == 3)
- .Select(it => it.Coordinate).ToArray();
-
+ return Context
+ .Queryable()
+ .Where(it => it.AreaCode == 3)
+ .Select(it => it.Coordinate)
+ .ToArray();
}
-
-
///
/// agv从仓库到车间 进料
///
@@ -262,7 +272,8 @@ namespace ZR.Service.mes.mm
// Context.Updateable().Where(it => it.Coordinate == start_point).SetColumns(it => it.Status == 0).ExecuteCommand();
// Context.Updateable().Where(it => it.Coordinate == end_point).SetColumns(it => it.Status == 1).ExecuteCommand();
- string url = "https://192.168.60.1:443/rcms/services/rest/hikRpcService/genAgvSchedulingTask";
+ string url =
+ "https://192.168.60.1:443/rcms/services/rest/hikRpcService/genAgvSchedulingTask";
logger.Info(" 1.任务调度请求url " + url);
AGVtask_third task = new AGVtask_third();
task.reqCode = SnowFlakeSingle.Instance.NextId().ToString();
@@ -274,23 +285,12 @@ namespace ZR.Service.mes.mm
if (end_point == "R1" || start_point == "R1")
{
task.taskTyp = "KLC";
-
}
task.positionCodePath = new List
{
- new AGV_location_third()
- {
- positionCode=start_point,
- type="00"
-
- },
- new AGV_location_third()
- {
- positionCode=end_point,
- type="00"
-
- }
+ new AGV_location_third() { positionCode = start_point, type = "00" },
+ new AGV_location_third() { positionCode = end_point, type = "00" }
};
task.podDir = "0";
task.priority = "1";
@@ -302,10 +302,8 @@ namespace ZR.Service.mes.mm
logger.Info(" 3.任务调度请求响应 " + response);
return response;
-
}
-
///
/// 紧急终止AGV
///
@@ -324,17 +322,13 @@ namespace ZR.Service.mes.mm
logger.Info(" 2.紧急终止AGV请求数据 " + postData);
-
string response = HttpHelper.HttpPost(url, postData);
logger.Info(" 3.紧急终止AGV响应数据 " + response);
return response;
-
-
}
-
///
/// 完成配料任务
/// 1.更改站点托盘
@@ -348,33 +342,63 @@ namespace ZR.Service.mes.mm
{
// Context.Updateable().Where(it => it.Coordinate == start_point).SetColumns(it => it.Status == 0).ExecuteCommand();
// Context.Updateable().Where(it => it.Coordinate == end_point).SetColumns(it => it.Status == 1).ExecuteCommand();
- result = Context.Updateable().Where(it => it.TaskId.Equals(taskId)).SetColumns(it => it.Isfinal == 1).ExecuteCommand();
- List tasks = Context.Queryable().Where(it => it.TaskId.Equals(taskId)).ToList();
+ result = Context
+ .Updateable()
+ .Where(it => it.TaskId.Equals(taskId))
+ .SetColumns(it => it.Isfinal == 1)
+ .ExecuteCommand();
+ List tasks = Context
+ .Queryable()
+ .Where(it => it.TaskId.Equals(taskId))
+ .ToList();
for (int i = 0; i < tasks.Count; i++)
{
if (!string.IsNullOrEmpty(tasks[i].Workorder))
{
- Context.Updateable().Where(it => it.ClientWorkorder == tasks[i].Workorder).SetColumns(it => it.Status == 1).ExecuteCommand();
+ Context
+ .Updateable()
+ .Where(it => it.ClientWorkorder == tasks[i].Workorder)
+ .SetColumns(it => it.Status == 1)
+ .ExecuteCommand();
}
}
//查询毛坯号
- List TO_blankList = Context.Queryable().Where(it => it.TaskId == taskId).ToList();
+ List TO_blankList = Context
+ .Queryable()
+ .Where(it => it.TaskId == taskId)
+ .ToList();
foreach (var task in TO_blankList)
{
if (!string.IsNullOrEmpty(task.Blanknumber))
{
+ WmBlankInventory blankInventory = Context
+ .Queryable()
+ .Where(it => it.BlankNum == task.Blanknumber)
+ // 默认毛坯扣除
+ .Where(it => it.Type == 1)
+ .Where(it => it.Status == 1)
+ .First();
+ if (blankInventory == null)
+ {
+ continue;
+ }
//1 扣除库存
- Context.Updateable().SetColumns(it => it.Quantity == it.Quantity - task.PreviousNumbered)
- .Where(it => it.BlankNum == task.Blanknumber).ExecuteCommand();
+ Context
+ .Updateable()
+ .SetColumns(it => it.Quantity == it.Quantity - task.PreviousNumbered)
+ .Where(it => it.Id == blankInventory.Id)
+ .ExecuteCommand();
//2 增加库存记录
WmBlankRecord res = new WmBlankRecord();
res.Id = SnowFlakeSingle.Instance.NextId().ToString();
- res.FkBlankInventoryId = task.Blanknumber;
+ res.FkBlankInventoryId = blankInventory.Id;
+ res.BlankNum = task.Blanknumber;
res.ChangeQuantity = task.PreviousNumbered;
res.Type = 3;
res.Status = 1;
- res.CreatedBy = "仓库人员";
+ res.ActionTime = DateTime.Now;
+ res.CreatedBy = "PDA上料";
res.CreatedTime = DateTime.Now;
//填写库存记录
@@ -383,27 +407,25 @@ namespace ZR.Service.mes.mm
}
});
-
return result;
}
-
///
/// 车间返程起点
///
///
public string[] Emptycarreturn_start()
{
- List positions = Context.Queryable()
- .Where(it => it.AreaCode == 3)
-
- .ToList();
+ List positions = Context
+ .Queryable()
+ .Where(it => it.AreaCode == 3)
+ .ToList();
string[] cors = new string[positions.Count];
- for (int i = 0; i < positions.Count; i++) cors[i] = positions[i].Coordinate.ToString();
+ for (int i = 0; i < positions.Count; i++)
+ cors[i] = positions[i].Coordinate.ToString();
return cors;
-
}
///
@@ -412,17 +434,16 @@ namespace ZR.Service.mes.mm
///
public string[] Emptycarreturn_end()
{
- List positions = Context.Queryable()
- .Where(it => it.AreaCode == 2)
-
- .ToList();
+ List positions = Context
+ .Queryable()
+ .Where(it => it.AreaCode == 2)
+ .ToList();
string[] cors = new string[positions.Count];
- for (int i = 0; i < positions.Count; i++) cors[i] = positions[i].Coordinate.ToString();
+ for (int i = 0; i < positions.Count; i++)
+ cors[i] = positions[i].Coordinate.ToString();
return cors;
-
}
}
}
-
diff --git a/ZR.Service/mes/wms/IService/IWmBlankRecordService.cs b/ZR.Service/mes/wms/IService/IWmBlankRecordService.cs
index 53447178..06cda91c 100644
--- a/ZR.Service/mes/wms/IService/IWmBlankRecordService.cs
+++ b/ZR.Service/mes/wms/IService/IWmBlankRecordService.cs
@@ -1,3 +1,4 @@
+using System;
using ZR.Model;
using ZR.Model.MES.wms;
using ZR.Model.MES.wms.Dto;
@@ -16,9 +17,41 @@ namespace ZR.Service.mes.wms.IService
WmBlankRecord AddWmBlankRecord(WmBlankRecord parm);
int UpdateWmBlankRecord(WmBlankRecord parm);
-
- int AddInventory(string fkBlankInventoryId, string blankNum, int changeQuantity, string username, string remark);
- int DeleteInventory(string fkBlankInventoryId, string blankNum, int changeQuantity, string username, string remark);
-
+ ///
+ /// 入库
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ int AddInventory(
+ string fkBlankInventoryId,
+ string blankNum,
+ int changeQuantity,
+ string username,
+ string remark,
+ DateTime? actionTime
+ );
+ ///
+ /// 出库
+ ///
+ ///
+ /// 毛坯号
+ /// 操作数量
+ /// 操作人
+ /// 备注
+ /// 操作时间
+ ///
+ int DeleteInventory(
+ string fkBlankInventoryId,
+ string blankNum,
+ int changeQuantity,
+ string username,
+ string remark,
+ DateTime? actionTime
+ );
}
}
diff --git a/ZR.Service/mes/wms/IService/IWmGoodsNowProductionService.cs b/ZR.Service/mes/wms/IService/IWmGoodsNowProductionService.cs
index 75fad20b..788d0d22 100644
--- a/ZR.Service/mes/wms/IService/IWmGoodsNowProductionService.cs
+++ b/ZR.Service/mes/wms/IService/IWmGoodsNowProductionService.cs
@@ -37,6 +37,14 @@ namespace ZR.Service.mes.wms.IService
int UpdateWmGoodsNowProduction(WmGoodsNowProduction parm);
+ ///
+ /// 批量移库(批量转移进呆滞品库等使用)
+ ///
+ /// 箱主键列表
+ /// 转入库存编号
+ ///
+ int BatchUpdateLocationCode(BatchUpdateLocationCodeDto parm);
+
int ModifyInventoryQuantity(string id, int stack_num);
PagedInfo GetDictData(WmGoodsNowProductionDictDto parm);
diff --git a/ZR.Service/mes/wms/WmBlankRecordService.cs b/ZR.Service/mes/wms/WmBlankRecordService.cs
index b60ff70e..cc8976fd 100644
--- a/ZR.Service/mes/wms/WmBlankRecordService.cs
+++ b/ZR.Service/mes/wms/WmBlankRecordService.cs
@@ -1,6 +1,6 @@
+using System;
using Infrastructure.Attribute;
using SqlSugar;
-using System;
using ZR.Model;
using ZR.Model.MES.wms;
using ZR.Model.MES.wms.Dto;
@@ -24,14 +24,26 @@ namespace ZR.Service.mes.wms
{
DateTime startTime = parm.CreatedTimeStart ?? new DateTime(1999, 1, 1, 0, 0, 0);
DateTime endTime = parm.CreatedTimeEnd ?? new DateTime(1999, 1, 1, 0, 0, 0);
- var predicate = Expressionable.Create()
- .AndIF(!string.IsNullOrEmpty(parm.FkBlankInventoryId), it => it.FkBlankInventoryId == parm.FkBlankInventoryId)
- .AndIF(!string.IsNullOrEmpty(parm.BlankNum), it => it.BlankNum.Contains(parm.BlankNum))
+ var predicate = Expressionable
+ .Create()
+ .AndIF(
+ !string.IsNullOrEmpty(parm.FkBlankInventoryId),
+ it => it.FkBlankInventoryId == parm.FkBlankInventoryId
+ )
+ .AndIF(
+ !string.IsNullOrEmpty(parm.BlankNum),
+ it => it.BlankNum.Contains(parm.BlankNum)
+ )
// .AndIF(parm.Status > -1, it => it.Status == parm.Status)
.AndIF(parm.Type > 0, it => it.Type == parm.Type)
- .AndIF(parm.CreatedTimeStart > new DateTime(1999, 1, 1, 0, 0, 0), it => it.CreatedTime >= startTime.ToLocalTime())
- .AndIF(parm.CreatedTimeEnd > new DateTime(1999, 1, 1, 0, 0, 0), it => it.CreatedTime <= endTime.ToLocalTime())
- ;
+ .AndIF(
+ parm.CreatedTimeStart > new DateTime(1999, 1, 1, 0, 0, 0),
+ it => it.CreatedTime >= startTime.ToLocalTime()
+ )
+ .AndIF(
+ parm.CreatedTimeEnd > new DateTime(1999, 1, 1, 0, 0, 0),
+ it => it.CreatedTime <= endTime.ToLocalTime()
+ );
var response = Queryable()
.Where(predicate.ToExpression())
@@ -41,10 +53,11 @@ namespace ZR.Service.mes.wms
{
foreach (WmBlankRecordDto item in response.Result)
{
- WmMaterial material = Context.Queryable()
- .Where(it => it.BlankNum == item.BlankNum)
- .Where(it => it.Remarks == "毛坯")
- .First();
+ WmMaterial material = Context
+ .Queryable()
+ .Where(it => it.BlankNum == item.BlankNum)
+ .Where(it => it.Remarks == "毛坯")
+ .First();
if (material == null)
{
item.Description = "此毛坯号不在物料清单内!";
@@ -54,13 +67,14 @@ namespace ZR.Service.mes.wms
item.Unit = material.Unit;
item.Version = material.Version;
item.Specification = material.Specification;
- item.Description = !string.IsNullOrEmpty(material.Description) ? material.Description : material.ProductName;
+ item.Description = !string.IsNullOrEmpty(material.Description)
+ ? material.Description
+ : material.ProductName;
}
}
return response;
}
-
///
/// 获取详情
///
@@ -68,9 +82,7 @@ namespace ZR.Service.mes.wms
///
public WmBlankRecord GetInfo(string Id)
{
- var response = Queryable()
- .Where(x => x.Id == Id)
- .First();
+ var response = Queryable().Where(x => x.Id == Id).First();
return response;
}
@@ -116,19 +128,29 @@ namespace ZR.Service.mes.wms
///
///
///
- public int AddInventory(string fkBlankInventoryId, string blankNum, int changeQuantity, string username, string remark)
+ public int AddInventory(
+ string fkBlankInventoryId,
+ string blankNum,
+ int changeQuantity,
+ string username,
+ string remark,
+ DateTime? actionTime
+ )
{
- bool hasRecord = Context.Queryable()
- .Where(it => it.Id == fkBlankInventoryId).Any();
+ bool hasRecord = Context
+ .Queryable()
+ .Where(it => it.Id == fkBlankInventoryId)
+ .Any();
if (!hasRecord)
{
throw new Exception("无此毛坯号记录!");
}
// 增加库存
- int result = Context.Updateable()
- .SetColumns(it => it.Quantity == it.Quantity + changeQuantity)
- .Where(it => it.Id == fkBlankInventoryId)
- .ExecuteCommand();
+ int result = Context
+ .Updateable()
+ .SetColumns(it => it.Quantity == it.Quantity + changeQuantity)
+ .Where(it => it.Id == fkBlankInventoryId)
+ .ExecuteCommand();
if (result == 1)
{
WmBlankRecord res = new WmBlankRecord();
@@ -138,16 +160,15 @@ namespace ZR.Service.mes.wms
res.ChangeQuantity = changeQuantity;
res.Type = 1;
res.Status = 1;
+ res.ActionTime = actionTime;
res.Remark = remark;
res.CreatedBy = username;
res.CreatedTime = DateTime.Now;
//填写库存记录
Context.Insertable(res).ExecuteCommand();
-
}
-
return result;
}
@@ -158,14 +179,23 @@ namespace ZR.Service.mes.wms
///
///
///
- public int DeleteInventory(string fkBlankInventoryId, string blankNum, int changeQuantity, string username, string remark)
+ public int DeleteInventory(
+ string fkBlankInventoryId,
+ string blankNum,
+ int changeQuantity,
+ string username,
+ string remark,
+ DateTime? actionTime
+ )
{
int resut = 0;
bool tranReuslt = UseTran2(() =>
{
- WmBlankInventory record = Context.Queryable()
- .Where(it => it.Id == fkBlankInventoryId)
- .Where(it => it.BlankNum == blankNum).First();
+ WmBlankInventory record = Context
+ .Queryable()
+ .Where(it => it.Id == fkBlankInventoryId)
+ .Where(it => it.BlankNum == blankNum)
+ .First();
if (record != null && record.Quantity < changeQuantity)
{
resut = 0 - changeQuantity;
@@ -178,10 +208,11 @@ namespace ZR.Service.mes.wms
}
else
{
- resut = Context.Updateable()
- .SetColumns(it => it.Quantity == it.Quantity - changeQuantity)
- .Where(it => it.Id == fkBlankInventoryId)
- .ExecuteCommand();
+ resut = Context
+ .Updateable()
+ .SetColumns(it => it.Quantity == it.Quantity - changeQuantity)
+ .Where(it => it.Id == fkBlankInventoryId)
+ .ExecuteCommand();
if (resut == 1)
{
@@ -193,17 +224,14 @@ namespace ZR.Service.mes.wms
res.Type = 2;
res.Status = 1;
res.Remark = remark;
+ res.ActionTime = actionTime;
res.CreatedBy = username;
res.CreatedTime = DateTime.Now;
//填写库存记录
Context.Insertable(res).ExecuteCommand();
-
}
-
-
}
-
});
if (!tranReuslt)
{
@@ -211,6 +239,5 @@ namespace ZR.Service.mes.wms
}
return resut;
}
-
}
-}
\ No newline at end of file
+}
diff --git a/ZR.Service/mes/wms/WmGoodsNowProductionService.cs b/ZR.Service/mes/wms/WmGoodsNowProductionService.cs
index 8a4df90b..832b6b11 100644
--- a/ZR.Service/mes/wms/WmGoodsNowProductionService.cs
+++ b/ZR.Service/mes/wms/WmGoodsNowProductionService.cs
@@ -404,5 +404,29 @@ namespace ZR.Service.mes.wms
}
return response;
}
+
+ public int BatchUpdateLocationCode(BatchUpdateLocationCodeDto parm)
+ {
+ try
+ {
+ List updateList = new List();
+ foreach (string id in parm.Ids)
+ {
+ WmGoodsNowProduction nowProduction = new()
+ {
+ Id = id,
+ LocationCode = parm.LocationCode,
+ UpdatedBy = parm.UpdatedBy,
+ UpdatedTime = parm.UpdatedTime,
+ };
+ updateList.Add(nowProduction);
+ }
+ return Context.Updateable(updateList).IgnoreColumns(ignoreAllNullColumns:true).ExecuteCommand();
+ }
+ catch (Exception e)
+ {
+ throw new Exception(e.Message);
+ }
+ }
}
}
diff --git a/ZR.Service/mes/wms/WmOutOrderService.cs b/ZR.Service/mes/wms/WmOutOrderService.cs
index 1680a543..df43f13c 100644
--- a/ZR.Service/mes/wms/WmOutOrderService.cs
+++ b/ZR.Service/mes/wms/WmOutOrderService.cs
@@ -365,6 +365,7 @@ namespace ZR.Service.mes.wms
// 该物料下 ,现有货物列表,零件号相同,根据批次号从小到大排序
List wmGoodsNowsList = Context.Queryable()
.Where(it => it.Partnumber == partnumber)
+ .Where(it => it.LocationCode != "Z1-01")
.OrderBy(it => it.PackageCodeClient)
.ToList();