From 7d9d48cf1e9d5b28e59ea52a0ee1acdfd15f88e7 Mon Sep 17 00:00:00 2001
From: IPC-610 <IPC-610@DESKTOP-6LEOOS3>
Date: 星期二, 07 一月 2025 08:32:34 +0800
Subject: [PATCH] 问题修改
---
Admin.NET/WCS.Application/OpenApi/DemoOpenApi.cs | 289 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 274 insertions(+), 15 deletions(-)
diff --git a/Admin.NET/WCS.Application/OpenApi/DemoOpenApi.cs b/Admin.NET/WCS.Application/OpenApi/DemoOpenApi.cs
index 7d14fa9..98397c0 100644
--- a/Admin.NET/WCS.Application/OpenApi/DemoOpenApi.cs
+++ b/Admin.NET/WCS.Application/OpenApi/DemoOpenApi.cs
@@ -1,6 +1,12 @@
-锘縰sing System.Diagnostics.CodeAnalysis;
+锘縰sing DocumentFormat.OpenXml.Presentation;
+using Elastic.Clients.Elasticsearch;
+using Furion.Logging;
+using Newtonsoft.Json;
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Linq;
using System.Text;
-using WCS.Application.OpenApi.Dto;
+using WCS.Application.Entity;
namespace WCS.Application;
@@ -9,6 +15,7 @@
/// </summary>
[ApiDescriptionSettings("寮�鏀炬帴鍙�", Name = "Demo", Order = 100)]
//[Authorize(AuthenticationSchemes = SignatureAuthenticationDefaults.AuthenticationScheme)]
+[AllowAnonymous]
public class DemoOpenApi : IDynamicApiController
{
private static readonly ISqlSugarClient _db = SqlSugarSetup.ITenant.GetConnectionScope(SqlSugarConst.MainConfigId);
@@ -26,59 +33,311 @@
// return Task.FromResult($"Hello word. {_userManager.Account}");
//}
+ // <summary>
+ /// WCS鎺ュ彈WMS涓嬪彂鐨勪换鍔�(鍗曟潯浠诲姟)
+ /// </summary>
+ /// <param name="models">浠诲姟淇℃伅</param>
+ /// <returns>鍙嶉淇℃伅</returns>
+ [AllowAnonymous]
+ public ResponseModel AddWcsTasks(List<ResponseTasksModel> modelList)
+ {
+ ResponseModel result = new ResponseModel();
+ result.StatusCode = 0;
+ try
+ {
+ foreach (var models in modelList)
+ {
+ var res = AddWcsTask(models);
+ if (res.StatusCode == -1)
+ {
+ result.StatusCode = -1;
+ result.Msg = res.Msg;
+ }
+ else if (res.StatusCode == 0)
+ {
+ result.StatusCode = 0;
+ result.Msg = models.TaskNo + "浠诲姟" + res.Msg;
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ return new ResponseModel() { StatusCode = -1, Msg = ex.Message };
+ }
+ return result;
+ }
/// <summary>
/// WCS鎺ュ彈WMS涓嬪彂鐨勪换鍔�(鍗曟潯浠诲姟)
/// </summary>
/// <param name="models">浠诲姟淇℃伅</param>
/// <returns>鍙嶉淇℃伅</returns>
[AllowAnonymous]
- public WCSResultModel AddWcsTask(WCSTasks models)
+ public ResponseModel AddWcsTask(ResponseTasksModel models)
{
- WCSResultModel result = new WCSResultModel();
+ ResponseModel result = new ResponseModel();
try
{
// 楠岃瘉浠诲姟鏄惁宸插瓨鍦�
var taskInfo = _db.Queryable<WcsTask>().First(w => w.TaskNo == models.TaskNo);
if (taskInfo != null)
{
- result.StatusCode = "-1";
+ result.StatusCode = -1;
result.Msg = "浠诲姟:" + models.TaskNo + ";宸插瓨鍦�!";
return result;
}
- if (models.Type == "0")
+ if (models.TaskType == "0" && models.TaskType == "0")
{
- models.Levels = "1.5";
+ models.Order = 1;
}
else
{
- models.Levels = "2";
+ models.Order = 2;
+ }
+ Enum type;
+ var bale = "0";
+ if (models.TaskType == "0" )
+ {
+ type = TaskTypeEnum.In;
+ }
+ else if (models.TaskType == "1")
+ {
+ type = TaskTypeEnum.Out;
+ }
+ else if (models.TaskType == "3")
+ {
+ type = TaskTypeEnum.In;
+ bale = "1";//瑁瑰寘
+ }
+ else
+ {
+ type = TaskTypeEnum.Move;
}
//鏂板浠诲姟
var taskAdd = new WcsTask()
{
TaskNo = models.TaskNo,
- TaskType = TaskTypeEnum.Out,
+ TaskType = (TaskTypeEnum?)type,
Status = TaskStatusEnum.Wait,
//IsSuccess =TaskSuccessEnum.Success,
+ Levels = 999,
Origin = "WMS",
StartRoadway= models.StartRoadway,
StartLocate = models.StartLocate,
EndLocate = models.EndLocate,
EndRoadway= models.EndRoadway,
PalletNo = models.PalletNo,
+ IsBale = bale,
- LotNo =models.LotNo,
- SkuNo=models.SkuNo,
- SkuName=models.SkuName,
- Qty=models.Qty
+
+ //LotNo =models.LotNo,
+ //SkuNo=models.SkuNo,
+ //SkuName=models.SkuName,
+ //Qty=models.Qty
};
_db.Insertable(taskAdd).ExecuteCommand();
- return new WCSResultModel() { StatusCode = "1", Msg = "鎻掑叆鎴愬姛" };
+ return new ResponseModel() { StatusCode = 0, Msg = "鎻掑叆鎴愬姛" };
}
catch (Exception ex)
{
- return new WCSResultModel() { StatusCode = "-1", Msg = ex.Message };
+ return new ResponseModel() { StatusCode = -1, Msg = ex.Message };
}
}
+
+ /// <summary>
+ /// WCS鎺ユ敹WMS涓嬪彂鐨勫嚭鍏ュ簱鍗曚换鍔�
+ /// </summary>
+ /// <param name="models"></param>
+ /// <returns></returns>
+ [HttpPost]
+ [AllowAnonymous]
+ public ResponseModel AddOrderTask(List<ResponseOrderTaskModel> models)
+ {
+ ResponseModel result = new ResponseModel();
+ try
+ {
+ foreach (var item in models)
+ {
+ // 楠岃瘉浠诲姟鏄惁宸插瓨鍦�
+ //var taskInfo = _db.Queryable<WcsOderTask>().First(w => w.OrderNo == item.OrderNo && w.SkuNo == item.SkuNo && w.LotNo == item.LotNo);
+ //if (taskInfo == null)
+ //{
+ var orderAdd = new WcsOderTask()
+ {
+ OrderNo = item.OrderNo,
+ TaskNo = "",
+ LotNo = item.LotNo,
+ SkuNo = item.SkuNo,
+ SkuName = item.SkuName,
+ BoxType = item.BoxType,
+ Qty = item.Qty,
+ TaskType = (TaskTypeEnum)item.TaskType,
+ };
+ _db.Insertable(orderAdd).ExecuteCommand();
+ //}
+ }
+ return new ResponseModel() { StatusCode = 0, Msg = "鎻掑叆鎴愬姛" };
+ }
+ catch (Exception ex)
+ {
+ return new ResponseModel() { StatusCode = -1, Msg = ex.Message };
+ }
+ }
+
+
+ /// <summary>
+ /// WCS鎺ュ彈璧嬬爜绯荤粺鎺ㄩ�佺殑绠辩爜淇℃伅
+ /// </summary>
+ /// <param name="models">绠辩爜淇℃伅</param>
+ /// <returns>鍙嶉淇℃伅</returns>
+ [HttpPost]
+ [AllowAnonymous]
+ public ResponseFuMaModel AddHttpBoxInfo(FumaBoxInfoInput models)
+ {
+
+ try
+ {
+ string str = JsonConvert.SerializeObject(models);
+ Log.Information("鎺ユ敹璧嬬爜鎺ㄩ�佺殑绠辩爜淇℃伅锛�"+str);
+ if (models.Origin != "璧嬬爜")
+ {
+ throw new Exception("鏉ユ簮鏈瘑鍒�");
+ }
+ var num = _db.Queryable<WcsBoxInfo>().Where(m=>m.BoxNo == models.BoxNo && m.IsDelete == false).ToList();
+ var type = "add";
+ if (num.Count>0)
+ {
+ //WCS瀛樺湪绠辩爜淇℃伅锛屾洿鏂扮鐮佷俊鎭�(闇�鍒ゆ柇绠辩爜鏄惁宸茬粍鐩樺叆搴�)
+ var num2 = num.Count(m => m.Status != "0" || !string.IsNullOrWhiteSpace(m.PalletNo));
+ if (num2 > 0)
+ {
+ throw new Exception("璇ョ宸插叆鐩樺叆搴擄紝涓嶅彲鏇存柊淇℃伅");
+ }
+ type = "edit";
+ }
+
+ if (models.DelistList.Count == 0)
+ {
+ throw new Exception("鐩掔爜闆嗗悎涓嶈兘涓虹┖");
+ }
+
+ var listBox = new List<WcsBoxInfo>();
+ foreach (var item in models.DelistList)
+ {
+ var level = "3";
+ if (string.IsNullOrWhiteSpace(item.BoxNo2))
+ {
+ level = "2";
+ }
+ if (item.DelistList2.Count == 0)
+ {
+ throw new Exception("鏀爜闆嗗悎涓嶈兘涓虹┖");
+ }
+ //浜岀骇鐮�
+ foreach (var item2 in item.DelistList2)
+ {
+ if (string.IsNullOrWhiteSpace(models.ProductionTime) || string.IsNullOrWhiteSpace(models.ExpirationTime))
+ {
+ throw new Exception("鐢熶骇鏃ユ湡鎴栧け鏁堟棩鏈熶笉鑳戒负绌�");
+ }
+ DateTime proTime;
+ DateTime expTime;
+ var isValid = DateTime.TryParse(models.ProductionTime, out proTime);
+ var isValid2 = DateTime.TryParse(models.ExpirationTime, out expTime);
+ if (!isValid || !isValid2)
+ {
+ throw new Exception("鐢熶骇鏃ユ湡鎴栧け鏁堟棩鏈熸牸寮忛敊璇�");
+ };
+ DateTime? stortime = null;
+ if (!string.IsNullOrWhiteSpace(models.StoreTime))
+ {
+ stortime = DateTime.Parse(models.StoreTime);
+ }
+
+ var boxAdd = new WcsBoxInfo()
+ {
+ BoxNo = models.BoxNo,
+ //OrderNo = models.OrderNo,
+ SkuNo = models.SkuNo,
+ SkuName = models.SkuName,
+ Standard = models.Standard,
+ LotNo = models.LotNo,
+ Qty = item2.Qty,
+ FullQty = models.FullQty,
+ //SupplierLot = models.SupplierLot,
+ InsPectMark = models.InsPectMark,
+ BitBoxMark = models.BitBoxMark,
+ //InspectStatus = models.InspectStatus锛�
+ ProductionTime = proTime,
+ ExpirationTime = expTime,
+ StoreTime = stortime,
+ EndLotFlag = string.IsNullOrWhiteSpace(models.EndBatchMark) ? "0" : models.EndBatchMark,
+
+ BoxNo2 = item.BoxNo2,
+ BoxNo3 = item2.BoxNo3,
+ QtyCount = item2.QtyCount,
+ QtyOrd = item2.QtyOrd,
+
+ Status = "0",
+ Level = level,
+
+ IsDelete = false
+ };
+ listBox.Add(boxAdd);
+ }
+
+ }
+ _db.Insertable(listBox).ExecuteCommand();
+ if (type == "edit")
+ {
+ //gen
+ _db.Deleteable(num).ExecuteCommand();
+ return new ResponseFuMaModel() { Success = "0", Message = "鏇存柊鎴愬姛" };
+ }
+ return new ResponseFuMaModel() { Success = "0", Message = "鎻掑叆鎴愬姛" };
+ }
+ catch (Exception ex)
+ {
+ return new ResponseFuMaModel() { Success = "-1", Message = ex.Message };
+ }
+ }
+
+ /// <summary>
+ /// WCS鎺ュ彈璧嬬爜绯荤粺鎺ㄩ�佺殑绠辩爜绉婚櫎
+ /// </summary>
+ /// <param name="models">绠辩爜淇℃伅</param>
+ /// <returns>鍙嶉淇℃伅</returns>
+ [HttpPost]
+ [AllowAnonymous]
+ public ResponseFuMaModel DelgatesHttpBoxInfo(FumaBoxInfoInput models)
+ {
+
+ try
+ {
+ string str = JsonConvert.SerializeObject(models);
+ Log.Information("鎺ユ敹璧嬬爜鎺ㄩ�佺殑绠辩爜绉婚櫎锛�" + str);
+ var num = _db.Queryable<WcsBoxInfo>().Where(m => m.BoxNo == models.BoxNo && m.IsDelete == false).ToList();
+ if (num.Count > 0)
+ {
+ //WCS瀛樺湪绠辩爜淇℃伅锛屾洿鏂扮鐮佷俊鎭�(闇�鍒ゆ柇绠辩爜鏄惁宸茬粍鐩樺叆搴�)
+ var num2 = num.Count(m => m.Status != "0" || !string.IsNullOrWhiteSpace(m.PalletNo));
+ if (num2 > 0)
+ {
+ throw new Exception("璇ョ宸茬洏鍏ュ簱锛屼笉鍙洿鏂颁俊鎭�");
+ }
+ }
+ if (num.Count == 0)
+ {
+ throw new Exception("鏈壘鍒拌绠辩爜锛岀鐮佺Щ闄ゅけ璐ワ紒");
+ }
+
+ _db.Deleteable(num).ExecuteCommand();
+ return new ResponseFuMaModel() { Success = "0", Message = "绉婚櫎绠辩爜鎴愬姛" };
+ }
+ catch (Exception ex)
+ {
+ return new ResponseFuMaModel() { Success = "-1", Message = ex.Message };
+ }
+ }
+
}
\ No newline at end of file
--
Gitblit v1.8.0