ab56a9bcf7
SVN-Revision: r240
144 lines
10 KiB
C#
144 lines
10 KiB
C#
using Lskj.Web.Core.BLL;
|
|
using Lskj.Web.Core.Entities;
|
|
using Newtonsoft.Json;
|
|
using Newtonsoft.Json.Linq;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
|
|
namespace Lskj.GetWorkOrderCallback
|
|
{
|
|
interface GetWorkOrderCallbackInterface
|
|
{
|
|
BaseResponse UpdateLserpDataBase(string dataBody);
|
|
}
|
|
public class GetWorkOrderCallback : BaseImpl, GetWorkOrderCallbackInterface
|
|
{
|
|
public GetWorkOrderCallback()
|
|
{
|
|
//dbOperator = new Lskj.Data.ADO.Template.DbTemplate("server=114.116.135.188,16688;database=lserp_2024_xcl;persist security info=true;user id=lserpAdmin;password=lserp110;max pool size=512;", ProviderName);
|
|
}
|
|
public BaseResponse UpdateLserpDataBase(string dataBody)
|
|
{
|
|
BaseResponse baseResponse = new BaseResponse();
|
|
try
|
|
{
|
|
baseResponse.success = false;
|
|
baseResponse.msg = "成功";
|
|
if (!string.IsNullOrEmpty(dataBody))
|
|
{
|
|
if (dbOperator.ConnectionTest())
|
|
{
|
|
JObject DataBody = (JObject)JsonConvert.DeserializeObject(dataBody);
|
|
string plant = DataBody.ContainsKey("Plant") ? DataBody["Plant"] + "" : "";
|
|
string machineID = DataBody.ContainsKey("MachineID") ? DataBody["MachineID"] + "" : "";
|
|
string shiftName = DataBody.ContainsKey("ShiftName") ? DataBody["ShiftName"] + "" : "";
|
|
string workOrderNo = DataBody.ContainsKey("WorkOrderNo") ? DataBody["WorkOrderNo"] + "" : "";
|
|
string orderDate = DataBody.ContainsKey("OrderDate") ? DataBody["OrderDate"] + "" : "";
|
|
string formulaCode = DataBody.ContainsKey("FormulaCode") ? DataBody["FormulaCode"] + "" : "";
|
|
string formulaName = DataBody.ContainsKey("FormulaName") ? DataBody["FormulaName"] + "" : "";
|
|
string formulaWeight = DataBody.ContainsKey("FormulaWeight") ? DataBody["FormulaWeight"] + "" : "";
|
|
string orderState = DataBody.ContainsKey("OrderState") ? DataBody["OrderState"] + "" : "";
|
|
string orderBatch = DataBody.ContainsKey("OrderBatch") ? DataBody["OrderBatch"] + "" : "";
|
|
string batch = DataBody.ContainsKey("Batch") ? DataBody["Batch"] + "" : "";
|
|
string batchWeight = DataBody.ContainsKey("BatchWeight") ? DataBody["BatchWeight"] + "" : "";
|
|
string barcode = DataBody.ContainsKey("Barcode") ? DataBody["Barcode"] + "" : "";
|
|
string startTime = DataBody.ContainsKey("StartTime") ? DataBody["StartTime"] + "" : "";
|
|
string mfgTime = DataBody.ContainsKey("MfgTime") ? DataBody["MfgTime"] + "" : "";
|
|
if (DataBody.ContainsKey("WorkOrderFormula") && DataBody.ContainsKey("WeighingRecordList"))
|
|
{
|
|
StringBuilder stringBuilder = new StringBuilder();
|
|
//stringBuilder.Append($"delete from mrp_workzhongliangtab where Plant = '{plant}' and ShiftName = '{shiftName}' and machineId = '{machineID}' and WorkOrderNo = '{workOrderNo}';\r\n");
|
|
stringBuilder.Append($"delete from mrp_workzhongliangtab where WorkOrderNo = '{workOrderNo}' and Batch = '{batch}';\r\n");
|
|
JArray WorkOrderFormula = (JArray)DataBody["WorkOrderFormula"];
|
|
JArray WeighingRecordList = (JArray)DataBody["WeighingRecordList"];
|
|
for (int i = 0; i < WorkOrderFormula.Count; i++)
|
|
{
|
|
JObject WorkOrderFormulaDtl = (JObject)WorkOrderFormula[i];
|
|
string materialNo = WorkOrderFormulaDtl.ContainsKey("MaterialNo") ? WorkOrderFormulaDtl["MaterialNo"] + "" : "";
|
|
string materialName = WorkOrderFormulaDtl.ContainsKey("MaterialName") ? WorkOrderFormulaDtl["MaterialName"] + "" : "";
|
|
string materialWeight = WorkOrderFormulaDtl.ContainsKey("MaterialWeight") ? WorkOrderFormulaDtl["MaterialWeight"] + "" : "";
|
|
JObject WeighingRecordListDtl = WeighingRecordList.Cast<JObject>().Where(n => (n["MaterialNo"] + "").Equals(materialNo) && (n["MaterialName"] + "").Equals(materialName)).FirstOrDefault();
|
|
string weighingValue = "";
|
|
if (WeighingRecordListDtl != null)
|
|
{
|
|
weighingValue = WeighingRecordListDtl.ContainsKey("WeighingValue") ? WeighingRecordListDtl["WeighingValue"] + "" : "";
|
|
}
|
|
stringBuilder.Append($"INSERT INTO mrp_workzhongliangtab (Plant, MachineID, ShiftName, WorkOrderNo, OrderDate, FormulaCode, FormulaName, FormulaWeight, OrderState, OrderBatch, Batch, BatchWeight, Barcode, StartTime, MfgTime, MaterialNo, MaterialName, MaterialWeight, WeighingValue) VALUES ('{plant}', '{machineID}', '{shiftName}', '{workOrderNo}', '{orderDate}', '{formulaCode}', '{formulaName}', '{formulaWeight}', '{orderState}', '{orderBatch}', '{batch}', '{batchWeight}', '{barcode}', '{startTime}', '{mfgTime}', '{materialNo}', '{materialName}', '{materialWeight}', '{weighingValue}');\r\n");
|
|
}
|
|
if (!string.IsNullOrEmpty(stringBuilder.ToString()))
|
|
{
|
|
dbOperator.ExecuteNonQuery(stringBuilder.ToString());
|
|
}
|
|
}
|
|
//if (DataBody.ContainsKey("WeighingRecordList"))
|
|
//{
|
|
// JArray WeighingRecordList = (JArray)DataBody["WeighingRecordList"];
|
|
// for (int i = 0; i < WeighingRecordList.Count; i++)
|
|
// {
|
|
// JObject WeighingRecordListDtl = (JObject)WeighingRecordList[i];
|
|
// string materialNo = WeighingRecordListDtl.ContainsKey("MaterialNo") ? WeighingRecordListDtl["MaterialNo"] + "" : "";
|
|
// string materialName = WeighingRecordListDtl.ContainsKey("MaterialName") ? WeighingRecordListDtl["MaterialName"] + "" : "";
|
|
// string weighingValue = WeighingRecordListDtl.ContainsKey("WeighingValue") ? WeighingRecordListDtl["WeighingValue"] + "" : "";
|
|
// if (WeighingRecordListDtl.ContainsKey("MaterialTracedData"))
|
|
// {
|
|
// JArray MaterialTracedData = (JArray)DataBody["MaterialTracedData"];
|
|
// for (int j = 0; j < MaterialTracedData.Count; j++)
|
|
// {
|
|
// JObject MaterialTracedDataDtl = (JObject)MaterialTracedData[i];
|
|
// string materialBarcode = MaterialTracedDataDtl.ContainsKey("MaterialBarcode") ? MaterialTracedDataDtl["MaterialBarcode"] + "" : "";
|
|
// string weight = MaterialTracedDataDtl.ContainsKey("Weight") ? MaterialTracedDataDtl["Weight"] + "" : "";
|
|
// string lotNo = MaterialTracedDataDtl.ContainsKey("LotNo") ? MaterialTracedDataDtl["LotNo"] + "" : "";
|
|
// }
|
|
// }
|
|
// }
|
|
//}
|
|
if (DataBody.ContainsKey("AlarmList"))
|
|
{
|
|
StringBuilder stringBuilder = new StringBuilder();
|
|
//stringBuilder.Append($"delete from mrp_workbaojintab where Plant = '{plant}' and ShiftName = '{shiftName}' and machineId = '{machineID}' and WorkOrderNo = '{workOrderNo}';\r\n");
|
|
stringBuilder.Append($"delete from mrp_workbaojintab where WorkOrderNo = '{workOrderNo}' and Batch = '{batch}';\r\n");
|
|
JArray AlarmList = (JArray)DataBody["AlarmList"];
|
|
for (int i = 0; i < AlarmList.Count; i++)
|
|
{
|
|
JObject AlarmListDtl = (JObject)AlarmList[i];
|
|
string alarmCode = AlarmListDtl.ContainsKey("AlarmCode") ? AlarmListDtl["AlarmCode"] + "" : "";
|
|
string alarmMsg = AlarmListDtl.ContainsKey("AlarmMsg") ? AlarmListDtl["AlarmMsg"] + "" : "";
|
|
string alarmTime = AlarmListDtl.ContainsKey("AlarmTime") ? AlarmListDtl["AlarmTime"] + "" : "";
|
|
stringBuilder.Append($"insert into mrp_workbaojintab (Plant,ShiftName,machineId,WorkOrderNo,OrderDate,OrderState,OrderBatch,BatchWeight,Batch,MfgTime,AlarmCode,AlarmMsg,AlarmTime) values ('{plant}','{shiftName}','{machineID}','{workOrderNo}','{orderDate}','{orderState}','{orderBatch}','{batchWeight}','{batch}','{mfgTime}','{alarmCode}','{alarmMsg}','{alarmTime}');\r\n");
|
|
}
|
|
if (!string.IsNullOrEmpty(stringBuilder.ToString()))
|
|
{
|
|
dbOperator.ExecuteNonQuery(stringBuilder.ToString());
|
|
}
|
|
}
|
|
baseResponse.success = true;
|
|
}
|
|
else
|
|
{
|
|
baseResponse.success = false;
|
|
baseResponse.msg = "网络连接异常";
|
|
}
|
|
}
|
|
else
|
|
{
|
|
baseResponse.success = false;
|
|
baseResponse.msg = "数据为空";
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
baseResponse.success = false;
|
|
baseResponse.msg = ex.Message;
|
|
}
|
|
finally
|
|
{
|
|
string insertSql = $"INSERT INTO p_GetWorkOrderCallbackTab ( rtnmsg, datetime ,errormsg) VALUES ('{dataBody}','{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}','{baseResponse.msg + ""}');";
|
|
dbOperator.ExecuteNonQuery(insertSql);
|
|
}
|
|
return baseResponse;
|
|
}
|
|
}
|
|
}
|