From f54fd7290ce32d63eb769a1b5c5811ba97af1525 Mon Sep 17 00:00:00 2001 From: yxj <yxj@hz-kingdee.com> Date: 星期五, 14 七月 2023 10:25:56 +0800 Subject: [PATCH] 条码生成模块,增加是否启用保质期判断,启用保质期的物料,根据物料保质期单位、保质期算出有效期至写入条码档案 --- WarM/条码打印/Gy_BarCodeBill.cs | 119 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 115 insertions(+), 4 deletions(-) diff --git "a/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_BarCodeBill.cs" "b/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_BarCodeBill.cs" index 92c9009..13cd884 100644 --- "a/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_BarCodeBill.cs" +++ "b/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_BarCodeBill.cs" @@ -81,6 +81,11 @@ public const Int16 HShowDateCol = 60; public const Int16 HInnerBillNoCol = 61; public const Int16 HMakerCol = 62; + public const Int16 HProduceDateCol = 63; + public const Int16 HExpiryDateCol = 64; + public const Int16 HISKFPERIODCol = 65; + public const Int16 HEXPUNITCol = 66; + public const Int16 HEXPPERIODCol = 67; public Int16 HSelectCol = 0; public Int16 HSno2Col = 1; @@ -142,6 +147,11 @@ public Int16 HInnerBillNo2Col = 57; public Int16 HMaker2Col = 58; public Int16 HEntryID2Col = 59; + public Int16 HProduceDate2Col = 60; + public Int16 HExpiryDate2Col = 61; + public Int16 HISKFPERIOD2Col = 62; + public Int16 HEXPUNIT2Col = 63; + public Int16 HEXPPERIOD2Col = 64; // public string ModName = "85"; public string ModCaption = "鏉$爜鐢熸垚"; @@ -626,6 +636,45 @@ { sHRemark= sHRemark+DBUtility.ClsPub.isStrNull(oDsCheck.Tables[0].Rows[0]["HRemark"]); } + else + { + if (DBUtility.ClsPub.isBool(oDsCheck.Tables[0].Rows[0]["HISKFPERIOD"])) + { + DateTime HProduceDate; //鐢熶骇鏃ユ湡 + string HEXPUNIT; //淇濊川鏈熷崟浣� + int HEXPPERIOD; //淇濊川鏈� + + HProduceDate = dtpHDate.Value; + HEXPUNIT = DBUtility.ClsPub.isStrNull(oDsCheck.Tables[0].Rows[0]["HEXPUNIT"]); + HEXPPERIOD = DBUtility.ClsPub.isInt(oDsCheck.Tables[0].Rows[0]["HEXPPERIOD"]); + + grdMain.Rows[j].Cells[HISKFPERIODCol].Value = 1; + grdMain.Rows[j].Cells[HEXPUNITCol].Value = HEXPUNIT; + grdMain.Rows[j].Cells[HEXPPERIODCol].Value = HEXPPERIOD.ToString(); + grdMain.Rows[j].Cells[HProduceDateCol].Value = HProduceDate.ToShortDateString(); + + if (HEXPUNIT == "Y") + { + grdMain.Rows[j].Cells[HExpiryDateCol].Value = HProduceDate.AddYears(HEXPPERIOD).ToShortDateString(); + } + else if (HEXPUNIT == "M") + { + grdMain.Rows[j].Cells[HExpiryDateCol].Value = HProduceDate.AddMonths(HEXPPERIOD).ToShortDateString(); + } + else + { + grdMain.Rows[j].Cells[HExpiryDateCol].Value = HProduceDate.AddDays(HEXPPERIOD).ToShortDateString(); + } + } + else + { + grdMain.Rows[j].Cells[HISKFPERIODCol].Value = 0; + grdMain.Rows[j].Cells[HEXPUNITCol].Value = ""; + grdMain.Rows[j].Cells[HEXPPERIODCol].Value = 0; + grdMain.Rows[j].Cells[HProduceDateCol].Value = ""; + grdMain.Rows[j].Cells[HExpiryDateCol].Value = ""; + } + } } } if(sHRemark!="") @@ -993,12 +1042,24 @@ grdSub.Rows[i].Cells[HInnerBillNo2Col].Value = grdMain.Rows[j].Cells[HInnerBillNoCol].Value; grdSub.Rows[i].Cells[HMaker2Col].Value = grdMain.Rows[j].Cells[HMakerCol].Value; grdSub.Rows[i].Cells[HGiveAwayFlag2Col].Value = grdMain.Rows[j].Cells[HGiveAwayFlagCol].Value; + grdSub.Rows[i].Cells[HProduceDate2Col].Value = grdMain.Rows[j].Cells[HProduceDateCol].Value; + grdSub.Rows[i].Cells[HExpiryDate2Col].Value = grdMain.Rows[j].Cells[HExpiryDateCol].Value; + grdSub.Rows[i].Cells[HISKFPERIOD2Col].Value = grdMain.Rows[j].Cells[HISKFPERIODCol].Value; + grdSub.Rows[i].Cells[HEXPUNIT2Col].Value = grdMain.Rows[j].Cells[HEXPUNITCol].Value; + grdSub.Rows[i].Cells[HEXPPERIOD2Col].Value = grdMain.Rows[j].Cells[HEXPPERIODCol].Value; //缃戞牸鎵撳嬀 + //鏄惁璧犲搧 DataGridViewCheckBoxCell oCell = new DataGridViewCheckBoxCell(); oCell.ThreeState = false; oCell.Value = grdSub.Rows[i].Cells[HGiveAwayFlag2Col].Value; oCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter; grdSub.Rows[i].Cells[HGiveAwayFlag2Col] = oCell; + //鏄惁鍚敤淇濊川鏈� + DataGridViewCheckBoxCell oCell2 = new DataGridViewCheckBoxCell(); + oCell2.ThreeState = false; + oCell2.Value = grdSub.Rows[i].Cells[HISKFPERIOD2Col].Value; + oCell2.Style.Alignment = DataGridViewContentAlignment.MiddleCenter; + grdSub.Rows[i].Cells[HISKFPERIOD2Col] = oCell2; k = k + 1; n = n + 1; //oCn.RunProc("exec h_p_WMS_SetMaxNo '" + sTMNumber + "'"); @@ -1042,6 +1103,11 @@ string HInnerBillNo = ""; bool HGiveAwayFlag = false; Int64 HEntryID = 0; + string HProduceDate; + string HExpiryDate; + bool HISKFPERIOD = false; + string HEXPUNIT = ""; + double HEXPPERIOD = 0; try { oCn.BeginTran(); @@ -1087,6 +1153,25 @@ HSeOrderSEQ = ClsPub.isLong(grdSub.Rows[i].Cells[HSeOrderSEQ2Col].Value); HInnerBillNo = ClsPub.isStrNull(grdSub.Rows[i].Cells[HInnerBillNo2Col].Value); HGiveAwayFlag = ClsPub.isBool(grdSub.Rows[i].Cells[HGiveAwayFlag2Col].Value); + if (ClsPub.isDate(grdSub.Rows[i].Cells[HProduceDate2Col].Value) < Convert.ToDateTime("1950-01-01")) + { + HProduceDate = ""; + } + else + { + HProduceDate = ClsPub.isStrNull(grdSub.Rows[i].Cells[HProduceDate2Col].Value); + } + if (ClsPub.isDate(grdSub.Rows[i].Cells[HExpiryDate2Col].Value) < Convert.ToDateTime("1950-01-01")) + { + HExpiryDate = ""; + } + else + { + HExpiryDate = ClsPub.isStrNull(grdSub.Rows[i].Cells[HExpiryDate2Col].Value); + } + HISKFPERIOD = ClsPub.isBool(grdSub.Rows[i].Cells[HISKFPERIOD2Col].Value); + HEXPUNIT = ClsPub.isStrNull(grdSub.Rows[i].Cells[HEXPUNIT2Col].Value); + HEXPPERIOD = ClsPub.isDoule(grdSub.Rows[i].Cells[HEXPPERIOD2Col].Value); oCn.RunProc("insert into Gy_BarCodeBill (HBarCode,HBarCodeType,HMaterID,HUnitID,HQty" + ",HBatchNo,HSupID,HGroupID,HMaker,HMakeDate,HPrintQty,HinitQty" + ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HEndQty " + @@ -1094,6 +1179,8 @@ ",HCusID,HCusType,HEndDate,HWorkLineName,HBarCodeDate " + ",HSTOCKORGID,HOWNERID,HSeOrderBillNo,HInterID,HEntryID " + ",HGiveAwayFlag,HSeOrderSEQ,HInitSourceEntryID " + + ",HProduceDate,HExpiryDate " + + ",HISKFPERIOD,HEXPUNIT,HEXPPERIOD " + ",HMaterName,HMaterModel,HPinfan,HAuxPropID,HMTONo,HInnerBillNo " + ") values (" + "'" + HBarCode + "','" + HBarCodeType + "'," + HMaterID.ToString() + "," + HUnitID.ToString() + "," + HQty2.ToString() @@ -1101,8 +1188,10 @@ + ", " + HSourceInterID.ToString() + "," + HSourceEntryID.ToString() + ",'" + HSourceBillNo + "','" + HSourceBillType + "','" + HWei + "'" + ", " + HBarcodeQtys.ToString() + "," + HBarcodeNo.ToString() + "," + HDeptID.ToString() + "," + HWhID.ToString() + "," + HSPID.ToString() + ",'" + HRemark + "'" + ", " + HCusID.ToString() + ",'" + HCusType + "','" + HEndDate.ToShortDateString() + "','" + HWorkLineName + "','" + sDate + "'" - + ", " + HOrgID.ToString() + "," + HOrgID.ToString() + ",'" + HSeOrderBillNo + "'," + HInterID.ToString() + "," + HEntryID.ToString() + "" + + ", " + HOrgID.ToString() + "," + HOrgID.ToString() + ",'" + HSeOrderBillNo + "'," + HInterID.ToString() + "," + HEntryID.ToString() + ", " + 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 + "')"); @@ -1509,7 +1598,7 @@ // grdMain.RowCount = 0; grdSub.RowCount = 0; - grdMain.ColumnCount = 63; //鎬诲垪鏁� + grdMain.ColumnCount = 68; //鎬诲垪鏁� DBUtility.Xt_BaseBillFun.initGridFst(grdMain, this.Name); grdMain.Columns[HSnoCol].HeaderText = "搴忓彿"; grdMain.Columns[HMainIDCol].HeaderText = "婧愬崟涓籌D"; @@ -1566,6 +1655,11 @@ grdMain.Columns[HShowDateCol].HeaderText = "鏃ユ湡"; grdMain.Columns[HInnerBillNoCol].HeaderText = "鍐呴儴閲囪喘璁㈠崟鍙�"; grdMain.Columns[HMakerCol].HeaderText = "鍒跺崟浜�"; + grdMain.Columns[HProduceDateCol].HeaderText = "鐢熶骇鏃ユ湡"; + grdMain.Columns[HExpiryDateCol].HeaderText = "鏈夋晥鏈熻嚦"; + grdMain.Columns[HISKFPERIODCol].HeaderText = "鏄惁鍚敤淇濊川鏈�"; + grdMain.Columns[HEXPUNITCol].HeaderText = "淇濊川鏈熷崟浣�"; + grdMain.Columns[HEXPPERIODCol].HeaderText = "淇濊川鏈�"; //// //鏍煎紡鍖� grdMain.Columns[HTagCol].Visible = false; //闅愯棌鍒� @@ -1613,7 +1707,12 @@ grdMain.Columns[HSourceIDCol].Visible = false; grdMain.Columns[HSourceNumberCol].Visible = false; grdMain.Columns[HSourceNameCol].Visible = false; - + grdMain.Columns[HProduceDateCol].Visible = false; + grdMain.Columns[HExpiryDateCol].Visible = false; + grdMain.Columns[HISKFPERIODCol].Visible = false; + grdMain.Columns[HEXPUNITCol].Visible = false; + grdMain.Columns[HEXPPERIODCol].Visible = false; + //璁剧疆鍙紪杈戝垪 string sAllowCol = HQtyCol.ToString()+ "," + HMinQtyCol.ToString() + @@ -1643,7 +1742,7 @@ DBUtility.Xt_BaseBillFun.initGridLast(sAllowCol, sTotalCol,oSumGrid); //---------------------------- - grdSub.ColumnCount = 60; //鎬诲垪鏁� + grdSub.ColumnCount = 65; //鎬诲垪鏁� DBUtility.Xt_BaseBillFun.initGridFst(grdSub, this.Name); grdSub.Columns[HSelectCol].HeaderText = "閫夋嫨"; grdSub.Columns[HTMCol].HeaderText = "鏉$爜缂栧彿"; @@ -1703,6 +1802,11 @@ grdSub.Columns[HInnerBillNo2Col].HeaderText = "鍐呴儴閲囪喘璁㈠崟鍙�"; grdSub.Columns[HMaker2Col].HeaderText = "鍒跺崟浜�"; grdSub.Columns[HEntryID2Col].HeaderText = "琛屽彿"; + grdSub.Columns[HProduceDate2Col].HeaderText = "鐢熶骇鏃ユ湡"; + grdSub.Columns[HExpiryDate2Col].HeaderText = "鏈夋晥鏈熻嚦"; + grdSub.Columns[HISKFPERIOD2Col].HeaderText = "鏄惁鍚敤淇濊川鏈�"; + grdSub.Columns[HEXPUNIT2Col].HeaderText = "淇濊川鏈熷崟浣�"; + grdSub.Columns[HEXPPERIOD2Col].HeaderText = "淇濊川鏈�"; //鏍煎紡鍖� grdSub.Columns[HMaterID2Col].Visible = false; grdSub.Columns[HModel2Col].Visible = false; @@ -1751,11 +1855,18 @@ for (int i = 0; i < grdSub.Rows.Count; i++) { //缃戞牸鎵撳嬀 + //鏄惁璧犲搧 DataGridViewCheckBoxCell oCell = new DataGridViewCheckBoxCell(); oCell.ThreeState = false; oCell.Value = 0; oCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter; grdSub.Rows[i].Cells[HGiveAwayFlag2Col] = oCell; + //鏄惁鍚敤淇濊川鏈� + DataGridViewCheckBoxCell oCell2 = new DataGridViewCheckBoxCell(); + oCell2.ThreeState = false; + oCell2.Value = 0; + oCell2.Style.Alignment = DataGridViewContentAlignment.MiddleCenter; + grdSub.Rows[i].Cells[HISKFPERIOD2Col] = oCell2; } DBUtility.Xt_BaseBillFun.GetGrid(grdMain, this.Name); -- Gitblit v1.9.1