From d016d7ff02586fb9535baef4916cd339e18c7867 Mon Sep 17 00:00:00 2001
From: cdk <2441919651@qq.com>
Date: 星期一, 22 十二月 2025 09:48:52 +0800
Subject: [PATCH] 增加新称重后端
---
service/Warehouse/MesSuppScManager.cs | 71 +++++++++++++++++++++++++++++------
1 files changed, 58 insertions(+), 13 deletions(-)
diff --git a/service/Warehouse/MesSuppScManager.cs b/service/Warehouse/MesSuppScManager.cs
index 20e7b6d..452ff9e 100644
--- a/service/Warehouse/MesSuppScManager.cs
+++ b/service/Warehouse/MesSuppScManager.cs
@@ -1,5 +1,4 @@
-锘�
-using Kingdee.CDP.WebApi.SDK;
+锘縰sing Kingdee.CDP.WebApi.SDK;
using MES.Service.Models;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Filters;
@@ -11,6 +10,7 @@
using Newtonsoft.Json.Linq;
using SqlSugar;
using System.Text;
+using System.Net.Http;
namespace MES.Service.service.Warehouse;
@@ -20,7 +20,7 @@
private const string SourceUrl = "https://qixizhaopin.modaniot.com:8443/wetchat/ToGSMesServlet?password=gsmes";
/// <summary>
- /// 浠庢寚瀹氱綉鍧�璇诲彇 JSON 鏁版嵁骞朵繚瀛樺埌 MES_SUPPSCORE 琛�
+ /// 浠庢寚瀹氱綉鍧�璇诲彇 JSON 鏁版嵁骞朵繚瀛樺埌 MES_SUPPSCORE锛堜富锛夊拰 MES_SUPPSCORE_DETAIL锛堝瓙锛夎〃
/// </summary>
public bool FetchAndSaveFromUrl()
{
@@ -28,7 +28,6 @@
try
{
using var http = new HttpClient();
- // 鍙牴鎹渶瑕佽缃秴鏃�
http.Timeout = TimeSpan.FromSeconds(30);
json = http.GetStringAsync(SourceUrl).Result;
}
@@ -54,35 +53,81 @@
if (data == null || data.Count == 0)
throw new Exception("JSON 涓湭鍖呭惈 data 鎴� data 涓虹┖");
- var list = new List<MesSuppSc>();
+ var mains = new List<MesSuppSc>();
+ var details = new List<MesSuppScDetail>();
+
foreach (var item in data)
{
- var rq = item["rq"]?.ToString();
var gysmc = item["gysmc"]?.ToString();
var zf = item["zf"]?.ToString();
+ var xmdfStr = item["xmdf"]?.ToString();
decimal? zfDec = null;
if (!string.IsNullOrWhiteSpace(zf) && decimal.TryParse(zf, out var tmp))
zfDec = tmp;
- list.Add(new MesSuppSc
+ var mainId = Guid.NewGuid();
+ mains.Add(new MesSuppSc
{
- ID = Guid.NewGuid(),
- SuppDate = rq,
+ ID = mainId,
+ SuppDate = null, // 鑻� JSON 鍖呭惈鏃ユ湡瀛楁锛屽彲鍦ㄦ濉厖
SuppName = gysmc,
SuppNum = zfDec
});
+
+ // 瑙f瀽瀛愯〃 xmdf 瀛楃涓诧紙xmdf 鏈韩鏄竴涓� JSON 瀛楃涓诧級
+ if (!string.IsNullOrWhiteSpace(xmdfStr))
+ {
+ try
+ {
+ var subArr = JArray.Parse(xmdfStr);
+ foreach (var sub in subArr)
+ {
+ var xm1 = sub["xm1"]?.ToString();
+ var xm2 = sub["xm2"]?.ToString();
+ var dykhdf = sub["dykhdf"]?.ToString();
+
+ decimal? score = null;
+ if (!string.IsNullOrWhiteSpace(dykhdf) && decimal.TryParse(dykhdf, out var s))
+ score = s;
+
+ details.Add(new MesSuppScDetail
+ {
+ ID = Guid.NewGuid(),
+ PID = mainId,
+ XM1 = xm1,
+ XM2 = xm2,
+ DYKHDF = score
+ });
+ }
+ }
+ catch (Exception ex)
+ {
+ // 蹇界暐鍗曟潯瑙f瀽閿欒锛屼絾璁板綍寮傚父淇℃伅
+ Console.WriteLine($"瑙f瀽 xmdf 澶辫触锛堜緵搴斿晢 {gysmc}锛�: {ex.Message}");
+ }
+ }
}
- // 鍐欏叆鏁版嵁搴擄細鍏堟竻绌鸿〃鍐嶆彃鍏ワ紙鎸夊師閫昏緫锛�
+ // 鍐欏叆鏁版嵁搴擄細浜嬪姟鍐呭厛鍒犻櫎鏃ф暟鎹啀鎻掑叆鏂版暟鎹�
var result = UseTransaction(db =>
{
- // 娉ㄦ剰锛氳繖閲屼娇鐢ㄤ紶鍏ョ殑 db锛圫qlSugarScope锛夋墽琛屽師瀛愭搷浣�
+ // 鍏堟竻瀛愯〃锛屽啀娓呬富琛�
+ db.Deleteable<MesSuppScDetail>().ExecuteCommand();
db.Deleteable<MesSuppSc>().ExecuteCommand();
- var inserted = db.Insertable(list).ExecuteCommand();
- return inserted > 0 ? 1 : 0;
+
+ var mainInserted = 0;
+ if (mains.Count > 0)
+ mainInserted = db.Insertable(mains).ExecuteCommand();
+
+ var detailInserted = 0;
+ if (details.Count > 0)
+ detailInserted = db.Insertable(details).ExecuteCommand();
+
+ return (mainInserted + detailInserted) > 0 ? 1 : 0;
}) > 0;
return result;
}
+
}
\ No newline at end of file
--
Gitblit v1.9.3