From 011ca316e6ec2ed93e31c45a9ebd9d3c66664871 Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期五, 17 四月 2026 11:47:03 +0800
Subject: [PATCH] 代码更新
---
项目代码/WCS/WCSServices/WIDESEAWCS_PackInfoService/PackaxisService.cs | 195 ++++++++++++++++++++++++++++++++++++++----------
1 files changed, 153 insertions(+), 42 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_PackInfoService/PackaxisService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_PackInfoService/PackaxisService.cs"
index 47edd25..87ed560 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_PackInfoService/PackaxisService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_PackInfoService/PackaxisService.cs"
@@ -15,13 +15,20 @@
using WIDESEAWCS_Model.Models;
using WIDESEAWCS_Core.Helper;
using WIDESEAWCS_IPackInfoService;
-
+using WIDESEAWCS_IBasicInfoRepository;
namespace WIDESEAWCS_PackInfoService
{
public class PackaxisService : ServiceBase<Dt_Packaxis, IPackaxisRepository>, IPackaxisService
{
public PackaxisService(IPackaxisRepository BaseDal) : base(BaseDal)
{
+ }
+ private readonly IPackTypeRepository _packTypeRepository;
+ private readonly IStationMangerRepository _stationMangerRepository;
+ public PackaxisService(IPackaxisRepository BaseDal, IPackTypeRepository packTypeRepository, IStationMangerRepository stationMangerRepository) : base(BaseDal)
+ {
+ _packTypeRepository = packTypeRepository;
+ _stationMangerRepository = stationMangerRepository;
}
public override WebResponseContent Import(List<IFormFile> files)
{
@@ -56,7 +63,6 @@
using (ImportExcelHelper excelHelper = new ImportExcelHelper(fullPath))
{
dtExcel = excelHelper.ExcelToDataTable();
-
}
List<Dt_Packaxis> addAxis = new List<Dt_Packaxis>();
List<Dt_Packaxis> updateAxis = new List<Dt_Packaxis>();
@@ -82,47 +88,48 @@
string AxisZCount = row["AxisZCount"]?.ToString() ?? string.Empty;
string AxisZSpacing = row["AxisZSpacing"]?.ToString() ?? string.Empty;
var axis = BaseDal.QueryFirst(x => x.DeviceCode == DeviceCode && x.StationCode == StationCode && x.PackType == PackType);
- if(axis == null)
- {
- Dt_Packaxis packaxis = new Dt_Packaxis()
+ if (axis == null)
+ if (axis == null)
{
- DeviceCode = DeviceCode,
- StationCode = StationCode,
- PackType = PackType,
- PackNum = Convert.ToInt32(PackNum),
- AxisX = Convert.ToInt32(AxisX),
- AxisXCount = Convert.ToInt32(AxisXCount),
- AxisXSpacing = Convert.ToInt32(AxisXSpacing),
- AxisY = Convert.ToInt32(AxisY),
- AxisYCount = Convert.ToInt32(AxisYCount),
- AxisYSpacing = Convert.ToInt32(AxisYSpacing),
- AxisZ = Convert.ToInt32(AxisZ),
- AxisZCount = Convert.ToInt32(AxisZCount),
- AxisZSpacing = Convert.ToInt32(AxisZSpacing),
- Creater = App.User.UserId > 0 ? App.User.UserName : "System",
- CreateDate = DateTime.Now
- };
- addAxis.Add(packaxis);
- }
- else
- {
- axis.DeviceCode = DeviceCode;
- axis.StationCode = StationCode;
- axis.PackType = PackType;
- axis.PackNum = Convert.ToInt32(PackNum);
- axis.AxisX = Convert.ToInt32(AxisX);
- axis.AxisXCount = Convert.ToInt32(AxisXCount);
- axis.AxisXSpacing = Convert.ToInt32(AxisXSpacing);
- axis.AxisY = Convert.ToInt32(AxisY);
- axis.AxisYCount = Convert.ToInt32(AxisYCount);
- axis.AxisYSpacing = Convert.ToInt32(AxisYSpacing);
- axis.AxisZ = Convert.ToInt32(AxisZ);
- axis.AxisZCount = Convert.ToInt32(AxisZCount);
- axis.AxisZSpacing = Convert.ToInt32(AxisZSpacing);
- axis.Modifier = App.User.UserId > 0 ? App.User.UserName : "System";
- axis.ModifyDate = DateTime.Now;
- updateAxis.Add(axis);
- }
+ Dt_Packaxis packaxis = new Dt_Packaxis()
+ {
+ DeviceCode = DeviceCode,
+ StationCode = StationCode,
+ PackType = PackType,
+ PackNum = Convert.ToInt32(PackNum),
+ AxisX = Convert.ToInt32(AxisX),
+ AxisXCount = Convert.ToInt32(AxisXCount),
+ AxisXSpacing = Convert.ToInt32(AxisXSpacing),
+ AxisY = Convert.ToInt32(AxisY),
+ AxisYCount = Convert.ToInt32(AxisYCount),
+ AxisYSpacing = Convert.ToInt32(AxisYSpacing),
+ AxisZ = Convert.ToInt32(AxisZ),
+ AxisZCount = Convert.ToInt32(AxisZCount),
+ AxisZSpacing = Convert.ToInt32(AxisZSpacing),
+ Creater = App.User.UserId > 0 ? App.User.UserName : "System",
+ CreateDate = DateTime.Now
+ };
+ addAxis.Add(packaxis);
+ }
+ else
+ {
+ axis.DeviceCode = DeviceCode;
+ axis.StationCode = StationCode;
+ axis.PackType = PackType;
+ axis.PackNum = Convert.ToInt32(PackNum);
+ axis.AxisX = Convert.ToInt32(AxisX);
+ axis.AxisXCount = Convert.ToInt32(AxisXCount);
+ axis.AxisXSpacing = Convert.ToInt32(AxisXSpacing);
+ axis.AxisY = Convert.ToInt32(AxisY);
+ axis.AxisYCount = Convert.ToInt32(AxisYCount);
+ axis.AxisYSpacing = Convert.ToInt32(AxisYSpacing);
+ axis.AxisZ = Convert.ToInt32(AxisZ);
+ axis.AxisZCount = Convert.ToInt32(AxisZCount);
+ axis.AxisZSpacing = Convert.ToInt32(AxisZSpacing);
+ axis.Modifier = App.User.UserId > 0 ? App.User.UserName : "System";
+ axis.ModifyDate = DateTime.Now;
+ updateAxis.Add(axis);
+ }
}
BaseDal.AddData(addAxis);
BaseDal.UpdateData(updateAxis);
@@ -136,5 +143,109 @@
return content;
}
+ /// <summary>
+ /// 娣诲姞鍧愭爣鏁版嵁
+ /// </summary>
+ /// <param name="saveModel"></param>
+ /// <returns></returns>
+ public override WebResponseContent AddData(SaveModel saveModel)
+ {
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ string json = JsonConvert.SerializeObject(saveModel.MainData);
+ Dt_Packaxis dt_Pack = JsonConvert.DeserializeObject<Dt_Packaxis>(json);
+ Dt_StationManger stationManger = _stationMangerRepository.QueryFirst(x => x.StationCode == dt_Pack.StationCode && x.StackerCraneCode == dt_Pack.DeviceCode);
+ Dt_PackType packTyp = _packTypeRepository.QueryFirst(x => x.Id == dt_Pack.PackType);
+
+ int w = 1200;//杩欎釜鏄爜鍨涙墭鐩樺1.2绫�
+ int h = 1500;//鎵樼洏鐨勯珮搴﹂檺楂�1.5绫�
+ int AxisXCountMax = w / packTyp.PackLength;//X鍧愭爣鏈�澶氭斁鐮佸灈鏁伴噺
+ int AxisYCountMax = w / packTyp.PackWidth;//Y鍧愭爣鏈�澶氭斁鐮佸灈鏁伴噺
+ int AxisZCountMax = h / packTyp.PackHeight;//Z鍧愭爣鏈�澶氭斁鐮佸灈鏁伴噺
+
+
+ if (dt_Pack.AxisXCount <= 0 || dt_Pack.AxisXCount > AxisXCountMax || dt_Pack.AxisYCount <= 0 || dt_Pack.AxisYCount > AxisYCountMax || dt_Pack.AxisZCount <= 0 || dt_Pack.AxisZCount > AxisZCountMax)
+ {
+ return WebResponseContent.Instance.Error($"娣诲姞澶辫触锛岃杈撳叆X鍧愭爣鐮佸灈鏁板ぇ浜�0涓斿皬浜巤AxisXCountMax + 1}涓擸鍧愭爣鐮佸灈鏁板ぇ浜�0涓斿皬浜巤AxisYCountMax + 1}涓擹鍧愭爣鐮佸灈鏁板ぇ浜�0涓斿皬浜巤AxisZCountMax + 1}");
+ }
+
+ if (stationManger.IsNullOrEmpty())
+ {
+ return WebResponseContent.Instance.Error($"娣诲姞澶辫触锛岃鐮佸灈鏈哄櫒杈撻�佺嚎宸ヤ綅閫夐敊锛�");
+ }
+
+ Dt_Packaxis packaxis = BaseDal.QueryFirst(x => x.DeviceCode == dt_Pack.DeviceCode && x.StationCode == dt_Pack.StationCode && x.PackType == dt_Pack.PackType);
+
+
+
+ if (packaxis.IsNullOrEmpty())
+ {
+
+ saveModel.MainData["PackNum"] = dt_Pack.AxisXCount * dt_Pack.AxisYCount * dt_Pack.AxisZCount;
+
+ return base.AddData(saveModel);
+ }
+ return WebResponseContent.Instance.Error($"娣诲姞澶辫触,璇ョ爜鍨涘潗鏍囨暟鎹凡瀛樺湪!");
+ }
+ catch (Exception ex)
+ {
+ content = WebResponseContent.Instance.Error(ex.Message);
+ }
+
+ return content;
+
+ }
+ /// <summary>
+ /// 淇敼鍧愭爣鏁版嵁
+ /// </summary>
+ /// <param name="saveModel"></param>
+ /// <returns></returns>
+ public override WebResponseContent UpdateData(SaveModel saveModel)
+ {
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ string json = JsonConvert.SerializeObject(saveModel.MainData);
+ Dt_Packaxis dt_Pack = JsonConvert.DeserializeObject<Dt_Packaxis>(json);
+
+ Dt_PackType packTyp = _packTypeRepository.QueryFirst(x => x.Id == dt_Pack.PackType);
+
+ int w = 1200;//杩欎釜鏄爜鍨涙墭鐩樺1.2绫�
+ int h = 1500;//鎵樼洏鐨勯珮搴﹂檺楂�1.5绫�
+ int AxisXCountMax = w / packTyp.PackLength;//X鍧愭爣鏈�澶氭斁鐮佸灈鏁伴噺
+ int AxisYCountMax = w / packTyp.PackWidth;//Y鍧愭爣鏈�澶氭斁鐮佸灈鏁伴噺
+ int AxisZCountMax = h / packTyp.PackHeight;//Z鍧愭爣鏈�澶氭斁鐮佸灈鏁伴噺
+
+
+ if (dt_Pack.AxisXCount <= 0 || dt_Pack.AxisXCount > AxisXCountMax || dt_Pack.AxisYCount <= 0 || dt_Pack.AxisYCount > AxisYCountMax || dt_Pack.AxisZCount <= 0 || dt_Pack.AxisZCount > AxisZCountMax)
+ {
+ return WebResponseContent.Instance.Error($"淇敼澶辫触锛岃杈撳叆X鍧愭爣鐮佸灈鏁板ぇ浜�0涓斿皬浜巤AxisXCountMax + 1}涓擸鍧愭爣鐮佸灈鏁板ぇ浜�0涓斿皬浜巤AxisYCountMax + 1}涓擹鍧愭爣鐮佸灈鏁板ぇ浜�0涓斿皬浜巤AxisZCountMax + 1}");
+ }
+
+ Dt_StationManger stationManger = _stationMangerRepository.QueryFirst(x => x.StationCode == dt_Pack.StationCode && x.StackerCraneCode == dt_Pack.DeviceCode);
+ if (stationManger.IsNullOrEmpty())
+ {
+ return WebResponseContent.Instance.Error($"淇敼澶辫触锛岃鐮佸灈鏈哄櫒杈撻�佺嚎宸ヤ綅閫夐敊锛�");
+ }
+ Dt_Packaxis packaxis = BaseDal.QueryFirst(x => x.Id != dt_Pack.Id && x.DeviceCode == dt_Pack.DeviceCode && x.StationCode == dt_Pack.StationCode && x.PackType == dt_Pack.PackType);
+ if (packaxis.IsNullOrEmpty())
+ {
+
+ saveModel.MainData["PackNum"] = dt_Pack.AxisXCount * dt_Pack.AxisYCount * dt_Pack.AxisZCount;
+
+ return base.UpdateData(saveModel);
+ }
+
+ return WebResponseContent.Instance.Error($"淇敼澶辫触,璇ョ爜鍨涘潗鏍囨暟鎹凡瀛樺湪!");
+ }
+ catch (Exception ex)
+ {
+ content = WebResponseContent.Instance.Error(ex.Message);
+ }
+
+ return content;
+
+ }
}
}
--
Gitblit v1.9.3