using Newtonsoft.Json.Linq;
|
using System;
|
using System.Collections.Generic;
|
using System.Data;
|
using System.Linq;
|
using System.Net;
|
using System.Net.Http;
|
using System.Web.Http;
|
using WebAPI.Models;
|
|
namespace WebAPI.Controllers.SCGL
|
{
|
public class Sc_MESBeginWorkBillController : ApiController
|
{
|
private json objJsonResult = new json();
|
public DataSet ds = new DataSet();
|
public WebServer webserver = new WebServer();
|
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
|
|
#region 开工单
|
|
#region 开工单列表
|
|
[Route("Sc_MESBeginWorkBill/GetMESBeginWorkBill")]
|
[HttpGet]
|
public object GetMESBeginWorkBill(string sWhere)
|
{
|
try
|
{
|
|
ds = Sc_GetMESBeginWorkBill(sWhere);
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "返回记录成功!";
|
objJsonResult.data = ds.Tables[0];
|
return objJsonResult;
|
}
|
catch (Exception ex)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "没有返回任何记录!" + ex.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
|
public static DataSet Sc_GetMESBeginWorkBill(string sWhere)
|
{
|
if (sWhere == null || sWhere.Equals(""))
|
{
|
return new SQLHelper.ClsCN().RunProcReturn("select * from h_v_Sc_MESBeginWorkBillList_NEW ", "h_v_Sc_MESBeginWorkBillList_NEW");
|
}
|
else
|
{
|
string sql1 = "select * from h_v_Sc_MESBeginWorkBillList_NEW where 1 = 1 ";
|
string sql = sql1 + sWhere;
|
return new SQLHelper.ClsCN().RunProcReturn(sql, "h_v_Sc_MESBeginWorkBillList_NEW");
|
}
|
|
}
|
|
#endregion
|
|
#region[开工单编辑时获取表头数据]
|
[Route("Sc_MESBeginWorkBill/Sc_MESBeginWorkBillListCheckDetai")]
|
[HttpGet]
|
public ApiResult<DataSet> Sc_MESBeginWorkBillListCheckDetai(string HID)
|
{
|
if (string.IsNullOrEmpty(HID))
|
return new ApiResult<DataSet> { code = -1, msg = "ID不能为空" };
|
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
|
|
var dataSet = oCN.RunProcReturn("select top 1 * from h_v_Sc_MESBeginWorkBillList_NEW where hmainid= " + HID + " ", "h_v_Sc_MESBeginWorkBillList_NEW");
|
if (dataSet == null || dataSet.Tables[0].Rows.Count == 0)
|
return new ApiResult<DataSet> { code = -1, msg = "不存在开工单号" };
|
|
return new ApiResult<DataSet> { code = 1, msg = "查询成功", data = dataSet };
|
}
|
#endregion
|
|
#region 开工单保存/编辑
|
/// <summary>
|
/// 开工单
|
/// </summary>
|
/// <param name="msg"></param>
|
/// <returns></returns>
|
[Route("Sc_MESBeginWorkBill/SaveGetMESBeginWorkBillList")]
|
[HttpPost]
|
public object SaveGetMESBeginWorkBillList([FromBody] JObject msg)
|
{
|
var _value = msg["msg"].ToString();
|
string msg1 = _value.ToString();
|
string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
|
string msg2 = sArray[0].ToString();
|
|
|
|
string UserName = "";
|
ListModels oListModels = new ListModels();
|
try
|
{
|
DLL.ClsSc_MESBeginWorkBill oBill = new DLL.ClsSc_MESBeginWorkBill();
|
List<Models.ClsSc_MESBeginWorkBillMain> lsmain = new List<Models.ClsSc_MESBeginWorkBillMain>();
|
msg2 = msg2.Replace("\\", "");
|
msg2 = msg2.Replace("\n", ""); //\n
|
lsmain = oListModels.getObjectByJson_Gy_MESBeginWorkBillMain(msg2);
|
foreach (Models.ClsSc_MESBeginWorkBillMain oItem in lsmain)
|
{
|
//oItem.HMaker = "";
|
UserName = oItem.HMaker; //制单人
|
oItem.HBillType = "3787";
|
oItem.HBillSubType = "3787";
|
//oItem.HBillNo = ""; //单据号
|
//oItem.HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));// --日期
|
//oItem.HInnerBillNo = ""; // --内部单据号
|
oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
|
oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
|
oItem.HBarCodeMakeDate = Convert.ToDateTime(DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"))); //扫描日期(年-月-日-时-分-秒)
|
//oItem.HEquipID = 0; //设备ID(Gy_EquipMent)
|
//oItem.HPeriod = 0;
|
//oItem.HCheckBeginDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd")); // --维修日期
|
//oItem.HCheckResult = ""; //验收结论--(正常,异常)
|
//oItem.HEmpID = 0; //验收人(Gy_Employee)
|
//oItem.HManagerID = 0; //负责人(Gy_Employee)
|
//oItem.HDeptID = 0; //验收部门(Gy_Department)
|
//oItem.HExplanation = ""; //摘要(故障描述)
|
//oItem.HRemark = ""; //备注
|
|
//oItem.HMainSourceInterID = oItem.HInterID;
|
|
//oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo);
|
if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "保存失败!没有单据日期,无法保存!";
|
objJsonResult.data = 1;
|
return objJsonResult;
|
}
|
oBill.omodel = oItem;
|
}
|
|
//保存
|
//保存完毕后处理
|
bool bResult;
|
if (oBill.omodel.HInterID == 0)
|
{
|
// bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
|
bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
|
}
|
else
|
{
|
bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
|
}
|
if (bResult)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "保存成功!";
|
//WebAPIController.Add_Log("送货单下推", UserName, "生成送货单");
|
objJsonResult.data = 1;
|
return objJsonResult;
|
}
|
else
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo;
|
objJsonResult.data = 1;
|
return objJsonResult;
|
}
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "保存失败!" + e.ToString();
|
objJsonResult.data = 1;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
#region [开工单删除功能]
|
/// <summary>
|
/// 开工单删除功能
|
/// </summary>
|
/// <returns></returns>
|
[Route("Sc_MESBeginWorkBill/DeltetMESBeginWorkBill")]
|
[HttpGet]
|
public object DeltetMESBeginWorkBill(string HInterID)
|
{
|
//编辑权限
|
//if (!DBUtility.ClsPub.Security_Log("Sc_MESBeginWorkBill_Delete", 1, true, DBUtility.ClsPub.CurUserName))
|
//{
|
// objJsonResult.code = "0";
|
// objJsonResult.count = 0;
|
// objJsonResult.Message = "无删除权限!";
|
// objJsonResult.data = null;
|
// return objJsonResult;
|
//}
|
|
|
Int64 lngBillKey = 0;
|
lngBillKey = DBUtility.ClsPub.isLong(HInterID);
|
if (lngBillKey == 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据ID为空!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
DLL.ClsSc_MESBeginWorkBill oBill = new DLL.ClsSc_MESBeginWorkBill();
|
if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
|
{
|
if (oBill.omodel.HBillStatus > 1)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据当前处于不能删除状态,不能删除!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
if (oBill.omodel.HChecker != "")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据已经审核,不能删除!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
bool IsDete = oBill.DeleteBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
|
if (IsDete)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 1;
|
objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
else
|
{
|
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
else
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据未找到";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
#endregion
|
|
|
#region 报工平台开工单弹窗查找数据
|
[Route("Sc_MESBeginWorkBill/GetMESBeginWorkFrom")]
|
[HttpGet]
|
public object GetMESBeginWorkFrom(string HSourceInterID,string HSourceEntryID,string HSourceBillNo,string HSourceBillType)
|
{
|
try
|
{
|
//根据选择资源ID获取当前生产工单、责任人
|
ds = oCN.RunProcReturn("exec h_p_JIT_GetInfoByICMOStatusInterID @HSourceInterID=" + HSourceInterID + ",@HSourceEntryID="+ HSourceEntryID + ",@HSourceBillNo='"+ HSourceBillNo + "',@HSourceBillType='"+ HSourceBillType + "'", "h_p_JIT_GetInfoByICMOStatusInterID");
|
if (ds.Tables[0].Rows.Count > 0)
|
{
|
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "获取资源绑定数据成功!";
|
objJsonResult.data = ds;
|
return objJsonResult;
|
}
|
else
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "暂无资源绑定!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
catch (Exception e)
|
{
|
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = e.Message.ToString();
|
objJsonResult.data = null;
|
|
}
|
return objJsonResult;
|
}
|
#endregion
|
|
#region 报工平台开工单保存/编辑
|
/// <summary>
|
/// 开工单
|
/// </summary>
|
/// <param name="msg"></param>
|
/// <returns></returns>
|
[Route("Sc_MESBeginWorkBill/SaveGetMESBeginWorkFrom")]
|
[HttpPost]
|
public object SaveGetMESBeginWorkFrom([FromBody] JObject msg)
|
{
|
var _value = msg["msg"].ToString();
|
string msg1 = _value.ToString();
|
string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
|
string msg2 = sArray[0].ToString();
|
|
|
|
|
ListModels oListModels = new ListModels();
|
try
|
{
|
DLL.ClsSc_MESBeginWorkBill oBill = new DLL.ClsSc_MESBeginWorkBill();
|
List<Models.ClsSc_MESBeginWorkBillMain> lsmain = new List<Models.ClsSc_MESBeginWorkBillMain>();
|
msg2 = msg2.Replace("\\", "");
|
msg2 = msg2.Replace("\n", ""); //\n
|
lsmain = oListModels.getObjectByJson_Gy_MESBeginWorkFrom(msg2);
|
foreach (Models.ClsSc_MESBeginWorkBillMain oItem in lsmain)
|
{
|
oItem.HBillType = "3787";
|
oItem.HBillSubType = "3787";
|
oItem.HBillStatus = 1; //单据状态(1未审,2审核通过,3关闭,4作废,5审核退回,6审核中,7已阅,8已回复,9结案,10验证,11下达,12开工,13申请审批,15申请检验,16 判定合格,17判定不合格)
|
oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
|
oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
|
oItem.HBarCodeMakeDate = Convert.ToDateTime(DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"))); //扫描日期(年-月-日-时-分-秒)
|
if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "保存失败!没有单据日期,无法保存!";
|
objJsonResult.data = 1;
|
return objJsonResult;
|
}
|
oBill.omodel = oItem;
|
}
|
|
//保存
|
//保存完毕后处理
|
bool bResult;
|
if (oBill.omodel.HInterID == 0)
|
{
|
// bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
|
bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
|
}
|
else
|
{
|
bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
|
}
|
if (bResult)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "保存成功!";
|
objJsonResult.data = 1;
|
return objJsonResult;
|
}
|
else
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo;
|
objJsonResult.data = 1;
|
return objJsonResult;
|
}
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = e.Message;
|
objJsonResult.data = 1;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
|
#region 报工平台报检申请列表(产量汇报列表)
|
[Route("Sc_MESBeginWorkBill/GetMESProductReportBillList")]
|
[HttpGet]
|
public object GetMESProductReportBillList(string sWhere)
|
{
|
try
|
{
|
|
ds = Sc_GetMESProductReportBillList(sWhere);
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "返回记录成功!";
|
objJsonResult.data = ds.Tables[0];
|
return objJsonResult;
|
}
|
catch (Exception ex)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "没有返回任何记录!" + ex.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
|
public static DataSet Sc_GetMESProductReportBillList(string sWhere)
|
{
|
string sql = string.Format(@"select a.HBillNo,a.HDate,a.HBillType,a.HMaterID,m.HNumber HMaterCode,m.HName HMaterName,m.HModel HMaterSpec
|
,a.HSourceID,s.HNumber HSourceCode,s.HName HSourceName,a.HGroupID,g.HNumber HGroupCode,g.HName HGroupName
|
,a.HWorkManID,e.HName HWorkManName,a.HMaker,a.HMakeDate, a.HReportType
|
,a.HQty,a.HICMOBillNo,a.HICMOInterID,a.HICMOEntryID
|
,a.HSourceInterID,a.HSourceEntryID,a.HSourceBillNo, a.HSourceBillType
|
from Sc_ICMOBillWorkQtyStatus_Tmp a
|
left join Gy_Material m on a.HMaterID=m.hitemid
|
left join Gy_Source s on a.HSourceID=s.HItemID
|
left join Gy_Group g on a.HGroupID=g.HItemID
|
left join Gy_Employee e on a.HWorkManID=e.HItemID "+sWhere+"");
|
return new SQLHelper.ClsCN().RunProcReturn(sql, "Sc_ICMOBillWorkQtyStatus_Tmp");
|
}
|
#endregion
|
|
#region 报工平台产量汇报保存/编辑
|
/// <summary>
|
/// 开工单
|
/// </summary>
|
/// <param name="msg"></param>
|
/// <returns></returns>
|
[Route("Sc_MESBeginWorkBill/SaveGetMESProductReportFrom")]
|
[HttpPost]
|
public object SaveGetMESProductReportFrom([FromBody] JObject msg)
|
{
|
var _value = msg["msg"].ToString();
|
string msg1 = _value.ToString();
|
string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
|
string msg2 = sArray[0].ToString();
|
|
|
|
|
ListModels oListModels = new ListModels();
|
try
|
{
|
DLL.ClsSc_ICMOBillWorkQtyStatus_Tmp oBill = new DLL.ClsSc_ICMOBillWorkQtyStatus_Tmp();
|
List<Models.ClsSc_ICMOBillWorkQtyStatus_Tmp> lsmain = new List<Models.ClsSc_ICMOBillWorkQtyStatus_Tmp>();
|
msg2 = msg2.Replace("\\", "");
|
msg2 = msg2.Replace("\n", ""); //\n
|
lsmain = oListModels.getObjectByJson_Gy_MESProductReportFrom(msg2);
|
foreach (Models.ClsSc_ICMOBillWorkQtyStatus_Tmp oItem in lsmain)
|
{
|
oItem.HBillType = "3724";
|
oItem.HBillSubType = "3724";
|
oItem.HReportType = 3;//(1条码扫描,2机器汇报,3手工录入)
|
oItem.HBillStatus = 1; //单据状态(1未审,2审核通过,3关闭,4作废,5审核退回,6审核中,7已阅,8已回复,9结案,10验证,11下达,12开工,13申请审批,15申请检验,16 判定合格,17判定不合格)
|
if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "保存失败!没有单据日期,无法保存!";
|
objJsonResult.data = 1;
|
return objJsonResult;
|
}
|
oBill.omodel = oItem;
|
}
|
|
//保存
|
//保存完毕后处理
|
bool bResult;
|
if (oBill.omodel.HInterID == 0)
|
{
|
// bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
|
bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
|
}
|
else
|
{
|
bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
|
}
|
if (bResult)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "保存成功!";
|
objJsonResult.data = 1;
|
return objJsonResult;
|
}
|
else
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo;
|
objJsonResult.data = 1;
|
return objJsonResult;
|
}
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = e.Message;
|
objJsonResult.data = 1;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
|
|
}
|
}
|