From 01024c743a5c20700bf8035ee48c6cdc149ded96 Mon Sep 17 00:00:00 2001 From: yxj <1qaz@123> Date: 星期二, 04 四月 2023 15:27:08 +0800 Subject: [PATCH] 称重入库模块优化 --- Pub_Class/CustomerCls/ClsPub.cs | 283 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 273 insertions(+), 10 deletions(-) diff --git a/Pub_Class/CustomerCls/ClsPub.cs b/Pub_Class/CustomerCls/ClsPub.cs index 5739f2b..e560972 100644 --- a/Pub_Class/CustomerCls/ClsPub.cs +++ b/Pub_Class/CustomerCls/ClsPub.cs @@ -399,7 +399,7 @@ case 0: switch (Glida) { - case 0: + case 0://绾祦姘村彿 Ds = oCn.RunProcReturn("Select * from Gy_MaxNum where BillCode='" + BillCode.Trim() + "'", "Gy_MaxNum"); if (Ds.Tables[0].Rows.Count != 0) { @@ -418,11 +418,30 @@ } return sBillNo; - case 1: + 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 Day=" + sDay, "Gy_MaxNum"); + 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); @@ -431,12 +450,144 @@ else //鎻掑叆鏂拌褰� { sStr = new string(c, CodeLen - 1); - oCn.RunProc("insert into Gy_Maxnum(BillCode,Kjyear,Period,Day,NowNumber) values('" + BillCode.Trim() + "'," + sKjYear + "," + sPeriod + "," + sDay + ",1)"); + oCn.RunProc("insert into Gy_Maxnum(BillCode,Kjyear,Period,whcode,NowNumber) values('" + BillCode.Trim() + "','" + sKjYear + "','" + sPeriod + "','" + sDay + "',1)"); sBillNo = Profix.Trim() + sKjYear + ClsPub.isStrNull(("0" + sPeriod)).Substring(ClsPub.isStrNull(("0" + sPeriod)).Length - 2, 2) + ClsPub.isStrNull(("0" + sDay)).Substring(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 Day=" + sDay); + oCn.RunProc("update Gy_Maxnum set NowNumBer=NowNumBer+1 where BillCode='" + BillCode.Trim() + "' and KjYear='" + sKjYear + "' and Period='" + sPeriod + "' and whcode='" + sDay + "'"); + } + return sBillNo; + default: + return sBillNo; + + } + + case 1: + return sBillNo; + + default: + return sBillNo; + + } + oCn.CnClose(); + oCn.CnDispose(); + oCn = null; + } + + //寰楀埌鏈�澶у崟鎹彿 + public static string CreateBillCode(string BillCode,string HOrgNumber,Int64 HOrgID,string HWhNumber, 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 = ClsPub.isLong(Ds.Tables[0].Rows[0]["BillCodeMode"].ToString()); + Profix = ClsPub.isStrNull(Ds.Tables[0].Rows[0]["Profix"].ToString()); + Glida = ClsPub.isLong(Ds.Tables[0].Rows[0]["Glida"].ToString()); + CodeLen = 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 + ClsPub.isStrNull(("0" + sPeriod)).Substring(ClsPub.isStrNull(("0" + sPeriod)).Length - 2, 2) + ClsPub.isStrNull(("0" + sDay)).Substring(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 + ClsPub.isStrNull(("0" + sPeriod)).Substring(ClsPub.isStrNull(("0" + sPeriod)).Length - 2, 2) + ClsPub.isStrNull(("0" + sDay)).Substring(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://鏍规嵁 鍓嶇紑+缁勭粐+ YY骞�+MM鏈� + 娴佹按鍙� 鐢熸垚鍗曟嵁鍙� 锛堢粍缁� 閲囩敤浜� 浠撳簱鐨勫瓧娈碉級 + sKjYear = sKjYear.Substring(2, 2); + sPeriod = "0" + sPeriod; + sPeriod = sPeriod.Substring(sPeriod.Length - 2, 2); + + Ds = oCn.RunProcReturn("Select * from Gy_MaxNum where BillCode='" + BillCode.Trim() + "' and KjYear='" + sKjYear + "' and Period='" + sPeriod + "' and whcode='" + HOrgNumber + "'", "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() + HOrgNumber + 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 + "','" + HOrgNumber + "',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='" + HOrgNumber + "'"); } return sBillNo; default: @@ -557,8 +708,6 @@ return "ERROR"; } } - - //寰楀埌鏈�澶INTERID 瀛樺偍杩囩▼ public static Int64 CreateBillID_Prod(string BillCode, ref string sReturn) @@ -707,7 +856,7 @@ } - //鍒ゆ柇鏄兘瀛樺湪鏉冮檺,骞跺啓鍏ユ棩蹇� + //鍒ゆ柇鏄惁瀛樺湪鏉冮檺,骞跺啓鍏ユ棩蹇� public static bool Security_Log(string gnsy, int LogTF, bool Msg,string CurUserName) { //gnsy 鍔熻兘绱㈠紩,妯″潡 @@ -809,6 +958,116 @@ if (Msg == true) { MessageBox.Show("鍒ゆ柇鏉冮檺鏃跺彂鐜伴敊璇�,璇蜂笌绠$悊鍛樿仈绯伙紒", "鎻愮ず"); + } + return false; + } + } + + public static bool Security_Log_second(string gnsy, int LogTF, bool Msg, string CurUserName) + { + //gnsy 鍔熻兘绱㈠紩,妯″潡 + //usercode 褰撳墠鐢ㄦ埛浠g爜 + //LogTF 1鍒ゆ柇鏉冮檺骞跺啓鏃ュ織锛�2鍙啓鏃ュ織锛�3鍙垽鏂潈闄� + //Msg 娌℃湁鏉冮檺鏃� 鏄惁鎻愮ず妗� + string UserID = CurUserName; + try + { + ClsSqlHelper oCn = new ClsSqlHelper(); + DataSet Ds = new DataSet(); + DataSet DsUser = new DataSet(); + DataSet DsJS = new DataSet();//瑙掕壊 + long ModID = 0; + bool HavRight = false; + //鎵惧埌妯″潡鏉冮檺 + Ds = oCn.RunProcReturn("select * from xt_xtgnb where gnsy='" + gnsy.Trim() + "'", "xt_xtgnb"); + if (Ds.Tables[0].Rows.Count == 0) + { + if (Msg == true) + { + return false; + //MessageBox.Show("娌℃湁鎵惧埌璇ュ姛鑳芥ā鍧楋紒", "鎻愮ず"); + } + return false; + } + else + { + ModID = ClsPub.isLong(Ds.Tables[0].Rows[0]["ID"].ToString()); //杩斿洖妯″潡 + } + if (LogTF == 1 || LogTF == 3)//闇�瑕佸垽鏂潈闄� + { + //鏍规嵁鐢ㄦ埛鍚嶇О鍒ゆ柇鏉冮檺 + DsUser = oCn.RunProcReturn("select * from gy_czygl where czymc='" + UserID.Trim() + "'", "gy_czygl"); + if (DsUser.Tables[0].Rows.Count == 0) + { + if (Msg == true) + { + return false; + //MessageBox.Show("娌℃湁鎵惧埌褰撳墠鎿嶄綔鍛橈紒", "鎻愮ず"); + } + return false; + } + //鏍规嵁鐢ㄦ埛鍚嶇О鍒ゆ柇鏉冮檺 + if ((bool)DsUser.Tables[0].Rows[0]["ManagerFlag"]) //鏄惁绠$悊鍛� + { + HavRight = true; + } + else + { + if (DsUser.Tables[0].Rows[0]["AuthorityID"].ToString().Trim().Substring((int)ModID - 1, 1) == "1") + { + HavRight = true; + } + else + { + //鑾峰彇鐢ㄦ埛缁� 骞跺惊鐜垽鏂潈闄� + //鍒ゆ柇瑙掕壊鏄惁鏈夋潈闄� + DsJS = oCn.RunProcReturn("select isnull(AuthorityID,'') AuthorityID from System_UserGroupinfo a inner join System_UserGroup b on a.GroupID=b.GroupID " + + " Where a.USERID='" + UserID.Trim() + "'", "gy_czygl"); + if (DsJS == null) + { + HavRight = false; + } + else + { + HavRight = false; + for (int i = 0; i < DsJS.Tables[0].Rows.Count; i++) + { + if (ClsPub.isStrNull(DsJS.Tables[0].Rows[i]["AuthorityID"]).Length > ModID) + { + if (DsJS.Tables[0].Rows[i]["AuthorityID"].ToString().Trim().Substring((int)ModID - 1, 1) == "1") + { + HavRight = true; + break; + } + } + } + + } + } + } + + if (HavRight == false) + { + if (Msg == true) + { + return false; + //MessageBox.Show("鎮ㄦ病鏈夋潈闄�,璇蜂笌绠$悊鍛樿仈绯伙紒", "鎻愮ず"); + } + } + } + //闇�瑕佸啓鍏ユ棩蹇� + if ((LogTF == 1 && HavRight) || LogTF == 2) + { + Add_Log(Ds.Tables[0].Rows[0]["id"].ToString().Trim(), gnsy + "," + Ds.Tables[0].Rows[0]["gnmc"].ToString().Trim(), CurUserName); + } + return HavRight; + } + catch (Exception e) + { + if (Msg == true) + { + return false; + //MessageBox.Show("鍒ゆ柇鏉冮檺鏃跺彂鐜伴敊璇�,璇蜂笌绠$悊鍛樿仈绯伙紒", "鎻愮ず"); } return false; } @@ -1221,6 +1480,10 @@ { try { + if (oGrd.RowCount <= 1) + { + return; + } int Cols; char c = Convert.ToChar(","); string sStr = ClsIni.ReadIni("GridSave", KeyItem, AppPath + @"\" + "grdWidth.wyini"); -- Gitblit v1.9.1