Files
N_XLXSBJ----MX/XLBJD_PLDRList.aspx.cs
2026-08-21 17:03:02 +08:00

326 lines
15 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using GThinking.N_MODEL.Page;
using GThinking.N_MISPRO.Data;
using GThinking.N_MISPRO.Utility;
using System.Text;
using GThinking.N_CONTROL;
using GThinking.N_MISPRO;
using System.Collections.Generic;
namespace GThinking.N_XLXSBJ
{
public partial class XLBJD_PLDRList : SingleGridBase
{
XLBJD_PLDR entity = new XLBJD_PLDR();
PLDR_M queryEntity = new PLDR_M();
protected void Page_Load(object sender, EventArgs e)
{
this.UMID = 100860000;
this.UMName = "按材料清单导入";
this.CurMaster = Master;
this.ModuleGV = ContentGrid;
this.CurEntity = entity;
this.CurQueryEntity = queryEntity;
sQueryURLTarget = "XLJGB_PLDRQuery.aspx";
this.PageHeight = 400;
this.PageWidth = 500;
base.DataKeyNames = new string[] { "XLXSCLQD_XLXHID", "XLXSCLQD_XLGGID", "XLXSCLQD_XLBZID", "XLXSCLQD_DYDJID", "XLXSCLQD_CLZL" };
this.Master.EnableNewBtn = false;
this.Master.EnableCopyBtn = false;
this.Master.EnableEditBtn = false;
this.Master.EnableDeleteBtn = false;
this.Master.EnableViewBtn = false;
this.Master.EnablePrintBtn = false;
base.InitPage();
this.ModuleGV.OnClientDblClick = "return false;";
if (!IsPostBack)
{
// Master_OnStandardQuery(null, null);
}
}
#region 模板继承事件
protected override void Master_OnStandardQuery(object sender, EventArgs e)
{
base.InitEntityByCondition();
entity.EntityTable.QuerySelSql = GetQuerySql();
base.Master_OnStandardQuery(sender, e);
entity.GridDataBind(ContentGrid, tSession);
}
protected override void moduleGV_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
}
base.moduleGV_RowDataBound(sender, e);
}
protected override void moduleGV_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
base.InitEntityByCondition();
entity.EntityTable.QuerySelSql = GetQuerySql();
ContentGrid.SelectedIndex = -1;
base.moduleGV_PageIndexChanging(sender, e);
}
#endregion
#region 控件事件
protected void btnQR_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(ContentGrid.CheckedRowIndexs))
{
ShowMessage("请勾选需要导入的记录!");
return;
}
int tmpXSWS = string.IsNullOrEmpty(GetOption("BJU002")) ? 5 : CMISproConvert.StrToInt(GetOption("BJU002"));
if (tmpXSWS < 0)
tmpXSWS = 0;
else if (tmpXSWS > 8)
tmpXSWS = 8;
string sErrorNum = "";
int iStartXH = 0;
string sBJU003 = GetOption("BJU003");
//传入的是BJU003的计量单位
string sJLDW = PageParam.GetRTrimString("JLDW");
string sBJLY = PageParam.GetRTrimString("BJLY");
string sBJFLID = PageParam.GetRTrimString("BJFLID");
string sBJDHQLY = PageParam.GetRTrimString("BJDHQLY");
string sBJRQ = PageParam.GetRTrimString("BJRQ");
string sCPBJMRXSWS = PageParam.GetRTrimString("CPBJMRXSWS");
//A|× B|*
string sXLJGU007 = GetOption(102579000, "XLJGU007");
bool bNeedUp = false;
string[] sRowIndexs = ContentGrid.CheckedRowIndexs.Split(',');
if (!string.IsNullOrEmpty(PageParam.GetRTrimString("BJDID")))
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sSQL = new TSQL(dberp);
try
{
dberp.BeginTrans();
string sBJDID = PageParam.GetRTrimString("BJDID");
int iXH = CMISproDataBase.GetMaxXH("DBERP", "XLXSBJDMX", "XLXSBJDMX_XH", "XLXSBJDMX_BJDID='" + PageParam.GetRTrimString("BJDID") + "'");
int iXSSX = CMISproDataBase.GetMaxXH("DBERP", "XLXSBJDMX", "XLXSBJDMX_XSSX", "XLXSBJDMX_BJDID = '" + PageParam.GetRTrimString("BJDID") + "'");
string sXLXHID = "", sXLGGID = "", sST = "", sDYDJ = "";
for (int i = 0; i < sRowIndexs.Length; i++)
{
sSQL.Clear();
sSQL.Add(" insert into XLXSBJDMX( ");
sSQL.Add(" XLXSBJDMX_BJDID, XLXSBJDMX_XH,XLXSBJDMX_XSSX, XLXSBJDMX_XLXHID, XLXSBJDMX_XLGGID,XLXSBJDMX_WGCPBZ,XLXSBJDMX_XDXLXHID,XLXSBJDMX_XDXLBZID, ");
sSQL.Add(" XLXSBJDMX_XLBZID,XLXSBJDMX_DYDJID,XLXSBJDMX_XLYSID,XLXSBJDMX_BJCP,XLXSBJDMX_JLDW,XLXSBJDMX_TZQCPBJ,XLXSBJDMX_TZCPBJ,XLXSBJDMX_CPBJ, ");
sSQL.Add(" XLXSBJDMX_JGBJJ,XLXSBJDMX_CLCB, XLXSBJDMX_JGBBJ,XLXSBJDMX_DZSC,XLXSBJDMX_WHR,XLXSBJDMX_WHRID,XLXSBJDMX_WHSJ,XLXSBJDMX_JGBBJJCL,XLXSBJDMX_CLZL,XLXSBJDMX_BJDHQCLCB,XLXSBJDMX_CLCBJCL,XLXSBJDMX_JGBBJLJJCL) ");
sSQL.Add(" values(");
sSQL.Add(" :XLXSBJDMX_BJDID, :XLXSBJDMX_XH, :XLXSBJDMX_XSSX, :XLXSBJDMX_XLXHID, :XLXSBJDMX_XLGGID,:XLXSBJDMX_WGCPBZ,:XLXSBJDMX_XDXLXHID,:XLXSBJDMX_XDXLBZID, ");
sSQL.Add(" :XLXSBJDMX_XLBZID, isnull(:XLXSBJDMX_DYDJID,' '), :XLXSBJDMX_XLYSID, :XLXSBJDMX_BJCP, ");
sSQL.Add(" :XLXSBJDMX_JLDW, :XLXSBJDMX_TZQCPBJ,:XLXSBJDMX_TZCPBJ,:XLXSBJDMX_CPBJ, :XLXSBJDMX_JGBJJ, :XLXSBJDMX_CLCB, :XLXSBJDMX_JGBBJ, ");
sSQL.Add(" :XLXSBJDMX_DZSC, :XLXSBJDMX_WHR, :XLXSBJDMX_WHRID, :XLXSBJDMX_WHSJ,:XLXSBJDMX_JGBBJJCL,:XLXSBJDMX_CLZL,:XLXSBJDMX_BJDHQCLCB,:XLXSBJDMX_CLCBJCL,:XLXSBJDMX_JGBBJLJJCL)");
iXH = iXH + 1;
iXSSX = iXSSX + 1;
if (i == 0)
{
iStartXH = iXH;
}
sXLXHID = ContentGrid.DataKeys[int.Parse(sRowIndexs[i])]["XLXSCLQD_XLXHID"].ToString().Trim();
sXLGGID = ContentGrid.DataKeys[int.Parse(sRowIndexs[i])]["XLXSCLQD_XLGGID"].ToString().Trim();
if (sXLJGU007.Equals("A"))
{
sXLGGID = sXLGGID.Replace("x", "X").Replace("X", "*").Replace("*", "×");
}
else if (sXLJGU007.Equals("B"))
{
sXLGGID = sXLGGID.Replace("x", "X").Replace("X", "*").Replace("×", "*");
}
sST = ContentGrid.DataKeys[int.Parse(sRowIndexs[i])]["XLXSCLQD_XLBZID"].ToString().Trim();
sDYDJ = ContentGrid.DataKeys[int.Parse(sRowIndexs[i])]["XLXSCLQD_DYDJID"].ToString().Trim();
sSQL.ParamByName("XLXSBJDMX_JLDW").Value = sJLDW;
string sBJCP = "";
if (string.IsNullOrEmpty(sDYDJ))
sBJCP = sXLXHID + " " + sXLGGID;
else
sBJCP = sXLXHID + "-" + sDYDJ + " " + sXLGGID;
sDYDJ = sDYDJ.Equals("") ? " " : sDYDJ;
sSQL.ParamByName("XLXSBJDMX_BJDID").Value = sBJDID;
sSQL.ParamByName("XLXSBJDMX_XH").Value = iXH;
sSQL.ParamByName("XLXSBJDMX_XSSX").Value = iXSSX;
sSQL.ParamByName("XLXSBJDMX_XLXHID").Value = sXLXHID;
sSQL.ParamByName("XLXSBJDMX_XLGGID").Value = sXLGGID;
sSQL.ParamByName("XLXSBJDMX_XLBZID").Value = sST;
sSQL.ParamByName("XLXSBJDMX_DYDJID").Value = sDYDJ;
sSQL.ParamByName("XLXSBJDMX_XDXLXHID").Value = sXLXHID;
sSQL.ParamByName("XLXSBJDMX_XDXLBZID").Value = sST;
sSQL.ParamByName("XLXSBJDMX_XLYSID").Value = XLBJDInfo.GetDefaultYSID(sXLXHID, sXLGGID);
sSQL.ParamByName("XLXSBJDMX_BJCP").Value = sBJCP;
sSQL.ParamByName("XLXSBJDMX_JGBBJ").Value = 0.0;
sSQL.ParamByName("XLXSBJDMX_TZQCPBJ").Value = 0.0;
sSQL.ParamByName("XLXSBJDMX_TZCPBJ").Value = 0;
sSQL.ParamByName("XLXSBJDMX_CPBJ").Value = 0.0;
sSQL.ParamByName("XLXSBJDMX_JGBJJ").Value = 0.0;
sSQL.ParamByName("XLXSBJDMX_CLCB").Value = 0.0;
sSQL.ParamByName("XLXSBJDMX_BJDHQCLCB").Value = 0.0;
sSQL.ParamByName("XLXSBJDMX_CLZL").Value = 0.0;
sSQL.ParamByName("XLXSBJDMX_JGBBJJCL").Value = 0.0;
sSQL.ParamByName("XLXSBJDMX_CLCBJCL").Value = 0.0;
sSQL.ParamByName("XLXSBJDMX_JGBBJLJJCL").Value = 0.0;
sSQL.ParamByName("XLXSBJDMX_WGCPBZ").Value = "N";
if (XLBJDUtils.ISDZBZ(sST))
{
sSQL.ParamByName("XLXSBJDMX_DZSC").Value = "Y";
}
else
{
sSQL.ParamByName("XLXSBJDMX_DZSC").Value = "N";
}
sSQL.ParamByName("XLXSBJDMX_WHR").Value = tSession.UserName;
sSQL.ParamByName("XLXSBJDMX_WHRID").Value = tSession.UserId;
sSQL.ParamByName("XLXSBJDMX_WHSJ").Value = DateTime.Now;
dberp.ExecSQL(sSQL);
bNeedUp = true;
}
XLBJDUtils.UpdateXDXLBZID(dberp, sSQL, sBJDID, "", iStartXH - 1, ref sErrorNum);
XLBJDUtils.SyncXLXSBJXLGGTHB_ByXLXSBJDMX_Batch(dberp, tSession, sBJDID, "", iStartXH - 1);
if (bNeedUp)
{
XLBJDCalcUtils.CalcBJDMXAfterIns(dberp, sSQL, sBJDID, iStartXH, GetOption("BJU002"), sBJU003,GetOption("BJU018"), tSession.UserId, tSession.UserName, ref sErrorNum);
}
ShowMessage("导入完成!");
dberp.CommitTrans();
}
catch (Exception ex)
{
dberp.RollbackTrans();
ShowMessage(ex.Message);
return;
}
}
}
#endregion
#region 私有函数
private string GetQuerySql()
{
StringBuilder sbSql = new StringBuilder();
sbSql.AppendLine("select XLXSCLQD_XLXHID, XLXSCLQD_XLGGID, XLXSCLQD_XLBZID,XLXSCLQD_DYDJID,XLXSCLQD_CLZL, ");
sbSql.AppendLine("RTRIM(XLXSCLQD_XLBZID)||'|'||XLBZ_XLBZLXMC as XLBZ ");
sbSql.AppendLine("from XLXSCLQD left join XLBZ on XLBZ_XLBZID=XLXSCLQD_XLBZID ");
sbSql.AppendLine("left join XLXSBJXLGGTHB on XLXSBJXLGGTHB_XLGGID = XLXSCLQD_XLGGID ");
sbSql.AppendLine(" where 1=1 and XLXSCLQD_WPID ='ZZZZ' ");
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("JGCZBID").Value.Trim()))
{
sbSql.AppendLine("\r\n and XLXSCLQD_JGCZBID = :pJGCZBID ");
entity.Param.Add("pJGCZBID", CurQueryEntity.FieldByName("JGCZBID").Value.Trim().Split('|')[0]);
}
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("JGCZBBBID").Value.Trim()))
{
sbSql.AppendLine("\r\n and XLXSCLQD_JGCZBBBID = :pJGCZBBBID ");
entity.Param.Add("pJGCZBBBID", CurQueryEntity.FieldByName("JGCZBBBID").Value.Trim());
}
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("CPMLID").Value.Trim()))
{
sbSql.AppendLine("\r\n and XLXSCLQD_CPMLID = :pCPMLID ");
entity.Param.Add("pCPMLID", CurQueryEntity.FieldByName("CPMLID").Value.Trim());
}
//型号模糊
if (!CurQueryEntity.FieldByName("XLXHIDJQPP").Value.ToString().Trim().ToUpper().Equals("TRUE"))
{
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLXHID").Value.Trim()))
{
sbSql.AppendLine("\r\n and XLXSCLQD_XLXHID like :pXLXHID ");
entity.Param.Add("pXLXHID", "%" + CurQueryEntity.FieldByName("XLXHID").Value.Trim() + "%");
}
}
else
{
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLXHID").Value.Trim()))
{
sbSql.AppendLine(" and XLXSCLQD_XLXHID = :pXLXHID ");
entity.Param.Add("pXLXHID", CurQueryEntity.FieldByName("XLXHID").Value.Trim());
}
}
//规格模糊
if (!CurQueryEntity.FieldByName("XLGGIDJQPP").Value.ToString().Trim().ToUpper().Equals("TRUE"))
{
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLGGID").Value.Trim()))
{
sbSql.AppendLine(" and XLXSBJXLGGTHB_XLGGIDCH like :pXLGGID ");
entity.Param.Add("pXLGGID", "%" + CurQueryEntity.FieldByName("XLGGID").Value.Trim().Replace("*", "×") + "%");
}
}
else
{
string sXLGGID = CurQueryEntity.FieldByName("XLGGID").Value.Trim();
if (!string.IsNullOrEmpty(sXLGGID))
{
string[] sTemp = sXLGGID.Split(new Char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
if (sTemp.Length >= 2)
{
sbSql.AppendLine(" and " + CMISproDataBase.GetWhereEqual(" XLXSBJXLGGTHB_XLGGIDCH ", sXLGGID.Replace('*', '×')));
}
else
{
sbSql.AppendLine(" and XLXSBJXLGGTHB_XLGGIDCH = :pXLGGID ");
entity.Param.Add("pXLGGID", CurQueryEntity.FieldByName("XLGGID").Value.Trim().Replace("*", "×"));
}
}
}
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("ST").Value.Trim()))
{
sbSql.AppendLine(" and XLXSCLQD_XLBZID = :pST ");
entity.Param.Add("pST", CurQueryEntity.FieldByName("ST").Value.Trim());
}
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("BZMC").Value.Trim()))
{
sbSql.AppendLine(" and XLBZ_XLBZLXMC like :pBZMC ");
entity.Param.Add("pBZMC", "%" + CurQueryEntity.FieldByName("BZMC").Value.Trim() + "%");
}
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("DYDJ").Value.Trim()))
{
sbSql.AppendLine(" and XLXSCLQD_DYDJID = :pDYDJ ");
entity.Param.Add("pDYDJ", CurQueryEntity.FieldByName("DYDJ").Value.Trim());
}
sbSql.AppendLine(" order by XLXSCLQD_XLXHID, XLXSCLQD_XH ");
return sbSql.ToString();
}
#endregion
}
}