From 2a6faaafeaf0651ca7459a22a8110e611fd2a042 Mon Sep 17 00:00:00 2001 From: yusijie <ysj@hz-kingdee.com> Date: 星期三, 30 八月 2023 08:45:44 +0800 Subject: [PATCH] 基础资料,保存/审核送货单凯贝奈特新增判断,excel导入送货单查询语句修改, --- WebAPI/Controllers/WebAPIController.cs | 236 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 234 insertions(+), 2 deletions(-) diff --git a/WebAPI/Controllers/WebAPIController.cs b/WebAPI/Controllers/WebAPIController.cs index c4fde65..30eead2 100644 --- a/WebAPI/Controllers/WebAPIController.cs +++ b/WebAPI/Controllers/WebAPIController.cs @@ -3,6 +3,7 @@ using Microsoft.AspNet.SignalR; using Model; using Newtonsoft.Json.Linq; +using Pub_Class; using SQLHelper; using System; using System.Collections.Generic; @@ -837,11 +838,11 @@ { ClsCNSRM oCn = new ClsCNSRM(); oCn.BeginTran(); - oCn.RunProc("Update OA_InformBillSub set HReadFlag=1 HUpDater='" + UserName + "',HUpDateDate=getdate() where HInterID='" + HInterID + "' and HEntryID='" + HEntryID + "'", ref ClsPub.sExeReturnInfo); + oCn.RunProc("Update OA_InformBillSub set HReadFlag=1 HUpDater='" + UserName + "',HUpDateDate=getdate() where HInterID='" + HInterID + "' and HEntryID='" + HEntryID + "'", ref Pub_Class.ClsPub.sExeReturnInfo); oCn.Commit(); objjson.code = "1"; objjson.count = 1; - objjson.Message = ClsPub.sExeReturnInfo; + objjson.Message = Pub_Class.ClsPub.sExeReturnInfo; objjson.data = null; return objjson; ; } @@ -870,6 +871,237 @@ } #endregion + /// <summary> + /// 琛ㄥご淇℃伅 + /// </summary> + /// <param name="sMsg"></param> + /// <returns></returns> + [Route("Web/GetMAXNum")] + [HttpGet] + public object GetMAXNum(string HBillType) + { + try + { + string HBillNo = ""; + Int64 HInterID = 0;//鏄剧ず鐨勫瓧娈� + HInterID = DBUtility.ClsPub.CreateBillID(HBillType, ref DBUtility.ClsPub.sExeReturnInfo); + HBillNo = DBUtility.ClsPub.CreateBillCode(HBillType, ref DBUtility.ClsPub.sExeReturnInfo, true); + //----------鍒涘缓铏氳〃------------------------ + DataTable dt_Main = new DataTable("Json"); + dt_Main.Columns.Add("HBillNo", typeof(string)); + dt_Main.Columns.Add("HInterID", typeof(int)); + //---------鍒涘缓鏂拌------------------------ + DataRow dr_main = dt_Main.NewRow();//鍒涘缓鏂拌 + dt_Main.Rows.Add(dr_main);//灏嗘柊琛屽姞鍏ュ埌琛ㄤ腑 + dr_main["HBillNo"] = DBUtility.ClsPub.isStrNull(HBillNo); + dr_main["HInterID"] = DBUtility.ClsPub.isLong(HInterID); + + if (HBillNo == null || HInterID == 0) + { + objjson.code = "0"; + objjson.count = 0; + objjson.Message = "鑾峰彇澶辫触"; + objjson.data = null; + return objjson; + } + else + { + objjson.code = "0"; + objjson.count = 1; + objjson.Message = "鑾峰彇鎴愬姛"; + objjson.data = dt_Main; + return objjson; + } + } + catch (Exception e) + { + objjson.code = "0"; + objjson.count = 0; + objjson.Message = "鑾峰彇澶辫触" + e.ToString(); + objjson.data = null; + return objjson; + } + } + + //寰楀埌鏈�澶INTERID + public static Int64 CreateBillID(string BillCode, ref string sReturn) + { + string BillType = ""; + DataSet Ds; + ClsSqlHelper oCn = new ClsSqlHelper(); + Int64 lID; + Ds = oCn.RunProcReturn("select * from Gy_BillNumber with (nolock) where BillCode='" + BillCode.Trim() + "'", "Gy_BillNumber"); + if (Ds.Tables[0].Rows.Count != 0) + { + lID = Pub_Class.ClsPub.isLong(Ds.Tables[0].Rows[0]["IDNow"].ToString()); + BillType = Ds.Tables[0].Rows[0]["BillType"].ToString().Trim(); + } + else + { + lID = 0; + } + //鍚岀被鍨嬪崟鎹� 鑷1 + if (BillType.Trim() != "") + { + oCn.RunProc("update Gy_BillNumber set IDNow=IDNow+1 where BillType='" + BillType.Trim() + "'"); + } + oCn.CnClose(); + oCn.CnDispose(); + oCn = null; + Ds = null; + return lID; + } + + //寰楀埌鏈�澶у崟鎹彿 + public static string CreateBillCode(string BillCode, ref string sReturn, bool Add) + { + Int64 BillCodeMode; + string Profix; + Int64 Glida; + Int32 CodeLen; + string sBillNo = ""; + char c = Convert.ToChar("0"); + string sKjYear = DateTime.Today.Year.ToString(); + string sPeriod = DateTime.Today.Month.ToString(); + string sDay = DateTime.Today.Day.ToString(); + //寰楀埌鍗曟嵁鍙疯〃 淇℃伅 + ClsSqlHelper oCn = new ClsSqlHelper(); + DataSet Ds = new DataSet(); + Ds = oCn.RunProcReturn("Select * from Gy_BillNumber where BillCode='" + BillCode.Trim() + "'", "Gy_BillNumber"); + if (Ds.Tables[0].Rows.Count != 0) + { + BillCodeMode = Pub_Class.ClsPub.isLong(Ds.Tables[0].Rows[0]["BillCodeMode"].ToString()); + Profix = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["Profix"].ToString()); + Glida = Pub_Class.ClsPub.isLong(Ds.Tables[0].Rows[0]["Glida"].ToString()); + CodeLen = Pub_Class.ClsPub.isInt(Ds.Tables[0].Rows[0]["CodeLen"].ToString()); + } + else + { + return ""; + } + // + string sStr; + switch (BillCodeMode) + { + case 0: + switch (Glida) + { + case 0://绾祦姘村彿 + Ds = oCn.RunProcReturn("Select * from Gy_MaxNum where BillCode='" + BillCode.Trim() + "'", "Gy_MaxNum"); + if (Ds.Tables[0].Rows.Count != 0) + { + sStr = new string(c, CodeLen - (Ds.Tables[0].Rows[0]["NowNumBer"].ToString()).Length); + sBillNo = Profix.Trim() + sStr + Ds.Tables[0].Rows[0]["NowNumBer"].ToString().Trim(); + } + else //鎻掑叆鏂拌褰� + { + sStr = new string(c, CodeLen - 1); + oCn.RunProc("insert into Gy_MaxNum(BillCode,NowNumber) values('" + BillCode.Trim() + "',1)"); + sBillNo = Profix.Trim() + sStr + 1; + } + if (Add == true) + { + oCn.RunProc("update Gy_Maxnum set NowNumBer=NowNumBer+1 where BillCode='" + BillCode.Trim() + "'"); + } + return sBillNo; + + case 1://鏍规嵁 YY骞�+MM鏈� 鏃� + 娴佹按鍙� 鐢熸垚鍗曟嵁鍙� 锛堟棩 閲囩敤浜� 浠撳簱鐨勫瓧娈碉級 + sKjYear = sKjYear.Substring(2, 2); + sPeriod = "0" + sPeriod; + sPeriod = sPeriod.Substring(sPeriod.Length - 2, 2); + sDay = ""; + Ds = oCn.RunProcReturn("Select * from Gy_MaxNum where BillCode='" + BillCode.Trim() + "' and KjYear='" + sKjYear + "' and Period='" + sPeriod + "' and whcode='" + sDay + "'", "Gy_MaxNum"); + if (Ds.Tables[0].Rows.Count != 0) + { + sStr = new string(c, CodeLen - (Ds.Tables[0].Rows[0]["NowNumBer"].ToString()).Length); + sBillNo = Profix.Trim() + sKjYear + sPeriod + sDay + sStr + Ds.Tables[0].Rows[0]["NowNumBer"].ToString().Trim(); + } + else //鎻掑叆鏂拌褰� + { + sStr = new string(c, CodeLen - 1); + oCn.RunProc("insert into Gy_Maxnum(BillCode,Kjyear,Period,whcode,NowNumber) values('" + BillCode.Trim() + "','" + sKjYear + "','" + sPeriod + "','" + sDay + "',1)"); + sBillNo = Profix.Trim() + sKjYear + sPeriod + sDay + sStr + "1"; + } + if (Add == true) + { + oCn.RunProc("update Gy_Maxnum set NowNumBer=NowNumBer+1 where BillCode='" + BillCode.Trim() + "' and KjYear='" + sKjYear + "' and Period='" + sPeriod + "' and whcode='" + sDay + "'"); + } + return sBillNo; + case 2: //鏍规嵁骞�+鏈�+鏃� 鐢熸垚鍗曟嵁鍙� + Ds = oCn.RunProcReturn("Select * from Gy_MaxNum where BillCode='" + BillCode.Trim() + "' and KjYear='" + sKjYear + "' and Period='" + sPeriod + "' and whcode='" + sDay + "'", "Gy_MaxNum"); + if (Ds.Tables[0].Rows.Count != 0) + { + sStr = new string(c, CodeLen - (Ds.Tables[0].Rows[0]["NowNumBer"].ToString()).Length); + sBillNo = Profix.Trim() + sKjYear + Pub_Class.ClsPub.isStrNull(("0" + sPeriod)).Substring(Pub_Class.ClsPub.isStrNull(("0" + sPeriod)).Length - 2, 2) + Pub_Class.ClsPub.isStrNull(("0" + sDay)).Substring(Pub_Class.ClsPub.isStrNull(("0" + sDay)).Length - 2, 2) + sStr + Ds.Tables[0].Rows[0]["NowNumBer"].ToString().Trim(); + } + else //鎻掑叆鏂拌褰� + { + sStr = new string(c, CodeLen - 1); + oCn.RunProc("insert into Gy_Maxnum(BillCode,Kjyear,Period,whcode,NowNumber) values('" + BillCode.Trim() + "','" + sKjYear + "','" + sPeriod + "','" + sDay + "',1)"); + sBillNo = Profix.Trim() + sKjYear + Pub_Class.ClsPub.isStrNull(("0" + sPeriod)).Substring(Pub_Class.ClsPub.isStrNull(("0" + sPeriod)).Length - 2, 2) + Pub_Class.ClsPub.isStrNull(("0" + sDay)).Substring(Pub_Class.ClsPub.isStrNull(("0" + sDay)).Length - 2, 2) + sStr + 1; + } + if (Add == true) + { + oCn.RunProc("update Gy_Maxnum set NowNumBer=NowNumBer+1 where BillCode='" + BillCode.Trim() + "' and KjYear='" + sKjYear + "' and Period='" + sPeriod + "' and whcode='" + sDay + "'"); + } + return sBillNo; + case 3: //鏍规嵁 涔斾竴 锛圫 + 骞达紙23锛�+浜斾綅娴佹按鍙凤級瀹炰緥锛歋2300001 + Ds = oCn.RunProcReturn("Select * from Gy_MaxNum where BillCode='" + BillCode.Trim() + "' and KjYear='0' and whcode=''", "Gy_MaxNum"); + sKjYear = sKjYear.Substring(2, 2); + if (Ds.Tables[0].Rows.Count != 0) + { + sStr = new string(c, CodeLen - (Ds.Tables[0].Rows[0]["NowNumBer"].ToString()).Length); + Profix = Profix.Substring(0, 1); + sBillNo = Profix.Trim() + sKjYear + sStr + Ds.Tables[0].Rows[0]["NowNumBer"].ToString().Trim(); + } + else //鎻掑叆鏂拌褰� + { + sStr = new string(c, CodeLen - 1); + oCn.RunProc("insert into Gy_Maxnum(BillCode,Kjyear,Period,whcode,NowNumber) values('" + BillCode.Trim() + "','" + sKjYear + "','" + sPeriod + "','" + sDay + "',1)"); + sBillNo = Profix.Trim() + sKjYear + sStr + 1; + } + if (Add == true) + { + oCn.RunProc("update Gy_Maxnum set NowNumBer=NowNumBer+1 where BillCode='" + BillCode.Trim() + "' and KjYear='0' and whcode=''"); + } + return sBillNo; + case 4: //鏍规嵁 涔斾竴 宸ュ簭娴佽浆鍗″彿鏀规垚骞�+鏈�+鍥涗綅娴佹按鍙凤紙23050001锛� + Ds = oCn.RunProcReturn("Select * from Gy_MaxNum where BillCode='" + BillCode.Trim() + "' and KjYear='0' and whcode=''", "Gy_MaxNum"); + sKjYear = sKjYear.Substring(2, 2); + sPeriod = "0" + sPeriod; + sPeriod = sPeriod.Substring(sPeriod.Length - 2, 2); + if (Ds.Tables[0].Rows.Count != 0) + { + sStr = new string(c, CodeLen - (Ds.Tables[0].Rows[0]["NowNumBer"].ToString()).Length); + sBillNo = sKjYear + sPeriod + sStr + Ds.Tables[0].Rows[0]["NowNumBer"].ToString().Trim(); + } + else //鎻掑叆鏂拌褰� + { + sStr = new string(c, CodeLen - 1); + oCn.RunProc("insert into Gy_Maxnum(BillCode,Kjyear,Period,whcode,NowNumber) values('" + BillCode.Trim() + "','" + sKjYear + "','" + sPeriod + "','" + sDay + "',1)"); + sBillNo = sKjYear + sPeriod + sStr + 1; + } + if (Add == true) + { + oCn.RunProc("update Gy_Maxnum set NowNumBer=NowNumBer+1 where BillCode='" + BillCode.Trim() + "' and KjYear='0' and whcode=''"); + } + return sBillNo; + default: + return sBillNo; + + } + + case 1: + return sBillNo; + + default: + return sBillNo; + + } + oCn.CnClose(); + oCn.CnDispose(); + oCn = null; + } } } -- Gitblit v1.9.1