using Newtonsoft.Json; 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.CJGL { public class Cj_SingleStationController : ApiController { private json objJsonResult = new json(); SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); DataSet ds; #region 工序单品不良采集 用户查询关联字段 [Route("Cj_SingleStation/Cj_CollectionOfSingleProductDefectsUserList")] [HttpGet] public object Cj_CollectionOfSingleProductDefectsUserList(string sWhere, string user) { try { if (sWhere == null || sWhere.Equals("")) { objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.data = new DataTable(); return objJsonResult; } ds = oCN.RunProcReturn("select * from h_v_Cj_UserAssociationList WITH(NOLOCK) where 1=1 " + sWhere, "h_v_Cj_UserAssociationList"); 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; } } #endregion #region 工序单品不良采集 扫码查询 [Route("Cj_SingleStation/HBardCodeList")] [HttpGet] public object HBardCodeList(string HBarCode, string user) { try { //判断是否有查询权限 if (!DBUtility.ClsPub.Security_Log("Cj_StationOutBill_Query", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无查询权限!"; objJsonResult.data = null; return objJsonResult; } ds = oCN.RunProcReturn("select * from gy_czygl WITH(NOLOCK) where czymc='" + user + "'", "gy_czygl"); string HProcID = ds.Tables[0].Rows[0]["HProcID"].ToString(); ds = oCN.RunProcReturn(@"select * from h_v_Gy_BarCodeBillHICOMProcessExchange WITH(NOLOCK) where 条码='" + HBarCode + "' ", "h_v_Gy_BarCodeBillHICOMProcessExchange"); if (ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "条码查无数据!"; objJsonResult.data = null; return objJsonResult; } int num = 0; for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { if (ds.Tables[0].Rows[i]["HProcID"].ToString() == HProcID) { num = 1; } } if (num == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "当前条码与当前工序不匹配!"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0].Rows[0]["HStatus"].ToString() != "正常") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "当前条码状态为" + ds.Tables[0].Rows[0]["HStatus"].ToString() + "!"; objJsonResult.data = null; return objJsonResult; } objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = ""; objJsonResult.data = ds.Tables[0]; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 工序单品不良采集 保存 [Route("Cj_SingleStation/ProcessBLSave")] [HttpPost] public object ProcessBLSave([FromBody] JObject sMainSub) { var _value = sMainSub["sMainSub"].ToString(); string msg1 = _value.ToString(); string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); string msg2 = sArray[0].ToString(); //主表数据 string HResult = sArray[1].ToString(); string user = sArray[2].ToString(); string linterid = sArray[3].ToString(); //判断是否有查询权限 if (!DBUtility.ClsPub.Security_Log("Sc_QualityReportBill_Edit", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无编辑权限!"; objJsonResult.data = null; return objJsonResult; } try { var msg3 = msg2.ToString(); msg2 = "[" + msg2.ToString() + "]"; List mainList = Newtonsoft.Json.JsonConvert.DeserializeObject>(msg2); long HInterID = mainList[0].HInterID;//递入type得到的单据ID string HBillNo = mainList[0].HBillNo;//递入type得到的单据号 DateTime HDate = DateTime.Now;//日期 string HRemark = mainList[0].HRemark;//备注 long HEmpID = mainList[0].HEmpID;//质检员 long HGroupID = mainList[0].HGroupID;//班组 long HDeptID = mainList[0].HDeptID;//车间 string HMaker = user;//制单人 long HMainSourceInterID = mainList[0].HICMOInterID; long HMainSourceEntryID = mainList[0].HICMOEntryID; string HMainSourceBillNo = mainList[0].HICMOBillNo; ds = oCN.RunProcReturn("select * from Sc_QualityReportBillMain WITH(NOLOCK) where HInterID=" + HInterID + " and HBillNo='" + HBillNo + "'", "Sc_QualityReportBillMain"); if (ds.Tables[0].Rows.Count != 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已存在!"; objJsonResult.data = null; return objJsonResult; } oCN.BeginTran(); if (ds.Tables[0].Rows.Count == 0)//新增 { //主表 oCN.RunProc(@"Insert Into Sc_QualityReportBillMain (HBillType,HBillSubType,HBillStatus,HInterID,HBillNo,HDate ,HYear,HPeriod,HRemark,HMaker,HMakeDate ,HEmpID,HGroupID,HDeptID,HMainSourceInterID,HMainSourceEntryID,HMainSourceBillNo) values('3717','3717',1," + HInterID + ",'" + HBillNo + "','" + HDate + "'" + "," + DateTime.Now.Year + "," + DateTime.Now.Month + ",'" + HRemark + "','" + HMaker + "',getdate()" + ",'" + HEmpID + "'," + HGroupID + "," + HDeptID + "," + HMainSourceInterID + "," + HMainSourceEntryID + ",'" + HMainSourceBillNo + "') "); } //保存子表 objJsonResult = AddBillSub_NoTable(msg3, HInterID, HResult, linterid); //增加产线组装追溯单 Int64 HInterID1 = DBUtility.ClsPub.CreateBillID("3727", ref DBUtility.ClsPub.sExeReturnInfo); string HBillNo1 = DBUtility.ClsPub.CreateBillCode("3727", ref DBUtility.ClsPub.sExeReturnInfo, true); ds = oCN.RunProcReturn("exec h_p_Gy_BarCodeBillBomList '" + mainList[0].HProcExchBillNo + "'," + mainList[0].HProcID, "h_p_Gy_BarCodeBillBomList"); if (ds.Tables[0].Rows.Count > 0) { string jsonstr = JsonConvert.SerializeObject(ds.Tables[0]); //保存生产组装单主表 string sql = $@"Insert Into Sc_AssemblyBillMain(HYear,HPeriod,HBillType,HBillSubType,HInterID,HDate ,HBillNo,HBillStatus,HMaker,HMakeDate,HMainSourceInterID,HMainSourceEntryID,HMainSourceBillNo ,HICMOInterID,HICMOBillNo,HBarCode_P,HMaterID,HUnitID,HAssemblyStatus,HProdOrgID) values('{DateTime.Now.Year}','{DateTime.Now.Month}','3727','3727',{HInterID1},getdate() ,'{HBillNo1}','1','{user}',getdate(),{mainList[0].HProcExchInterID.ToString()},{mainList[0].HProcExchEntryID.ToString()},'{mainList[0].HProcExchBillNo.ToString()}' ,{mainList[0].HICMOInterID.ToString()},'{mainList[0].HICMOBillNo.ToString()}','{mainList[0].HBarCode.ToString()}',{mainList[0].HMaterID},0,'汇报',{mainList[0].HProdOrgID})"; oCN.RunProc(sql); List sub = new List(); sub = JsonConvert.DeserializeObject>(jsonstr); for (int i = 0; i < sub.Count; i++) { //子表存储 string sq2 = $@"Insert Into Sc_AssemblyBillSub(HInterID,HBillNo_bak,HEntryID,HSourceInterID,HSourceEntryID,HSourceBillNo ,HSourceBillType,HMaterID,HSourceID,HEquipID,HUnitID,HQty ,HGroupID,HWorkerID,HScanDate,HBarCode,HBarCode_P,HSNNumber) values({HInterID1},'{HBillNo1}',{(i + 1)},0,0,'' ,'',{sub[i].HMaterID},0,0,0,{sub[i].HQty} ,0,0,getdate(),'{sub[i].HBarCode}','{mainList[0].HBarCode}','') "; oCN.RunProc(sq2); } } if (objJsonResult.code == "0") { oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = objJsonResult.Message; objJsonResult.data = null; return objJsonResult; } oCN.Commit(); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = null; objJsonResult.data = null; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } public json AddBillSub_NoTable(string msg3, long HInterID, string HResult,string linterid) { Model.ClsSc_QualityReportBillSub oSub = Newtonsoft.Json.JsonConvert.DeserializeObject(msg3); if (oSub.HMaterID == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "物料不能为空"; objJsonResult.data = null; return objJsonResult; } oCN.RunProc($@"Insert into Sc_QualityReportBillSub (HInterID,HENTRYID,HBillNo_bak,HEmpID,HBarCode,HBadReasonID,HAddr,HMaker,HMakeDate ,HMaterID,HUnitID,HRemark,HSourceID,HICMOInterID,HICMOEntryID,HICMOBillNo,HReportType ,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney ,HQty,HResult,HProcExchInterID,HProcExchEntryID,HProcExchBillNo,HProcID) values({HInterID},1,'{oSub.HBillNo_bak}',{oSub.HEmpID},'{oSub.HBarCode}',{oSub.HBadReasonID},'','{oSub.HMaker}','{oSub.HMakeDate}' ,{oSub.HMaterID},{oSub.HUnitID},'{oSub.HRemark}',{oSub.HSourceID},{oSub.HICMOInterID},{oSub.HICMOEntryID},'{oSub.HICMOBillNo}',{oSub.HReportType} ,0,0,'','',0,0 ,1,'{HResult}',{oSub.HProcExchInterID},{oSub.HProcExchEntryID},'{oSub.HProcExchBillNo}',{oSub.HProcID})"); //修改条码表的状态 oCN.RunProc("update Gy_BarCodeBill set HStatus='"+ HResult + "' where HBarCode='"+ oSub.HBarCode + "'"); //修改出站单的 不良 报废数量 if (HResult == "不良") { oCN.RunProc("update Sc_StationOutBillMain set HBadCount+=1 where HProcExchBillNo='" + oSub.HProcExchBillNo + "' and HProcID=" + oSub.HProcID + " and HInterID=" + linterid); } else if (HResult == "报废") { oCN.RunProc("update Sc_StationOutBillMain set HWasterQty+=1 where HProcExchBillNo='" + oSub.HProcExchBillNo + "' and HProcID=" + oSub.HProcID + " and HInterID=" + linterid); } objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = null; objJsonResult.data = null; return objJsonResult; } #endregion #region 工序单品过站 流转卡查询关键件清单 [Route("Cj_SingleStation/HBardCodeBomList")] [HttpGet] public object HBardCodeBomList(string HBarCode, string user) { try { //判断是否有查询权限 if (!DBUtility.ClsPub.Security_Log("Cj_StationOutBill_Query", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无查询权限!"; objJsonResult.data = null; return objJsonResult; } string HProcID = "0"; ds = oCN.RunProcReturn("select * from gy_czygl WITH(NOLOCK) where czymc='" + user + "'", "gy_czygl"); if (ds.Tables[0].Rows.Count > 0) { HProcID = ds.Tables[0].Rows[0]["HProcID"].ToString(); } //判断当前流转卡是否是开工 ds = oCN.RunProcReturn("select * from Sc_ICMOBillStatus_Tmp where HSourceBillNo='" + HBarCode + "' and HICMOStatus<>'0'", "Sc_ICMOBillStatus_Tmp"); if (ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "卡号:" + HBarCode + ",流转卡未开工!"; objJsonResult.data = null; return objJsonResult; } ds = oCN.RunProcReturn(@"exec h_p_Gy_BarCodeBillBomList '" + HBarCode + "'," + HProcID, "h_p_Gy_BarCodeBillBomList"); if (ds.Tables[0].Rows.Count == 0) { DataSet dataSet = oCN.RunProcReturn(@"exec h_p_Sc_ProcessExchangeBillList '" + HBarCode + "'," + HProcID, "h_p_Sc_ProcessExchangeBillList"); if (dataSet.Tables[0].Rows.Count > 0) { objJsonResult.code = "2"; objJsonResult.count = 2; objJsonResult.Message = ""; objJsonResult.data = dataSet.Tables[0]; return objJsonResult; } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "配件清单查无数据!,可能是当前用户工序不正确或者流转卡输入错误!"; objJsonResult.data = null; return objJsonResult; } } else { objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = ""; objJsonResult.data = ds.Tables[0]; } return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 工序单品过站 扫流转卡保存关键件清单 [Route("Cj_SingleStation/AddBomTempList")] [HttpPost] public object AddBomTempList([FromBody] JObject sMainSub) { try { var _value = sMainSub["sMainSub"].ToString(); string msg = _value.ToString(); string[] sArray = msg.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); string msg1 = sArray[0].ToString(); string HInterID = sArray[1].ToString(); string HBillNo = sArray[2].ToString(); string user = sArray[3].ToString(); string HBillType = sArray[4].ToString(); string HOrgID = sArray[5].ToString(); //判断是否有查询权限 if (!DBUtility.ClsPub.Security_Log("Cj_StationOutBill_Edit", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无保存权限!"; objJsonResult.data = null; return objJsonResult; } oCN.BeginTran(); List tempList = new List(); tempList = JsonConvert.DeserializeObject>(msg1); if (tempList.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无配件数据!"; objJsonResult.data = null; return objJsonResult; } ds = oCN.RunProcReturn("select * from gy_czygl WITH(NOLOCK) where czymc='" + user + "'", "gy_czygl"); string HProcID = ds.Tables[0].Rows[0]["HProcID"].ToString(); oCN.RunProc("delete from Sc_AssemblyBill_BindSourceTemp where HInterID =" + HInterID + " and HBillNo_bak='" + HBillNo + "'"); oCN.RunProc("delete from Sc_AssemblyBill_BindBarCodeTemp where HInterID =" + HInterID + " and HBillNo_bak='" + HBillNo + "'"); for (int i = 0; i < tempList.Count; i++) { //临时源单表 oCN.RunProc("Insert Into Sc_AssemblyBill_BindSourceTemp " + "(HInterID,HEntryID,HBillNo_bak,HSourceBillNo,HSourceInterID,HSourceEntryID,HMaterID" + ",HQtyMust,HProdOrgID,HSourceBillType,HAuxPropID,HProcID,HQty,HBatchNo,HMTONo,HPlanMode) " + " values(" + HInterID + "," + (i + 1) + ",'" + HBillNo + "','" + tempList[i].HProcExchBillNo + "',"+ tempList[i].HProcExchInterID + "," + tempList[i].HProcExchEntryID +","+ tempList[i].HMaterID+ ",'0','" + HOrgID + "','',0,"+ HProcID + ","+ tempList[i].HQty + ",'" + tempList[i].HBatchNo + "','','') "); //临时配件表 oCN.RunProc("Insert Into Sc_AssemblyBill_BindBarCodeTemp " + "(HInterID,HEntryID,HBillNo_bak,HSourceBillNo,HSourceInterID,HSourceEntryID,HMaterID" + ",HProdOrgID,HSourceBillType,HAuxPropID,HProcID,HQty,HBatchNo,HBarCode,HMTONo,HPlanMode) " + " values(" + HInterID + "," + (i + 1) + ",'" + HBillNo + "','" + tempList[i].HProcExchBillNo + "'," + tempList[i].HProcExchInterID + "," + tempList[i].HProcExchEntryID + "," + tempList[i].HMaterID + ",'" + HOrgID + "','',0," + HProcID + "," + tempList[i].HQty + ",'"+ tempList[i].HBatchNo + "','" + tempList[i].HBarCode + "','','') "); } oCN.Commit(); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "保存成功!"; objJsonResult.data = null; return objJsonResult; } catch (Exception e) { oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 工序单品过站 扫SN码保存到组装追溯单 [Route("Cj_SingleStation/AddAssemblyBillList")] [HttpPost] public object AddAssemblyBill([FromBody] JObject sMainSub) { try { var _value = sMainSub["sMainSub"].ToString(); string msg = _value.ToString(); string[] sArray = msg.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); string sMainStr = sArray[0].ToString(); string sSubStr = sArray[1].ToString(); string user = sArray[2].ToString(); //判断是否有查询权限 if (!DBUtility.ClsPub.Security_Log("Cj_StationOutBill_Edit", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无保存权限!"; objJsonResult.data = null; return objJsonResult; } oCN.BeginTran(); string sExeReturnInfo = ""; ClsSc_AssemblyBillMain omodel = new ClsSc_AssemblyBillMain(); omodel = JsonConvert.DeserializeObject(sMainStr); List sub = new List(); sub = JsonConvert.DeserializeObject>(sSubStr); ds = oCN.RunProcReturn("exec h_p_Sc_SNBarcodeProcCtrl_S '" + omodel.HBarCode_P + "'," + omodel.HProcID, "h_v_Gy_QualifiedRecordsList"); if (ClsPub.isInt(ds.Tables[0].Rows.Count) == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "查无数据!"; objJsonResult.data = null; return objJsonResult; } else if (ds.Tables[0].Rows[0]["HBack"].ToString() == "2") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = ds.Tables[0].Rows[0]["HBackRemark"].ToString() + "!"; objJsonResult.data = null; return objJsonResult; } ds = oCN.RunProcReturn("select * from h_v_Gy_QualifiedRecordsList WITH(NOLOCK) where 产品条码='" + omodel.HBarCode_P + "' and HProcExchInterID="+ omodel .HProcExchInterID+ " and HProcExchEntryID="+ omodel.HProcExchEntryID + " and HProcID="+ omodel.HProcID, "h_v_Gy_QualifiedRecordsList"); if (ds.Tables[0].Rows.Count > 0) { oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "条码:" + omodel.HBarCode_P + ",已存在!"; objJsonResult.data = null; return objJsonResult; } //增加产线组装追溯单 DataSet ds1 = oCN.RunProcReturn("exec h_p_Gy_BarCodeBillBomList '" + omodel.HProcExchBillNo + "'," + omodel.HProcID, "h_p_Gy_BarCodeBillBomList"); if (ds1.Tables[0].Rows.Count > 0) { //判配件数量是否等于0 for (int i = 0; i < ds1.Tables[0].Rows.Count; i++) { double SYHQty = double.Parse(ds1.Tables[0].Rows[i]["配件数量"].ToString()); string HMaterNamePJ = ds1.Tables[0].Rows[i]["配件代码"].ToString(); if (SYHQty == 0) { oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "配件代码:" + HMaterNamePJ + ",数量为0!"; objJsonResult.data = null; return objJsonResult; } } ds1 = oCN.RunProcReturn("select * from Sc_AssemblyBillMain WITH(NOLOCK) where HMainSourceInterID =" + omodel.HProcExchInterID + " and HMainSourceEntryID =" + omodel.HProcExchEntryID + " and HBarCode_P = '" + omodel.HBarCode_P + "'", "Sc_AssemblyBillMain"); if (ds1.Tables[0].Rows.Count == 0) { Int64 HInterID1 = DBUtility.ClsPub.CreateBillID("3727", ref DBUtility.ClsPub.sExeReturnInfo); string HBillNo1 = DBUtility.ClsPub.CreateBillCode("3727", ref DBUtility.ClsPub.sExeReturnInfo, true); //保存生产组装单主表 string sql = $@"Insert Into Sc_AssemblyBillMain(HYear,HPeriod,HBillType,HBillSubType,HInterID,HDate ,HBillNo,HBillStatus,HMaker,HMakeDate,HMainSourceInterID,HMainSourceEntryID,HMainSourceBillNo ,HICMOInterID,HICMOBillNo,HBarCode_P,HMaterID,HUnitID,HAssemblyStatus,HProdOrgID) values('{DateTime.Now.Year}','{DateTime.Now.Month}','3727','3727',{HInterID1},getdate() ,'{HBillNo1}','1','{user}',getdate(),{omodel.HProcExchInterID.ToString()},{omodel.HProcExchEntryID.ToString()},'{omodel.HProcExchBillNo.ToString()}' ,{omodel.HICMOInterID.ToString()},'{omodel.HICMOBillNo.ToString()}','{omodel.HBarCode_P.ToString()}',{omodel.HMaterID},0,'汇报',{omodel.HProdOrgID})"; oCN.RunProc(sql); for (int i = 0; i < sub.Count; i++) { //子表存储 string sq2 = $@"Insert Into Sc_AssemblyBillSub(HInterID,HBillNo_bak,HEntryID,HSourceInterID,HSourceEntryID,HSourceBillNo ,HSourceBillType,HMaterID,HSourceID,HEquipID,HUnitID,HQty ,HGroupID,HWorkerID,HScanDate,HBarCode,HBarCode_P,HSNNumber) values({HInterID1},'{HBillNo1}',{(i + 1)},0,0,'' ,'',{sub[i].HMaterID},0,0,0,1 ,0,0,getdate(),'{sub[i].HBarCode}','{omodel.HBarCode_P}','') "; oCN.RunProc(sq2); } } } sMainStr = "[" + sMainStr + "]"; List list = Newtonsoft.Json.JsonConvert.DeserializeObject>(sMainStr); ds = oCN.RunProcReturn("select HCenterID from Sc_ProcessExchangeBillSub WITH(NOLOCK) where HInterID=" + list[0].HProcExchInterID + " and HEntryID=" + list[0].HProcExchEntryID, "Sc_ProcessExchangeBillSub"); if (ds.Tables[0].Rows.Count > 0) { list[0].HCenterID = long.Parse(ds.Tables[0].Rows[0]["HCenterID"].ToString()); } long HMainInterID = 0; string BillType = "3791"; string HBillSubType = "3791"; long HInterID = list[0].HInterID;//递入type得到的单据ID string HBillNo = list[0].HBillNo;//递入type得到的单据号 int HBillStatus = 1; string HMaker = user;//制单人 string HMouldNum = list[0].HMouldNum;//模穴号 int HYear = DateTime.Now.Year; double HPeriod = DateTime.Now.Month; string HRemark = list[0].HRemark;//备注 string HSourceName = list[0].HSourceName;//生产资源名称 double HPieceQty = list[0].HPieceQty;//进站PCS数 double HWasterQty = 0;//报废数量 double HPlanPieceQty = 0;//进站PNL数 double HBadPNL = 0;//报废PNL数 long HICMOInterID = list[0].HICMOInterID;//任务单ID long HICMOEntryID = list[0].HICMOEntryID;//任务单ID string HICMOBillNo = list[0].HICMOBillNo;//任务单 int HProcPlanInterID = 0; int HProcPlanEntryID = 0; string HProcPlanBillNo = ""; long HProcExchInterID = list[0].HProcExchInterID; long HProcExchEntryID = list[0].HProcExchEntryID; string HProcExchBillNo = list[0].HProcExchBillNo;//流转卡 long HMaterID = list[0].HMaterID;//产品ID long HProcID = list[0].HProcID;//当前工序ID double HICMOQty = list[0].HICMOQty;//任务单数量 double HPlanQty = list[0].HICMOQty;//移交PNL数 DateTime HStationOutTime = DateTime.Now;//汇报时间 long HSourceID = list[0].HSourceID;//生产资源ID long HPayProcID = 0;//核算工序ID long HGroupID = list[0].HGroupID;//班组ID long HDeptID = list[0].HDeptID; long HEmpID = list[0].HEmpID;//操作员ID long HEmpID2 = list[0].HEmpID2;////操作员2ID string HBarCode = list[0].HProcExchBillNo;//条形码 string HAddr = ""; string HBarCodeMaker = ""; long HSourceID2 = 0;//生产资源2ID long HSourceID3 = 0;//生产资源3ID long HSourceID4 = 0;//生产资源4ID long HSourceID5 = 0;//生产资源5ID long HSupID = 0; double HQty = list[0].HQty;//合格数量 double HPrice = 0; double HMoney = 0; double HBadCount = list[0].HBadCount;//不良数量 long HCenterID = list[0].HCenterID;//工作中心ID string HProcNo = list[0].HProcNo;//流水号 string HOrderProcNO = list[0].HOrderProcNO;//订单跟踪号 string HSourceNameList = list[0].HSourceNameList;//设备清单 long HMainSourceInterID = list[0].HInterID;//递入type得到的单据ID string HMainSourceBillNo = list[0].HBillNo;//递入type得到的单据号 string HMainSourceBillType = "3790"; bool HLastSubProc = list[0].HLastSubProc;//转下工序 long HEmpID3 = 0;//操作员3ID long HEmpID4 = 0;//操作员4ID long HEmpID5 = 0;//操作员5ID double HDSQty = 0;//折弯刀数 double HChongQty = 0;//NCT冲次数 double HPriceRate = 0;//系数 double HWorkTimes = 0;//工时 long HQCCheckID = list[0].HEmpID;//检验员ID long HPRDOrgID = omodel.HProdOrgID;//组织ID double HmaterOutqty = 0;//白坯发布 double HProcPriceRate = 0;//工价系数 int HTemporaryAreaID = 0;//暂放区 int HShiftsID = 0; DataSet set = oCN.RunProcReturn("exec h_p_Gy_GetWorkShiftInfo " + HDeptID + "," + HCenterID, "h_p_Gy_GetWorkShiftInfo"); if (set.Tables[0].Rows.Count > 0) { HShiftsID = int.Parse(set.Tables[0].Rows[0]["HInterID"].ToString()); } ds = oCN.RunProcReturn("select * from Sc_StationOutBillMain a WITH(NOLOCK) left join Sc_StationOutBillSub_SN sn WITH(NOLOCK) on a.HInterID=sn.HInterID where a.HInterID=" + HInterID + " and HBillNo='" + HBillNo + "' and CONVERT(varchar(10),HDate,20) ='" + DateTime.Now.ToString("yyyy-MM-dd") + "' ", "Sc_StationOutBillMain"); if (ds.Tables[0].Rows.Count == 0) { HInterID = DBUtility.ClsPub.CreateBillID("3791", ref sExeReturnInfo);//递入type得到的单据ID HBillNo = DBUtility.ClsPub.CreateBillCode_Prod("3791", ref sExeReturnInfo, true);//递入type得到的单据号 oCN.RunProc("Insert Into Sc_StationOutBillMain" + "(HBillType,HBillSubType,HInterID,HBillNo,HBillStatus,HDate,HMaker,HMakeDate,HMouldNum" + ",HYear,HPeriod,HRemark,HSourceName,HPieceQty,HWasterQty,HPlanPieceQty,HBadPNL" + ",HICMOInterID,HICMOBillNo,HProcPlanInterID,HProcPlanEntryID,HProcPlanBillNo,HProcExchInterID,HProcExchEntryID" + ",HProcExchBillNo,HMaterID,HProcID,HICMOQty,HPlanQty,HStationOutTime,HSourceID,HPayProcID" + ",HGroupID,HDeptID,HEmpID,HBarCode,HAddr,HBarCodeMaker,HBarCodeMakeDate,HSourceID2,HSourceID3,HSourceID4,HSourceID5" + ",HSupID,HQty,HPrice,HMoney,HBadCount,HCenterID,HProcNo,HOrderProcNO,HSourceNameList" + ",HMainSourceInterID,HMainSourceBillNo,HMainSourceBillType,HLastSubProc" + ",HEmpID2,HEmpID3,HEmpID4,HEmpID5,HDSQty,HChongQty,HPriceRate,HWorkTimes,HQCCheckID,HMainInterID,HPRDOrgID" + ",HmaterOutqty,HProcPriceRate,HTemporaryAreaID,HShiftsID" + ") " + " values('" + BillType + "','" + HBillSubType + "'," + HInterID + ",'" + HBillNo + "'," + HBillStatus + ",getdate(),'" + HMaker + "',getdate(),'" + HMouldNum + "'" + "," + HYear + "," + HPeriod + ",'" + HRemark + "','" + HSourceName + "'," + HPieceQty + "," + HWasterQty + "," + HPlanPieceQty + "," + HBadPNL + "," + HICMOInterID + ",'" + HICMOBillNo + "'," + HProcPlanInterID + "," + HProcPlanEntryID + ",'" + HProcPlanBillNo + "'," + HProcExchInterID + "," + HProcExchEntryID + ",'" + HProcExchBillNo + "'," + HMaterID + "," + HProcID + "," + HICMOQty + "," + HPlanQty + ",getdate()," + HSourceID + "," + HPayProcID + "," + HGroupID + "," + HDeptID + "," + HEmpID + ",'" + HBarCode + "','" + HAddr + "','" + HBarCodeMaker + "',getdate()" + "," + HSourceID2 + "," + HSourceID3 + "," + HSourceID4 + "," + HSourceID5 + "," + HSupID + "," + HQty + "," + HPrice + "," + HMoney + "," + HBadCount + "," + HCenterID + "," + HProcNo + ",'" + HOrderProcNO + "'" + ",'" + HSourceNameList + "'" + "," + HMainSourceInterID + ",'" + HMainSourceBillNo + "','" + HMainSourceBillType + "'," + Convert.ToString(HLastSubProc ? 1 : 0) + "," + HEmpID2 + "," + HEmpID3 + "," + HEmpID4 + "," + HEmpID5 + "," + HDSQty + "," + HChongQty + "," + HPriceRate + "," + HWorkTimes + "," + HQCCheckID + "," + HMainInterID + "," + HPRDOrgID + "," + HmaterOutqty + "," + HProcPriceRate + "," + HTemporaryAreaID + "," + HShiftsID + ") "); } ds = oCN.RunProcReturn("select * from Sc_StationOutBillSub_SN WITH(NOLOCK) where HInterID='" + omodel.HInterID + "' order by HEntryID desc", "Sc_StationOutBillSub_SN"); oCN.RunProc($@"insert into Sc_StationOutBillSub_SN(HInterID,HBillNo_bak,HEntryID,HBarCode,HBarCodeQty,HMakeTime,HRemark,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney) values({HInterID}, '{HBillNo}', {(ds.Tables[0].Rows.Count == 0 ? 1 : int.Parse(ds.Tables[0].Rows[0]["HEntryID"].ToString()) + 1)}, '{omodel.HBarCode_P}', 1, GETDATE(), '', " + HProcExchInterID + ","+ HProcExchEntryID + ", '"+ HProcExchBillNo + "', '', 0, 0)"); //把条码写入日志里面 LogService.CustomWriteLog("条码:" + omodel.HBarCode_P + ",工序:"+ HProcID + ",出站时间:" + DateTime.Now, "TM" + DateTime.Now.ToString("yyyy-MM-dd")); //反写工序出站单的合格数量 oCN.RunProc("update Sc_StationOutBillMain set HQty+=1 where HProcExchInterID='" + HProcExchInterID + "' and HProcExchEntryID=" + HProcExchEntryID+ " and HInterID=" + HInterID); ds = oCN.RunProcReturn($@"select (b.HQty -sum(isnull(ou.HQty,0))-sum(isnull(ou.HBadCount,0))) HQty from Sc_ProcessExchangeBillSub b WITH(NOLOCK) left join Sc_StationOutBillMain ou WITH(NOLOCK) on b.HInterID=ou.HProcExchInterID and b.HEntryID=ou.HProcExchEntryID where b.HInterID={HProcExchInterID} and b.HEntryID={HProcExchEntryID} group by b.HInterID,b.HEntryID,b.HQty", "Sc_ProcessExchangeBill_Out"); if (double.Parse(ds.Tables[0].Rows[0][0].ToString()) < 0) { oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "出站数量超过流转卡数量!"; objJsonResult.data = null; return objJsonResult; } oCN.Commit(); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "保存成功!"; objJsonResult.data = null; return objJsonResult; } catch (Exception e) { oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 工序单品过站 SN码查询 条码解析 [Route("Cj_SingleStation/SNHBardCodeList")] [HttpGet] public object SNHBardCodeList(string HBarCode, string HProcExchBillNo, string user, int HOrgID) { try { ds = oCN.RunProcReturn(@"select * from h_v_Gy_BarCodeBill WITH(NOLOCK) where HBarCode='" + HBarCode + "'", "h_v_Gy_BarCodeBill"); //判断条码是否存在条码档案 if (ds.Tables[0].Rows.Count > 0) { string HSourceBillNo = ds.Tables[0].Rows[0]["HSourceBillNo"].ToString(); DataSet dataTable = oCN.RunProcReturn(@"select * from Sc_ProcessExchangeBillMain where HBillNo='" + HSourceBillNo + "'", "Sc_ProcessExchangeBillMain"); //判断条码的源单 流转卡是否被删除 if (dataTable.Tables[0].Rows.Count == 0) { //如果源单已经删除 则条码也删除重新生成 oCN.RunProc("delete from Gy_BarCodeBill where HBarCode='" + HBarCode + "'"); //重新查询条码档案 进入新增方法 ds = oCN.RunProcReturn(@"select * from Gy_BarCodeBill where HBarCode='" + HBarCode + "'", "Gy_BarCodeBill"); } } if (ds.Tables[0].Rows.Count == 0) { //判断长度是否为29位 无尘车间 if (HBarCode.Length == 29) { string str1 = HBarCode.Substring(18, 8); DataSet dataSet = oCN.RunProcReturn(@"select m.HNumber 物料代码,o.HNumber 组织代码 from Sc_ProcessExchangeBillMain a WITH(NOLOCK) left join Gy_Material m WITH(NOLOCK) on a.HMaterID=m.HItemID left join Xt_ORGANIZATIONS o WITH(NOLOCK) on a.HPRDORGID=o.HItemID where HBillNo='" + HProcExchBillNo + "' and HProjectNum like'" + str1 + "%' and HPRDORGID=" + HOrgID, "Sc_ProcessExchangeBillMain"); if (dataSet.Tables[0].Rows.Count == 0) { str1 = HBarCode.Substring(23, 3); dataSet = oCN.RunProcReturn(@"select m.HNumber 物料代码,o.HNumber 组织代码 from Sc_ProcessExchangeBillMain a WITH(NOLOCK) left join Gy_Material m WITH(NOLOCK) on a.HMaterID=m.HItemID left join Xt_ORGANIZATIONS o WITH(NOLOCK) on a.HPRDORGID=o.HItemID where HBillNo='" + HProcExchBillNo + "' and HProjectNum like'" + str1 + "%' and HPRDORGID=" + HOrgID, "Sc_ProcessExchangeBillMain"); if (dataSet.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "条码与流转卡不存在对应关系!"; objJsonResult.data = null; return objJsonResult; } else { ClsPub.CurUserName = user; //条码生成 return get_HBardBillSave(HProcExchBillNo, HBarCode); } } else { ClsPub.CurUserName = user; //条码生成 return get_HBardBillSave(HProcExchBillNo, HBarCode); } } //判断长度是否为50位 15车间 else if (HBarCode.Length == 50) { string str1 = HBarCode.Substring(42, 8); DataSet dataSet = oCN.RunProcReturn(@"select m.HNumber 物料代码,o.HNumber 组织代码 from Sc_ProcessExchangeBillMain a WITH(NOLOCK) left join Gy_Material m WITH(NOLOCK) on a.HMaterID=m.HItemID left join Xt_ORGANIZATIONS o WITH(NOLOCK) on a.HPRDORGID=o.HItemID where HBillNo='" + HProcExchBillNo + "' and HProjectNum like'" + str1 + "%' and HPRDORGID=" + HOrgID, "Sc_ProcessExchangeBillMain"); if (dataSet.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "条码与流转卡不存在对应关系!"; objJsonResult.data = null; return objJsonResult; } else { ClsPub.CurUserName = user; //条码生成 return get_HBardBillSave(HProcExchBillNo, HBarCode); } } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "条码格式不正确!"; objJsonResult.data = null; return objJsonResult; } } else { //判断长度是否为29位 无尘车间 if (HBarCode.Length == 29) { string str1 = HBarCode.Substring(18, 8); DataSet dataSet = oCN.RunProcReturn(@"select m.HNumber 物料代码,o.HNumber 组织代码 from Sc_ProcessExchangeBillMain a WITH(NOLOCK) left join Gy_Material m WITH(NOLOCK) on a.HMaterID=m.HItemID left join Xt_ORGANIZATIONS o WITH(NOLOCK) on a.HPRDORGID=o.HItemID where HBillNo='" + HProcExchBillNo + "' and HProjectNum like'" + str1 + "%' and HPRDORGID=" + HOrgID, "Sc_ProcessExchangeBillMain"); if (dataSet.Tables[0].Rows.Count == 0) { str1 = HBarCode.Substring(23, 3); dataSet = oCN.RunProcReturn(@"select m.HNumber 物料代码,o.HNumber 组织代码 from Sc_ProcessExchangeBillMain a WITH(NOLOCK) left join Gy_Material m WITH(NOLOCK) on a.HMaterID=m.HItemID left join Xt_ORGANIZATIONS o WITH(NOLOCK) on a.HPRDORGID=o.HItemID where HBillNo='" + HProcExchBillNo + "' and HProjectNum like'" + str1 + "%' and HPRDORGID=" + HOrgID, "Sc_ProcessExchangeBillMain"); if (dataSet.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "条码与流转卡不存在对应关系!"; objJsonResult.data = null; return objJsonResult; } } } //判断长度是否为50位 15车间 else if (HBarCode.Length == 50) { string str1 = HBarCode.Substring(42, 8); DataSet dataSet = oCN.RunProcReturn(@"select m.HNumber 物料代码,o.HNumber 组织代码 from Sc_ProcessExchangeBillMain a WITH(NOLOCK) left join Gy_Material m WITH(NOLOCK) on a.HMaterID=m.HItemID left join Xt_ORGANIZATIONS o WITH(NOLOCK) on a.HPRDORGID=o.HItemID where HBillNo='" + HProcExchBillNo + "' and HProjectNum like'" + str1 + "%' and HPRDORGID=" + HOrgID, "Sc_ProcessExchangeBillMain"); if (dataSet.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "条码与流转卡不存在对应关系!"; objJsonResult.data = null; return objJsonResult; } } if (ds.Tables[0].Rows[0]["HStatus"].ToString() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "当前条码的状态为:" + ds.Tables[0].Rows[0]["HStatus"].ToString() + "!"; objJsonResult.data = null; return objJsonResult; } } objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = ""; objJsonResult.data = ds.Tables[0]; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } public object get_HBardBillSave(string HProcExchBillNo,string HBarCode) { try { //查询流转卡数据 DataSet dataSet = oCN.RunProcReturn(@"select a.HPRDORGID, m.HModel 物料规格,m.HName 名物料称,a.HBillNo,a.HInterID,a.HMaterID,m.HNumber 物料代码,o.HNumber 组织代码,a.HUnitID,u.HNumber 单位代码 from Sc_ProcessExchangeBillMain a WITH(NOLOCK) left join Gy_Material m WITH(NOLOCK) on a.HMaterID=m.HItemID left join Xt_ORGANIZATIONS o WITH(NOLOCK) on a.HPRDORGID=o.HItemID left join Gy_Unit u WITH(NOLOCK) on a.HUnitID=u.HItemID where HBillNo='" + HProcExchBillNo + "'", "Sc_ProcessExchangeBillMain"); string HMaterNumber = dataSet.Tables[0].Rows[0]["物料代码"].ToString(); string HOrgNumber = dataSet.Tables[0].Rows[0]["组织代码"].ToString(); if (HBarCode.Trim() == "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "条形码不能为空,不能生成条码!"; return objJsonResult; } oCN.BeginTran(); //日期获取方式 string sDate = DateTime.Now.ToString(); string HWei = "0"; //尾数 string HBarCodeType = "唯一条码"; Int64 HMaterID =int.Parse(dataSet.Tables[0].Rows[0]["HMaterID"].ToString()); Int64 HAuxPropID = 0; Int64 HUnitID = int.Parse(dataSet.Tables[0].Rows[0]["HUnitID"].ToString()); double HQty2 = 1; string HBatchNo2 = ""; Int64 HSupID = 0; Int64 HGroupID = 0; int HPrintQty = 0; Int64 HSourceInterID = int.Parse(dataSet.Tables[0].Rows[0]["HInterID"].ToString()); Int64 HSourceEntryID = 1; string HSourceBillNo = dataSet.Tables[0].Rows[0]["HBillNo"].ToString(); string HSourceBillType = "3772"; Int64 HBarcodeNo = 0; //托号 Int64 HBarcodeQtys = 0; //总托数 Int64 HDeptID = 0; Int64 HWhID = 0; Int64 HSPID = 0; string HRemark = ""; string HMaterName = dataSet.Tables[0].Rows[0]["名物料称"].ToString(); string HMaterModel = dataSet.Tables[0].Rows[0]["物料规格"].ToString(); string HPinfan = ""; string HMTONo = ""; Int64 HCusID = 0; string HCusType = ""; DateTime HEndDate=DateTime.Now; string HWorkLineName = ""; string HSeOrderBillNo = ""; string HInnerBillNo = ""; bool HGiveAwayFlag = false; Int64 HEntryID = 1; Int64 HInterID = DBUtility.ClsPub.CreateBillID_Prod("85", ref DBUtility.ClsPub.sExeReturnInfo); int HOrgID= int.Parse(dataSet.Tables[0].Rows[0]["HPRDORGID"].ToString()); string HCoilNO2 = ""; string HFurnaceNO2 = ""; string HFactory2 = ""; decimal HAuxQty2 = 0; string HheatNO2 = ""; oCN.RunProc("insert into Gy_BarCodeBill (HBarCode,HBarCodeType,HMaterID,HUnitID,HQty" + ",HBatchNo,HSupID,HGroupID,HMaker,HMakeDate,HPrintQty,HinitQty" + ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HEndQty " + ",HBarcodeQtys,HBarcodeNo,HDeptID,HWhID,HSPID,HRemark " + ",HCusID,HCusType,HEndDate,HWorkLineName,HBarCodeDate " + ",HSTOCKORGID,HOWNERID,HSeOrderBillNo,HInterID,HEntryID " + ",HGiveAwayFlag " + ",HMaterName,HMaterModel,HPinfan,HAuxPropID,HMTONo,HInnerBillNo" + ",HProduceDate,HExpiryDate " + ") values (" + "'" + HBarCode + "','" + HBarCodeType + "'," + HMaterID.ToString() + "," + HUnitID.ToString() + "," + HQty2.ToString() + ",'" + HBatchNo2 + "'," + HSupID.ToString() + "," + HGroupID.ToString() + ",'" + ClsPub.CurUserName + "',getdate()," + HPrintQty.ToString() + "," + HQty2.ToString() + ", " + HSourceInterID.ToString() + "," + HSourceEntryID.ToString() + ",'" + HSourceBillNo + "','" + HSourceBillType + "','" + HWei + "'" + ", " + HBarcodeQtys.ToString() + "," + HBarcodeNo.ToString() + "," + HDeptID.ToString() + "," + HWhID.ToString() + "," + HSPID.ToString() + ",'" + HRemark + "'" + ", " + HCusID.ToString() + ",'" + HCusType + "','" + HEndDate.ToShortDateString() + "','" + HWorkLineName + "','" + sDate + "'" + ", " + HOrgID.ToString() + "," + HOrgID.ToString() + ",'" + HSeOrderBillNo + "'," + HInterID.ToString() + "," + HEntryID.ToString() + "" + ", " + DBUtility.ClsPub.BoolToString(HGiveAwayFlag) + ",'" + HMaterName + "','" + HMaterModel + "','" + HPinfan + "'," + HAuxPropID.ToString() + ",'" + HMTONo + "','" + HInnerBillNo + "','','')"); oCN.Commit(); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = ""; objJsonResult.data = null; return objJsonResult; } catch (Exception e) { oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 工序单品过站 配件码查询 [Route("Cj_SingleStation/HBardCodeAccessoryList")] [HttpGet] public object HBardCodeAccessoryList(string HBarCode, string HProcExchBillNo, string user,string HBillType) { try { //判断是否有查询权限 if (!DBUtility.ClsPub.Security_Log("Cj_StationOutBill_Query", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无查询权限!"; objJsonResult.data = null; return objJsonResult; } ds = oCN.RunProcReturn(@"select * from h_v_Gy_BarCodeBill WITH(NOLOCK) where HBarCode='" + HBarCode + "'", "h_v_Gy_BarCodeBill"); if (ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "SN码查无数据!"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0].Rows[0]["HStatus"].ToString() !="") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "当前条码的状态为:"+ ds.Tables[0].Rows[0]["HStatus"].ToString() + "!"; objJsonResult.data = null; return objJsonResult; } DataSet dataSet = oCN.RunProcReturn(@"exec h_p_CJ_SNBarCodeBillMouldBathSelect '" + HBarCode + "','" + HProcExchBillNo + "','"+ HBillType + "'", "h_p_CJ_SNBarCodeBillMouldBathSelect"); if (dataSet.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "配件条码判断失败!"; objJsonResult.data = null; return objJsonResult; } if (ClsPub.isStrNull(dataSet.Tables[0].Rows[0]["HBack"]) == "2") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = DBUtility.ClsPub.isStrNull(dataSet.Tables[0].Rows[0]["HBackRemark"]); objJsonResult.data = null; return objJsonResult; } objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = ""; objJsonResult.data = ds.Tables[0]; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 工序单品过站 扫SN码查询 [Route("Cj_SingleStation/HBardCodeSNList")] [HttpGet] public object HBardCodeSNList(string HBarCode, string user) { try { //判断是否有查询权限 if (!DBUtility.ClsPub.Security_Log("Cj_StationOutBill_Query", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无查询权限!"; objJsonResult.data = null; return objJsonResult; } ds = oCN.RunProcReturn("select * from gy_czygl WITH(NOLOCK) where czymc='" + user + "'", "gy_czygl"); string HProcID = ds.Tables[0].Rows[0]["HProcID"].ToString(); ds = oCN.RunProcReturn(@"select * from h_v_Gy_BarCodeBillHICOMProcessExchange WITH(NOLOCK) where 条码='" + HBarCode + "' ", "h_v_Gy_BarCodeBillHICOMProcessExchange"); if (ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "条码查无数据!"; objJsonResult.data = null; return objJsonResult; } int num = 0; for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { if (ds.Tables[0].Rows[i]["HProcID"].ToString() == HProcID) { num = 1; } } if (num == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "当前条码与当前工序不匹配!"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0].Rows[0]["HStatus"].ToString() != "正常") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "当前条码状态为"+ ds.Tables[0].Rows[0]["HStatus"].ToString() + "!"; objJsonResult.data = null; return objJsonResult; } objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = ""; objJsonResult.data = ds.Tables[0]; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 工序单品过站 查询不良记录 [Route("Cj_SingleStation/BadRecordsList")] [HttpGet] public object BadRecordsList(string HProcExchInterID, string HProcExchEntryID, string user) { try { //判断是否有查询权限 if (!DBUtility.ClsPub.Security_Log("Cj_StationOutBill_Query", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无查询权限!"; objJsonResult.data = null; return objJsonResult; } ds = oCN.RunProcReturn(@"exec h_p_Gy_BadRecordsList " + HProcExchInterID + "," + HProcExchEntryID, "h_p_Gy_BadRecordsList"); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = ""; objJsonResult.data = ds; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 工序单品过站 查询合格记录 [Route("Cj_SingleStation/HGRecordsList")] [HttpGet] public object HGRecordsList(string sWhere, string user) { try { //判断是否有查询权限 if (!DBUtility.ClsPub.Security_Log("Cj_StationOutBill_Query", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无查询权限!"; objJsonResult.data = null; return objJsonResult; } ds = oCN.RunProcReturn(@"select * from h_v_Gy_QualifiedRecordsList WITH(NOLOCK) where 1=1" + sWhere, "h_v_Gy_QualifiedRecordsList"); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = ""; objJsonResult.data = ds.Tables[0]; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 工序单品过站 删除不良记录 [Route("Cj_SingleStation/DelBadRecords")] [HttpGet] public object DelBadRecords(int HInterID, int HEntryID, string user,int HProcID) { try { //判断是否有查询权限 if (!DBUtility.ClsPub.Security_Log("Cj_StationOutBill_Drop", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无删除权限!"; objJsonResult.data = null; return objJsonResult; } ds = oCN.RunProcReturn("select * from h_v_Gy_BadRecordsList WITH(NOLOCK) where HInterID = " + HInterID, "h_v_Gy_BadRecordsList"); if (ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "查无数据!"; objJsonResult.data = null; } string HProcExchInterID = ds.Tables[0].Rows[0]["HProcExchInterID"].ToString(); string HProcExchEntryID = ds.Tables[0].Rows[0]["HProcExchEntryID"].ToString(); string HBarCode = ds.Tables[0].Rows[0]["HBarCode"].ToString(); string HDate = ds.Tables[0].Rows[0]["日期"].ToString(); oCN.BeginTran(); string sql = ""; sql = "delete from Sc_QualityReportBillMain where HInterID = " + HInterID; oCN.RunProc(sql); sql = "delete from Sc_QualityReportBillSub where HInterID = " + HInterID + " and HEntryID = " + HEntryID; oCN.RunProc(sql); //删除组装追溯单 sql = "delete from Sc_AssemblyBillSub where HInterID in(select HInterID from Sc_AssemblyBillMain where HMainSourceInterID=" + HProcExchInterID + " and HMainSourceEntryID=" + HProcExchEntryID + " and HBarCode_P='" + HBarCode + "' )"; oCN.RunProc(sql); sql = "delete from Sc_AssemblyBillMain where HMainSourceInterID=" + HProcExchInterID + " and HMainSourceEntryID=" + HProcExchEntryID + " and HBarCode_P='" + HBarCode + "' "; oCN.RunProc(sql); //反写工序出站单的不良数量 oCN.RunProc(@"update Sc_StationOutBillMain set HBadCount-=1 where HProcExchInterID='" + HProcExchInterID + "' and HProcExchEntryID='" + HProcExchEntryID + "' " + "and HBillNo = (select HBillNo from Sc_StationOutBillMain WITH(NOLOCK) " + "where HProcExchInterID = '" + HProcExchInterID + "' and HProcExchEntryID = '" + HProcExchEntryID + "' and convert(varchar(10), HDate, 20) = '" + DateTime.Parse(HDate).ToString("yyyy-MM-dd") + "' and HBadCount > 0)"); //反写流转卡状态 oCN.RunProc("update Gy_BarCodeBill set HStatus='' where HBarCode='" + HBarCode + "'"); oCN.Commit(); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; 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; } } #endregion #region 工序单品过站 删除合格记录 [Route("Cj_SingleStation/DelQualifiedRecords")] [HttpGet] public object DelQualifiedRecords(int HInterID, int HEntryID, string user) { try { //判断是否有查询权限 if (!DBUtility.ClsPub.Security_Log("Cj_StationOutBill_Drop", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无删除权限!"; objJsonResult.data = null; return objJsonResult; } ds = oCN.RunProcReturn("select * from h_v_Gy_QualifiedRecordsList WITH(NOLOCK) where hmainid = " + HInterID, "h_v_Gy_QualifiedRecordsList"); string HProcExchInterID = ds.Tables[0].Rows[0]["HProcExchInterID"].ToString(); string HProcExchEntryID = ds.Tables[0].Rows[0]["HProcExchEntryID"].ToString(); if (ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "查无数据!"; objJsonResult.data = null; } oCN.BeginTran(); string sql = ""; if (ds.Tables[0].Rows.Count == 1) { sql = "delete from Sc_StationOutBillMain where HInterID = " + HInterID; oCN.RunProc(sql); } ds = oCN.RunProcReturn("select * from Sc_StationOutBillSub_SN where HInterID = " + HInterID + " and HEntryID = " + HEntryID, "Sc_StationOutBillSub_SN"); string HBarCode = ds.Tables[0].Rows[0]["HBarCode"].ToString(); string HBillNo_bak = ds.Tables[0].Rows[0]["HBillNo_bak"].ToString(); //删除组装追溯单 oCN.RunProc("delete from Sc_AssemblyBillSub where HInterID in(select HInterID from Sc_AssemblyBillMain where HMainSourceInterID=" + HProcExchInterID + " and HMainSourceEntryID=" + HProcExchEntryID + " and HBarCode_P='" + HBarCode + "')"); oCN.RunProc("delete from Sc_AssemblyBillMain where HMainSourceInterID=" + HProcExchInterID + " and HMainSourceEntryID=" + HProcExchEntryID + " and HBarCode_P='" + HBarCode + "'"); sql = "delete from Sc_StationOutBillSub_SN where HInterID = " + HInterID + " and HEntryID = " + HEntryID; oCN.RunProc(sql); //反写工序出站单的合格数量 oCN.RunProc("update Sc_StationOutBillMain WITH (TABLOCKX) set HQty-=1 where HProcExchInterID='" + HProcExchInterID + "' and HProcExchEntryID=" + HProcExchEntryID+ " and HBillNo='"+ HBillNo_bak + "'"); oCN.Commit(); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; 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; } } #endregion #region 工序单品返修台 扫码查询 [Route("Cj_SingleStation/HFBardCodeList")] [HttpGet] public object HFBardCodeList(string HBarCode, string user) { try { //判断是否有查询权限 if (!DBUtility.ClsPub.Security_Log("Sc_SourceLineRepairBill_Query", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无查询权限!"; objJsonResult.data = null; return objJsonResult; } ds = oCN.RunProcReturn("select * from gy_czygl WITH(NOLOCK) where czymc='" + user + "'", "gy_czygl"); string HProcID = ds.Tables[0].Rows[0]["HProcID"].ToString(); ds = oCN.RunProcReturn(@"select * from h_v_Gy_BarCodeBillHICOMProcessExchange WITH(NOLOCK) where 条码='" + HBarCode + "' ", "h_v_Gy_BarCodeBillHICOMProcessExchange"); if (ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "条码查无数据!"; objJsonResult.data = null; return objJsonResult; } int num = 0; for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { if (ds.Tables[0].Rows[i]["HProcID"].ToString() == HProcID) { num = 1; } } if (num == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "当前条码与当前工序不匹配!"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0].Rows[0]["HStatus"].ToString() != "不良") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "当前条码状态为" + ds.Tables[0].Rows[0]["HStatus"].ToString() + "!"; objJsonResult.data = null; return objJsonResult; } objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = ""; objJsonResult.data = ds.Tables[0]; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 工序单品返修台 查询关键件清单 [Route("Cj_SingleStation/AssemHBardCodeBomList")] [HttpGet] public object AssemHBardCodeBomList(int HProcExchInterID, int HProcExchEntryID, string HMaterSN, string user) { try { //判断是否有查询权限 if (!DBUtility.ClsPub.Security_Log("Sc_SourceLineRepairBill_Query", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无查询权限!"; objJsonResult.data = null; return objJsonResult; } ds = oCN.RunProcReturn(@"exec h_p_Gy_AssemCodeBillBomList " + HProcExchInterID + "," + HProcExchEntryID + ",'" + HMaterSN + "'", "h_p_Gy_AssemCodeBillBomList"); if (ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "配件清单查无数据!"; objJsonResult.data = null; return objJsonResult; } else { objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = ""; objJsonResult.data = ds.Tables[0]; } return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 工序单品返修台 获取表格数据 [Route("Cj_SingleStation/ProcessItemRepair")] [HttpGet] public object ProcessItemRepair( string sWhere, string user) { try { //判断是否有查询权限 if (!DBUtility.ClsPub.Security_Log("Sc_SourceLineRepairBill_Query", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无查询权限!"; objJsonResult.data = null; return objJsonResult; } List columnNameList = new List(); string sql = @"select * from h_v_Cj_BarCodeProcessItemRepair WITH(NOLOCK) where 1=1 " + sWhere + " order by 日期 desc, HInterID desc, HEntryID desc"; ds = oCN.RunProcReturn(sql, "h_v_Cj_BarCodeProcessItemRepair"); //添加列名 foreach (DataColumn col in ds.Tables[0].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 } objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.data = ds.Tables[0]; objJsonResult.list = columnNameList; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 工序单品返修台 保存 [Route("Cj_SingleStation/HFXAddRepairBill")] [HttpPost] public object HFXAddRepairBill([FromBody] JObject sMainSub) { try { var _value = sMainSub["sMainSub"].ToString(); string msg = _value.ToString(); string[] sArray = msg.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); string sMainStr = sArray[0].ToString(); string sSubStr = sArray[1].ToString(); string user = sArray[2].ToString(); string HResult = sArray[3].ToString(); //判断是否有权限 if (!DBUtility.ClsPub.Security_Log("Sc_SourceLineRepairBill_Edit", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无保存权限!"; objJsonResult.data = null; return objJsonResult; } oCN.BeginTran(); if (HResult == "配件") { Model.ClsSc_SourceLineRepairBillMain model = new Model.ClsSc_SourceLineRepairBillMain(); model = JsonConvert.DeserializeObject(sMainStr); Model.Sc_AssemblyBill_BindSourceTemp temp = new Model.Sc_AssemblyBill_BindSourceTemp(); temp = JsonConvert.DeserializeObject(sSubStr); ds = oCN.RunProcReturn("select * from Sc_SourceLineRepairBillSub_Mater where HInterID=" + model.HInterID+ " order by HEntryID desc", "Sc_SourceLineRepairBillSub_Mater"); oCN.RunProc($@"insert into Sc_SourceLineRepairBillSub_Mater (HInterID,HEntryID,HBillNo_bak,HRemark,HSourceInterID ,HSourceEntryID,HSourceBillNo,HSourceBillType,HMaterID ,HUnitID,HBarCode,HBatchNo )values ({model.HInterID},{(ds.Tables[0].Rows.Count == 0 ? 1 : int.Parse(ds.Tables[0].Rows[0]["HEntryID"].ToString()) + 1)},'{model.HBillNo}','',{temp.HProcExchInterID} ,{temp.HProcExchEntryID},'{temp.HProcExchBillNo}','',{temp.HMaterID},0,'{temp.HBarCode}','{temp.HBatchNo}')"); //修改产线追溯单绑定的条码批号 oCN.RunProc("update Sc_AssemblyBillSub set HBarCode='" + temp.HBarCode + "' where HInterID=" + temp.HInterID + " and HEntryID=" + temp.HEntryID); //oCN.RunProc("exec h_p_AssemblyBill_Temp '" + temp.HProcExchBillNo + "'," + model.HProcess + "," + temp.HMaterID + ",'" + temp.HBatchNo + "'"); } else if (HResult == "NG"|| HResult == "OK") { Model.ClsSc_SourceLineRepairBillMain model = new Model.ClsSc_SourceLineRepairBillMain(); model = JsonConvert.DeserializeObject(sMainStr); oCN.RunProc($@"insert into Sc_SourceLineRepairBillMain(HYear, HPeriod, HBillType, HBillSubType, HInterID, HDate, HBillNo, HBillStatus, HRemark, HEmpID, HDeptID, HSourceID, HProdOrgID, HMaterID, HWorkStationID, HProcess, HIPAddr, HMacAddr, HProdMac, HBarCode,HMaker,HMakeDate,HMainSourceInterID,HMainSourceEntryID,HMainSourceBillNo) values('{DateTime.Now.Year}','{DateTime.Now.Month}','3748','3748',{model.HInterID} ,getdate(),'{model.HBillNo}','1','{HResult}',{model.HEmpID},{model.HDeptID},{model.HSourceID},{model.HProdOrgID},{model.HMaterID},0 ,{model.HProcess},'','','','{model.HBarCode}','{user}',getdate(),{model.HICMOInterID},{model.HICMOEntryID},'{model.HICMOBillNo}')"); List subLsit = new List(); sMainStr = "[" + sMainStr + "]"; subLsit = JsonConvert.DeserializeObject>(sMainStr); oCN.RunProc($@"insert into Sc_SourceLineRepairBillSub (HInterID,HEntryID,HBillNo_bak,HRemark,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType ,HBadReasonID,HBadTypeID,HBadResultID,HBadProcID,HRepairResult,HCreator,HCreateDate) values({model.HInterID},1,'{model.HBillNo}','',{subLsit[0].HProcExchInterID},{subLsit[0].HProcExchEntryID},'{subLsit[0].HProcExchBillNo}','' ,{subLsit[0].HBadReasonID},{subLsit[0].HBadTypeID},{subLsit[0].HBadResultID},{model.HBadProcID},'{HResult}','{subLsit[0].HCreator}',getdate())"); if (HResult == "OK") { // ds = oCN.RunProcReturn("select * from Sc_SourceLineRepairBillSub where HInterID=" + model.HInterID, "Sc_SourceLineRepairBillSub"); // if (ds.Tables[0].Rows[0]["HRepairResult"].ToString() == "OK") // { // //生产工序出站SN数据 // ds = oCN.RunProcReturn("select top 1 HInterID,HBillNo from Sc_StationOutBillMain where HProcExchInterID=" + model.HProcExchInterID + " and HProcExchEntryID=" + model.HProcExchEntryID + " and HBadCount<>0 order by HInterID desc", "Sc_StationOutBillMain"); // string HInterIDSN = ds.Tables[0].Rows[0]["HInterID"].ToString(); // string HBillNoSN = ds.Tables[0].Rows[0]["HBillNo"].ToString(); // ds = oCN.RunProcReturn("select * from Sc_StationOutBillSub_SN where HInterID=" + HInterIDSN, "Sc_StationOutBillSub_SN"); // oCN.RunProc($@"insert into Sc_StationOutBillSub_SN(HInterID,HBillNo_bak,HEntryID,HBarCode,HBarCodeQty,HMakeTime,HRemark,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney) //values({HInterIDSN}, '{HBillNoSN}', {ds.Tables[0].Rows.Count + 1}, '{model.HBarCode}', 1, GETDATE(), '', " + model.HProcExchInterID + "," + model.HProcExchEntryID + ", '" + model.HProcExchBillNo + "', '', 0, 0)"); // //反写工序出站单 主表 不良数量 和 合格数量 // oCN.RunProc("update Sc_StationOutBillMain set HQty+=1,HBadCount-=1 where HInterID='" + HInterIDSN + "'"); // } oCN.RunProc("update Gy_BarCodeBill set HStatus='' where HBarCode='" + model.HBarCode + "'"); DataSet dataSet = oCN.RunProcReturn($"select top 1 HInterID from Sc_StationOutBillMain where HProcExchInterID={subLsit[0].HProcExchInterID} and HProcExchEntryID={subLsit[0].HProcExchEntryID} and HBadCount>0", "Sc_StationOutBillMain"); if (dataSet.Tables[0].Rows.Count > 0) { string HOutInterID = dataSet.Tables[0].Rows[0][0].ToString(); oCN.RunProc("update Sc_StationOutBillMain set HBadCount-=1 where HInterID='" + HOutInterID + "'"); } else { oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败,当前流转卡当前工序的出站单没有不良数量!"; objJsonResult.data = null; return objJsonResult; } } } else { oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败,无结果!"; objJsonResult.data = null; return objJsonResult; } oCN.Commit(); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; 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; } } #endregion #region 工序单品返修台 删除返修单 [Route("Cj_SingleStation/ProcessItemRepairDel")] [HttpGet] public object ProcessItemRepairDel(int HInterID,int HEntryID,string user,string HBill) { try { //判断是否有权限 if (!DBUtility.ClsPub.Security_Log("Sc_SourceLineRepairBill_Drop", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无删除权限!"; objJsonResult.data = null; return objJsonResult; } ds = oCN.RunProcReturn("select * from Sc_SourceLineRepairBillMain where HInterID = " + HInterID, "Sc_SourceLineRepairBillMain"); if (ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "查无数据!"; objJsonResult.data = null; } oCN.BeginTran(); string sql = ""; if (HBill == "ZB") { sql = "delete from Sc_SourceLineRepairBillMain where HInterID = " + HInterID; oCN.RunProc(sql); sql = "delete from Sc_SourceLineRepairBillSub where HInterID = " + HInterID + " and HEntryID = " + HEntryID; oCN.RunProc(sql); } if (HBill == "PJ") { sql = "delete from Sc_SourceLineRepairBillSub_Mater where HInterID = " + HInterID + " and HEntryID = " + HEntryID; oCN.RunProc(sql); } else { sql = "delete from Sc_SourceLineRepairBillSub_Mater where HInterID = " + HInterID; oCN.RunProc(sql); } oCN.Commit(); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; 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; } } #endregion #region 工序单品返修台 删除关键件清单 [Route("Cj_SingleStation/DelBomTempList")] [HttpGet] public object DelBomTempList(int HInterID, int HEntryID, string user) { try { //判断是否有权限 if (!DBUtility.ClsPub.Security_Log("Sc_SourceLineRepairBill_Drop", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无删除权限!"; objJsonResult.data = null; return objJsonResult; } ds = oCN.RunProcReturn("select * from Sc_AssemblyBillSub where HInterID = " + HInterID, "Sc_AssemblyBillMain"); if (ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "查无数据!"; objJsonResult.data = null; } oCN.BeginTran(); string sql = "delete from Sc_AssemblyBillSub where HInterID = " + HInterID + " and HEntryID=" + HEntryID; oCN.RunProc(sql); oCN.Commit(); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.data = null; return objJsonResult; } catch (Exception e) { oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 工序单品返修台--配件更换 查询更换记录 [Route("Cj_SingleStation/Sc_SourceLineRepairBillSub_MaterList")] [HttpGet] public object Sc_SourceLineRepairBillSub_MaterList(string sWhere, string user) { try { //判断是否有查询权限 if (!DBUtility.ClsPub.Security_Log("Sc_SourceLineRepairBill_Query", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无查询权限!"; objJsonResult.data = null; return objJsonResult; } string sql = @"select * from h_v_Sc_SourceLineRepairBillList where 1=1 " + sWhere + " order by HInterID desc"; ds = oCN.RunProcReturn(sql, "h_v_Sc_SourceLineRepairBillList"); 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; } } #endregion #region 工序单品过站 合格追溯查询报表 [Route("Cj_SingleStation/RetrospectiveQueryReport")] [HttpGet] public object RetrospectiveQueryReport(string HBardCode, string HProcExchBillNo, string HICMOBillNo, string sWhere, string user) { try { List columnNameList = new List(); string sql = @"exec h_p_RetrospectiveQueryReport '" + sWhere + "', '" + HBardCode + "', '" + HProcExchBillNo + "','" + HICMOBillNo + "' "; ds = oCN.RunProcReturn(sql, "h_p_RetrospectiveQueryReport"); //添加列名 foreach (DataColumn col in ds.Tables[0].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 } objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.data = ds.Tables[0]; objJsonResult.list = columnNameList; return objJsonResult; } catch (Exception e) { oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 工序单品过站 进出站记录查询 [Route("Cj_SingleStation/EntryAndExitRecords")] [HttpGet] public object EntryAndExitRecords(string HBardCode, string HProcExchBillNo, string HICMOBillNo, string sWhere, string user) { try { List columnNameList = new List(); string sql = @"exec h_p_RetrospectiveQueryReport '" + sWhere + "', '" + HBardCode + "', '" + HProcExchBillNo + "','" + HICMOBillNo + "' "; ds = oCN.RunProcReturn(sql, "h_p_RetrospectiveQueryReport"); //添加列名 foreach (DataColumn col in ds.Tables[0].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 } objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.data = ds.Tables[0]; objJsonResult.list = columnNameList; return objJsonResult; } catch (Exception e) { oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 工序单品过站 质量追溯查询报表 不良品查询 [Route("Cj_SingleStation/BadQueryReport")] [HttpGet] public object BadQueryReport(string HBardCode, string HProcExchBillNo, string HICMOBillNo, string sWhere, string user) { try { List columnNameList = new List(); string sql = @"exec h_p_BadQueryReport '" + sWhere + "', '" + HBardCode + "', '" + HProcExchBillNo + "','" + HICMOBillNo + "' "; ds = oCN.RunProcReturn(sql, "h_p_BadQueryReport"); //添加列名 foreach (DataColumn col in ds.Tables[0].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 } objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.data = ds.Tables[0]; objJsonResult.list = columnNameList; return objJsonResult; } catch (Exception e) { oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 工序单品过站 追溯报表 工艺参数列表 [Route("Cj_SingleStation/ProcessParameters")] [HttpGet] public object ProcessParameters(string sWhere, string user) { try { List columnNameList = new List(); string sql = @"select * from h_v_sc_StationOutBill_TechParamList where 1=1" + sWhere; ds = oCN.RunProcReturn(sql, "h_v_sc_StationOutBill_TechParamList"); //添加列名 foreach (DataColumn col in ds.Tables[0].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 } objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.data = ds.Tables[0]; objJsonResult.list = columnNameList; return objJsonResult; } catch (Exception e) { oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 工序单品过站 追溯报表 配件清单查询 [Route("Sc_AssemblyBill/AssemblyBillAndStationInBillList_SN")] [HttpGet] public object AssemblyBillAndStationInBillList_SN(string sWhere) { try { List columnNameList = new List(); string sql1 = "exec h_p_Sc_AssemblyBillAndStationInBillList_SN "; string sql = sql1 + sWhere; ds = oCN.RunProcReturn(sql, "h_p_Sc_AssemblyBillAndStationInBillList_SN"); //添加列名 foreach (DataColumn col in ds.Tables[0].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 } objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.data = ds.Tables[0]; objJsonResult.list = columnNameList; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 工序单品过站 逆向追溯报表 流转卡查询 [Route("Cj_SingleStation/Sc_ProcessExchangeBillMainList")] [HttpGet] public object Sc_ProcessExchangeBillMainList(string HMaterNumber,string HBatchNo, string sWhere, string user) { try { List columnNameList = new List(); string sql = @"exec h_p_GZ_ProcessExchangeBillMainList '"+ HMaterNumber + "','"+ HBatchNo + "','"+ sWhere + "'"; ds = oCN.RunProcReturn(sql, "h_p_GZ_ProcessExchangeBillMainList"); //添加列名 foreach (DataColumn col in ds.Tables[0].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 } objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.data = ds.Tables[0]; objJsonResult.list = columnNameList; return objJsonResult; } catch (Exception e) { oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 工序单品过站 逆向追溯报表 产品条码绑定 [Route("Cj_SingleStation/HBardcodeList")] [HttpGet] public object HBardcodeList(string HMaterNumber, string HBatchNo, string sWhere, string user) { try { List columnNameList = new List(); string sql = @"exec h_p_GZ_BarCodeBillList '" + HMaterNumber + "','" + HBatchNo + "','" + sWhere + "'"; ds = oCN.RunProcReturn(sql, "h_p_GZ_BarCodeBillList"); //添加列名 foreach (DataColumn col in ds.Tables[0].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 } objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.data = ds.Tables[0]; objJsonResult.list = columnNameList; return objJsonResult; } catch (Exception e) { oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 工序单品过站 逆向追溯报表 条码出入库记录 [Route("Cj_SingleStation/BardCodeOutInList")] [HttpGet] public object BardCodeOutInList(string HMaterNumber, string HBatchNo, string sWhere, string user) { try { List columnNameList = new List(); string sql = @"exec h_p_CG_BarCodeOutInList '" + HMaterNumber + "','" + HBatchNo + "','" + sWhere + "'"; ds = oCN.RunProcReturn(sql, "h_p_CG_BarCodeOutInList"); //添加列名 foreach (DataColumn col in ds.Tables[0].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 } objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.data = ds.Tables[0]; objJsonResult.list = columnNameList; return objJsonResult; } catch (Exception e) { oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 工序单品过站 单品过站查询 [Route("Cj_SingleStation/SingleItemTransitList")] [HttpGet] public object SingleItemTransitList(string HProcExchBillNo, string user) { try { List columnNameList = new List(); string sql = @"exec h_p_SingleItemTransitList '" + HProcExchBillNo + "'"; ds = oCN.RunProcReturn(sql, "h_p_SingleItemTransitList"); //添加列名 foreach (DataColumn col in ds.Tables[0].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 } objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.data = ds.Tables[0]; objJsonResult.list = columnNameList; return objJsonResult; } catch (Exception e) { oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 工序单品过站 单品过站查询 查询具体条码 [Route("Cj_SingleStation/SingleItemTransit_SN_List")] [HttpGet] public object SingleItemTransit_SN_List(string sWhere, string TableName) { try { List columnNameList = new List(); string sql = @"exec h_p_SingleItemTransit_SN_List '" + sWhere + "','"+ TableName + "'"; ds = oCN.RunProcReturn(sql, "h_p_SingleItemTransit_SN_List"); //添加列名 foreach (DataColumn col in ds.Tables[0].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 } objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.data = ds.Tables[0]; objJsonResult.list = columnNameList; return objJsonResult; } catch (Exception e) { oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion } }