326 lines
15 KiB
C#
326 lines
15 KiB
C#
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
|
||
|
||
}
|
||
}
|