From 67bfff895914fe3d56f1c1c4c5e39efb5fec2a06 Mon Sep 17 00:00:00 2001 From: zrg <z18737863051@163.com> Date: 星期二, 30 七月 2024 16:53:33 +0800 Subject: [PATCH] 设备工艺参数趋势图后端查询 --- WebAPI/Controllers/Sc_AssemblyBillController.cs | 260 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 259 insertions(+), 1 deletions(-) diff --git a/WebAPI/Controllers/Sc_AssemblyBillController.cs b/WebAPI/Controllers/Sc_AssemblyBillController.cs index 7ac4a0e..c06489a 100644 --- a/WebAPI/Controllers/Sc_AssemblyBillController.cs +++ b/WebAPI/Controllers/Sc_AssemblyBillController.cs @@ -1,4 +1,6 @@ -锘縰sing System; +锘縰sing Newtonsoft.Json; +using Newtonsoft.Json.Linq; +using System; using System.Collections.Generic; using System.Data; using System.Linq; @@ -24,6 +26,7 @@ Int64 sCPMaterID = 0; string sCPMaterName = ""; private json objjson = new json(); + SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); //鎵弿鎴愬搧鏉$爜 [Route("Assembly/Get_Assembly_CPBarCode_Json")] @@ -172,6 +175,261 @@ return objjson; } } + + + #region 浜х嚎缁勮杩芥函鍗� + [Route("Sc_AssemblyBill/HBardCodeList")] + [HttpGet] + public object HBardCodeList(string HBarCode, string user,string HICMOBillNo) + { + try + { + //鏌ョ湅鏉冮檺 + if (!DBUtility.ClsPub.Security_Log("Sc_AssemblyBill_Edit", 1, false, user)) + { + objjson.code = "0"; + objjson.count = 0; + objjson.Message = "鏃犱繚瀛樻潈闄愶紒"; + objjson.data = null; + return objjson; + } + if (HICMOBillNo == "" || HICMOBillNo == null) + { + ds = oCN.RunProcReturn(@"select bard.HSourceInterID,bard.HSourceEntryID,b.FMUSTQTY,a.FMOBILLNO,FERPCLSID,t5.FNAME HMaterName_z,t5.FSPECIFICATION HMaterModel_z ,m.HItemID,b.FMATERIALID,m.HName HMaterName,m.HNumber HMaterNumber,m.HModel HMaterModel,m1.HItemID HMaterID +from AIS20210811135644..T_PRD_PPBOM a +join AIS20210811135644..T_PRD_PPBOMENTRY b on a.FID = b.FID +join AIS20210811135644..T_BD_MATERIAL t3 on a.FMATERIALID = t3.FMATERIALID +join AIS20210811135644..T_BD_MATERIAL t31 on b.FMATERIALID = t31.FMATERIALID +join AIS20210811135644..T_BD_MATERIAL_L t5 on b.FMATERIALID = t5.FMATERIALID and FLOCALEID=2052 +join AIS20210811135644..t_BD_MaterialBase t4 on t5.FMATERIALID = t4.FMATERIALID +join Gy_BarCodeBill bard on a.FMOBILLNO=bard.HSourceBillNo +join Gy_Material m on bard.HMaterID=m.HItemID and t3.FNUMBER=m.HNumber +join Gy_Material m1 on t31.FNUMBER=m1.HNumber and t31.FUSEORGID=m1.HUSEORGID +where bard.HBarCode='" + HBarCode + "' AND t4.FERPCLSID in ('1', '3')", "Gy_BarCodeBill"); + if (ds.Tables[0].Rows.Count == 0) + { + objjson.code = "0"; + objjson.count = 0; + objjson.Message = "璇峰厛鎵骇鍝佹潯鐮侊紒"; + objjson.data = null; + return objjson; + } + else + { + objjson.code = "1"; + objjson.count = 1; + objjson.Message = ""; + objjson.data = ds.Tables[0]; + } + } + else + { + ds = oCN.RunProcReturn(@"select a.FMOBILLNO,FERPCLSID ,t4.FMATERIALID, a.FMATERIALID from AIS20210811135644..T_PRD_PPBOM a + join AIS20210811135644..T_PRD_PPBOMENTRY b on a.FID=b.FID + JOIN AIS20210811135644..T_BD_MATERIAL T6 ON b.FMATERIALID = T6.FMATERIALID + join AIS20210811135644..t_BD_MaterialBase t4 on b.FMATERIALID = t4.FMATERIALID + left join Gy_Material m on t6.FNUMBER=m.HNumber and m.HUSEORGID=a.FPRDORGID + where a.FMOBILLNO ='" + HICMOBillNo + "' and m.HItemID=(select HMaterID from Gy_BarCodeBill where HBarCode = '" + HBarCode + "' )", "ds2"); + + if (ds.Tables[0].Rows.Count == 0) + { + objjson.code = "0"; + objjson.count = 0; + objjson.Message = "閰嶄欢涓嶅睘浜庤鐢熶骇璁㈠崟锛�"; + objjson.data = null; + return objjson; + } + + ds = oCN.RunProcReturn(@"select HQty,HSourceBillNo,m.HName HMaterName,m.HItemID HMaterID from Gy_BarCodeBill bard +join Gy_Material m on bard.HMaterID=m.HItemID +where HBarCode='" + HBarCode + "'", "ds3"); + + objjson.code = "1"; + objjson.count = 1; + objjson.Message = ""; + objjson.data = ds.Tables[0]; + } + return objjson; + } + catch (Exception e) + { + + objjson.code = "0"; + objjson.count = 0; + objjson.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString(); + objjson.data = null; + return objjson; + } + } + #endregion + + #region 浜х嚎缁勮杩芥函鍗曚繚瀛� + [Route("Sc_AssemblyBill/AddBill")] + [HttpPost] + public object AddBill([FromBody] JObject sMainSub) + { + var _value = sMainSub["sMainSub"].ToString(); + string msg1 = _value.ToString(); + oCN.BeginTran(); + //淇濆瓨涓昏〃 + objjson = AddBillMain(msg1); + if (objjson.code == "0") + { + oCN.RollBack(); + objjson.code = "0"; + objjson.count = 0; + objjson.Message = objjson.Message; + objjson.data = null; + return objjson; + } + oCN.Commit(); + objjson.code = "1"; + objjson.count = 1; + objjson.Message = "鏂板鍗曟嵁鎴愬姛锛�"; + objjson.data = null; + return objjson; + } + Models.ClsSc_AssemblyBillMain omodel = new Models.ClsSc_AssemblyBillMain();//鍩烘湰璧勬枡 + public json AddBillMain(string msg1) + { + string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); + string msg2 = sArray[0].ToString(); + string msg3 = sArray[1].ToString(); + int OperationType = int.Parse(sArray[2].ToString());//绫诲瀷 + string user = sArray[3].ToString();//鐢ㄦ埛鍚� + + try + { + //鍒ゆ柇鏄惁鏈夌紪杈戞潈闄� + if (!DBUtility.ClsPub.Security_Log("Sc_AssemblyBill_Edit", 1, false, user)) + { + objjson.code = "0"; + objjson.count = 0; + objjson.Message = "鏃犳潈闄愮紪杈�!"; + objjson.data = null; + return objjson; + } + omodel = Newtonsoft.Json.JsonConvert.DeserializeObject<ClsSc_AssemblyBillMain>(msg2); + //JSON搴忓垪鍖栬浆鎹㈠瓧鍏搁泦鍚� + List<Dictionary<string, string>> list = new List<Dictionary<string, string>>(); + List<object> jb = JsonConvert.DeserializeObject<List<object>>(msg3); + foreach (JObject item in jb) + { + Dictionary<string, string> dic = new Dictionary<string, string>(); + foreach (var itm in item.Properties()) + { + dic.Add(itm.Name, itm.Value.ToString()); + } + list.Add(dic); + } + + if (OperationType == 1)//鏂板涓存椂琛ㄦ簮鍗曡〃 + { + for (int i = 0; i < list.Count; i++) + { + //涓存椂閰嶄欢琛� + oCN.RunProc("Insert Into Sc_AssemblyBill_BindSourceTemp " + + "(HInterID,HEntryID,HBillNo_bak,HSourceBillNo,HSourceInterID,HMaterID" + + ",HQtyMust,HProdOrgID,HSourceEntryID,HSourceBillType,HAuxPropID,HProcID,HQty,HBatchNo,HMTONo,HPlanMode) " + + " values(" + omodel.HInterID.ToString() + "," + (i+1) + ",'" + omodel.HBillNo.ToString() + "','" + omodel.HICMOBillNo.ToString() + "',0," + list[i]["HMaterID"].ToString() + + ",'" + list[i]["HQty"].ToString() + "','" + list[i]["HPRDORGID"].ToString() + "',0,'',0,0,0,'','','') "); + } + } + else if (OperationType == 2)//鏂板閰嶄欢鎵爜琛� + { + for (int i = 0; i < list.Count; i++) + { + if (list[i]["HBarCode"].ToString() != "") + { + ds = oCN.RunProcReturn("select * from Sc_AssemblyBill_BindBarCodeTemp where HSourceBillNo='" + omodel.HICMOBillNo.ToString() + "' and HBarCode='" + list[i]["HBarCode"].ToString() + "' and HBillNo_bak='" + omodel.HBillNo.ToString() + "'", "Sc_AssemblyBill_BindBarCodeTemp"); + if (ds.Tables[0].Rows.Count > 0) { + objjson.code = "0"; + objjson.count = 0; + objjson.Message ="璇ユ潯鐮佸凡鎵叆,鏃犻』鍐嶆壂!"; + objjson.data = null; + return objjson; + } + //涓存椂璁板綍琛� + oCN.RunProc("Insert Into Sc_AssemblyBill_BindBarCodeTemp " + + "(HInterID,HEntryID,HBillNo_bak,HSourceBillNo,HSourceInterID,HMaterID" + + ",HBarCode,HQty,HProdOrgID,HSourceEntryID,HSourceBillType,HAuxPropID,HProcID,HBatchNo,HMTONo,HPlanMode) " + + " values(" + omodel.HInterID.ToString() + "," + (i + 1) + ",'" + omodel.HBillNo.ToString() + "','" + omodel.HICMOBillNo.ToString() + "',0," + list[i]["HMaterID"].ToString() + + ",'" + list[i]["HBarCode"].ToString() + "','" + list[i]["HEQty"].ToString() + "','" + list[i]["HPRDORGID"].ToString() + "',0,'',0,0,'','','') "); + } + } + } + else if (OperationType == 3)//鏂板涓诲瓙琛� + { + //淇濆瓨鐢熶骇缁勮鍗曚富琛� + 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',{omodel.HInterID.ToString()},getdate() +,'{omodel.HBillNo.ToString()}','1','{user}',getdate(),{omodel.HICMOInterID.ToString()},{omodel.HICMOEntryID.ToString()},'{omodel.HICMOBillNo.ToString()}' +,{omodel.HICMOInterID.ToString()},'{omodel.HICMOBillNo.ToString()}','{omodel.HBarCode_P.ToString()}',{omodel.HMaterID},0,'{omodel.HAssemblyStatus}',{omodel.HProdOrgID})"; + oCN.RunProc(sql); + + ds = oCN.RunProcReturn("select * from Sc_AssemblyBill_BindBarCodeTemp where HSourceBillNo='" + omodel.HICMOBillNo.ToString() + "' and HInterID='" + omodel.HInterID + "' and HBillNo_bak='" + omodel.HBillNo.ToString() + "'", "Sc_AssemblyBill_BindBarCodeTemp"); + + for (int i = 0; i < ds.Tables[0].Rows.Count; i++) + { + int HMaterID = int.Parse(ds.Tables[0].Rows[i]["HMaterID"].ToString()); + double HQty = double.Parse(ds.Tables[0].Rows[i]["HQty"].ToString()); + string HBarCode = ds.Tables[0].Rows[i]["HBarCode"].ToString(); + 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({omodel.HInterID},'{omodel.HBillNo}',{(i + 1)},0,0,'' +,'',{HMaterID},0,0,0,{HQty} +,0,0,getdate(),'{HBarCode}','{omodel.HBarCode_P}','') "; + oCN.RunProc(sq2); + } + } + + objjson.code = "1"; + objjson.count = 1; + objjson.Message = null; + objjson.data = null; + return objjson; + } + catch (Exception e) + { + objjson.code = "0"; + objjson.count = 0; + objjson.Message = "Exception锛�" + e.ToString(); + objjson.data = null; + return objjson; + } + } + #endregion + + #region 浜х嚎缁勮杩芥函鍗� 鏌ヨ + [Route("Sc_AssemblyBill/Sc_AssemblyBillAddList")] + [HttpGet] + public object Sc_AssemblyBillAddList(string sWhere) + { + try + { + ds = oCN.RunProcReturn(@"select * from h_v_Sc_AssemblyBillList where 1=1 " + sWhere, "h_v_Sc_AssemblyBillList"); + + objjson.code = "1"; + objjson.count = 1; + objjson.Message = ""; + objjson.data = ds.Tables[0]; + return objjson; + } + catch (Exception e) + { + + objjson.code = "0"; + objjson.count = 0; + objjson.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString(); + objjson.data = null; + return objjson; + } + } + #endregion + [Route("Assembly/Delete_Json")] [HttpGet] public object Delete_Json(long sInterID,string sBarCode) -- Gitblit v1.9.1