From de398f47dd12b3890c9ee545422da78e82b60fa9 Mon Sep 17 00:00:00 2001
From: yanjinhui <3306209981@qq.com>
Date: 星期一, 08 十二月 2025 09:22:06 +0800
Subject: [PATCH] 修改PDA出入库中出现undefined问题,修改job中因为上游调用频率过快导致job死掉,修改前端报警信息使用不同颜色
---
新建文件夹/WIDESEA_WMSServer/ClassLibrary2/MaterielInfoService.cs | 249 ++++++++++++++++++++++++++-----------------------
1 files changed, 130 insertions(+), 119 deletions(-)
diff --git "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/ClassLibrary2/MaterielInfoService.cs" "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/ClassLibrary2/MaterielInfoService.cs"
index d7ddf51..a459b95 100644
--- "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/ClassLibrary2/MaterielInfoService.cs"
+++ "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WIDESEA_WMSServer/ClassLibrary2/MaterielInfoService.cs"
@@ -1,6 +1,7 @@
锘縰sing HslCommunication;
using Newtonsoft.Json;
using Quartz.Util;
+using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -26,7 +27,7 @@
public IRepository<Dt_MaterielInfo> Repository => BaseDal;
- static string SearchDate = "2025-10-30 00:00:00";
+ static string SearchDate = "2016-11-01 00:00:00";
/// <summary>
/// 鑾峰彇鑽搧鍩虹淇℃伅鍚屾鎺ュ彛
@@ -38,25 +39,25 @@
try
{
- var url = "http://121.37.118.63:80/GYZ2/95fck/goodsInfo";
+ var url = "http://192.168.1.100:80/GYZ2/95fck/goodsInfo";
if (string.IsNullOrEmpty(SearchDate))
{
// 榛樿鏌ヨ杩囧幓24灏忔椂鐨勬暟鎹�
SearchDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
}
+ string getDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
// 璇锋眰鍙傛暟
var requestData = new
{
searchDate = SearchDate
};
- SearchDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
+
// 鍙戣捣璇锋眰
var result = HttpHelper.Post(url, requestData.ToJsonString());
// 鍙嶅簭鍒楀寲
var response = JsonConvert.DeserializeObject<UpstreamResponse<MedicationsInfo>>(result);
-
- if (response == null || response.resultCode != "0")
+ if (response == null || response.resultCode != "0"||response.data==null)
{
// 璋冪敤寮傚父鎺ュ彛
//SendErrorToUpstream(5, "", response.resultMsg ?? "涓婃父鎺ュ彛杩斿洖澶辫触", "");
@@ -64,6 +65,7 @@
}
if (response.data.Count < 1)
{
+ SearchDate = getDate;
return responseContent.OK("鏃犳柊鑽搧鏁版嵁");
}
@@ -79,7 +81,7 @@
MaterielErpType = Medicat.goods_type,
item = Medicat.goods_tym, //閫氱敤鍚�
MaterielName = Medicat.goods_spm,//鐗╂枡鍚嶇О
- Dosage_form = GetDosageForm(Medicat.dosage_form),//鑽墏
+ Dosage_form = Medicat.dosage_form,//鑽墏
Barcode = Medicat.barcode,//鏉″舰鍚�
MaterielSpec = Medicat.model,
Factory = Medicat.factory,
@@ -98,7 +100,7 @@
}).ToList();
// 涓�娆℃�ф壒閲忔彃鍏ユ暟鎹簱
BaseDal.AddData(entityList);
-
+ SearchDate = getDate;
//ProductSynchronous();
return responseContent.OK("鍚屾鎴愬姛");
}
@@ -165,137 +167,146 @@
return "鏈煡";
}
- public WebResponseContent ProductSynchronous()
- {
- try
- {
- List<Dt_MaterielInfo> materielInfos = BaseDal.QueryData(x => x.MaterielSourceType == MaterielSourceTypeEnum.SelfMadePart && x.BoxQty > 0 && x.MinQty > 0 && x.GoodStatusState == "鏈笅鍙�").ToList();
- if (materielInfos.Count < 1) return WebResponseContent.Instance.Error("鏃犳湭涓嬪彂鑽搧");
- var url = "http://172.16.1.2:9357/file-admin/api/product/productSynchronous";
- foreach (var item in materielInfos)
- {
- var medicineDTO = new ProductInfo
- {
- //鐢ㄦ埛code
- customerCode = "905",
- //鐗╂枡绫诲瀷
- materialCode = item.MaterielErpType,
- //浜у搧缂栫爜
- productCode = item.MaterielCode,
- //浜у搧鍚�
- productName = item.MaterielName,
- //浜у搧鏉$爜
- productBarCode = item.Barcode,
- //鑽墏
- medicine = item.Dosage_form,//杩欓噷瑕佽皟鐢ㄦ柟娉曪紝杞寲鏂规硶
- //瑙勬牸
- productSpecifications = item.MaterielSpec,
- //鍗曚綅
- unit = item.MaterielUnit,
- //闀�
- singleProductLongNum = (item.MaterielLength ?? 0).ToString(),
- //瀹�
- singleProductWideNum = (item.MaterielWide ?? 0).ToString(),
- //楂�
- singleProductHighNum = (item.MaterielHeight ?? 0).ToString(),
- //閲嶉噺
- singleProductWeight = (item.MaterielWeight ?? 0).ToString(),
- //浣撶Н
- singleProductVolume = (item.MaterielVolume ?? 0).ToString(),
- //鏄惁鍙栨秷 0鏄笉鍒犻櫎锛�1鍒犻櫎
- isDelete = "0"
- };
- var result = HttpHelper.Post(url, medicineDTO.ToJsonString());
- var resp = JsonConvert.DeserializeObject<TowcsResponse<object>>(result);
- if (resp != null && resp.code == "0") item.GoodStatusState = "涓嬪彂瀹屾垚";
- }
- BaseDal.UpdateData(materielInfos);
- return WebResponseContent.Instance.OK();
- }
- catch (Exception ex)
- {
- Console.WriteLine("涓嬪彂WCS鐗╂枡淇℃伅寮傚父锛�" + ex.Message);
- return WebResponseContent.Instance.Error(ex.Message);
- }
- }
/// <summary>
/// 鍙戠粰涓嬫父wcs鍚屾鑽搧淇℃伅
/// </summary>
/// <returns></returns>
- public WebResponseContent ProductSynchronous1()
+ #region 鍚屾涓嬫父鐗╂枡鎺ュ彛
+ //public WebResponseContent ProductSynchronous()
+ //{
+ // try
+ // {
+ // List<Dt_MaterielInfo> materielInfos = BaseDal.QueryData(x => x.MaterielSourceType == MaterielSourceTypeEnum.SelfMadePart && x.BoxQty > 0 && x.MinQty > 0 && x.GoodStatusState == "鏈笅鍙�").ToList();
+ // if (materielInfos.Count < 1) return WebResponseContent.Instance.Error("鏃犳湭涓嬪彂鑽搧");
+ // var url = "http://172.16.1.2:9357/file-admin/api/product/productSynchronous";
+ // foreach (var item in materielInfos)
+ // {
+ // var medicineDTO = new ProductInfo
+ // {
+ // //鐢ㄦ埛code
+ // customerCode = "905",
+ // //鐗╂枡绫诲瀷
+ // materialCode = item.MaterielErpType,
+ // //浜у搧缂栫爜
+ // productCode = item.MaterielCode,
+ // //浜у搧鍚�
+ // productName = item.MaterielName,
+ // //浜у搧鏉$爜
+ // productBarCode = item.Barcode,
+
+ // //鑽墏
+ // medicine = item.Dosage_form,//杩欓噷瑕佽皟鐢ㄦ柟娉曪紝杞寲鏂规硶
+
+ // //瑙勬牸
+ // productSpecifications = item.MaterielSpec,
+ // //鍗曚綅
+ // unit = item.MaterielUnit,
+ // //闀�
+ // singleProductLongNum = (item.MaterielLength ?? 0).ToString(),
+ // //瀹�
+ // singleProductWideNum = (item.MaterielWide ?? 0).ToString(),
+ // //楂�
+ // singleProductHighNum = (item.MaterielHeight ?? 0).ToString(),
+ // //閲嶉噺
+ // singleProductWeight = (item.MaterielWeight ?? 0).ToString(),
+ // //浣撶Н
+ // singleProductVolume = (item.MaterielVolume ?? 0).ToString(),
+ // //鏄惁鍙栨秷 0鏄笉鍒犻櫎锛�1鍒犻櫎
+ // isDelete = "0"
+ // };
+ // var result = HttpHelper.Post(url, medicineDTO.ToJsonString());
+ // var resp = JsonConvert.DeserializeObject<TowcsResponse<object>>(result);
+ // if (resp != null && resp.code == "0") item.GoodStatusState = "涓嬪彂瀹屾垚";
+ // }
+ // BaseDal.UpdateData(materielInfos);
+ // return WebResponseContent.Instance.OK();
+ // }
+ // catch (Exception ex)
+ // {
+ // Console.WriteLine("涓嬪彂WCS鐗╂枡淇℃伅寮傚父锛�" + ex.Message);
+ // return WebResponseContent.Instance.Error(ex.Message);
+ // }
+ //}
+ #endregion
+
+
+ #region 鎵嬪姩鍏抽棴鏁版嵁搴撹繛鎺� 鍚屾涓嬫父鐗╂枡
+ public WebResponseContent ProductSynchronous()
{
- try
+ using (var db = new SqlSugarClient(new ConnectionConfig
{
- //鎶婂皬浠舵湭涓嬪彂鐨勭殑淇℃伅鍜岀瑙勪负0锛屾渶浣庡簱瀛樹负0鐨勮繃婊ゆ帀
- //var list = BaseDal.Db.Queryable<Dt_MaterielInfo>().Where(x => x.GoodStatusState == "鏈笅鍙�" && x.MaterielSourceType == MaterielSourceTypeEnum.SelfMadePart).ToList();
- var list = BaseDal.QueryData(x => x.MaterielSourceType == MaterielSourceTypeEnum.SelfMadePart && x.BoxQty > 0 && x.MinQty > 0 && x.GoodStatusState == "鏈笅鍙�").ToList();
- if (list.Count < 1)
+ ConnectionString = "Data Source=.;Initial Catalog=WIDESEA_WMSDBF_Z22;User ID=sa;Password=48PYX_h7KS@f;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
+ DbType = DbType.SqlServer,
+ IsAutoCloseConnection = true, // 鍏抽敭閰嶇疆锛岃嚜鍔ㄥ叧闂繛鎺�
+ MoreSettings = new ConnMoreSettings()
{
- return new WebResponseContent().OK("鏃犳湭涓嬪彂鑽搧");
+ IsAutoRemoveDataCache = true
}
- //鎵惧埌浜嗗氨灏嗘暣涓猯ist鍙戠粰涓嬫父绯荤粺
- foreach (var item in list)
+ }))
+ {
+ try
{
- var medicineDTO = new ProductInfo
+ List<Dt_MaterielInfo> materielInfos = db.Queryable<Dt_MaterielInfo>().Where(x => x.MaterielSourceType == MaterielSourceTypeEnum.SelfMadePart && x.BoxQty > 0 && x.MinQty > 0 && x.GoodStatusState == "鏈笅鍙�").ToList();
+ if (materielInfos.Count < 1)
{
- //鐢ㄦ埛code
- customerCode = "905",
- //鐗╂枡绫诲瀷
- materialCode = item.MaterielErpType,
- //浜у搧缂栫爜
- productCode = item.MaterielCode,
- //浜у搧鍚�
- productName = item.MaterielName,
- //浜у搧鏉$爜
- productBarCode = item.Barcode,
- //鑽墏
- medicine = item.Dosage_form,//杩欓噷瑕佽皟鐢ㄦ柟娉曪紝杞寲鏂规硶
-
- //瑙勬牸
- productSpecifications = item.MaterielSpec,
- //鍗曚綅
- unit = item.MaterielUnit,
- //闀�
- singleProductLongNum = (item.MaterielLength ?? 0).ToString(),
- //瀹�
- singleProductWideNum = (item.MaterielWide ?? 0).ToString(),
- //楂�
- singleProductHighNum = (item.MaterielHeight ?? 0).ToString(),
- //閲嶉噺
- singleProductWeight = (item.MaterielWeight ?? 0).ToString(),
- //浣撶Н
- singleProductVolume = (item.MaterielVolume ?? 0).ToString(),
- //鏄惁鍙栨秷 0鏄笉鍒犻櫎锛�1鍒犻櫎
- isDelete = "0"
- };
+ return WebResponseContent.Instance.Error("鏃犳湭涓嬪彂鑽搧");
+ }
var url = "http://172.16.1.2:9357/file-admin/api/product/productSynchronous";
- var result = HttpHelper.Post(url, medicineDTO.ToJsonString());
- var resp = JsonConvert.DeserializeObject<TowcsResponse<object>>(result);
-
- if (resp != null && resp.code == "0")
+ foreach (var item in materielInfos)
{
- item.GoodStatusState = "涓嬪彂瀹屾垚";
- }
- else
- {
- continue;
- }
+ var medicineDTO = new ProductInfo
+ {
+ //鐢ㄦ埛code
+ customerCode = "905",
+ //鐗╂枡绫诲瀷
+ materialCode = item.MaterielErpType,
+ //浜у搧缂栫爜
+ productCode = item.MaterielCode,
+ //浜у搧鍚�
+ productName = item.MaterielName,
+ //浜у搧鏉$爜
+ productBarCode = item.Barcode,
+ //鑽墏
+ medicine = item.Dosage_form,//杩欓噷瑕佽皟鐢ㄦ柟娉曪紝杞寲鏂规硶
+
+ //瑙勬牸
+ productSpecifications = item.MaterielSpec,
+ //鍗曚綅
+ unit = item.MaterielUnit,
+ //闀�
+ singleProductLongNum = (item.MaterielLength ?? 0).ToString(),
+ //瀹�
+ singleProductWideNum = (item.MaterielWide ?? 0).ToString(),
+ //楂�
+ singleProductHighNum = (item.MaterielHeight ?? 0).ToString(),
+ //閲嶉噺
+ singleProductWeight = (item.MaterielWeight ?? 0).ToString(),
+ //浣撶Н
+ singleProductVolume = (item.MaterielVolume ?? 0).ToString(),
+ //鏄惁鍙栨秷 0鏄笉鍒犻櫎锛�1鍒犻櫎
+ isDelete = "0"
+ };
+ var result = HttpHelper.Post(url, medicineDTO.ToJsonString());
+ var resp = JsonConvert.DeserializeObject<TowcsResponse<object>>(result);
+ if (resp != null && resp.code == "0") item.GoodStatusState = "涓嬪彂瀹屾垚";
+ }
+ db.Updateable(materielInfos).ExecuteCommand();
+
+ return WebResponseContent.Instance.OK();
}
- BaseDal.UpdateData(list);
- //Db.Updateable(list).ExecuteCommand();
- return new WebResponseContent { Status = true, Message = "鎴愬姛" };
+ catch (Exception ex)
+ {
+ Console.WriteLine("涓嬪彂WCS鐗╂枡淇℃伅寮傚父锛�" + ex.Message);
+ return WebResponseContent.Instance.Error(ex.Message);
+ }
}
- catch (Exception ex)
- {
- Console.WriteLine("ProductSynchronous 寮傚父锛�" + ex.Message);
- return new WebResponseContent { Status = false, Message = ex.Message };
- }
-
}
+ #endregion
+
public override WebResponseContent DeleteData(object[] keys)
{
WebResponseContent content = new WebResponseContent();
--
Gitblit v1.9.3