using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net.Mail;
using PLMTEST;
using MisDataSaveDate.MOM;
using Newtonsoft.Json.Linq;
using System.Web.Http;
using DataLinkMesWork;
using System.Configuration;
using ExternalDataSync;
using NPOI.SS.Formula.Functions;
using static System.Windows.Forms.AxHost;
using static System.Windows.Forms.VisualStyles.VisualStyleElement;
using System.Net.NetworkInformation;
using NPOI.XSSF.Streaming.Values;
using MesServerWork;
using static MisDataSaveDate.Helper.ApiLogHelper;
namespace MisDataSaveDate
{
public class AnalysisMomMsg
{
///
/// UUID生成
///
///
public static string UuidUtil()
{
string result = Guid.NewGuid().ToString();
return result;
}
///
/// 员工信息保存
///
///
///
public static string MES_To_AMS_AlarmClosed(string url, [FromBody] JObject jobj)
{
var result = new MsgResHeader();
result.code = 200;
result.message = "";
string errorMessage = "";
if (jobj == null)
{
result.code = 500;
result.message = "参数格式不正确!";
string retString1 = JsonConvert.SerializeObject(result);
MyLog4Net.MyLogHelper.Info("员工信息保存res:", retString1);
return retString1;
}
string str = jobj.ToString();
//存储日志
SaveLog_Interface_Request(url, 2, str, out int AID);
try
{
// 解析订单内容,存储数据库,根据实际业务来写
AlarmClosed alarmclosed = JsonConvert.DeserializeObject(str);
if (string.IsNullOrWhiteSpace(alarmclosed.alarmTaskId))
{
throw new Exception("参数taskID值不正确!");
}
if (alarmclosed.HandleInfos == null || alarmclosed.HandleInfos.Count <= 0)
{
throw new Exception("参数handleInfo值不正确!");
}
List alarmHandleInfos = alarmclosed.HandleInfos;
foreach (var alrmitem in alarmHandleInfos)
{
var param = new SqlParameter[] {
new SqlParameter("@报警任务ID",alarmclosed.alarmTaskId),
new SqlParameter("@处理人ID",alrmitem.UserId),
new SqlParameter("@处理人编号",alrmitem.UserCode),
new SqlParameter("@处理人名称",alrmitem.UserName),
new SqlParameter("@处理开始时间",alrmitem.StartTime),
new SqlParameter("@处理完成时间",alrmitem.EndTime)
};
//DataAccess.ExecuteStoredProcedure("报警工位记录表_处理",ref param);
DataLinkMesWork2.DataAccess2.ExecuteStoredProcedure("报警工位记录表_处理", ref param, out errorMessage);
}
if (errorMessage != "")
{
throw new Exception(errorMessage);
}
}
catch (Exception err)
{
result.code = 500;
result.message = err.Message;
}
string retString = JsonConvert.SerializeObject(result);
SaveLog_Interface_Response(retString, AID);
MyLog4Net.MyLogHelper.Info("工艺信息接口res:", retString);
return retString;
}
///
/// 员工信息保存
///
///
///
public static string MES_To_AMS_Employee(string url, [FromBody] JObject jobj)
{
var result = new ApiResponse();
result.Code = 200;
result.Message = "";
result.Data = new List();
string errorMessage = "";
if (jobj == null)
{
result.Code = 500;
result.Message = "参数格式不正确!";
string retString1 = JsonConvert.SerializeObject(result);
MyLog4Net.MyLogHelper.Info("员工信息保存res:", retString1);
return retString1;
}
string str = jobj.ToString();
//存储日志
SaveLog_Interface_Request(url, 2, str, out int AID);
try
{
// 解析订单内容,存储数据库,根据实际业务来写
EmployeeInfoSave employeeScheme = JsonConvert.DeserializeObject(str);
if (employeeScheme?.Data == null || employeeScheme.Data.Count == 0)
{
throw new Exception("数据列表为空!");
}
foreach (var employee in employeeScheme.Data)
{
var responseData = new Response_Data();
try
{
if (string.IsNullOrWhiteSpace(employee.PersonId))
{
throw new Exception("参数personID值不正确!");
}
if (string.IsNullOrWhiteSpace(employee.PersonCode))
{
throw new Exception("参数personCode值不正确!");
}
if (string.IsNullOrWhiteSpace(employee.PersonName))
{
throw new Exception("参数personName值不正确!");
}
if (string.IsNullOrWhiteSpace(employee.OrgId))
{
throw new Exception("参数orgID值不正确!");
}
if (string.IsNullOrWhiteSpace(employee.PhoneNumber))
{
throw new Exception("参数phoneNumber值不正确!");
}
if (string.IsNullOrWhiteSpace(employee.CreateTime))
{
throw new Exception("参数createTime值不正确!");
}
if (string.IsNullOrWhiteSpace(employee.LastModifyTime))
{
throw new Exception("参数lastModifyTime值不正确!");
}
var param = new SqlParameter[] {
new SqlParameter("@人员ID", employee.PersonId),
new SqlParameter("@人员编号", employee.PersonCode),
new SqlParameter("@人员名称", employee.PersonName),
new SqlParameter("@所属组织", employee.OrgId),
new SqlParameter("@手机号", employee.PhoneNumber),
new SqlParameter("@创建时间", employee.CreateTime),
new SqlParameter("@最后修改时间", employee.LastModifyTime)
};
DataLinkMesWork2.DataAccess2.ExecuteStoredProcedure("MOM_人员名单_新增或更新", ref param, out errorMessage);
if (errorMessage != "")
{
throw new Exception(errorMessage);
}
responseData.Code = 200;
responseData.Message = "";
responseData.DataId = employee.PersonId;
}
catch (Exception ex)
{
responseData.Code = 500;
responseData.Message = ex.Message;
responseData.DataId = employee.PersonId;
}
result.Data.Add(responseData);
}
}
catch (Exception err)
{
result.Code = 500;
result.Message = err.Message;
}
string retString = JsonConvert.SerializeObject(result);
SaveLog_Interface_Response(retString, AID);
MyLog4Net.MyLogHelper.Info("员工信息保存res:", retString);
return retString;
}
///
/// 组织信息保存
///
///
///
public static string MES_To_AMS_OrgInfo(string url, [FromBody] JObject jobj)
{
var result = new ApiResponse();
result.Code = 200;
result.Message = "";
result.Data = null;
string errorMessage = "";
if (jobj == null)
{
result.Code = 500;
result.Message = "参数格式不正确!";
string retString1 = JsonConvert.SerializeObject(result);
MyLog4Net.MyLogHelper.Info("生产组织信息保存res:", retString1);
return retString1;
}
string str = jobj.ToString();
//存储日志
SaveLog_Interface_Request(url, 2, str, out int AID);
try
{
// 解析订单内容,存储数据库,根据实际业务来写
OrganizationData OrgScheme = JsonConvert.DeserializeObject(str);
List OrgInfoList = OrgScheme.Data;
if (OrgScheme.Data == null || OrgScheme.Data.Count <= 0)
{
throw new Exception("参数Data值不正确!");
}
List resDataList = new List();
foreach (var orgitem in OrgInfoList)
{
if (string.IsNullOrEmpty(orgitem.OrgID))
{
errorMessage = "参数orgID值不正确!";
}
else if (string.IsNullOrEmpty(orgitem.OrgCode))
{
errorMessage = "参数orgCode值不正确!";
}
else if (string.IsNullOrEmpty(orgitem.OrgName))
{
errorMessage = "参数orgName值不正确!";
}
else if (string.IsNullOrEmpty(orgitem.Classification))
{
errorMessage = "参数classification值不正确!";
}
else if (string.IsNullOrEmpty(orgitem.LevelNo))
{
errorMessage = "参数level值不正确!";
}
else if (string.IsNullOrEmpty(orgitem.Detail))
{
errorMessage = "参数detail值不正确!";
}
else if (string.IsNullOrEmpty(orgitem.CreateTime))
{
errorMessage = "参数createTime值不正确!";
}
else
{
var param = new SqlParameter[]
{
new SqlParameter("@OrgID",orgitem.OrgID),
new SqlParameter("@OrgCode",orgitem.OrgCode),
new SqlParameter("@OrgName",orgitem.OrgName),
new SqlParameter("@Classification",orgitem.Classification),
new SqlParameter("@LevelNo",orgitem.LevelNo),
new SqlParameter("@Detail",orgitem.Detail),
new SqlParameter("@CreateTime",orgitem.CreateTime),
new SqlParameter("@LastModifyTime",VHandle(orgitem.LastModifyTime))
};
//DataAccess.ExecuteStoredProcedure("MOM_生产组织_新增或更新", ref param);
DataLinkMesWork2.DataAccess2.ExecuteStoredProcedure("MOM_生产组织_新增或更新", ref param, out errorMessage);
}
Response_Data resData = new Response_Data();
resData.Message = errorMessage;
resData.Code = errorMessage == "" ? 200 : 500;
resData.DataId = "";
resDataList.Add(resData);
}
result.Data = resDataList;
}
catch (Exception err)
{
result.Code = 500;
result.Message = err.Message;
}
string retString = JsonConvert.SerializeObject(result);
SaveLog_Interface_Response(retString, AID);
MyLog4Net.MyLogHelper.Info("生产组织信息保存res:", retString);
return retString;
}
///
/// 工作中心保存
///
///
///
public static string MES_To_AMS_WorkCenterSave(string url, [FromBody] JObject jobj)
{
var result = new ApiResponse();
result.Code = 200;
result.Message = "";
string errorMessage = "";
if (jobj == null)
{
result.Code = 500;
result.Message = "参数格式不正确!";
string retString1 = JsonConvert.SerializeObject(result);
MyLog4Net.MyLogHelper.Info("工作中心信息保存res:", retString1);
return retString1;
}
string str = jobj.ToString();
//存储日志
SaveLog_Interface_Request(url, 2, str, out int AID);
try
{
// 解析订单内容,存储数据库,根据实际业务来写
WorkCenterData Scheme = JsonConvert.DeserializeObject(str);
List workCenterList = Scheme.Data;
if (Scheme.Data == null || Scheme.Data.Count <= 0)
{
throw new Exception("参数Data值不正确!");
}
List resDataList = new List();
foreach (var dataitem in workCenterList)
{
if (string.IsNullOrEmpty(dataitem.WorkCenterID))
{
errorMessage = "参数workCenterID值不正确!";
}
else if (string.IsNullOrEmpty(dataitem.WorkCenterCode))
{
errorMessage = "参数workCenterCode值不正确!";
}
else if (string.IsNullOrEmpty(dataitem.WorkCenterName))
{
errorMessage = "参数workCenterName值不正确!";
}
else if (string.IsNullOrEmpty(dataitem.OrgID))
{
errorMessage = "参数orgID值不正确!";
}
else if (string.IsNullOrEmpty(dataitem.Classification))
{
errorMessage = "参数classification值不正确!";
}
else if (string.IsNullOrEmpty(dataitem.LevelNo))
{
errorMessage = "参数level值不正确!";
}
else if (string.IsNullOrEmpty(dataitem.Detail))
{
errorMessage = "参数detail值不正确!";
}
else if (string.IsNullOrEmpty(dataitem.CreateTime))
{
errorMessage = "参数createTime值不正确!";
}
else if (string.IsNullOrEmpty(dataitem.LastModifyTime))
{
errorMessage = "参数lastModifyTime值不正确!";
}
else
{
var param = new SqlParameter[]
{
new SqlParameter("@workCenterID",dataitem.WorkCenterID),
new SqlParameter("@workCenterCode",dataitem.WorkCenterCode),
new SqlParameter("@workCenterName",dataitem.WorkCenterName),
new SqlParameter("@orgID",dataitem.OrgID),
new SqlParameter("@classification",dataitem.Classification),
new SqlParameter("@LevelNo",dataitem.LevelNo),
new SqlParameter("@Detail",dataitem.Detail),
new SqlParameter("@CreateTime",dataitem.CreateTime),
new SqlParameter("@LastModifyTime",dataitem.LastModifyTime)
};
//DataAccess.ExecuteStoredProcedure("MOM_工作中心_新增或更新", ref param);
DataLinkMesWork2.DataAccess2.ExecuteStoredProcedure("MOM_工作中心_新增或更新", ref param, out errorMessage);
}
Response_Data resData = new Response_Data();
resData.Message = errorMessage;
resData.Code = errorMessage == "" ? 200 : 500;
resData.DataId = "";
resDataList.Add(resData);
}
result.Data = resDataList;
}
catch (Exception err)
{
result.Code = 500;
result.Message = err.Message;
}
string retString = JsonConvert.SerializeObject(result);
SaveLog_Interface_Response(retString, AID);
MyLog4Net.MyLogHelper.Info("工作中心信息保存res:", retString);
return retString;
}
///
/// 物料信息保存
///
///
///
public static string MES_To_AMS_MaterialSave(string url, [FromBody] JObject jobj)
{
var result = new ApiResponse();
result.Code = 200;
result.Message = "";
string errorMessage = "";
if (jobj == null)
{
result.Code = 500;
result.Message = "参数格式不正确!";
string retString1 = JsonConvert.SerializeObject(result);
MyLog4Net.MyLogHelper.Info("物料信息保存res:", retString1);
return retString1;
}
string str = jobj.ToString();
//存储日志
SaveLog_Interface_Request(url, 2, str, out int AID);
try
{
// 解析订单内容,存储数据库,根据实际业务来写
MaterialInfoSave Scheme = JsonConvert.DeserializeObject(str);
List materialList = Scheme.Data;
if (Scheme.Data == null || Scheme.Data.Count <= 0)
{
throw new Exception("参数Data值不正确!");
}
List resDataList = new List();
foreach (var dataitem in materialList)
{
if (string.IsNullOrEmpty(dataitem.MaterialID))
{
errorMessage = "参数materialID值不正确!";
}
else if (string.IsNullOrEmpty(dataitem.MaterialCode))
{
errorMessage = "参数materialCode值不正确!";
}
else if (string.IsNullOrEmpty(dataitem.MaterialName))
{
errorMessage = "参数materialName值不正确!";
}
else if (string.IsNullOrEmpty(dataitem.CreateTime))
{
errorMessage = "参数createTime值不正确!";
}
else if (string.IsNullOrEmpty(dataitem.LastModifyTime))
{
errorMessage = "参数lastModifyTime值不正确!";
}
else
{
var param = new SqlParameter[]
{
new SqlParameter("@materialID",dataitem.MaterialID),
new SqlParameter("@materialCode",dataitem.MaterialCode),
new SqlParameter("@materialName",dataitem.MaterialName),
new SqlParameter("@unitOfMeasure",VHandle(dataitem.UnitOfMeasure)),
new SqlParameter("@materialCategory",VHandle(dataitem.MaterialCategory)),
new SqlParameter("@materialSpec",VHandle(dataitem.MaterialSpec)),
new SqlParameter("@materialModel",VHandle(dataitem.MaterialModel)),
new SqlParameter("@materialDescription",VHandle(dataitem.MaterialDescription)),
new SqlParameter("@CreateTime",dataitem.CreateTime),
new SqlParameter("@LastModifyTime",dataitem.LastModifyTime)
};
//DataAccess.ExecuteStoredProcedure("MOM_物料信息_新增或更新", ref param);
DataLinkMesWork2.DataAccess2.ExecuteStoredProcedure("MOM_物料信息_新增或更新", ref param, out errorMessage);
}
Response_Data resData = new Response_Data();
resData.Message = errorMessage;
resData.Code = errorMessage == "" ? 200 : 500;
resData.DataId = dataitem.MaterialID;
resDataList.Add(resData);
}
result.Data = resDataList;
}
catch (Exception err)
{
result.Code = 500;
result.Message = err.Message;
}
string retString = JsonConvert.SerializeObject(result);
SaveLog_Interface_Response(retString, AID);
MyLog4Net.MyLogHelper.Info("物料信息保存res:", retString);
return retString;
}
///
/// 计量单位信息保存
///
///
///
public static string MES_To_AMS_UnitInfoSave(string url, [FromBody] JObject jobj)
{
var result = new ApiResponse();
result.Code = 200;
result.Message = "";
string errorMessage = "";
if (jobj == null)
{
result.Code = 500;
result.Message = "参数格式不正确!";
string retString1 = JsonConvert.SerializeObject(result);
MyLog4Net.MyLogHelper.Info("计量单位信息保存res:", retString1);
return retString1;
}
string str = jobj.ToString();
//存储日志
SaveLog_Interface_Request(url, 2, str, out int AID);
try
{
// 解析订单内容,存储数据库,根据实际业务来写
UnitData Scheme = JsonConvert.DeserializeObject(str);
List materialList = Scheme.Data;
if (Scheme.Data == null || Scheme.Data.Count <= 0)
{
throw new Exception("参数Data值不正确!");
}
List resDataList = new List();
foreach (var dataitem in materialList)
{
if (string.IsNullOrEmpty(dataitem.UnitID))
{
errorMessage = "参数unitID值不正确!";
}
else if (string.IsNullOrEmpty(dataitem.UnitCode))
{
errorMessage = "参数unitCode值不正确!";
}
else if (string.IsNullOrEmpty(dataitem.UnitName))
{
errorMessage = "参数unitName值不正确!";
}
else if (string.IsNullOrEmpty(dataitem.CreateTime))
{
errorMessage = "参数createTime值不正确!";
}
else if (string.IsNullOrEmpty(dataitem.LastModifyTime))
{
errorMessage = "参数lastModifyTime值不正确!";
}
else
{
var param = new SqlParameter[]
{
new SqlParameter("@unitID",dataitem.UnitID),
new SqlParameter("@unitCode",dataitem.UnitCode),
new SqlParameter("@unitName",dataitem.UnitName),
new SqlParameter("@CreateTime",dataitem.CreateTime),
new SqlParameter("@LastModifyTime",dataitem.LastModifyTime)
};
//DataAccess.ExecuteStoredProcedure("MOM_计量单位_新增或更新", ref param);
DataLinkMesWork2.DataAccess2.ExecuteStoredProcedure("MOM_计量单位_新增或更新", ref param, out errorMessage);
}
Response_Data resData = new Response_Data();
resData.Message = errorMessage;
resData.Code = errorMessage == "" ? 200 : 500;
resData.DataId = "";
resDataList.Add(resData);
}
result.Data = resDataList;
}
catch (Exception err)
{
result.Code = 500;
result.Message = err.Message;
}
string retString = JsonConvert.SerializeObject(result);
SaveLog_Interface_Response(retString, AID);
MyLog4Net.MyLogHelper.Info("计量单位信息保存res:", retString);
return retString;
}
///
/// 员工排班信息
///
///
///
public static string MES_To_AMS_ShiftScheduleSave(string url, [FromBody] JObject jobj)
{
var result = new MsgResHeader();
result.code = 200;
result.message = "";
string errorMessage = "";
if (jobj == null)
{
result.code = 500;
result.message = "参数格式不正确!";
string retString1 = JsonConvert.SerializeObject(result);
MyLog4Net.MyLogHelper.Info("员工排班信息保存res:", retString1);
return retString1;
}
string str = jobj.ToString();
//存储日志
SaveLog_Interface_Request(url, 2, str, out int AID);
try
{
// 解析订单内容,存储数据库,根据实际业务来写
ShiftSchedule Scheme = JsonConvert.DeserializeObject(str);
if (string.IsNullOrWhiteSpace(Scheme.EmployeeID))
{
throw new Exception("参数EmployeeID值不正确!");
}
if (string.IsNullOrWhiteSpace(Scheme.EmployeeCode))
{
throw new Exception("参数EmployeeCode值不正确!");
}
if (string.IsNullOrWhiteSpace(Scheme.EmployeeName))
{
throw new Exception("参数EmployeeName值不正确!");
}
if (string.IsNullOrWhiteSpace(Scheme.StartDate))
{
throw new Exception("参数StartDate值不正确!");
}
if (string.IsNullOrWhiteSpace(Scheme.EndDate))
{
throw new Exception("参数EndDate值不正确!");
}
if (string.IsNullOrWhiteSpace(Scheme.ProductionOrg))
{
throw new Exception("参数prodOrg值不正确!");
}
if (string.IsNullOrWhiteSpace(Scheme.ProductionCenter))
{
throw new Exception("参数prodCenter值不正确!");
}
if (string.IsNullOrWhiteSpace(Scheme.WorkProcess))
{
throw new Exception("参数workProc值不正确!");
}
var param = new SqlParameter[]
{
new SqlParameter("@empID",Scheme.EmployeeID),
new SqlParameter("@empCode",Scheme.EmployeeCode),
new SqlParameter("@empName",Scheme.EmployeeName),
new SqlParameter("@startDate",Scheme.StartDate),
new SqlParameter("@endDate",Scheme.EndDate),
new SqlParameter("@prodOrg",Scheme.ProductionOrg),
new SqlParameter("@prodCenter",Scheme.ProductionCenter),
new SqlParameter("@workProc",Scheme.WorkProcess)
};
//DataAccess.ExecuteStoredProcedure("MOM_员工排班信息_新增或更新",ref param);
DataLinkMesWork2.DataAccess2.ExecuteStoredProcedure("MOM_员工排班信息_新增或更新", ref param, out errorMessage);
if (errorMessage != "")
{
throw new Exception(errorMessage);
}
}
catch (Exception err)
{
result.code = 500;
result.message = err.Message;
}
string retString = JsonConvert.SerializeObject(result);
SaveLog_Interface_Response(retString, AID);
MyLog4Net.MyLogHelper.Info("员工排班信息保存res:", retString);
return retString;
}
///
/// AGV与产线AMS交互接口
///
///
///
public static string AGV_To_AMS_Interaction(string url, [FromBody] JObject jobj)
{
var result = new MsgResHeader();
result.code = 200;
result.message = "";
string errorMessage = "";
if (jobj == null)
{
result.code = 500;
result.message = "参数格式不正确!";
string retString1 = JsonConvert.SerializeObject(result);
MyLog4Net.MyLogHelper.Info("工艺信息接口res:", retString1);
return retString1;
}
string str = jobj.ToString();
//存储日志
SaveLog_Interface_Request(url, 2, str, out int AID);
try
{
// 解析订单内容,存储数据库,根据实际业务来写
AGV_InterAction interAction = JsonConvert.DeserializeObject(str);
if (string.IsNullOrWhiteSpace(interAction.LocationCode))
{
throw new Exception("参数LocationCode值不正确!");
}
if (string.IsNullOrWhiteSpace(interAction.TaskCode))
{
throw new Exception("参数TaskCode值不正确!");
}
if (string.IsNullOrWhiteSpace(interAction.DeliveryType))
{
throw new Exception("参数deliveryType值不正确!");
}
if (string.IsNullOrWhiteSpace(interAction.ReqCMD))
{
throw new Exception("参数ReqCMD值不正确!");
}
switch (interAction.LocationCode)
{
case "AGV_To_AMS_RequestEnter":
//向PLC发送请求进入信号
//MIS_BASE.WritePLC();
break;
case "AGV_To_AMS_PlaceCompleted":
//向PLC发送器具放置完毕信号
break;
case "AGV_To_AMS_ExitGrating":
//向PLC发送
break;
default:
break;
}
if (errorMessage != "")
{
throw new Exception(errorMessage);
}
}
catch (Exception err)
{
result.code = 500;
result.message = err.Message;
}
string retString = JsonConvert.SerializeObject(result);
SaveLog_Interface_Response(retString, AID);
MyLog4Net.MyLogHelper.Info("工艺信息接口res:", retString);
return retString;
}
///
/// 工艺信息接口
///
///
///
public static string ProcessInfo(string url, [FromBody] JObject jobj)
{
var result = new MsgResHeader();
result.code = 200;
result.message = "";
string errorMessage = "";
if (jobj == null)
{
result.code = 500;
result.message = "参数格式不正确!";
string retString1 = JsonConvert.SerializeObject(result);
MyLog4Net.MyLogHelper.Info("工艺信息接口res:", retString1);
return retString1;
}
string str = jobj.ToString();
//存储日志
SaveLog_Interface_Request(url, 2, str, out int AID);
try
{
// 解析订单内容,存储数据库,根据实际业务来写
ProcessScheme processScheme = JsonConvert.DeserializeObject(str);
if (string.IsNullOrWhiteSpace(processScheme.id))
{
throw new Exception("参数id值不正确!");
}
if (string.IsNullOrWhiteSpace(processScheme.code))
{
throw new Exception("参数code值不正确!");
}
if (string.IsNullOrWhiteSpace(processScheme.orderNo))
{
throw new Exception("参数orderNo值不正确!");
}
if (string.IsNullOrWhiteSpace(processScheme.productId))
{
throw new Exception("参数productId值不正确!");
}
if (string.IsNullOrWhiteSpace(processScheme.productCode))
{
throw new Exception("参数productCode值不正确!");
}
if (string.IsNullOrWhiteSpace(processScheme.productName))
{
throw new Exception("参数productName值不正确!");
}
if (string.IsNullOrWhiteSpace(processScheme.createdTime))
{
throw new Exception("参数createdTime值不正确!");
}
if (string.IsNullOrWhiteSpace(processScheme.lastModifiedTime))
{
throw new Exception("参数lastModifiedTime值不正确!");
}
//if (processScheme.processInfo == null || processScheme.processInfo.Count <= 0)
//{
// throw new Exception("参数processInfo值不正确!");
//}
if (processScheme.routingInfo == null || processScheme.routingInfo.Count <= 0)
{
throw new Exception("参数routingInfo值不正确!");
}
var param = new SqlParameter[] {
new SqlParameter("@id",processScheme.id),
new SqlParameter("@code",processScheme.code),
new SqlParameter("@name",VHandle(processScheme.name)),
new SqlParameter("@orderNo",processScheme.orderNo),
new SqlParameter("@productId",processScheme.productId),
new SqlParameter("@productCode",processScheme.productCode),
new SqlParameter("@productName",processScheme.productName),
new SqlParameter("@productSpec",VHandle(processScheme.productSpec)),
new SqlParameter("@model",VHandle(processScheme.model)),
new SqlParameter("@createdTime",processScheme.createdTime),
new SqlParameter("@lastModifiedTime",processScheme.lastModifiedTime),
};
//DataAccess.ExecuteStoredProcedure("MOM_工艺信息_新增", ref param);
DataLinkMesWork2.DataAccess2.ExecuteStoredProcedure("MOM_工艺信息_新增", ref param, out errorMessage);
if (errorMessage != "")
{
throw new Exception(errorMessage);
}
List processInfoList = processScheme.processInfo;
for (int i = 0; i < processInfoList.Count; i++)
{
MisDataSaveDate.MOM.ProcessInfo processInfo = processInfoList[i];
if (string.IsNullOrWhiteSpace(processInfo.processInfoid))
{
throw new Exception("参数processInfoid值不正确!");
}
if (string.IsNullOrWhiteSpace(processInfo.sequenceNo))
{
throw new Exception("参数sequenceNo值不正确!");
}
if (string.IsNullOrWhiteSpace(processInfo.processId))
{
throw new Exception("参数processId值不正确!");
}
if (string.IsNullOrWhiteSpace(processInfo.processCode))
{
throw new Exception("参数processCode值不正确!");
}
if (string.IsNullOrWhiteSpace(processInfo.processName))
{
throw new Exception("参数processName值不正确!");
}
// 文件文档路径非必填,允许为空
var param2 = new SqlParameter[] {
new SqlParameter("@ProcessSchemeId",processScheme.id),
new SqlParameter("@processInfoid",processInfo.processInfoid),
new SqlParameter("@sequenceNo",processInfo.sequenceNo),
new SqlParameter("@processId",processInfo.processId),
new SqlParameter("@processCode",processInfo.processCode),
new SqlParameter("@processName",processInfo.processName),
new SqlParameter("@docInfo", VHandle(processInfo.docInfo)),
new SqlParameter("@filename", VHandle(processInfo.filename))
};
//DataAccess.ExecuteStoredProcedure("MOM_工艺信息_工序信息_新增", ref param2);
DataLinkMesWork2.DataAccess2.ExecuteStoredProcedure("MOM_工艺信息_工序信息_新增", ref param2, out errorMessage);
if (errorMessage != "")
{
throw new Exception(errorMessage);
}
}
List routingInfoList = processScheme.routingInfo;
for (int i = 0; i < routingInfoList.Count; i++)
{
MisDataSaveDate.MOM.RoutingInfo routingInfo = routingInfoList[i];
if (string.IsNullOrWhiteSpace(routingInfo.routingid))
{
throw new Exception("参数routingid值不正确!");
}
if (string.IsNullOrWhiteSpace(routingInfo.routingcode))
{
throw new Exception("参数routingcode值不正确!");
}
if (string.IsNullOrWhiteSpace(routingInfo.processId))
{
throw new Exception("参数processId值不正确!");
}
if (string.IsNullOrWhiteSpace(routingInfo.processCode))
{
throw new Exception("参数processCode值不正确!");
}
if (string.IsNullOrWhiteSpace(routingInfo.processName))
{
throw new Exception("参数processName值不正确!");
}
var param3 = new SqlParameter[] {
new SqlParameter("@ProcessSchemeId",processScheme.id),
new SqlParameter("@routingid",routingInfo.routingid),
new SqlParameter("@routingcode",routingInfo.routingcode),
new SqlParameter("@processId",routingInfo.processId),
new SqlParameter("@processCode",routingInfo.processCode),
new SqlParameter("@processName",routingInfo.processName)
};
//DataAccess.ExecuteStoredProcedure("MOM_工艺信息_工艺路线_新增", ref param3);
DataLinkMesWork2.DataAccess2.ExecuteStoredProcedure("MOM_工艺信息_工艺路线_新增", ref param3, out errorMessage);
if (errorMessage != "")
{
throw new Exception(errorMessage);
}
}
}
catch (Exception err)
{
result.code = 500;
result.message = err.Message;
}
string retString = JsonConvert.SerializeObject(result);
SaveLog_Interface_Response(retString, AID);
MyLog4Net.MyLogHelper.Info("工艺信息接口res:", retString);
return retString;
}
///
/// 计划下发
///
///
///
public static string DispatchOrder(string url, [FromBody] JObject jobj)
{
var result = new MsgResHeader();
result.code = 200;
result.message = "";
string errorMessage = "";
if (jobj == null)
{
result.code = 500;
result.message = "参数格式不正确!";
string retString1 = JsonConvert.SerializeObject(result);
MyLog4Net.MyLogHelper.Info("生产任务接口res:", retString1);
return retString1;
}
string str = jobj.ToString();
//存储日志
SaveLog_Interface_Request(url, 2, str, out int AID);
try
{
// 解析订单内容,存储数据库,根据实际业务来写
DispatchOrder dispatchOrder = JsonConvert.DeserializeObject(str);
if (!ValidateProperty(dispatchOrder.orderID, "orderID", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(dispatchOrder.orderNo, "orderNo", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(dispatchOrder.materialId, "materialId", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(dispatchOrder.materialCode, "materialCode", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(dispatchOrder.materialName, "materialName", out errorMessage)) throw new Exception(errorMessage);
//if (!ValidateProperty(dispatchOrder.planStartTime, "planStartTime", out errorMessage)) throw new Exception(errorMessage);
var qty = dispatchOrder.qty == null ? 1 : Convert.ToInt32(double.Parse(dispatchOrder.qty));
var planStartDate = string.IsNullOrEmpty(dispatchOrder.planStartTime) ? DateTime.Now.ToString("yyyy-MM-dd") : DateTime.Parse(dispatchOrder.planStartTime).ToString("yyyy-MM-dd");
var param = new SqlParameter[] {
new SqlParameter("@orderID",dispatchOrder.orderID),
new SqlParameter("@orderNo",dispatchOrder.orderNo),
new SqlParameter("@materialId",dispatchOrder.materialId),
new SqlParameter("@materialCode",dispatchOrder.materialCode),
new SqlParameter("@materialName",dispatchOrder.materialName),
new SqlParameter("@materialSpec",VHandle(dispatchOrder.materialSpec)),
new SqlParameter("@materialModel",VHandle(dispatchOrder.materialModel )),
new SqlParameter("@projectCode",VHandle(dispatchOrder.projectCode)),
new SqlParameter("@projectName",VHandle(dispatchOrder.projectName)),
new SqlParameter("@routingId",VHandle(dispatchOrder.routingId)),
new SqlParameter("@qty",qty),
new SqlParameter("@planStartTime",planStartDate),
};
//新增生产任务、执行计划(根据计划数量拆分流水号及各工序Moby)
DataLinkMesWork2.DataAccess2.ExecuteStoredProcedure("MOM_生产任务_新增", ref param, out errorMessage);
if (errorMessage != "")
{
throw new Exception(errorMessage);
}
List processInfoList = dispatchOrder.dispatchTask;
for (int i = 0; i < processInfoList.Count; i++)
{
DispatchTask processInfo = processInfoList[i];
if (!ValidateProperty(processInfo.taskId, "taskId", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(processInfo.taskNo, "taskNo", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(processInfo.workOrderProcessId, "workOrderProcessId", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(processInfo.workOrderNo, "workOrderNo", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(processInfo.workCenterId, "workCenterId", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(processInfo.workCenterCode, "workCenterCode", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(processInfo.workCenterName, "workCenterName", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(processInfo.processId, "processId", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(processInfo.processCode, "processCode", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(processInfo.processName, "processName", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(processInfo.materialId, "materialId", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(processInfo.materialCode, "materialCode", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(processInfo.materialName, "materialName", out errorMessage)) throw new Exception(errorMessage);
//if (!ValidateProperty(processInfo.materialModel, "materialModel", out errorMessage))throw new Exception(errorMessage);
//if (!ValidateProperty(processInfo.planStartTime, "planStartTime", out errorMessage))throw new Exception(errorMessage);
//if (!ValidateProperty(processInfo.planEndTime, "planEndTime", out errorMessage))throw new Exception(errorMessage);
if (!ValidateProperty(processInfo.dispatchQty, "dispatchQty", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(processInfo.taskStatus, "taskStatus", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(processInfo.createdAt, "createdAt", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(processInfo.modifiedAt, "modifiedAt", out errorMessage)) throw new Exception(errorMessage);
var param2 = new SqlParameter[] {
new SqlParameter("@orderID", dispatchOrder.orderID),
new SqlParameter("@orderNo", dispatchOrder.orderNo),
new SqlParameter("@taskId", processInfo.taskId),
new SqlParameter("@taskNo", processInfo.taskNo),
new SqlParameter("@workOrderProcessId", processInfo.workOrderProcessId),
new SqlParameter("@workOrderNo", processInfo.workOrderNo),
new SqlParameter("@workCenterId", processInfo.workCenterId),
new SqlParameter("@workCenterCode", processInfo.workCenterCode),
new SqlParameter("@workCenterName", processInfo.workCenterName),
new SqlParameter("@processId", processInfo.processId),
new SqlParameter("@processCode", processInfo.processCode),
new SqlParameter("@processName", processInfo.processName),
new SqlParameter("@materialId", processInfo.materialId),
new SqlParameter("@materialCode", processInfo.materialCode),
new SqlParameter("@materialName", processInfo.materialName),
new SqlParameter("@materialModel", VHandle(processInfo.materialModel)),
new SqlParameter("@planStartTime", VHandle(processInfo.planStartTime)),
new SqlParameter("@planEndTime", VHandle(processInfo.planEndTime)),
new SqlParameter("@dispatchQty",Convert.ToInt32(double.Parse(processInfo.dispatchQty))),
new SqlParameter("@taskStatus", processInfo.taskStatus),
new SqlParameter("@createdAt", processInfo.createdAt),
new SqlParameter("@modifiedAt", processInfo.modifiedAt),
};
DataLinkMesWork2.DataAccess2.ExecuteStoredProcedure("MOM_生产任务_派工任务_新增", ref param2, out errorMessage);
if (errorMessage != "")
{
throw new Exception(errorMessage);
}
List deliveryInfoList = processInfo.deliveryInfo;
for (int j = 0; j < deliveryInfoList.Count; j++)
{
DeliveryInfo deliveryInfo = deliveryInfoList[j];
if (!ValidateProperty(deliveryInfo.deliveryInfoid, "deliveryInfoid", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(deliveryInfo.momid, "momid", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(deliveryInfo.preparationNo, "preparationNo", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(deliveryInfo.materialId, "materialId", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(deliveryInfo.materialCode, "materialCode", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(deliveryInfo.materialName, "materialName", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(deliveryInfo.processId, "processId", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(deliveryInfo.processCode, "processCode", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(deliveryInfo.processName, "processName", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(deliveryInfo.workCenterId, "workCenterId", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(deliveryInfo.workCenterCode, "workCenterCode", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(deliveryInfo.workCenterName, "workCenterName", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(deliveryInfo.requiredQty, "requiredQty", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(deliveryInfo.planTime, "planTime", out errorMessage)) throw new Exception(errorMessage);
var param3 = new SqlParameter[] {
new SqlParameter("@orderID", dispatchOrder.orderID),
new SqlParameter("@orderNo", dispatchOrder.orderNo),
new SqlParameter("@taskId", processInfo.taskId),
new SqlParameter("@taskNo", processInfo.taskNo),
new SqlParameter("@deliveryInfoid", deliveryInfo.deliveryInfoid),
new SqlParameter("@momid", deliveryInfo.momid),
new SqlParameter("@preparationNo", deliveryInfo.preparationNo),
new SqlParameter("@materialId", deliveryInfo.materialId),
new SqlParameter("@materialCode", deliveryInfo.materialCode),
new SqlParameter("@materialName", deliveryInfo.materialName),
new SqlParameter("@materialSpec", VHandle(deliveryInfo.materialSpec)),
new SqlParameter("@materialModel", VHandle(deliveryInfo.materialModel)),
new SqlParameter("@materialDesc", VHandle(deliveryInfo.materialDesc)),
new SqlParameter("@processId", deliveryInfo.processId),
new SqlParameter("@processCode", deliveryInfo.processCode),
new SqlParameter("@processName", deliveryInfo.processName),
new SqlParameter("@workCenterId", deliveryInfo.workCenterId),
new SqlParameter("@workCenterCode", deliveryInfo.workCenterCode),
new SqlParameter("@workCenterName", deliveryInfo.workCenterName),
new SqlParameter("@requiredQty", Convert.ToInt32(double.Parse(deliveryInfo.requiredQty))),
new SqlParameter("@planTime", deliveryInfo.planTime),
new SqlParameter("@batchNo", VHandle(deliveryInfo.batchNo)),
new SqlParameter("@serialNo", VHandle(deliveryInfo.serialNo)),
new SqlParameter("@deliveryPosId", VHandle(deliveryInfo.deliveryPosId)),
new SqlParameter("@deliveryPosCode", VHandle(deliveryInfo.deliveryPosCode)),
new SqlParameter("@deliveryPosName", VHandle(deliveryInfo.deliveryPosName)),
};
DataLinkMesWork2.DataAccess2.ExecuteStoredProcedure("MOM_生产任务_派工任务_配送信息_新增", ref param3, out errorMessage);
if (errorMessage != "")
{
throw new Exception(errorMessage);
}
}
}
//将订单数据转移到MES
var param4 = new SqlParameter[] {
new SqlParameter("@orderID", dispatchOrder.orderID),
};
DataLinkMesWork2.DataAccess2.ExecuteStoredProcedure("MOM_生产任务_平移到MES", ref param4, out errorMessage);
}
catch (Exception err)
{
result.code = 500;
result.message = err.Message;
}
string retString = JsonConvert.SerializeObject(result);
SaveLog_Interface_Response(retString, AID);
MyLog4Net.MyLogHelper.Info("生产任务接口res:", retString);
return retString;
}
///
/// 生产工单接口
///
///
///
///
public static string ProductionOrder(string url, [FromBody] JObject jobj)
{
var result = new MsgResHeader();
result.code = 200;
result.message = "";
string errorMessage = "";
if (jobj == null)
{
result.code = 500;
result.message = "参数格式不正确!";
string retString1 = JsonConvert.SerializeObject(result);
MyLog4Net.MyLogHelper.Info("生产工单接口res:", retString1);
return retString1;
}
string str = jobj.ToString();
//存储日志
SaveLog_Interface_Request(url, 2, str, out int AID);
try
{
// 解析订单内容,存储数据库,根据实际业务来写
ProductionOrder productionOrder = JsonConvert.DeserializeObject(str);
if (!ValidateProperty(productionOrder.OrderID, "orderID", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(productionOrder.OrderNo, "orderNo", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(productionOrder.MaterialId, "materialId", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(productionOrder.MaterialCode, "materialCode", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(productionOrder.MaterialName, "materialName", out errorMessage)) throw new Exception(errorMessage);
var param = new SqlParameter[] {
new SqlParameter("@OrderID",productionOrder.OrderID),
new SqlParameter("@OrderNo",productionOrder.OrderNo),
new SqlParameter("@MaterialId",productionOrder.MaterialId),
new SqlParameter("@MaterialCode",productionOrder.MaterialCode),
new SqlParameter("@MaterialName",productionOrder.MaterialName),
new SqlParameter("@MaterialSpec",VHandle( productionOrder.MaterialSpec)),
new SqlParameter("@MaterialModel",VHandle(productionOrder.MaterialModel)),
new SqlParameter("@OrderType",VHandle(productionOrder.OrderType)),
new SqlParameter("@Clr",VHandle(productionOrder.Clr)),
new SqlParameter("@PlanProdDate",VHandle(productionOrder.PlanProdDate)),
new SqlParameter("@PlanProdQty",VHandle(productionOrder.PlanProdQty)),
new SqlParameter("@PlanOutputDate",VHandle(productionOrder.PlanOutputDate)),
new SqlParameter("@PlanOutputQty",VHandle(productionOrder.PlanOutputQty)),
new SqlParameter("@ProjectNo",VHandle(productionOrder.ProjectNo)),
new SqlParameter("@ProjectName",VHandle(productionOrder.ProjectName)),
new SqlParameter("@PlanId",VHandle(productionOrder.PlanId))
};
//新增生产任务、执行计划(根据计划数量拆分流水号及各工序Moby)
DataLinkMesWork2.DataAccess2.ExecuteStoredProcedure("MOM_生产工单_新增", ref param, out errorMessage);
if (errorMessage != "")
{
throw new Exception(errorMessage);
}
List processInfoList = productionOrder.ProcessPlans;
for (int i = 0; i < processInfoList.Count; i++)
{
ProcessPlan processInfo = processInfoList[i];
if (!ValidateProperty(processInfo.RoutingId, "rountingid", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(processInfo.ProcessPlanId, "processplanid", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(processInfo.ProcessPlanNo, "processplanNo", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(processInfo.WorkOrderProcessId, "workOrderProcessId", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(processInfo.WorkOrderNo, "workOrderNo", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(processInfo.WorkCenterId, "workCenterId", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(processInfo.WorkCenterCode, "workCenterCode", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(processInfo.WorkCenterName, "workCenterName", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(processInfo.ProcessId, "processId", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(processInfo.ProcessCode, "processCode", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(processInfo.ProcessName, "processName", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(processInfo.MaterialId, "materialId", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(processInfo.MaterialCode, "materialCode", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(processInfo.MaterialName, "materialName", out errorMessage)) throw new Exception(errorMessage);
var param2 = new SqlParameter[] {
new SqlParameter("@OrderID", productionOrder.OrderID),
new SqlParameter("@ProcessPlanId", processInfo.ProcessPlanId),
new SqlParameter("@RoutingId", processInfo.RoutingId),
new SqlParameter("@ProcessPlanNo", processInfo.ProcessPlanNo),
new SqlParameter("@WorkOrderProcessId", processInfo.WorkOrderProcessId),
new SqlParameter("@WorkOrderNo", processInfo.WorkOrderNo),
new SqlParameter("@WorkCenterId", processInfo.WorkCenterId),
new SqlParameter("@WorkCenterCode", processInfo.WorkCenterCode),
new SqlParameter("@WorkCenterName", processInfo.WorkCenterName),
new SqlParameter("@ProcessId", processInfo.ProcessId),
new SqlParameter("@ProcessCode", processInfo.ProcessCode),
new SqlParameter("@ProcessName", processInfo.ProcessName),
new SqlParameter("@MaterialId", processInfo.MaterialId),
new SqlParameter("@MaterialCode", processInfo.MaterialCode),
new SqlParameter("@MaterialName", processInfo.MaterialName),
new SqlParameter("@MaterialModel",VHandle(processInfo.MaterialModel)),
new SqlParameter("@PlanStartTime", VHandle(processInfo.PlanStartTime)),
new SqlParameter("@PlanEndTime", VHandle(processInfo.PlanEndTime)),
new SqlParameter("@Qty", processInfo.Qty),
new SqlParameter("@OutQty", processInfo.OutQty),
new SqlParameter("@Status", VHandle(processInfo.Status)),
new SqlParameter("@CreatedAt", VHandle(processInfo.CreatedAt)),
new SqlParameter("@ModifiedAt", VHandle(processInfo.ModifiedAt))
};
DataLinkMesWork2.DataAccess2.ExecuteStoredProcedure("MOM_生产工单_工单工序_新增", ref param2, out errorMessage);
if (errorMessage != "")
{
throw new Exception(errorMessage);
}
List deliveryInfoList = processInfo.DeliveryInfo;
for (int j = 0; j < deliveryInfoList.Count; j++)
{
DeliveryMaterialInfo deliveryInfo = deliveryInfoList[j];
if (!ValidateProperty(deliveryInfo.DeliveryInfoId, "deliveryInfoid", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(deliveryInfo.PreparationNo, "preparationNo", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(deliveryInfo.MaterialId, "materialId", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(deliveryInfo.MaterialCode, "materialCode", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(deliveryInfo.MaterialName, "materialName", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(deliveryInfo.ProcessId, "processId", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(deliveryInfo.ProcessCode, "processCode", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(deliveryInfo.ProcessName, "processName", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(deliveryInfo.WorkCenterId, "workCenterId", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(deliveryInfo.WorkCenterCode, "workCenterCode", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(deliveryInfo.WorkCenterName, "workCenterName", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(deliveryInfo.RequiredQty, "requiredQty", out errorMessage)) throw new Exception(errorMessage);
if (!ValidateProperty(deliveryInfo.PlanTime, "planTime", out errorMessage)) throw new Exception(errorMessage);
var param3 = new SqlParameter[] {
new SqlParameter("@OrderId", productionOrder.OrderID),
new SqlParameter("@ProcessPlanId", processInfo.ProcessPlanId),
new SqlParameter("@DeliveryInfoId", deliveryInfo.DeliveryInfoId),
new SqlParameter("@PreparationNo", deliveryInfo.PreparationNo),
new SqlParameter("@MaterialId", deliveryInfo.MaterialId),
new SqlParameter("@MaterialCode", deliveryInfo.MaterialCode),
new SqlParameter("@MaterialName", deliveryInfo.MaterialName),
new SqlParameter("@MaterialSpec",VHandle(deliveryInfo.MaterialSpec)),
new SqlParameter("@MaterialModel", VHandle(deliveryInfo.MaterialModel)),
new SqlParameter("@MaterialDesc", VHandle(deliveryInfo.MaterialDesc)),
new SqlParameter("@ProcessId", deliveryInfo.ProcessId),
new SqlParameter("@ProcessCode", deliveryInfo.ProcessCode),
new SqlParameter("@ProcessName", deliveryInfo.ProcessName),
new SqlParameter("@WorkCenterId", deliveryInfo.WorkCenterId),
new SqlParameter("@WorkCenterCode", deliveryInfo.WorkCenterCode),
new SqlParameter("@WorkCenterName", deliveryInfo.WorkCenterName),
new SqlParameter("@RequiredQty", deliveryInfo.RequiredQty),
new SqlParameter("@PlanTime", deliveryInfo.PlanTime)
};
DataLinkMesWork2.DataAccess2.ExecuteStoredProcedure("MOM_生产工单_工单工序_工单备料_新增", ref param3, out errorMessage);
if (errorMessage != "")
{
throw new Exception(errorMessage);
}
}
}
//将订单数据转移到MES
//var param4 = new SqlParameter[] {
// new SqlParameter("@orderID", productionOrder.orderID),
// };
//DataAccess.ExecuteStoredProcedure("MOM_生产任务_平移到MES", ConnectionString, ref param4, out errorMessage);
}
catch (Exception err)
{
result.code = 500;
result.message = err.Message;
}
string retString = JsonConvert.SerializeObject(result);
SaveLog_Interface_Response(retString, AID);
MyLog4Net.MyLogHelper.Info("工艺信息接口res:", retString);
return retString;
}
///
/// 缓存位置查询
///
///
///
///
public static string AGV_To_AMS_LineSideStock(string url, [FromBody] JObject jobj)
{
var result = new Res_LineSideStock();
result.Code = 200;
result.Message = "";
result.Data = null;
string errorMessage = "";
if (jobj == null)
{
result.Code = 500;
result.Message = "参数格式不正确!";
string retString1 = JsonConvert.SerializeObject(result);
MyLog4Net.MyLogHelper.Info("缓存位置查询res:", retString1);
return retString1;
}
string str = jobj.ToString();
//存储日志
SaveLog_Interface_Request(url, 2, str, out int AID);
try
{
// 解析订单内容,存储数据库,根据实际业务来写
LineSideStock LSSScheme = JsonConvert.DeserializeObject(str);
if (string.IsNullOrEmpty(LSSScheme.RequestId))
{
throw new Exception("参数requestId值不正确!");
}
if (string.IsNullOrEmpty(LSSScheme.Process))
{
throw new Exception("参数process值不正确!");
}
var param = new SqlParameter[]
{
new SqlParameter("@Process",LSSScheme.Process)
};
DataLinkMesWork2.DataAccess2.ExecuteStoredProcedure("MOM_缓存位置_查询", ref param, out DataTable dt_lss, out errorMessage);
////////////////////List lssData = new List();
////////////////////foreach (DataRow dr in dt_lss.Rows)
////////////////////{
//////////////////// LSSData lssData = new LSSData();
//////////////////// lssData.ProcessNo = LSSScheme.Process;
//////////////////// lssData.LocationNo = dr["工位号"].ToString();
////////////////////}
////////////////////lssData.ProcessNo = LSSScheme.Process;
////////////////////lssData.LocationNo = errorMessage;
////////////////////lssData.
////////////////////result.Data = responseDatas;
}
catch (Exception err)
{
result.Code = 500;
result.Message = err.Message;
}
string retString = JsonConvert.SerializeObject(result);
SaveLog_Interface_Response(retString, AID);
MyLog4Net.MyLogHelper.Info("缓存位置查询res:", retString);
return retString;
}
///
/// 点检计划
///
///
///
///
public static string InspectionPlan(string url, [FromBody] JObject jobj)
{
var result = new ApiResponse();
result.Code = 200;
result.Message = "";
result.Data = new List();
string errorMessage = "";
if (jobj == null)
{
result.Code = 500;
result.Message = "参数格式不正确!";
string retString1 = JsonConvert.SerializeObject(result);
MyLog4Net.MyLogHelper.Info("点检计划res:", retString1);
return retString1;
}
string str = jobj.ToString();
//存储日志
SaveLog_Interface_Request(url, 2, str, out int AID);
try
{
// 解析订单内容,存储数据库,根据实际业务来写
InspectionPlan Scheme = JsonConvert.DeserializeObject(str);
if (string.IsNullOrWhiteSpace(Scheme.Id))
{
throw new Exception("参数id值不正确!");
}
else if (string.IsNullOrWhiteSpace(Scheme.Code))
{
throw new Exception("参数code值不正确!");
}
else if (string.IsNullOrWhiteSpace(Scheme.Name))
{
throw new Exception("参数name值不正确!");
}
var param = new SqlParameter[] {
new SqlParameter("@点检计划ID",Scheme.Id),
new SqlParameter("@点检编号",Scheme.Code),
new SqlParameter("@点检名称",Scheme.Name),
new SqlParameter("@编制单位编码",VHandle(Scheme.CompileUnitCode)),
new SqlParameter("@编制单位名称",VHandle(Scheme.CompileUnitName)),
new SqlParameter("@点检类别编号",VHandle(Scheme.CheckTypeCode)),
new SqlParameter("@点检类别名称",VHandle(Scheme.CheckTypeName)),
new SqlParameter("@是否周期计划",VHandle(Scheme.IsCyclePlan)),
new SqlParameter("@点检周期",VHandle(Scheme.CheckCycle)),
new SqlParameter("@周期单位",VHandle(Scheme.CycleUnit)),
new SqlParameter("@下次点检时间",VHandle(Scheme.NextCheckTime)),
new SqlParameter("@计划状态",VHandle(Scheme.PlanStatus)),
new SqlParameter("@巡检",VHandle(Scheme.WhetherInspect)),
new SqlParameter("@任务有效期",VHandle(Scheme.TaskValidityPeriod)),
new SqlParameter("@有效期单位",VHandle(Scheme.ValidityUnit)),
new SqlParameter("@提前生成",VHandle(Scheme.DaysAhead)),
new SqlParameter("@提前单位",VHandle(Scheme.AheadUnit))
};
DataLinkMesWork2.DataAccess2.ExecuteStoredProcedure("MOM_点检计划_新增", ref param, out errorMessage);
if (errorMessage != "")
{
throw new Exception(errorMessage);
}
List checkObjectList = Scheme.CheckObjects;
for (int i = 0; i < checkObjectList.Count; i++)
{
MisDataSaveDate.MOM.CheckObject checkObject = checkObjectList[i];
if (string.IsNullOrWhiteSpace(checkObject.CheckObjectId))
{
throw new Exception("参数checkobjectsid值不正确!");
}
var param2 = new SqlParameter[] {
new SqlParameter("@点检计划ID",Scheme.Id),
new SqlParameter("@点检对象ID",checkObject.CheckObjectId),
new SqlParameter("@资产编号",VHandle(checkObject.AssetCode)),
new SqlParameter("@资产名称",VHandle(checkObject.AssetName)),
new SqlParameter("@资产位置",VHandle(checkObject.PositionCode)),
new SqlParameter("@资产位置名称",VHandle(checkObject.PositionName)),
new SqlParameter("@计划点检人编号",VHandle(checkObject.PlanCheckerCode)),
new SqlParameter("@计划点检人名称",VHandle(checkObject.PlanCheckerName))
};
DataLinkMesWork2.DataAccess2.ExecuteStoredProcedure("MOM_点检计划_点检对象_新增", ref param2, out errorMessage);
if (errorMessage != "")
{
throw new Exception(errorMessage);
}
List checkDetailList = checkObject.Details;
for (int j = 0; j < checkDetailList.Count; j++)
{
MisDataSaveDate.MOM.CheckDetail checkDetail = checkDetailList[j];
if (string.IsNullOrWhiteSpace(checkDetail.DetailId))
{
throw new Exception("参数detailid值不正确!");
}
if (string.IsNullOrWhiteSpace(checkDetail.CheckItem))
{
throw new Exception("参数checkitem值不正确!");
}
if (string.IsNullOrWhiteSpace(checkDetail.CheckContent))
{
throw new Exception("参数checkcontent值不正确!");
}
if (string.IsNullOrWhiteSpace(checkDetail.CheckMethodName))
{
throw new Exception("参数checkmethodname值不正确!");
}
var param3 = new SqlParameter[] {
new SqlParameter("@点检计划ID",Scheme.Id),
new SqlParameter("@点检对象ID",checkObject.CheckObjectId),
new SqlParameter("@详细信息ID",checkDetail.DetailId),
new SqlParameter("@点检部位",VHandle(checkDetail.CheckPart)),
new SqlParameter("@点检项目",checkDetail.CheckItem),
new SqlParameter("@点检内容",checkDetail.CheckContent),
new SqlParameter("@点检方法编号",VHandle(checkDetail.CheckMethodCode)),
new SqlParameter("@点检方法名称",checkDetail.CheckMethodName),
new SqlParameter("@标准要求",VHandle(checkDetail.StandardClaim)),
new SqlParameter("@结果类型",VHandle(checkDetail.ResultType)),
new SqlParameter("@结果选项ID",VHandle(checkDetail.ResultOptionsIds)),
new SqlParameter("@结果选项",VHandle(checkDetail.ResultOptions)),
new SqlParameter("@异常对策编号",VHandle(checkDetail.AbnormalMeasuresCode)),
new SqlParameter("@异常对策名称",VHandle(checkDetail.AbnormalMeasuresName)),
new SqlParameter("@点检状态编号",VHandle(checkDetail.CheckStatusEnumCode)),
new SqlParameter("@点检状态名称",VHandle(checkDetail.CheckStatusEnumName)),
new SqlParameter("@必须拍照",VHandle(checkDetail.IsPhotographed)),
new SqlParameter("@计划点检人编号",VHandle(checkDetail.PlanCheckerCode)),
new SqlParameter("@计划点检人名称",VHandle(checkDetail.PlanCheckerName)),
new SqlParameter("@最后点检时间",VHandle(checkDetail.LastCheckTime))
};
DataLinkMesWork2.DataAccess2.ExecuteStoredProcedure("MOM_点检计划_点检对象_详细信息_新增", ref param3, out errorMessage);
if (errorMessage != "")
{
throw new Exception(errorMessage);
}
}
}
// 仅在 data 中返回一条顶层ID结果
var headerRes = new Response_Data();
headerRes.Code = string.IsNullOrEmpty(errorMessage) ? 200 : 500;
headerRes.Message = errorMessage;
headerRes.DataId = Scheme.Id;
result.Data.Add(headerRes);
}
catch (Exception err)
{
result.Code = 500;
result.Message = err.Message;
}
string retString = JsonConvert.SerializeObject(result);
SaveLog_Interface_Response(retString, AID);
MyLog4Net.MyLogHelper.Info("点检计划res:", retString);
return retString;
}
///
/// 检验模板信息接收接口
///
///
///
///
public static string QTItemTemplateInfo(string url, [FromBody] JObject jobj)
{
var result = new ApiResponse();
result.Code = 200;
result.Message = "";
result.Data = new List();
string errorMessage = "";
if (jobj == null)
{
result.Code = 500;
result.Message = "参数格式不正确!";
string retString1 = JsonConvert.SerializeObject(result);
MyLog4Net.MyLogHelper.Info("检验模板信息res:", retString1);
return retString1;
}
string str = jobj.ToString();
//存储日志
SaveLog_Interface_Request(url, 2, str, out int AID);
try
{
// 解析订单内容,存储数据库,根据实际业务来写
QTTemplateInfo Scheme = JsonConvert.DeserializeObject(str);
if (string.IsNullOrWhiteSpace(Scheme.Id))
{
throw new Exception("参数id值不正确!");
}
else if (string.IsNullOrWhiteSpace(Scheme.Code))
{
throw new Exception("参数code值不正确!");
}
else if (string.IsNullOrWhiteSpace(Scheme.Name))
{
throw new Exception("参数name值不正确!");
}
else if (string.IsNullOrWhiteSpace(Scheme.State))
{
throw new Exception("参数name值不正确!");
}
else if (Scheme.Type == null)
{
throw new Exception("参数type值不正确!");
}
var param = new SqlParameter[] {
new SqlParameter("@Id",Scheme.Id),
new SqlParameter("@Code",Scheme.Code),
new SqlParameter("@Name",Scheme.Name),
new SqlParameter("@Note",VHandle(Scheme.Note)),
new SqlParameter("@ClassIdentifier1",VHandle(Scheme.ClassIdentifier1)),
new SqlParameter("@ClassIdentifier2",VHandle(Scheme.ClassIdentifier2)),
new SqlParameter("@ClassIdentifier3",VHandle(Scheme.ClassIdentifier3)),
new SqlParameter("@ClassIdentifier4",VHandle(Scheme.ClassIdentifier4)),
new SqlParameter("@ClassIdentifier5",VHandle(Scheme.ClassIdentifier5)),
new SqlParameter("@ClassIdentifier6",VHandle(Scheme.ClassIdentifier6)),
new SqlParameter("@ClassIdentifier7",VHandle(Scheme.ClassIdentifier7)),
new SqlParameter("@ClassIdentifier8",VHandle(Scheme.ClassIdentifier8)),
new SqlParameter("@FileData",VHandle(Scheme.FileData)),
new SqlParameter("@State",Scheme.State),
new SqlParameter("@CreateUserId",VHandle(Scheme.CreateUserId)),
new SqlParameter("@CreateUser",VHandle(Scheme.CreateUser)),
new SqlParameter("@CreateTime",VHandle(Scheme.CreateTime)),
new SqlParameter("@LastModifiedUserId",VHandle(Scheme.LastModifiedUserId)),
new SqlParameter("@LastModifiedUser",VHandle(Scheme.LastModifiedUser)),
new SqlParameter("@LastModifiedTime",VHandle(Scheme.LastModifiedTime)),
new SqlParameter("@ProductionWorkCenterId",VHandle(Scheme.ProductionWorkCenter.ProductionWorkCenter)),
new SqlParameter("@ProductionWorkCenterCode",VHandle(Scheme.ProductionWorkCenter.ProductionWorkCenterPpsczxZxbh)),
new SqlParameter("@ProductionWorkCenterName",VHandle(Scheme.ProductionWorkCenter.ProductionWorkCenterNameChs)),
new SqlParameter("@MaterialId",VHandle(Scheme.Material.MaterialId)),
new SqlParameter("@MaterialCode",VHandle(Scheme.Material.MaterialIdCode)),
new SqlParameter("@MaterialName",VHandle(Scheme.Material.MaterialIdNameChs)),
new SqlParameter("@TypeId",VHandle(Scheme.Type.TypeID)),
new SqlParameter("@TypeCode",VHandle(Scheme.Type.TypeCode)),
new SqlParameter("@TypeName",VHandle(Scheme.Type.TypeName)),
new SqlParameter("@ProcedureId",VHandle(Scheme.Process.ProcedureId)),
new SqlParameter("@ProcedureCode",VHandle(Scheme.Process.ProcedureIdPpbzgxGxbh)),
new SqlParameter("@ProcedureName",VHandle(Scheme.Process.ProcedureIdNameChs)),
new SqlParameter("@MaterialTypeId",VHandle(Scheme.MaterialType.MaterialTypeValue)),
new SqlParameter("@MaterialTypeCode",VHandle(Scheme.MaterialType.MaterialTypeCode)),
new SqlParameter("@MaterialTypeName",VHandle(Scheme.MaterialType.MaterialTypeNameChs)),
new SqlParameter("@QualityOrgId",VHandle(Scheme.QualityOrg.QualityOrgValue)),
new SqlParameter("@QualityOrgCode",VHandle(Scheme.QualityOrg.QualityOrgPpzzzlZzbh)),
new SqlParameter("@QualityOrgName",VHandle(Scheme.QualityOrg.QualityOrgNameChs)),
new SqlParameter("@ProductionOrgId",VHandle(Scheme.ProductionOrg.ProductionOrgValue)),
new SqlParameter("@ProductionOrgCode",VHandle(Scheme.ProductionOrg.ProductionOrgPpzzscZzbh)),
new SqlParameter("@ProductionOrgName",VHandle(Scheme.ProductionOrg.ProductionOrgNameChs))
};
DataLinkMesWork2.DataAccess2.ExecuteStoredProcedure("MOM_检验模板_新增", ref param, out errorMessage);
List checkItemList = Scheme.RecordTemplateItems;
for (int i = 0; i < checkItemList.Count; i++)
{
MisDataSaveDate.MOM.RecordTemplateItem checkItem = checkItemList[i];
if (string.IsNullOrWhiteSpace(checkItem.Id))
{
throw new Exception("参数recordtemplateitems.id值不正确!");
}
var param2 = new SqlParameter[] {
new SqlParameter("@Id",checkItem.Id),
new SqlParameter("@TemplateId",Scheme.Id),
new SqlParameter("@LineNum",VHandle(checkItem.LineNum)),
new SqlParameter("@InspectionItemName",VHandle(checkItem.InspectionItemName)),
new SqlParameter("@InspectionItemsType",VHandle(checkItem.InspectionItemsType)),
new SqlParameter("@RequirementDesc",VHandle(checkItem.RequirementDesc)),
new SqlParameter("@DefaultValue",VHandle(checkItem.DefaultValue)),
new SqlParameter("@Note",VHandle(checkItem.Note)),
new SqlParameter("@UploadAttachments",VHandle(checkItem.UploadAttachments)),
new SqlParameter("@InspectKey",VHandle(checkItem.InspectKey)),
new SqlParameter("@MutualInspect",VHandle(checkItem.MutualInspect)),
new SqlParameter("@SpecialInspect",VHandle(checkItem.SpecialInspect)),
new SqlParameter("@SelfInspect",VHandle(checkItem.SelfInspect)),
new SqlParameter("@FirstInspect",VHandle(checkItem.FirstInspect)),
new SqlParameter("@Importance",VHandle(checkItem.Importance)),
new SqlParameter("@RequiredText",VHandle(checkItem.RequiredText)),
new SqlParameter("@AutoAdject",VHandle(checkItem.AutoAdject)),
new SqlParameter("@InspectionItemId",VHandle(checkItem.InspectionItem.inspectionItemId)),
new SqlParameter("@InspectionItemCode",VHandle(checkItem.InspectionItem.InspectionItemIdCode)),
new SqlParameter("@InspectionItemNameChs",VHandle(checkItem.InspectionItem.InspectionItemIdNameChs)),
new SqlParameter("@DefaultResultValueId",VHandle(checkItem.DefaultResult.defaultResultValue)),
new SqlParameter("@DefaultResultValueCode",VHandle(checkItem.DefaultResult.DefaultResultValueCode)),
new SqlParameter("@DefaultResultValueName",VHandle(checkItem.DefaultResult.DefaultResultValueName)),
};
DataLinkMesWork2.DataAccess2.ExecuteStoredProcedure("MOM_检验模板_检验项目_新增", ref param2, out errorMessage);
List xmInspectFileList = Scheme.XmInspectFile;
for (int j = 0; j < xmInspectFileList.Count; j++)
{
MisDataSaveDate.MOM.XmInspectFile xmInspectFile = xmInspectFileList[j];
if (string.IsNullOrWhiteSpace(xmInspectFile.Id))
{
throw new Exception("参数xm_inspectfile.id值不正确!");
}
var param3 = new SqlParameter[] {
new SqlParameter("@Id",xmInspectFile.Id),
new SqlParameter("@TemplateId",Scheme.Id),
new SqlParameter("@FileId",VHandle(xmInspectFile.FileId)),
new SqlParameter("@FileName",VHandle(xmInspectFile.FileName)),
new SqlParameter("@FileExt",VHandle(xmInspectFile.FileExt)),
new SqlParameter("@FileSize",VHandle(xmInspectFile.FileSize)),
new SqlParameter("@FileUser",VHandle(xmInspectFile.FileUser)),
};
DataLinkMesWork2.DataAccess2.ExecuteStoredProcedure("MOM_检验模板_附件表_新增", ref param3, out errorMessage);
}
}
// 仅在 data 中返回一条顶层ID结果
var headerRes = new Response_Data();
headerRes.Code = string.IsNullOrEmpty(errorMessage) ? 200 : 500;
headerRes.Message = errorMessage;
headerRes.DataId = Scheme.Id;
result.Data.Add(headerRes);
}
catch (Exception err)
{
result.Code = 500;
result.Message = err.Message;
}
string retString = JsonConvert.SerializeObject(result);
SaveLog_Interface_Response(retString, AID);
MyLog4Net.MyLogHelper.Info("检验模板信息res:", retString);
return retString;
}
///
/// 删除派工订单接口
///
///
///
///
public static string DeleteDispatchOrder(string url, [FromBody] JObject jobj)
{
var result = new MsgResHeader