From 9ebf0d1329b78732aa2f8d0ae0ebaf03d13ccb26 Mon Sep 17 00:00:00 2001
From: yxj <yxj@hz-kingdee.com>
Date: 星期二, 08 十月 2024 15:10:36 +0800
Subject: [PATCH] 新增工资运算调用方法
---
WarM/条码打印/Gy_BarCodeBill_automaticallyByPLC_New.cs | 214 ++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 203 insertions(+), 11 deletions(-)
diff --git "a/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_BarCodeBill_automaticallyByPLC_New.cs" "b/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_BarCodeBill_automaticallyByPLC_New.cs"
index 954c4cd..eeab9df 100644
--- "a/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_BarCodeBill_automaticallyByPLC_New.cs"
+++ "b/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_BarCodeBill_automaticallyByPLC_New.cs"
@@ -13,6 +13,7 @@
using System.Drawing.Printing;
using System.IO;
using System.Management;
+using System.Net.NetworkInformation;
namespace WarM
{
@@ -223,14 +224,14 @@
//绯荤粺鍙傛暟锛岀敓鎴愭潯鐮佹暟閲忓彲鍚﹁秴婧愬崟鏁伴噺鎺у埗锛圢涓轰笉鍙秴婧愬崟鏁伴噺锛�
if (SourceQtyCtl == "N")
{
- sWhere = " and HOrgID =" + HOrgID.ToString() + " and 浠诲姟鏁伴噺>0 and 鐢熶骇绾�='" + comboBox_SourceNameParams.Text + "' ";
+ sWhere = " and HOrgID =" + HOrgID.ToString() + " and 浠诲姟鏁伴噺>0 and 鐘舵�� = '寮�宸�' and 鐢熶骇绾�='" + comboBox_SourceNameParams.Text + "' ";
}
else
{
- sWhere = " and HOrgID =" + HOrgID.ToString();
+ sWhere = " and HOrgID =" + HOrgID.ToString() + " and 鐘舵�� = '寮�宸�' and 鐢熶骇绾�='" + comboBox_SourceNameParams.Text + "' "; ;
}
- DAL.Cls_S_IFCLD_ICMOList oIFCLD_ICMOList = new DAL.Cls_S_IFCLD_ICMOList();
+ DAL.Cls_S_IFCLD_ICMOList1 oIFCLD_ICMOList = new DAL.Cls_S_IFCLD_ICMOList1();
if (oIFCLD_ICMOList.Refresh(sWhere)) //閫夋嫨鍘熷崟
{
FillSelectData(oIFCLD_ICMOList.oBillSelectColl);
@@ -351,6 +352,9 @@
//grdMain.Rows[i].Cells[HSourceNumberCol].Value = oTable.Rows[0]["鐢熶骇绾夸唬鐮�"].ToString();
grdMain.Rows[i].Cells[HSourceNameCol].Value = oTable.Rows[0]["鐢熶骇绾�"].ToString();
grdMain.Rows[i].Cells[HEndDateCol].Value = oTable.Rows[0]["璁″垝瀹屽伐鏃ユ湡"].ToString();//鍗氭棩 鐢熶骇璁㈠崟 澶辨晥鏃ユ湡
+
+ grdMain.Rows[i].Cells[HAuxPropIDCol].Value = oTable.Rows[0]["HAuxPropID"].ToString();
+
if (cmbHBarCodeType.Text == "浠櫒澶栬喘浠舵潯鐮佸鍣ㄨ鍒�")
{
grdMain.Rows[i].Cells[HMinQtyCol].Value = ClsPub.isDoule(oTable.Rows[0]["鏈敓鎴愭潯鐮佹暟閲�"]);
@@ -405,6 +409,19 @@
{
this.Sub_SaveBill();
Display();
+
+ //璁剧疆鎵撳嵃妯℃澘锛屾墦鍗�
+ grdList.Rows[0].Cells[0].Value = "*";
+ Report = new GridppReport();
+ Report.LoadFromFile(DBUtility.ClsPub.AppPath + @"\" + textBox_PrintModelParams.Text + ".grf"); //here .
+ Report.BeforePostRecord += new _IGridppReportEvents_BeforePostRecordEventHandler(ReportBeforePostRecord);
+ Report.FetchRecord += new _IGridppReportEvents_FetchRecordEventHandler(ReportFetchRecordByDataTable);
+ Report.PrintEnd += new _IGridppReportEvents_PrintEndEventHandler(ReportPrintEnd);
+ if (comboBox_PrinterParams.Text != "")
+ {
+ Report.Printer.PrinterName = comboBox_PrinterParams.Text.Replace("(榛樿)", "");
+ }
+ Report.Print(false);
Display4();
}
@@ -847,6 +864,15 @@
HBatchNo2 = getBatchNo();
}
+ HBarCode = ClsPub.isStrNull(grdSub.Rows[i].Cells[HMaterModel2Col].Value) + getHBarCode_MaxNo();
+
+ long HSourceID = 0;
+ string sql = "select * from Gy_Source where HName = '" + comboBox_SourceNameParams.Text + "' ";
+ DataSet ds = oCn.RunProcReturn(sql, "Gy_Source");
+ if (ds != null && ds.Tables[0].Rows.Count > 0)
+ {
+ HSourceID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HItemID"].ToString());
+ }
oCn.RunProc("insert into Gy_BarCodeBill (HBarCode,HBarCodeType,HMaterID,HUnitID,HQty" +
",HBatchNo,HSupID,HGroupID,HMaker,HMakeDate,HPrintQty,HinitQty" +
@@ -857,7 +883,7 @@
",HGiveAwayFlag,HSeOrderSEQ,HInitSourceEntryID " +
",HProduceDate,HExpiryDate " +
",HISKFPERIOD,HEXPUNIT,HEXPPERIOD " +
- ",HMaterName,HMaterModel,HPinfan,HAuxPropID,HMTONo,HInnerBillNo " +
+ ",HMaterName,HMaterModel,HPinfan,HAuxPropID,HMTONo,HInnerBillNo,HSourceID " +
") values ("
+ "'" + HBarCode + "','" + HBarCodeType + "'," + HMaterID.ToString() + "," + HUnitID.ToString() + "," + HQty2.ToString()
+ ",'" + HBatchNo2 + "'," + HSupID.ToString() + "," + HGroupID.ToString() + ",'" + ClsPub.CurUserName + "',getdate()," + HPrintQty.ToString() + "," + HQty2.ToString()
@@ -868,7 +894,8 @@
+ ", " + DBUtility.ClsPub.BoolToString(HGiveAwayFlag) + "," + HSeOrderSEQ.ToString() + "," + HSourceEntryID.ToString()
+ ", " + (HProduceDate == "" ? "NULL" : "'" + HProduceDate + "'") + "," + (HExpiryDate == "" ? "NULL" : "'" + HExpiryDate + "'")
+ ", " + DBUtility.ClsPub.BoolToString(HISKFPERIOD) + ",'" + HEXPUNIT + "'," + HEXPPERIOD.ToString()
- + ",'" + HMaterName + "','" + HMaterModel + "','" + HPinfan + "'," + HAuxPropID.ToString() + ",'" + HMTONo + "','" + HInnerBillNo + "')");
+ + ",'" + HMaterName + "','" + HMaterModel + "','" + HPinfan + "'," + HAuxPropID.ToString() + ",'" + HMTONo + "','" + HInnerBillNo + "'," + HSourceID +
+ ")");
}
}
//澧炲姞 鏉$爜瓒呰繃鏈敓鎴愬姛鑳芥帶鍒�
@@ -906,7 +933,7 @@
string LIU = "";
int LEN = 4;
DataSet ds;
- string sql = "select * from h_v_IF_BarCodeBillList Where 婧愬崟鍗曞彿 ='" + grdMain.Rows[0].Cells[HSourceBillNoCol].Value + "' and HMaterID = " + grdMain.Rows[0].Cells[HMaterIDCol].Value + " and HSTOCKORGID = " + HOrgID + " and CONVERT(varchar(100),鏉$爜鏃ユ湡, 23) = '" + HDate + "' order by 鎵瑰彿 desc";
+ string sql = "select * from h_v_IF_BarCodeBillList Where HMaterID = " + grdMain.Rows[0].Cells[HMaterIDCol].Value + " and HSTOCKORGID = " + HOrgID + " and CONVERT(varchar(100),鏉$爜鏃ユ湡, 23) = '" + HDate + "' order by 鎵瑰彿 desc";
ds = oCn.RunProcReturn(sql, "h_v_IF_BarCodeBillList");
if (ds != null)
{
@@ -933,6 +960,69 @@
return HBatchNo;
}
+
+ //鐢熸垚褰撳ぉ浜у搧鏉$爜鐨勬祦姘村彿
+ private string getHBarCode_MaxNo()
+ {
+ string HBarCode_MaxNo = "";
+
+ //鏃ユ湡鑾峰彇鏂瑰紡
+ string sDate = dtpHDate.Value.ToShortDateString(); //
+ string sYear = ClsPub.isDate(sDate).Year.ToString().Substring(2, 2);
+ string sPeriod = "0" + ClsPub.isDate(sDate).Month.ToString();
+ sPeriod = sPeriod.Substring(sPeriod.Length - 2, 2);
+ string sDay = "0" + ClsPub.isDate(sDate).Day.ToString();
+ sDay = sDay.Substring(sDay.Length - 2, 2);
+
+ string HDate = "20" + sYear + "-" + sPeriod + "-" + sDay;
+
+ //鑾峰彇娴佹按鍙凤細鍥涗綅锛岃鐗╂枡褰撳ぉ鐢熸垚鐨勬潯鐮佹暟
+ string LIU = "";
+ int LEN = 4;
+
+ //鑾峰彇浜у搧鏉$爜澶囦唤琛ㄤ腑褰撴棩鏈骇鍝佹潯鐮佺紪鍙锋渶澶х殑璁板綍
+ long HMaxNo_Bak = 0; //璁板綍浜у搧鏉$爜澶囦唤琛ㄤ腑褰撴棩鏈骇鍝佹潯鐮佺紪鍙锋渶澶х殑璁板綍鐨勬潯鐮佺紪鍙风殑娴佹按鍙�
+ DataSet ds1;
+ string sql1 = "select * from Gy_BarCodeBill_SWELL_SubBarCodeBill Where HMaterID = " + grdMain.Rows[0].Cells[HMaterIDCol].Value + " and HSTOCKORGID = " + HOrgID + " and CONVERT(varchar(100),HBarCodeDate, 23) = '" + HDate + "' and HInterID <>0 order by HBarCode desc";
+ ds1 = oCn.RunProcReturn(sql1, "Gy_BarCodeBill_SWELL_SubBarCodeBill");
+ if (ds1 != null && ds1.Tables[0].Rows.Count>0)
+ {
+ string HBarCodeMaxNo = ds1.Tables[0].Rows[0]["HBarCode"].ToString();
+ HBarCodeMaxNo = HBarCodeMaxNo.Substring(HBarCodeMaxNo.Length - LEN, LEN);
+ HMaxNo_Bak = ClsPub.isLong(HBarCodeMaxNo);
+ }
+
+ ////鑾峰彇鏉$爜妗f涓綋鏃ユ湰浜у搧鏉$爜缂栧彿鏈�澶х殑璁板綍
+ long HMaxNo = 0; //璁板綍鏉$爜妗f涓綋鏃ユ湰浜у搧鏉$爜缂栧彿鏈�澶х殑璁板綍鐨勬潯鐮佺紪鍙风殑娴佹按鍙�
+ DataSet ds;
+ string sql = "select * from h_v_IF_BarCodeBillList Where HMaterID = " + grdMain.Rows[0].Cells[HMaterIDCol].Value + " and HSTOCKORGID = " + HOrgID + " and CONVERT(varchar(100),鏉$爜鏃ユ湡, 23) = '" + HDate + "' and HInterID <> 0 order by 鏉$爜缂栧彿 desc";
+ ds = oCn.RunProcReturn(sql, "h_v_IF_BarCodeBillList");
+ if (ds != null && ds.Tables[0].Rows.Count > 0)
+ {
+ string HBarCodeMaxNo = ds.Tables[0].Rows[0]["鏉$爜缂栧彿"].ToString();
+ HBarCodeMaxNo = HBarCodeMaxNo.Substring(HBarCodeMaxNo.Length - LEN, LEN);
+ HMaxNo = ClsPub.isLong(HBarCodeMaxNo);
+ }
+
+
+ //鑾峰彇褰撴棩鏈骇鍝� 鍦ㄦ潯鐮佹。妗堝拰浜у搧鏉$爜澶囦唤琛ㄤ腑 鏈�澶х殑娴佹按鍙�
+ long count = 0;
+ count = HMaxNo >= HMaxNo_Bak ? HMaxNo : HMaxNo_Bak;
+
+ //涓烘祦姘村彿鍓嶉潰琛ラ浂
+ LIU += count + 1;
+ while (LIU.Length < LEN) //濡傛灉娴佹按鍙峰皬浜�6浣嶆暟鍓嶉潰琛�0
+ {
+ LIU = "0" + LIU;
+ }
+
+ //鎷兼帴鎵瑰彿
+ HBarCode_MaxNo = sYear + sPeriod + sDay + LIU;
+
+ return HBarCode_MaxNo;
+ }
+ #endregion
+
#endregion
#region 鐩戝惉閫氳
@@ -941,6 +1031,12 @@
{
try
{
+ if (socket != null && socket.Connected)
+ {
+ MessageBox.Show("宸插缓绔嬭繛鎺ワ紝涓嶅彲閲嶅寤虹珛杩炴帴锛�");
+ return;
+ }
+
if (grdMain.Rows.Count == 0 || grdMain.Rows[0].Cells[HMaterIDCol].Value == null || grdMain.Rows[0].Cells[HMaterIDCol].Value.ToString() == "" || grdMain.Rows[0].Cells[HMaterIDCol].Value.ToString() == "0")
{
MessageBox.Show("璇烽�夋嫨婧愬崟锛�");
@@ -984,6 +1080,8 @@
Thread thread = new Thread(ReceiveMess);
thread.Start();
MessageBox.Show("杩炴帴鎴愬姛锛�");
+
+ timer3.Enabled = true;
}
catch (Exception ex)
{
@@ -1008,13 +1106,17 @@
{
string RMess = Encoding.UTF8.GetString(buffer, 0, length);
produceQty = ClsPub.isLong(RMess);
+ if (produceQty == 0)
+ {
+ produceQty = 1;
+ }
}
}
}
catch (Exception ex)
{
- MessageBox.Show("鎺ュ彛寮傚父锛屽凡鍏抽棴杩炴帴锛�" + ex.Message);
- socket.Close();
+ //MessageBox.Show("鎺ュ彛寮傚父锛屽凡鍏抽棴杩炴帴锛�" + ex.Message);
+ //socket.Close();
}
}
@@ -1125,7 +1227,8 @@
sDate = "20" + sYear + "-" + sPeriod + "-" + sDay;
//璁剧疆宸ュ崟鏉$爜閫夐」鍗¤〃鏍兼暟鎹�
- string sql = "select * from h_v_IF_BarCodeBillList Where 婧愬崟鍗曞彿 = '" + grdMain.Rows[0].Cells[HBillNoCol].Value + "' and HMaterID = " + grdMain.Rows[0].Cells[HMaterIDCol].Value + " and HSTOCKORGID = " + HOrgID + " and CONVERT(varchar(100),鏉$爜鏃ユ湡, 23) = '" + sDate + "' order by 鏉$爜缂栧彿";
+ //string sql = "select * from h_v_IF_BarCodeBillList Where 婧愬崟鍗曞彿 = '" + grdMain.Rows[0].Cells[HBillNoCol].Value + "' and HMaterID = " + grdMain.Rows[0].Cells[HMaterIDCol].Value + " and HSTOCKORGID = " + HOrgID + " and CONVERT(varchar(100),鏉$爜鏃ユ湡, 23) = '" + sDate + "' order by 鏉$爜缂栧彿";
+ string sql = "select * from h_v_IF_BarCodeBillList Where 婧愬崟鍗曞彿 = '" + grdMain.Rows[0].Cells[HBillNoCol].Value + "' and HMaterID = " + grdMain.Rows[0].Cells[HMaterIDCol].Value + " and CONVERT(varchar(100),鏉$爜鏃ユ湡, 23) = '" + sDate + "' order by 鏉$爜缂栧彿";
DataSet DSet1 = oCn.RunProcReturn(sql, "h_v_IF_BarCodeBillList", ref DBUtility.ClsPub.sExeReturnInfo);
//鐢熸垚棣栬鏍囬
if (DSet1 == null)
@@ -1155,6 +1258,7 @@
if (socket.Connected)
{
socket.Close();
+ MessageBox.Show("杩炴帴鍏抽棴鎴愬姛锛�");
}
else
{
@@ -1165,6 +1269,10 @@
catch (Exception ex)
{
MessageBox.Show(ex.Message);
+ }
+ finally
+ {
+ timer3.Enabled = false;
}
}
#endregion
@@ -1264,7 +1372,7 @@
//璁剧疆浜х嚎 涓嬫媺鍒楄〃
- DataSet DsSource = oCn.RunProcReturn("select * from Gy_Source where HUSEORGID =" + ClsPub.HOrgID, "Gy_Source");
+ DataSet DsSource = oCn.RunProcReturn("select * from Gy_Source", "Gy_Source");
comboBox_SourceNameParams.Items.Add("");
if (DsSource != null)
{
@@ -1700,7 +1808,6 @@
{
return DBUtility.Xt_BaseBillFun.Fun_GetCol(sCol, grdList);
}
- #endregion
#endregion
@@ -2273,5 +2380,90 @@
}
}
+
+
+
+ #region 鏂嚎閲嶈繛
+ private int maxRepeatConnectTimes = 5;
+ private int currentRepeatConnectTimes = 0;
+
+ #region 瀹氭椂鍣ㄦ娴嬭繛鎺ョ姸鎬併�佹柇绾块噸杩�
+ private void timer3_Tick(object sender, EventArgs e)
+ {
+ if (currentRepeatConnectTimes < maxRepeatConnectTimes)
+ {
+ //鍒ゆ柇瀹㈡埛绔槸鍚﹀彲浠ヨ闂湇鍔″櫒锛岃嫢涓嶅彲浠ヨ闂紝鍏抽棴socket杩炴帴
+ if (!getTargetInternetStatus())
+ {
+ if (socket != null && socket.Connected)
+ {
+ socket.Close();
+ }
+
+ currentRepeatConnectTimes += 1;
+ }
+ else if (getTargetInternetStatus() && !socket.Connected)
+ {
+ //鑻ュ鎴风鍙互璁块棶鏈嶅姟鍣紝socket閲嶆柊杩炴帴鏈嶅姟鍣�
+ try
+ {
+ socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
+ IPAddress iPAddress = IPAddress.Parse(textBox_IPParams.Text);
+ IPEndPoint point = new IPEndPoint(iPAddress, Convert.ToInt32(textBox_PortParams.Text));
+ socket.Connect(point);
+
+ Thread thread = new Thread(ReceiveMess);
+ thread.Start();
+
+ currentRepeatConnectTimes = 0;
+ }
+ catch (Exception ex)
+ {
+ currentRepeatConnectTimes += 1;
+ }
+ }
+ }
+ else
+ {
+ //timer3.Enabled = false;
+ currentRepeatConnectTimes = 0;
+ MessageBox.Show("杩炴帴宸叉柇寮�锛岃閲嶆柊杩炴帴锛�!");
+ }
+ }
+ #endregion
+
+ #region 鑾峰彇鐩爣璁惧缃戠粶杩炴帴鐘舵��
+ private bool getTargetInternetStatus()
+ {
+ try
+ {
+ string targetIp = textBox_IPParams.Text; // 鏇挎崲涓虹洰鏍囩數鑴戠殑IP鍦板潃
+ Ping pingSender = new Ping();
+ PingOptions options = new PingOptions();
+ // 浣跨敤64瀛楄妭鐨勬暟鎹寘锛屸�屼綘鍙互鏍规嵁闇�瑕佽皟鏁磋繖涓��
+ string data = "Hello from Ping!";
+ byte[] buffer = Encoding.ASCII.GetBytes(data);
+ int timeout = 1200; // 瓒呮椂鏃堕棿锛屸�屽崟浣嶄负姣
+ PingReply reply = pingSender.Send(targetIp, timeout, buffer, options);
+
+ if (reply.Status == IPStatus.Success)
+ {
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+ }
+ catch (Exception ex)
+ {
+ return false;
+ }
+
+ }
+ #endregion
+ #endregion
+
+
}
}
\ No newline at end of file
--
Gitblit v1.9.1