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