From 0ac65b10a59bcca5b22bcf03086c8aaa36a8a525 Mon Sep 17 00:00:00 2001
From: zjh <2207896513@qq.com>
Date: 星期四, 12 六月 2025 20:42:41 +0800
Subject: [PATCH] 1,签收送货单接口,添加签收人;2.来料检接口,添加到货时间字段
---
StandardPda/MESApplication/Controllers/QC/LljController.cs | 87 ++++++++++++++++-
StandardPda/MES.Service/service/QC/LljService.cs | 196 +++++++++++++++++++++++++++++++++++++++
StandardPda/MES.Service/Modes/LtsLlj.cs | 5 +
3 files changed, 282 insertions(+), 6 deletions(-)
diff --git a/StandardPda/MES.Service/Modes/LtsLlj.cs b/StandardPda/MES.Service/Modes/LtsLlj.cs
index 3b209f5..a96eba1 100644
--- a/StandardPda/MES.Service/Modes/LtsLlj.cs
+++ b/StandardPda/MES.Service/Modes/LtsLlj.cs
@@ -200,6 +200,11 @@
/// </summary>
[SugarColumn(ColumnName = "IS_ARRIVAL")]
public int? IsArrival { get; set; }
+ /// <summary>
+ /// 鍒拌揣鏃堕棿
+ /// </summary>
+ [SugarColumn(ColumnName = "ARRIVAL_DATE")]
+ public string? ArrivalDate { get; set; }
[SugarColumn(IsIgnore = true)] public string? UserName { get; set; }
diff --git a/StandardPda/MES.Service/service/QC/LljService.cs b/StandardPda/MES.Service/service/QC/LljService.cs
index 9716690..df99c12 100644
--- a/StandardPda/MES.Service/service/QC/LljService.cs
+++ b/StandardPda/MES.Service/service/QC/LljService.cs
@@ -518,7 +518,155 @@
//msg[1] = responseBody;
return msg;
}
+ public async Task<string[]> SignDelivery2(string id,string c_user)
+ {
+ var msg = new string[2];
+ //鍙戣捣璇锋眰锛岀鏀堕�佽揣鍗�
+ try
+ {
+ var requestData = XkyCommonParam.GetInit();
+ requestData.body = new BodyParam
+ {
+ erpCode = "Z106",
+ dnXkNo = id
+ };
+
+ // 搴忓垪鍖栦负JSON
+ var json = JsonConvert.SerializeObject(requestData);
+
+ using (var client = new HttpClient())
+ {
+ // 璁剧疆璇锋眰鍐呭
+ var content = new StringContent(json, Encoding.UTF8,
+ "application/json");
+ // 鍙戦�丳OST璇锋眰
+ var response = await client.PostAsync(
+ "https://openapi.xiekeyun.com/delivery/updateDeliveryStatus.json",
+ content);
+ // 澶勭悊鍝嶅簲
+ if (response.IsSuccessStatusCode)
+ {
+ var responseBody =
+ await response.Content.ReadAsStringAsync();
+ var result =
+ JsonConvert.DeserializeObject<XKYApiResponse>(
+ responseBody);
+ //鎴愬姛鍚庢墜鍔ㄤ笅鎺ㄥ埌璐у崟
+ if (result.Result == 1)
+ {
+ // 瀹氫箟杈撳嚭鍙傛暟
+
+ var outputMessage = new SugarParameter("C_RESULT", null,
+ DbType.String,
+ ParameterDirection.Output, 4000);
+
+ // 瀹氫箟杈撳叆鍙傛暟
+ var parameters = new List<SugarParameter>
+ {
+ new("C_IN_STR", "閫佽揣鍗曠鏀禰BTNOK["+c_user+"[" + id,
+ DbType.String, ParameterDirection.Input),
+ outputMessage
+ };
+
+ var db = SqlSugarHelper.GetInstance();
+
+ // 浣跨敤 SqlSugar 鎵ц瀛樺偍杩囩▼
+ db.Ado.ExecuteCommand(
+ "BEGIN PRC_RF_PDA_RECEIPT_BTN(:C_IN_STR,:C_RESULT); END;",
+ parameters.ToArray());
+
+
+ // 鑾峰彇杈撳嚭鍙傛暟鐨勫��
+
+ var messageValue = outputMessage.Value?.ToString();
+
+ msg[0] = "0";
+ msg[1] = messageValue;
+ }
+ else
+ {
+ if (result.ErrorMsg == "鍑鸿揣鍗曟嵁涓嶆槸宸查�佽揣鐘舵�侊紒")
+ {
+ // 瀹氫箟杈撳嚭鍙傛暟
+
+ var outputMessage = new SugarParameter("C_RESULT",
+ null,
+ DbType.String,
+ ParameterDirection.Output, 4000);
+
+ // 瀹氫箟杈撳叆鍙傛暟
+ var parameters = new List<SugarParameter>
+ {
+ new("C_IN_STR", "閫佽揣鍗曠鏀禰BTNOK["+c_user+"[" + id,
+ DbType.String, ParameterDirection.Input),
+ outputMessage
+ };
+
+ var db = SqlSugarHelper.GetInstance();
+
+ // 浣跨敤 SqlSugar 鎵ц瀛樺偍杩囩▼
+ db.Ado.ExecuteCommand(
+ "BEGIN PRC_RF_PDA_RECEIPT_BTN(:C_IN_STR,:C_RESULT); END;",
+ parameters.ToArray());
+
+
+ // 鑾峰彇杈撳嚭鍙傛暟鐨勫��
+
+ var messageValue = outputMessage.Value?.ToString();
+
+ msg[0] = "0";
+ msg[1] = messageValue;
+ }
+ else
+ {
+ msg[0] = "1";
+ msg[1] = "002[" + id + "绛炬敹澶辫触锛�" + result.ErrorMsg;
+ }
+ }
+ }
+ else
+ {
+ msg[0] = "1";
+ msg[1] = $"002[{id}绛炬敹澶辫触锛岃姹傚け璐ワ紝鐘舵�佺爜锛歿response.StatusCode}";
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ msg[0] = "1";
+ msg[1] = $"002[璇锋眰澶辫触锛岀姸鎬佺爜锛歿ex.Message}";
+ }
+
+
+ //msg[0] = "1";
+ //msg[1] = responseBody;
+ return msg;
+ }
+ public async Task<string[]> getTestXKYSign()
+ {
+ var msg = new string[2];
+ //鍙戣捣璇锋眰锛岀鏀堕�佽揣鍗�
+
+ try
+ {
+ var requestData = XkyCommonParam.GetTestInit();
+
+ msg[0] = "0";
+ msg[1] = requestData.ToJsonString();
+
+ }
+ catch (Exception ex)
+ {
+ msg[0] = "1";
+ msg[1] = $"002[璇锋眰澶辫触锛岀姸鎬佺爜锛歿ex.Message}";
+ }
+
+
+ //msg[0] = "1";
+ //msg[1] = responseBody;
+ return msg;
+ }
private string ExtractSubstring(string input, char startChar, char endChar)
{
@@ -588,6 +736,13 @@
public List<MesQaItemsDetectDetail5> GetItems(string? releaseNo,
decimal? id)
{
+
+ OracleSQLHelper SQLHelper = new();
+ var sql =
+ @"update MES_QA_ITEMS_DETECT_01 set FCHECK_BEGIN_DATE=sysdate where RELEASE_NO='"+ releaseNo + "' and FCHECK_BEGIN_DATE is null";
+ SQLHelper.ExecuteQuery(sql);
+
+
var db = SqlSugarHelper.GetInstance();
return db
@@ -857,8 +1012,17 @@
var sql = string.Format(
@"select b.ID,b.LOT_NO,b.RELEASE_NO,b.FSUBMIT from MES_INV_ITEM_BARCODES A
left join MES_QA_ITEMS_DETECT_01 B on A.BILL_NO=b.LOT_NO and A.ITEM_ID=b.ITEM_ID
- where ITEM_BARCODE='" + BarCode + "'");
+ where ITEM_BARCODE='" + BarCode + "'and b.ID is not null");
return SQLHelper.ExecuteQuery(sql);
+ }
+ public int getFromMJCount(string BarCode)
+ {
+ OracleSQLHelper SQLHelper = new();
+ var sql = string.Format(
+ @"select count(*) count from MES_INV_ITEM_BARCODES A
+ left join MES_INV_ITEM_ARN_DETAIL B on A.BILL_NO=b.CBILL_NO and A.ITEM_ID=b.ITEM_ID
+ where ITEM_BARCODE='"+ BarCode + "' and CHECK_STATES='鍏嶆'");
+ return Convert.ToInt32(SQLHelper.ExecuteQuery(sql).Rows[0]["count"]);
}
public DataTable getImgBDlist(string id)
@@ -1256,6 +1420,36 @@
commonParam = apiParam
};
}
+ public static XkyCommonParam GetTestInit()
+ {
+ var apiParam = new ApiCommonParam
+ {
+ // 鍙戞惡瀹簯鎻愪緵鐨刟ppKey
+ appKey = DataAcquisitionConfiguration.TEST_APP_KEY,
+ // 鎺ュ彛鐗堟湰
+ version = "1.0",
+ // 鎿嶄綔鑰呮墍灞炲叕鍙哥紪鐮�
+ operateCompanyCode = DataAcquisitionConfiguration.TEST_COMPANY_CODE,
+ // 鏁版嵁鎵�灞炲叕鍙哥紪鐮侊紝闈為泦鍥㈠叕鍙搁粯璁よ祴鍊间负鎿嶄綔鍏徃
+ ownerCompanyCode = DataAcquisitionConfiguration.TEST_COMPANY_CODE,
+ // 褰撳墠鏃堕棿瀵瑰簲鐨勬椂闂存埑锛堢鏁帮級
+ timestamps = DateTimeOffset.UtcNow.ToUnixTimeSeconds()
+ };
+
+
+ var appSecret = DataAcquisitionConfiguration.TEST_APP_SECRET;
+
+ // 鐢熸垚绛惧悕
+ var sign = BuildCurrentSign(
+ JsonConvert.SerializeObject(apiParam),
+ appSecret);
+ apiParam.sign = sign;
+
+ return new XkyCommonParam
+ {
+ commonParam = apiParam
+ };
+ }
}
/// <summary>
diff --git a/StandardPda/MESApplication/Controllers/QC/LljController.cs b/StandardPda/MESApplication/Controllers/QC/LljController.cs
index be26b29..3efd2dc 100644
--- a/StandardPda/MESApplication/Controllers/QC/LljController.cs
+++ b/StandardPda/MESApplication/Controllers/QC/LljController.cs
@@ -290,12 +290,40 @@
var tbBillList =
new LljService().getFromInfo(id);
resultInfos.tbBillList = tbBillList;
- return new ResponseResult
+ if (resultInfos.tbBillList.Rows.Count>0)
{
- status = 0,
- message = "OK",
- data = resultInfos
- };
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ else
+ {
+ var mj =
+ new LljService().getFromMJCount(id);
+ if (mj>0)
+ {
+ return new ResponseResult
+ {
+ status = 1,
+ message = "璇ョ墿鏂欎负鍏嶆鐗╂枡锛屾棤闇�妫�楠岋紒",
+ data = resultInfos
+ };
+ }
+ else
+ {
+ return new ResponseResult
+ {
+ status = 1,
+ message = "鎵句笉鍒版楠屽崟鎹紝璇风‘璁よ揣鐗╂槸鍚︾鏀讹紒",
+ data = resultInfos
+ };
+ }
+
+ }
+
}
catch (Exception ex)
{
@@ -580,4 +608,53 @@
return ResponseResult.ResponseError(ex);
}
}
+ /// <summary>
+ /// 閫佽揣鍗曠鏀跺苟鐢熸垚鍒拌揣鍗�
+ /// </summary>
+ /// <param name="id"></param>
+ /// <returns></returns>
+ [HttpPost("SignDelivery2")]
+ public async Task<ResponseResult> SignDelivery2(string id,string c_user)
+ {
+ try
+ {
+ //string[] msg = new LljService().SaveSysSubmit(sysSubmit);
+ var msg = await new LljService().SignDelivery2(id, c_user);
+ return new ResponseResult
+ {
+ status = int.Parse(msg[0]),
+ message = msg[1],
+ data = msg[1]
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+ /// <summary>
+ /// 鑾峰彇鎼哄浜戞祴璇曠幆澧冪鍚�
+ /// </summary>
+ /// <param name="id"></param>
+ /// <returns></returns>
+ [HttpGet("getTestXKYSign")]
+ public async Task<ResponseResult> getTestXKYSign()
+ {
+ try
+ {
+ //string[] msg = new LljService().SaveSysSubmit(sysSubmit);
+ var msg = await new LljService().getTestXKYSign();
+ return new ResponseResult
+ {
+ status = int.Parse(msg[0]),
+ message = "OK",
+ data = msg[1]
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
}
\ No newline at end of file
--
Gitblit v1.9.3