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);
}
}
#endregion
DataTable 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
}
}