From 00e25e4a9c9bd2fc91558c3c1a68f47db6d08b1d Mon Sep 17 00:00:00 2001
From: yusijie <ysj@hz-kingdee.com>
Date: 星期一, 08 七月 2024 18:57:35 +0800
Subject: [PATCH] Merge branch 'master' of http://101.37.171.70:10101/r/MES-WEB-API
---
WebAPI/Controllers/Sc_AssemblyBillController.cs | 252 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 250 insertions(+), 2 deletions(-)
diff --git a/WebAPI/Controllers/Sc_AssemblyBillController.cs b/WebAPI/Controllers/Sc_AssemblyBillController.cs
index 6368591..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")]
@@ -174,13 +177,258 @@
}
+ #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]
--
Gitblit v1.9.1