using Newtonsoft.Json.Linq; using Pub_Class; using System; using System.Collections; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Web.Http; using WebAPI.Models; namespace WebAPI.Controllers { //工序进站接收单Controller public class Cj_StationInBillController : ApiController { public DBUtility.ClsPub.Enum_BillStatus BillStatus; private json objJsonResult = new json(); SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); DataSet ds; DataSet ds1; /// /// test ///参数:string sql。 ///返回值:object。 /// [Route("Cj_StationInBill/AddBill")] [HttpPost] public object AddBill([FromBody] JObject oMain) { var _value = oMain["oMain"].ToString(); string msg1 = _value.ToString(); try { //委外工序发出反序列化 msg1 = "[" + msg1.ToString() + "]"; List list = Newtonsoft.Json.JsonConvert.DeserializeObject>(msg1); string BillType = "3790"; long HInterID = list[0].HInterID;//递入type得到的单据ID string HBillNo = list[0].HBillNo;//递入type得到的单据号 int HBillStatus = 0; string HMaker = list[0].HMaker;//制单人 int HYear = 2021; double HPeriod = 1; string HRemark = list[0].HRemark;//备注 long HICMOInterID = list[0].HICMOInterID;//任务单ID string HICMOBillNo = list[0].HICMOBillNo;//任务单 int HProcPlanInterID = 0; int HProcPlanEntryID = 0; string HProcPlanBillNo = ""; int HProcExchInterID = 0; int HProcExchEntryID = 0; string HProcExchBillNo = list[0].HProcExchBillNo;//流转卡 long HMaterID = list[0].HMaterID;//产品ID long HProcID = list[0].HProcID;//当前工序 double HICMOQty = list[0].HICMOQty;//任务单数量 double HPlanQty = list[0].HPlanQty;//流转卡数量 long HSourceID = list[0].HSourceID;//生产资源ID long HGroupID = list[0].HGroupID;//班组ID long HDeptID = 0; long HEmpID = list[0].HEmpID;//接收人ID string HBarCode = list[0].HBarCode;//条形码 string HAddr = ""; string HBarCodeMaker = ""; long HSupID = 0; double HQty = list[0].HQty;//接收数量 double HPrice = 0; double HMoney = 0; double HPieceQty = list[0].HPieceQty;//接收件数 string HSourceName = list[0].HSourceName;//生产资源名称 long HCenterID = list[0].HCenterID;//工作中心ID long HProcNo = list[0].HProcNo;//流水号 string HOrderProcNO = list[0].HOrderProcNO;//订单跟踪号 ListModels oListModels = new ListModels(); DAL.ClsSc_StationInBill BillNew = new DAL.ClsSc_StationInBill(); BillNew.omodel.HInterID = HInterID; BillNew.omodel.HYear = 2011; BillNew.omodel.HPeriod = 1; BillNew.omodel.HBillNo = HBillNo; BillNew.omodel.HICMOBillNo = HICMOBillNo; BillNew.omodel.HICMOInterID = HICMOInterID; BillNew.omodel.HProcExchInterID = HProcExchInterID; BillNew.omodel.HProcExchEntryID = HProcExchEntryID; BillNew.omodel.HProcExchBillNo = HProcExchBillNo; BillNew.omodel.HProcID = HProcID; BillNew.omodel.HMaterID = HMaterID; BillNew.omodel.HStationInTime = DateTime.Now; BillNew.omodel.HEmpID = HEmpID; BillNew.omodel.HSourceID = HSourceID; BillNew.omodel.HGroupID = HGroupID; BillNew.omodel.HICMOQty = HICMOQty; BillNew.omodel.HPlanQty = HPlanQty; BillNew.omodel.HQty = HQty; BillNew.omodel.HPieceQty = HPieceQty; BillNew.omodel.HSourceName = HSourceName; BillNew.omodel.HCenterID = HCenterID; BillNew.omodel.HProcNo = HProcNo; BillNew.omodel.HOrderProcNO = HOrderProcNO; bool bResult = BillNew.AddBill(ref ClsPub.sExeReturnInfo); //提示 if (bResult == true) { objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "单据存盘完毕!单据号:" + HBillNo.Trim() + ClsPub.sExeReturnInfo; objJsonResult.data = ds.Tables[0]; return objJsonResult; } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!原因:" + ClsPub.sExeReturnInfo; objJsonResult.data = null; return objJsonResult; } } catch (Exception e) { oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } /// /// 新增单据-保存按钮 ///参数:string sql。 ///返回值:object。 /// //[Route("Cj_StationInBill/AddBill")] //[HttpPost] //public object AddBill([FromBody] JObject oMain) //{ // var _value = oMain["oMain"].ToString(); // string msg1 = _value.ToString(); // try // { // //委外工序发出反序列化 // msg1 = "[" + msg1.ToString() + "]"; // List list = Newtonsoft.Json.JsonConvert.DeserializeObject>(msg1); // string BillType = "3790"; // long HInterID = list[0].HInterID;//递入type得到的单据ID // string HBillNo = list[0].HBillNo;//递入type得到的单据号 // int HBillStatus = 0; // string HMaker = list[0].HMaker;//制单人 // int HYear = 2021; // double HPeriod = 1; // string HRemark = list[0].HRemark;//备注 // long HICMOInterID = list[0].HICMOInterID;//任务单ID // string HICMOBillNo = list[0].HICMOBillNo;//任务单 // int HProcPlanInterID = 0; // int HProcPlanEntryID = 0; // string HProcPlanBillNo = ""; // int HProcExchInterID = 0; // int HProcExchEntryID = 0; // string HProcExchBillNo = list[0].HProcExchBillNo;//流转卡 // long HMaterID = list[0].HMaterID;//产品ID // long HProcID = list[0].HProcID;//当前工序 // double HICMOQty = list[0].HICMOQty;//任务单数量 // double HPlanQty = list[0].HPlanQty;//流转卡数量 // long HSourceID = list[0].HSourceID;//生产资源ID // long HGroupID = list[0].HGroupID;//班组ID // long HDeptID = 0; // long HEmpID = list[0].HEmpID;//接收人ID // string HBarCode = list[0].HBarCode;//条形码 // string HAddr = ""; // string HBarCodeMaker = ""; // long HSupID = 0; // double HQty = list[0].HQty;//接收数量 // double HPrice = 0; // double HMoney = 0; // double HPieceQty = list[0].HPieceQty;//接收件数 // string HSourceName = list[0].HSourceName;//生产资源名称 // long HCenterID = list[0].HCenterID;//工作中心ID // string HProcNo = list[0].HProcNo;//流水号 // string HOrderProcNO = list[0].HOrderProcNO;//订单跟踪号 // //若MAINDI重复则重新获取 // oCN.BeginTran(); // //主表 // oCN.RunProc("Insert Into Sc_StationInBillMain " + // "(HBillType,HBillSubType,HInterID,HBillNo,HBillStatus,HDate,HMaker,HMakeDate" + // ",HYear,HPeriod,HRemark" + // ",HICMOInterID,HICMOBillNo,HProcPlanInterID,HProcPlanEntryID,HProcPlanBillNo,HProcExchInterID,HProcExchEntryID" + // ",HProcExchBillNo,HMaterID,HProcID,HICMOQty,HPlanQty,HStationInTime,HSourceID" + // ",HGroupID,HDeptID,HEmpID,HBarCode,HAddr,HBarCodeMaker,HBarCodeMakeDate" + // ",HSupID,HQty,HPrice,HMoney,HPieceQty,HSourceName,HCenterID" + // ",HProcNo,HOrderProcNO" + // ") " + // " values('" + BillType + "','" + BillType + "'," + HInterID + ",'" + HBillNo + "'," + HBillStatus + ",getdate(),'" + HMaker + "',getdate()" + // "," + HYear + "," + HPeriod + ",'" + HRemark + "'" + // "," + HICMOInterID + ",'" + HICMOBillNo + "'," + HProcPlanInterID + "," + HProcPlanEntryID + ",'" + HProcPlanBillNo + "'," + HProcExchInterID + "," + HProcExchEntryID + // ",'" + HProcExchBillNo + "'," + HMaterID + "," + HProcID + "," + HICMOQty + "," + HPlanQty + ",getdate()," + HSourceID + // "," + HGroupID + "," + HDeptID + "," + HEmpID + ",'" + HBarCode + "','" + HAddr + "','" + HBarCodeMaker + "',getdate()" + // "," + HSupID + "," + HQty + "," + HPrice + "," + HMoney + "," + HPieceQty + ",'" + HSourceName + "'," + HCenterID + // ",'" + HProcNo + "','" + HOrderProcNO + "'" + // ") "); // ds = oCN.RunProcReturn("exec h_p_MES_StationInBill_QtyCtrl " + HInterID + "", "h_p_MES_StationInBill_QtyCtrl"); // if (ds == null) // { // oCN.RollBack(); // objJsonResult.code = "0"; // objJsonResult.count = 0; // objJsonResult.Message = "判断数量失败!"; // objJsonResult.data = null; // return objJsonResult; // } // if (ds.Tables[0].Rows.Count == 0) // { // oCN.RollBack(); // objJsonResult.code = "0"; // objJsonResult.count = 0; // objJsonResult.Message = "判断数量失败!"; // objJsonResult.data = null; // return objJsonResult; // } // if (ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) == "2") // { // oCN.RollBack(); // objJsonResult.code = "0"; // objJsonResult.count = 0; // objJsonResult.Message = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]); // objJsonResult.data = null; // return objJsonResult; // } // oCN.RunProc("exec h_p_Mes_ProcessExchangeRelationQty_In " + HInterID + ",1"); // //判断是否是 首道工序 // ds1 = oCN.RunProcReturn(" select HLastProc,HFstProc from Sc_ProcessExchangeBillMain a " + // " inner join Sc_ProcessExchangeBillSub b on a.HInterID=b.HInterID " + // " Where a.HInterID=" + HProcExchInterID + " and b.HEntryID=" + HProcExchEntryID + " ", "Sc_ProcessExchangeBillMain"); // if (ds1 == null || ds1.Tables[0].Rows.Count == 0) // { // } // else if (ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HFstProc"]) == "是") // { // } // oCN.Commit(); // objJsonResult.code = "1"; // objJsonResult.count = 1; // objJsonResult.Message = "新增单据成功!"; // objJsonResult.data = ds.Tables[0]; // return objJsonResult; // } // catch (Exception e) // { // oCN.RollBack(); // objJsonResult.code = "0"; // objJsonResult.count = 0; // objJsonResult.Message = "Exception!" + e.ToString(); // objJsonResult.data = null; // return objJsonResult; // } //} /// /// 工序进站接收单流水号回车获取工序信息 ///参数:string sql。 ///返回值:object。 /// [Route("Cj_StationInBill/txtHProcNo_KeyDown")] [HttpGet] public object txtHProcNo_KeyDown(string sBillNo,string sProcNo) { try { if (sBillNo.Equals("") || sProcNo.Equals("")) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "条形码不能为空!"; objJsonResult.data = null; return objJsonResult; } //得到信息(委外标记为0时,流转标记为1时) ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillList where 单据号= '" + sBillNo + "' and 下道流转工序<>'转' and 委外标记=0 and 流转标记=1 and 工序号='" + sProcNo + "'", "h_v_Sc_ProcessExchangeBillList"); //Ds = oCn.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillList where 单据号= '" + sBillNo + "' and 工序号='" + sProcNo + "' and 委外标记=0 and 流转标记=1 ", "h_v_Sc_ProcessExchangeBillList"); //写入信息 if (ds == null || ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "工序号错误或者当前工序号不允许进站,请重新输入!"; objJsonResult.data = null; return objJsonResult; } objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.data = ds.Tables[0]; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } /// /// 返回委外工序接收单列表 ///参数:string sql。 ///返回值:object。 /// [Route("Cj_StationInBill/list")] [HttpGet] public object list(string sWhere) { try { if (sWhere == null || sWhere.Equals("")) { ds = oCN.RunProcReturn("select * from h_v_MES_StationInBillList " + sWhere, "h_v_MES_StationInBillList"); } else { string sql1 = "select * from h_v_MES_StationInBillList where 1 = 1 "; string sql = sql1 + sWhere; ds = oCN.RunProcReturn(sql, "h_v_MES_StationInBillList"); } if (ds == null || ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "false!"; objJsonResult.data = null; return objJsonResult; } else { objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.data = ds.Tables[0]; return objJsonResult; } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } // } }