using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using CoreFS.CA06;
using System.Collections;
using Core.Mes.Client.Comm.Control;
using Infragistics.Win.UltraWinGrid;
using Core.Mes.Client.Comm.Tool;
using Core.StlMes.Client.SaleOrder.Dialog;
using Core.Mes.Client.Comm.Server;
namespace Core.StlMes.Client.SaleOrder
{
public partial class frmOrderReviewLaw : FrmBase
{
//界面数据展示涉及的表:SLM_ORDER_HEAD(合同头,界面上层的GRID区域);SLM_ORDER_MODEL_HEAD、SLM_ORDER_MODEL_ITEM(范本信息,通过合同头记录中的范本编号获取)
//查询时如果无设定条件,默认查询当前日期往后一个月的数据
public frmOrderReviewLaw()
{
InitializeComponent();
}
///
/// 查询条件 0 未盖章 1 已盖章 2 全部
///
private string queryFlag = "2";
public override void ToolBar_Click(object sender, string ToolbarKey)
{
switch (ToolbarKey)
{
case "doQuery":
this.Query();
break;
case "doAdd":
this.doAdd();
break;
case "doUpdate":
this.doUpdate();
break;
case "Seal":
DoSeal();
break;
case "doClose":
this.Close();
break;
}
}
///
/// 法务评审不通过
///
public void doUpdate()
{
gdorder.UpdateData();
ArrayList parm = new ArrayList();
int count = 0;
foreach (UltraGridRow row in gdorder.Rows)
{
if (row.Cells["CHK"].Value.ToString().ToUpper() == "TRUE")
{
string ordPk = row.Cells["ORD_PK"].Value.ToString();
parm.Add(ordPk);
count += 1;
}
}
if (count == 0)
{
MessageBox.Show("请选择需要评审不通过的数据。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return;
}
if (MessageUtil.ShowQuestion("确认评审不通过吗?").ToString().ToLower().Equals("yes"))
{
string name = UserInfo.GetUserName();
string dept = ClsBaseInfo.GetDepartBySectionIdChangeSale(UserInfo.GetDeptid(), this.ob);
dept = dept + "-" + UserInfo.GetDepartment();
dlgReviewMemo dlg = new dlgReviewMemo();
dlg.ReviewFlag = 0;
dlg.ReviewSatus = "评审不通过";
dlg.ShowDialog();
string reviewMemo = dlg.ReviewMemo;
if (dlg.DialogResult != DialogResult.OK)
return;
CoreClientParam ccp = new CoreClientParam();
ccp.IfShowErrMsg = false;
ccp.ServerName = "com.steering.pss.sale.order.CoreOrderReviewLaw";
ccp.MethodName = "lawReviewBack";
ccp.ServerParams = new object[] { parm, name, dept, reviewMemo };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp == null)
return;
else
{
if (ccp.ReturnCode == -1)
{
MessageUtil.ShowWarning(ccp.ReturnInfo);
return;
}
}
Query();
}
}
///
/// 法务评审通过
///
public void doAdd()
{
gdorder.UpdateData();
ArrayList parm = new ArrayList();
int count = 0;
foreach (UltraGridRow row in gdorder.Rows)
{
if (row.Cells["CHK"].Value.ToString().ToUpper() == "TRUE")
{
string ordPk = row.Cells["ORD_PK"].Value.ToString();
parm.Add(ordPk);
count += 1;
}
}
if (count == 0)
{
MessageBox.Show("请选择需要评审通过的数据。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return;
}
if (MessageUtil.ShowQuestion("确认评审通过?").ToString().ToLower().Equals("yes"))
{
string name = UserInfo.GetUserName();
string dept = ClsBaseInfo.GetDepartBySectionIdChangeSale(UserInfo.GetDeptid(), this.ob);
dept = dept + "-" + UserInfo.GetDepartment();
dlgReviewMemo dlg = new dlgReviewMemo();
dlg.ReviewFlag = 1;
dlg.ReviewSatus = "评审通过";
dlg.ShowDialog();
string reviewMemo = dlg.ReviewMemo;
if (dlg.DialogResult != DialogResult.OK)
return;
CoreClientParam ccp = new CoreClientParam();
ccp.IfShowErrMsg = false;
ccp.ServerName = "com.steering.pss.sale.order.CoreOrderReviewLaw";
ccp.MethodName = "lawReviewPass";
ccp.ServerParams = new object[] { parm, name, dept, reviewMemo };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp == null)
return;
else
{
if (ccp.ReturnCode == -1)
{
MessageUtil.ShowWarning(ccp.ReturnInfo);
return;
}
}
Query();
}
}
///
/// 商务条款状态修正。
///
///
///
private void UpdateOrderModelSts(string modelSts, string ordPk)
{
Globals.SetData("com.steering.pss.sale.order.CoreOrderReviewLaw.UpdateOrderModelSts",
new object[] { modelSts, ordPk }, this.ob);
}
public void Query()
{
if (ultraTabControl2.ActiveTab.Key.Equals("Law0"))
{
string date = "";
if (che_date.Checked)
{
if (Convert.ToDateTime(date_starte.Value) > Convert.ToDateTime(date_end.Value))
{
date_starte.Focus();
MessageBox.Show("输入日期范围不正确!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return;
}
else
{
string strFrom1 = Convert.ToDateTime(date_starte.Value).ToString("yyyy-MM-dd") + " 00:00:01";
string strTo1 = Convert.ToDateTime(date_end.Value).ToString("yyyy-MM-dd") + " 23:59:59";
date += " AND B.APPROVAL_TIME BETWEEN TO_DATE('" + strFrom1 + "' ,'YYYY-MM-DD HH24:MI:SS') AND TO_DATE( '" + strTo1 + "','YYYY-MM-DD HH24:MI:SS')";
}
}
else
{
date += " AND B.APPROVAL_TIME BETWEEN TO_DATE('1000-01-01 00:00:01' ,'YYYY-MM-DD HH24:MI:SS') AND TO_DATE( '9999-12-31 23:59:59','YYYY-MM-DD HH24:MI:SS')";
}
//合同号
string order = "";
if (ord_no.Checked)
{
if (orde_cho.Text == "")
{
MessageBox.Show("请输入合同号!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return;
}
else
{
order = orde_cho.Text;
}
}
//评审状态
string appstatus = "";
if (app_no.Checked)
{
if (app_chm.Text == "")
{
MessageBox.Show("请输入评审状态!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return;
}
else
{
appstatus = app_chm.Value.ToString().Trim();//ultraComboEditor1.Value.ToString().Trim()
}
}
string[] arr = this.ValidDataPurviewIds;
DataTable dt = Globals.GetData("com.steering.pss.sale.order.CoreOrderReviewLaw.CoreOrderReviewLawQuery", new Object[] { date, order, appstatus, arr,this.CustomInfo }, this.ob);
gdorder.DataSource = dt;
if (dt.Rows.Count <= 0)
{
if (oditem.DataSource is DataTable)
{
DataTable odDt = (DataTable)oditem.DataSource;
odDt.Clear();
}
}
for (int i = 0; i < gdorder.Rows.Count; i++)
{
if (gdorder.Rows[i].Cells["CUSTOMER_MODEL_FL"].Value.ToString() == "0")
{
gdorder.Rows[i].Cells["CUSTOMER_MODEL_FL"].Value = true;
}
else
{
gdorder.Rows[i].Cells["CUSTOMER_MODEL_FL"].Value = false;
}
}
//列自适应
GridHelper.RefreshAndAutoSizeExceptColumns(gdorder, new UltraGridColumn[] { });
}
else if (ultraTabControl2.ActiveTab.Key.Equals("Law1"))
{
QueryRecord();
}
}
private void frmOrderReviewLaw_Load(object sender, EventArgs e)
{
DateTime Today = DateTime.Now;
this.date_starte.DateTime = Today.Date.AddMonths(-1);
this.date_end.DateTime = DateTime.Today;
Appstatus();
EntityHelper.ShowGridCaption(gdRecord.DisplayLayout.Bands[0]);
}
///
/// 绑定评审状态
///
private void Appstatus()
{
DataTable dt = Globals.GetData("com.steering.pss.sale.order.CoreOrderReviewLaw.appStatus", null, this.ob);
dt = OrderFunction.FilterDataTable(dt, new string[] { "12020232", "12020241", "12020242", "12020251" });
app_chm.DataSource = dt;
app_chm.DisplayMember = "BASENAME";
app_chm.ValueMember = "BASECODE";
}
private void ord_no_CheckedChanged(object sender, EventArgs e)
{
orde_cho.Enabled = ord_no.Checked;
}
private void app_no_CheckedChanged(object sender, EventArgs e)
{
app_chm.Enabled = app_no.Checked;
}
private void che_date_CheckedChanged(object sender, EventArgs e)
{
if (che_date.Checked)
{
date_starte.ReadOnly = false;
date_end.ReadOnly = false;
}
else
{
date_starte.ReadOnly = true;
date_end.ReadOnly = true;
}
}
private void gdorder_AfterRowActivate(object sender, EventArgs e)
{
UltraGridRow ugr = gdorder.ActiveRow;
if (ugr == null)
{
doQueryOrder("");
controlOrderLine1.DoQueryLine("", this.ob);
orderPrice1.DoQuery("", this.ob);
designStatus1.DoQuery("", this.ob);
}
else
{
String key = ultraTabControl1.ActiveTab.Key;
if (key.Equals("1"))
{
doQueryOrder(ugr.GetCellValue("ORDER_MODEL_NO").ToString());
}
else if (key.Equals("2"))
{
controlOrderLine1.DoQueryLine(ugr.GetCellValue("ORD_PK").ToString(), this.ob);
}
else if (key.Equals("3"))
{
orderPrice1.DoQuery(ugr.GetCellValue("ORD_PK").ToString(), this.ob);
}
else if (key.Equals("4"))
{
designStatus1.DoQuery(ugr.GetCellValue("ORDER_NO").ToString(), this.ob);
}
else
{
DoQueryPriceInfo(ugr.GetCellValue("ORD_PK").ToString());
}
foreach (UltraGridCell cell in ugr.Cells)
{
if (!cell.Column.Key.Equals("CHK"))
cell.Activation = Activation.ActivateOnly;
}
}
}
private void doQueryOrder(string ordermodel)
{
DataTable dt = Globals.GetData("com.steering.pss.sale.order.CoreOrderReviewLaw.ordermodelQuery", new Object[] { ordermodel }, this.ob);
oditem.DataSource = dt;
//列自适应
GridHelper.RefreshAndAutoSizeExceptColumns(oditem, new UltraGridColumn[] {
});
}
private void gdorder_ClickCellButton(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
{
string acustom = gdorder.ActiveCell.Value.ToString();
dlgBuyerInfo spt = new dlgBuyerInfo();
spt.oPbd = this.ob;
spt.customer = acustom;
spt.FilePath = "checker";
spt.ShowDialog();
}
private void orde_cho_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == 13)
Query();
}
private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
{
UltraGridRow ugr = gdorder.ActiveRow;
if (ugr == null)
{
return;
}
String keyValue = e.Tab.Key;
if (keyValue.Equals("1"))
{
doQueryOrder(ugr.GetCellValue("ORDER_MODEL_NO").ToString());
}
else if (keyValue.Equals("2"))
{
controlOrderLine1.DoQueryLine(ugr.GetCellValue("ORD_PK").ToString(), this.ob);
}
else if (keyValue.Equals("3"))
{
orderPrice1.DoQuery(ugr.GetCellValue("ORD_PK").ToString(), this.ob);
}
else if (keyValue.Equals("4"))
{
designStatus1.DoQuery(ugr.GetCellValue("ORDER_NO").ToString(), this.ob);
}
else
{
DoQueryPriceInfo(ugr.GetCellValue("ORD_PK").ToString());
}
}
private void DoQueryPriceInfo(String ordPk)
{
DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderReviewLaw.queryPriceInfo", new Object[] { ordPk }, this.ob);
if (dt != null && dt.Rows.Count > 0)
{
ultraTextEditor1.Text = dt.Rows[0][0].ToString();
}
else
{
ultraTextEditor1.Text = "";
}
}
private void frmOrderReviewLaw_Shown(object sender, EventArgs e)
{
if (toolMenu.Toolbars[0].Tools.Exists("Seal"))
toolMenu.Toolbars[0].Tools["Seal"].InstanceProps.Visible = Infragistics.Win.DefaultableBoolean.False;
}
private void ultraTabControl2_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
{
if (toolMenu == null)
return;
if (ultraTabControl2.ActiveTab.Key.Equals("Law0")) // 法务评审
{
if (toolMenu.Toolbars[0].Tools.Exists("doAdd"))
toolMenu.Toolbars[0].Tools["doAdd"].InstanceProps.Visible = Infragistics.Win.DefaultableBoolean.True;
if (toolMenu.Toolbars[0].Tools.Exists("doUpdate"))
toolMenu.Toolbars[0].Tools["doUpdate"].InstanceProps.Visible = Infragistics.Win.DefaultableBoolean.True;
if (toolMenu.Toolbars[0].Tools.Exists("Seal"))
toolMenu.Toolbars[0].Tools["Seal"].InstanceProps.Visible = Infragistics.Win.DefaultableBoolean.False;
SetControlVisible(true);
radioPanel.Visible = false;
}
else if (ultraTabControl2.ActiveTab.Key.Equals("Law1")) //法务评审单
{
if (toolMenu.Toolbars[0].Tools.Exists("doAdd"))
toolMenu.Toolbars[0].Tools["doAdd"].InstanceProps.Visible = Infragistics.Win.DefaultableBoolean.False;
if (toolMenu.Toolbars[0].Tools.Exists("doUpdate"))
toolMenu.Toolbars[0].Tools["doUpdate"].InstanceProps.Visible = Infragistics.Win.DefaultableBoolean.False;
if (toolMenu.Toolbars[0].Tools.Exists("Seal"))
toolMenu.Toolbars[0].Tools["Seal"].InstanceProps.Visible = Infragistics.Win.DefaultableBoolean.True;
SetControlVisible(false);
radioPanel.Visible = true;
radioPanel.Location = new Point(188, 2);
}
}
private void QueryRecord()
{
string orderNo = "";
if (ord_no.Checked)
orderNo = orde_cho.Text.Trim();
List list = EntityHelper.GetData
("com.steering.pss.sale.order.CoreOrderReviewLaw.queryLawRecord", new object[] { orderNo, queryFlag }, this.ob);
slmLawReviewRecordEntityBindingSource.DataSource = list;
GridHelper.RefreshAndAutoSize(gdRecord);
}
///
/// 设置控件是否隐藏
///
/// true 可见 false 隐藏
private void SetControlVisible(bool flag)
{
if (flag)
{
che_date.Visible = true;
date_starte.Visible = true;
ultraLabel12.Visible = true;
date_end.Visible = true;
app_no.Visible = true;
app_chm.Visible = true;
}
else
{
che_date.Visible = false;
date_starte.Visible = false;
ultraLabel12.Visible = false;
date_end.Visible = false;
app_no.Visible = false;
app_chm.Visible = false;
}
}
private void radioYes_CheckedChanged(object sender, EventArgs e)
{
if (radioYes.Checked)
queryFlag = "1";
QueryRecord();
}
private void radioNo_CheckedChanged(object sender, EventArgs e)
{
if (radioNo.Checked)
queryFlag = "0";
QueryRecord();
}
private void radioAll_CheckedChanged(object sender, EventArgs e)
{
if (radioAll.Checked)
queryFlag = "2";
QueryRecord();
}
private void DoSeal()
{
gdRecord.UpdateData();
UltraGridRow[] rows = gdRecord.Rows.AsQueryable().Where(a => a.Cells["CHK"].Value.ToString() == "True").ToArray();
if (rows.Length <= 0)
{
MessageUtil.ShowWarning("请选择您要确认盖章的记录!");
return;
}
ArrayList parm = new ArrayList();
foreach (UltraGridRow row in rows)
{
if (row.Cells["ISSEAL"].Value.ToString() == "已盖章")
{
MessageUtil.ShowWarning("您选择的记录已确认盖章,不必重复确认!");
return;
}
parm.Add(row.Cells["RECORDID"].Value.ToString());
}
if (MessageUtil.ShowYesNoAndQuestion("是否确认盖章?") == DialogResult.No) return;
CoreClientParam ccp = new CoreClientParam();
ccp.IfShowErrMsg = false;
ccp.ServerName = "com.steering.pss.sale.order.CoreOrderReviewLaw";
ccp.MethodName = "confirmSeal";
ccp.ServerParams = new object[] { parm, UserInfo.GetUserName() };
ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
if (ccp != null)
{
if (ccp.ReturnCode == -1)
{
MessageUtil.ShowWarning(ccp.ReturnInfo);
return;
}
MessageUtil.ShowTips("确认盖章成功!");
QueryRecord();
}
}
private void gdRecord_AfterRowActivate(object sender, EventArgs e)
{
UltraGridRow row = gdRecord.ActiveRow;
foreach (UltraGridCell cell in row.Cells)
{
if (cell.Column.Key.Equals("CHK"))
cell.Activation = Activation.AllowEdit;
else
cell.Activation = Activation.ActivateOnly;
}
}
}
}