using Salien.Utility; using Salien.Utility.SUWF; using Salien.Utility.WebControls; using System; using System.Collections.Generic; using System.Data; using System.Drawing; using System.Web.UI.WebControls;namespace WXSMZP {public class SM45640_SaveTJ : ISuwfBus /*提交*/{/// <summary>/// 成员/// </summary>private SlnSuwfPage _page;SalienGridView grdTest;/// <summary>/// 初始化页面/// </summary>/// <param name="page"></param>void ISuwfBus.Initial(SlnSuwfPage page){try{this._page = page;grdTest = (SalienGridView)_page.FindControl("grdTest");_page.Load += new EventHandler(Page_Load);ClsPubFunction.BindButtonEvent(_page, "btnSaveTJ", this.BtnSaveTJ_Click);}catch (Exception ex){page.ShowMessage(ex.Message);}}#region 页面加载 Page_Load(object sender, EventArgs e) /// <summary>/// 页面加载/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void Page_Load(object sender, EventArgs e){try{if (!_page.IsPostBack){DoAfterFillGrid();}}catch (Exception ex){_page.ShowMessage(ex.Message);}}#endregion#region 提交事件 BtnSaveTJ_Click/// <summary>/// "提交"/// </summary>/// <param name="sender"></param>/// <param name="e"></param> private void BtnSaveTJ_Click(object sender, EventArgs e){try{string pks = _page.GetRowDataPrimaryKeys();if (pks.Length == 0){_page.ShowMessage("请选择网格数据!");return;}string JTRWID = _page.GetValueByName("JTRWID");if (JTRWID == ""){_page.ShowMessage("订单任务ID为空");return;}string BZID = _page.GetRowDataByKey(0, "BZID");if (BZID == ""){_page.ShowMessage("班组ID为空");return;}string SCDDMXID = _page.GetValueByName("SCDDMXID");if (SCDDMXID == "" || SCDDMXID.Length == 0){_page.ShowMessage(SlnString.ScriptAlertMessage("请生产订单表ID为空"));return;}List<string> lstSQL = new List<string>();GridView grd = _page.MainGrid;/*保存的值限制条件*/ClsGridEdit gridEdit = new ClsGridEdit(this._page);string sMsg = gridEdit.CheckGridData();if (!string.IsNullOrEmpty(sMsg)){_page.ShowMessage(gridEdit.CheckGridData());return;}foreach (GridViewRow gridRow in grd.Rows){if (_page.GridRowIsSelected(gridRow.RowIndex)){string DJZT = _page.GetRowDataByKey(gridRow.RowIndex, "DJZT");/*产品大类*/if (DJZT == "10"){_page.ShowMessage("第【" + (gridRow.RowIndex + 1).ToString() + "】行已审核,不能重复审核");return;}string ID = this._page.GetRowDataByKey(gridRow.RowIndex, "ID");string JGSL = this._page.GetRowDataByKey(gridRow.RowIndex, "JGSL");string GJ = _page.GetRowDataByKey(gridRow.RowIndex, "GJ");string DJLX = _page.GetRowDataByKey(gridRow.RowIndex, "DJLX");string GZNR = this._page.GetRowDataByKey(gridRow.RowIndex, "GZNR");string BZDEID = _page.GetRowDataByKey(gridRow.RowIndex, "BZDEID");if (DJLX == "1"){if (SlnString.IsNull(BZDEID) ){_page.ShowMessage("第" + (gridRow.RowIndex + 1).ToString() + "行无包装定额工价ID,保存失败");return;}string GJ_BZDE = ConvertFunction.ObjToStr(SlnDataAccess.GetValueBySql("select GJ From SM_ZP_GPTBZDE_TB Where ID=" + BZDEID));if (ClsPubFunction.AtoiExt(GJ) != ClsPubFunction.AtoiExt(GJ_BZDE) ){_page.ShowMessage("第" + (gridRow.RowIndex + 1).ToString() + "行工价信息出错");return;}}string YGID = _page.GetRowDataByKey(gridRow.RowIndex, "YGID");if (SlnString.IsNull(YGID)){_page.ShowMessage("第" + (gridRow.RowIndex + 1).ToString() + "行缺失员工信息(YGID)");return;}if (SlnString.IsNull(JGSL) || ConvertFunction.ObjToDouble(JGSL) == 0.0){_page.ShowMessage("第" + (gridRow.RowIndex + 1).ToString() + "行缺失记工数量JGSL信息");return;}if (SlnString.IsNull(GJ) || ConvertFunction.ObjToDouble(GJ) == 0.0){_page.ShowMessage("第" + (gridRow.RowIndex + 1).ToString() + "行缺失工价GJ信息");return;}string sql = "update SM_ZP_GZHS_TB set";int i = 0;if (_page.GridCellIsModified(gridRow.RowIndex, "JGSL") && _page.GridCellIsModified(gridRow.RowIndex, "GJ")){sql = sql + " JGSL='" + JGSL + "',GJ='" + GJ + "',";i++;}if (_page.GridCellIsModified(gridRow.RowIndex, "JGSL") && !_page.GridCellIsModified(gridRow.RowIndex, "GJ")){sql = sql + " JGSL='" + JGSL + "',";i++;}if (!_page.GridCellIsModified(gridRow.RowIndex, "JGSL") && _page.GridCellIsModified(gridRow.RowIndex, "GJ")){sql = sql + " GJ='" + GJ + "',";i++;}if (_page.GridCellIsModified(gridRow.RowIndex, "GZNR")){sql = sql + " GZNR='" + GZNR + "',";i++;}if (_page.GridCellIsModified(gridRow.RowIndex, "BZDEID")){sql = sql + " BZDEID='" + BZDEID + "',";i++;}if (i > 0){sql = sql.Substring(0, sql.Length - 1);lstSQL.Add(sql + " where id =" + ID);}}} /*end of foreach*/string msg = "";/* string sql= "select count(id) from SM_ZP_GZHS_TB where djzt=0 and id in ("+pks+")";*/if (lstSQL != null && lstSQL.Count > 0){if ((msg = SlnDataAccess.ExecuteSQL(lstSQL)) == "") { msg += "数据更新成功->"; }else{msg += "数据更新失败->";}}else if (IsZero(pks) > 0){msg += "数据有未提交->";}else{msg += "数据已提交的->";}if (msg.Contains("更新成功") || msg.Contains("未提交")){DataTable dt = CheckGHSLAndZPJE(JTRWID);decimal FPSL = ClsPubFunction.Atoi(ClsTable.GetMAX("FPSL", dt.Rows).ToString());decimal GJ_HJ = ClsPubFunction.Atoi(ClsTable.GetMAX("GJ_HJ", dt.Rows).ToString());decimal sumJGSL = ClsPubFunction.Atoi(ClsTable.GetSUM("JGSL", dt.Select("DJLX=1")).ToString());decimal sumJGGJ_HJ = ClsPubFunction.Atoi(ClsTable.GetSUM("JGGJ_HJ", dt.Select("DJLX=0")).ToString());// double SubGH = CalcSub_sumJGSL_FPSL(sumJGSL.ToString(), FPSL.ToString());// double SubZP = CalcSub_JGGJ_HJ_GJ_HJ(sumJGGJ_HJ.ToString(), GJ_HJ.ToString());// if(SubGH > 0.000000001)if (Math.Round(sumJGSL - FPSL, 4) > 0.0000m){msg += "归货情况下,记工数量的和【" + sumJGSL + "】不能大于分配数量【" + FPSL + "】";}else if (Math.Round(sumJGGJ_HJ - GJ_HJ, 4) > 0.0000m)// else if (sumJGGJ_HJ > GJ_HJ) {msg += "装配情况下,记工工价合计【" + sumJGGJ_HJ + "】不能超过总工价【" + GJ_HJ + "】";}else{msg += SlnDataAccess.ExecuteProcedure("SM45640_SaveTJ_SP('" + SCDDMXID + "','" + pks + "')");msg += "->提交成功";/* _page.ClientScript.RegisterStartupScript(this.GetType(), "Save", "<script type='text/javascript'>var r=window.confirm('" + msg + ",是否确定关闭?');" + @"if (r==true){var pWin = getParentWin();pWin.document.all.btnQuery.click();closeWin(); }</script>");*/ _page.ClientScript.RegisterStartupScript(this.GetType(), "Save", "<script type='text/javascript'>var r=window.confirm('" + msg + ",是否确定关闭?');" + @"if (r==true){ var pWindow = window.parent.opener;if(pWindow != null && pWindow.document.all.btnQuery != null){pWindow.document.all.btnQuery.click();}pWindow = window.parent.parent;if(pWindow != null && pWindow.gridframe != null && pWindow.gridframe.document.all.btnQuery != null){pWindow.gridframe.document.all.btnQuery.click();} window.close();} </script>"); return;}}else{msg += "->数据录入失败";}_page.ShowMessage(msg);_page.btnQuery_Click(null, null);return;}catch (Exception ex){_page.ShowMessage("SM45640_SaveTJ|" + ex.Message);}}#endregionDataTable CheckGHSLAndZPJE(string JTRWID){string sql = @"Select hs.JGSL,hs.GJ,hs.DJLX,hs.JTRWID,sm45640_qrgzhsd_fc(JTRWID) as GJ_HJ,jtrw.FPSL,jtrw.fpsl * jtrw.gj as JGGJ_HJ from SM_ZP_GZHS_TB hs left join SM_SC_ZPJTRW_TB jtrw on jtrw.id = hs.jtrwid Where JTRWID='" + JTRWID + "'";return SlnDataAccess.GetDataTable(sql);}/// <summary>/// 红单变色/// </summary>void DoAfterFillGrid(){int index = _page.Unit.ProgUnit.FieldList.GetFieldByKey("HDBZ").Index;/*红单标志所在列*/int DJZTindex = _page.Unit.ProgUnit.FieldList.GetFieldByKey("DJZT").Index;/*红单标志所在列*/for (int i = 0; i < grdTest.Rows.Count; i++){string strT = Convert.ToString(_page.GridData.Rows[i][index]);if (strT.Contains("红单")){grdTest.Rows[i].Cells[index].BackColor = Color.Yellow;}string DJZT = Convert.ToString(_page.GridData.Rows[i][DJZTindex]);if (DJZT.Contains("审核")){grdTest.Rows[i].Cells[DJZTindex].BackColor = Color.LightGreen;}if (DJZT.Contains("提交")){grdTest.Rows[i].Cells[DJZTindex].BackColor = Color.YellowGreen;}}}#region int IsZero(string pks){string sql = "select count(id) from SM_ZP_GZHS_TB where djzt=0 and id in (" + pks + ")";return ConvertFunction.ObjToInt32(SlnDataAccess.GetValueBySql(sql));}#endregion} }