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 Pur.Entity.configureEntity;
using CoreFS.CA06;
using Core.Mes.Client.Comm.Tool;
using Core.Mes.Client.Comm.Control;
using Infragistics.Win.UltraWinGrid;
using System.Collections;
using Pur.require_plan;
using Pur.Entity.pur_orderEntiy;
using com.hnshituo.pur.vo;
using Infragistics.Win.UltraWinEditors;
using Pur.configure;
using Infragistics.Win;
using Bpm;
using Pur.Pop_upWindow;
using Pur.Entity;
using System.Text.RegularExpressions;
using CoreFS.SA06;
using Pur.Entity.ck;
using Core.Mes.Client.Comm.Server;
using Pur.Entity.require_planEntiy;
namespace Pur.pur_plan
{
public partial class FrmPur_Plan : FrmPmsBase
{
double q_b = 0;//利库量的小数部分
string QstrDataFlag = "";//是否启用数据权限,。判断当前用户登录后,能否做修改和删除操作
public FrmPur_Plan()
{
InitializeComponent();
this.IsLoadUserView = true;
ultraGrid1.DisplayLayout.Bands[0].Override.AllowUpdate = DefaultableBoolean.False;
GridHelper.SetExcludeColumnsActive(ultraGrid2.DisplayLayout.Bands[0], "Check");
ultraGrid2.DisplayLayout.Bands[1].Override.AllowUpdate = DefaultableBoolean.False;
ck_Mtime.Checked = true;
cop_planMouthStart.Value = DateTime.Now.AddMonths(-1);
cop_planMouthEnd.Value = DateTime.Now < DateTime.Parse(DateTime.Now.ToString("yyyy/MM/26")) ? DateTime.Now.AddMonths(1) : DateTime.Now.AddMonths(2);
ultraExpandableGroupBox1.Expanded = false;
}
//菜单按钮事件
public override void ToolBar_Click(object sender, string ToolbarKey)
{
switch (ToolbarKey)
{
case "Query":
get_PUR_PLAN_M();
break;
case "Update":
UpdPUR_PLAN_M();
break;
case "Delete":
DelPUR_PLAN_M();
break;
case "getTaskList":
getTaskList();
break;
case "Report":
Report();
break;
case "CancelReport":
CancelReport();
break;
case "Process":
Process();
break;
case "UltraGridToExcel":
UltraGridToExcel();
break;
}
}
private void FrmPur_Plan_Load(object sender, EventArgs e)
{
DataTable dt1 = new DataTable();
dt1.Columns.AddRange(new DataColumn[] { new DataColumn("Code"), new DataColumn("Desc") });
dt1.Rows.Add("", "全部");
dt1.Rows.Add("1", "紧急");
dt1.Rows.Add("2", "常规");
ultraComboEditor1.DataSource = dt1;
ultraComboEditor1.DisplayMember = "Desc";
ultraComboEditor1.ValueMember = "Code";
SetComboItemHeight(ultraComboEditor1);//设置comboxEditer高度
ultraComboEditor1.SelectedIndex = 0;
DataTable dt2 = new DataTable();
dt2.Columns.AddRange(new DataColumn[] { new DataColumn("Code"), new DataColumn("Desc") });
dt2.Rows.Add("", "全部");
dt2.Rows.Add("1", "待提报");
dt2.Rows.Add("2", "审批中");
dt2.Rows.Add("3", "已审批");
dt2.Rows.Add("4", "审批不通过");
ultraComboEditor2.DataSource = dt2;
ultraComboEditor2.DisplayMember = "Desc";
ultraComboEditor2.ValueMember = "Code";
SetComboItemHeight(ultraComboEditor2);//设置comboxEditer高度
ultraComboEditor2.SelectedIndex = 0;
ck_isAlldepart.Checked = true;
ultraExpandableGroupBox2.Expanded = false;
getUltcmbBindData();
}
///
/// 界面加载函数
///
///
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
ultraGrid1.DisplayLayout.Bands[0].PerformAutoResizeColumns(true, PerformAutoSizeType.AllRowsInBand);
ultraGrid2.DisplayLayout.Bands[0].PerformAutoResizeColumns(true, PerformAutoSizeType.AllRowsInBand);
ultraGrid2.DisplayLayout.Bands[1].PerformAutoResizeColumns(true, PerformAutoSizeType.AllRowsInBand);
}
///
/// 导出Excel
///
private void UltraGridToExcel()
{
try
{
//获取导出的采购计划行表
ultraGrid2.DisplayLayout.Bands[0].Columns["Check"].Hidden = true;
ultraGrid2.DisplayLayout.Bands[1].Hidden = true;
ArrayList alUltraGrid = new ArrayList();
alUltraGrid.Add(ultraGrid1);
alUltraGrid.Add(ultraGrid2);
ArrayList alSheeft = new ArrayList();
alSheeft.Add("采购单主表");
alSheeft.Add("采购单行表");
if (ultraGrid1.Rows.Count > 0)
{
GridHelper.ulGridToExcel(alUltraGrid, alSheeft, "采购单");//导出excel
}
}
catch (Exception e)
{
MessageUtil.ShowTips("导出失败" + e.Message);
}
finally
{
ultraGrid2.DisplayLayout.Bands[0].Columns["Check"].Hidden = false;//显示复选框
ultraGrid2.DisplayLayout.Bands[1].Hidden = false;
}
}
///
/// 创建合同
///
//private void addorder()
//{
// UltraGridRow uge = ultraGrid1.ActiveRow;
// UltraGridRow ug2e = ultraGrid2.ActiveRow;
// if (ug2e == null)
// {
// if (uge == null)
// {
// MessageUtil.ShowTips("没有选择采购计划");
// return;
// }
// else
// {
// MessageUtil.ShowTips("采购计划:" + uge.Cells["mrId"].Value.ToString() + "没有行信息不能生成合同!");
// return;
// }
// }
// if (txt_PLAN_TYPE.Value == null)
// {
// MessageUtil.ShowTips("计划类型不能为空");
// return;
// }
// if (MessageUtil.ShowYesNoAndTips("创建后采购计划将转成合同草稿,是否继续?") == DialogResult.No)
// {
// return;
// }
// try
// {
// ArrayList list = new ArrayList();
// EntityPurPlanM Ppm = new EntityPurPlanM();
// Ppm.MrId = uge.Cells["mrId"].Value.ToString();
// DataTable dt = this.execute("com.hnshituo.pur.purplan.service.PurPlanMService", "find", new object[] { Ppm, 0, 0 });
// int Id = this.execute("com.hnshituo.pur.order.service.OrderMService", "find_Max", new object[] { });
// OrderM Odm = new OrderM();
// //Id++;
// //string str = Id.ToString();
// //while (str.Length < 4)
// //{
// // str = "0" + str;
// //}
// //Odm.OrderId = DateTime.Now.ToString("yyyyMM") + txt_PLAN_TYPE.Value.ToString() + str;
// Odm.Status = "0";
// Odm.Validflag = "1";
// Odm.CreateName = CoreUserInfo.UserInfo.GetUserName();
// Odm.CreateUserid = CoreUserInfo.UserInfo.GetUserID();
// Odm.CreateTime = DateTime.Now;
// EntityPurPlanD Ppd = new EntityPurPlanD();
// Ppd.MrId = uge.Cells["mrId"].Value.ToString();
// Ppd.Validflag = "1";
// DataTable dt1 = this.execute("com.hnshituo.pur.purplan.service.PurPlanDService", "find", new object[] { Ppd, 0, 0 });
// for (int i = 0; i < dt1.Rows.Count; i++)
// {
// //string lst = Odm.OrderId;
// //int IdLin = this.execute("com.hnshituo.pur.order.service.OrderCService", "find_MaxC", new object[] { lst });
// OrderC odC = new OrderC();
// //IdLin = IdLin + i + 1;
// //string strId = IdLin.ToString();
// //while (strId.Length < 4)
// //{
// // strId = "0" + strId;
// //}
// //odC.OrderId = Odm.OrderId;
// //odC.OrderLineSqe = lst + "-" + strId;
// odC.ItemCode = dt1.Rows[i]["ItemCode"].ToString();
// odC.BuyerDeptDesc = dt1.Rows[i]["BuyerDeptDesc"].ToString();
// odC.ItemName = dt1.Rows[i]["ItemName"].ToString();
// odC.PurLineId = dt1.Rows[i]["MRLINEID"].ToString();
// //odC.ItemSpec = dt1.Rows[i]["ItemSpec"].ToString();
// //odC.ItemDesc = dt1.Rows[i]["ItemDesc"].ToString();
// odC.ItemUom = dt1.Rows[i]["ItemUom"].ToString();
// //odC.ItemUomConefficient = 1;
// odC.ItemUomConefficient = Convert.ToDouble(dt1.Rows[i]["ItemUomConefficient"].ToString());
// //odC.ItemUseUom = dt1.Rows[i]["ItemUseUom"].ToString();
// odC.WeightUnit = dt1.Rows[i]["WeightUnit"].ToString();
// odC.BuyerDeptCode = dt1.Rows[i]["BuyerDeptCode"].ToString();
// odC.BuyerUnitCode = dt1.Rows[i]["BuyerUnitCode"].ToString();
// odC.BuyerUnitDesc = dt1.Rows[i]["BuyerUnitDesc"].ToString();
// odC.BuyerName = dt1.Rows[i]["BuyerName"].ToString();
// odC.Qty = Convert.ToDouble(dt1.Rows[i]["Qty"].ToString());
// odC.Validflag = "1";
// odC.ItemAttr = dt1.Rows[i]["ItemAttr"].ToString();
// odC.ItemAttrId = dt1.Rows[i]["ItemAttrId"].ToString();
// odC.ItemStandardsCode = dt1.Rows[i]["ItemStandardsCode"].ToString();
// odC.ItemStandardsId = dt1.Rows[i]["ItemStandardsId"].ToString();
// odC.ItemUnique = dt1.Rows[i]["ItemUnique"].ToString();
// odC.ItemUomId = dt1.Rows[i]["ItemUomId"].ToString();
// odC.CreateName = CoreUserInfo.UserInfo.GetUserName();
// odC.CreateUserid = CoreUserInfo.UserInfo.GetUserID();
// odC.CreateTime = DateTime.Now;
// list.Add(odC);
// }
// CoreResult Result1 = this.execute("com.hnshituo.pur.order.service.OrderCService", "insert_order", new object[] { list, Odm });
// if (Result1.Resultcode == 0)
// {
// MessageUtil.ShowTips("创建成功,已保存为合同草稿:" + Odm.OrderId);
// }
// else
// {
// MessageBox.Show("新增记录失败:" + Result1.Resultmsg);
// return;
// }
// }
// catch (Exception e)
// {
// MessageUtil.ShowError("合同草稿创建失败!" + e);
// }
//}
///
/// 查询采购计划主表
///
///
public void get_PUR_PLAN_M()
{
dataSet1.Clear();
record.Clear();
message.Clear();
EntityPurPlanM PurPlanMEntity = new EntityPurPlanM();
PurPlanMEntity = getEnSelContion();
PurPlanMEntity.ValidDataPurviewIds = this.ValidDataPurviewIds;
PurPlanMEntity.OperatorUserId = UserInfo.GetUserID();
PurPlanMEntity.BpmUserId = UserInfo.GetUserID();
//判断当前拥有此页面功能的角色是否启用数据权限,//0未启用
string QstrDataFlag = this.execute("com.hnshituo.pur.utils.service.UtilsService", "getRoleDataFlag", new object[] { UserInfo.GetUserID(), "Pur.pur_plan.FrmPur_Plan" });
if (QstrDataFlag == "0")//0未启用
{
if (ck_isAlldepart.Checked)
{
PurPlanMEntity.CreateUserid = this.UserInfo.GetUserID();
}
}
DataTable dt = this.execute("com.hnshituo.pur.purplan.service.PurPlanMService", "getPurPlanM", new object[] { PurPlanMEntity });
foreach (DataRow row in dt.Rows)
{
row["mrPeriodEnd"] = Convert.ToDateTime(row["mrPeriodEnd"]).ToString("yyyy/MM");
}
//按创建时间降序
if (dt.Rows.Count > 0)
{
dt.DefaultView.Sort = "CREATETIME DESC";
dt = dt.DefaultView.ToTable();
}
GridHelper.CopyDataToDatatable(ref dt, ref dataTable1, true);//绑定物料分类表
ultraGrid1.DisplayLayout.Bands[0].PerformAutoResizeColumns(true, PerformAutoSizeType.AllRowsInBand);
}
///
/// 查询采购计划详表
///
///
public void get_PUR_PLAN_D(EntityPurPlanD PurPlanDEntity)
{
DataTable dt = this.execute("com.hnshituo.pur.purplan.service.PurPlanDService", "getPlanD", new object[] { PurPlanDEntity });
GridHelper.CopyDataToDatatable(ref dt, ref dataTable2, true);//绑定采购计划行表
DataTable dt_require = this.execute("com.hnshituo.pur.requireplan.service.RequirePlanDService", "getRequireByPlanD_ids", new object[] { ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString() });
//删除父表中没有的需求订单行
for (int i = 0; i < dt_require.Rows.Count; )
{
//if (!dataTable2.Rows.Contains(new object[] { dt_require.Rows[i]["BUYERDEPTCODE"].ToString(), dt_require.Rows[i]["ITEMUNIQUE"].ToString() }))
if (!dataTable2.Rows.Contains(new object[] { dt_require.Rows[i]["BUYERDEPTCODE"].ToString() }))
{
dt_require.Rows.RemoveAt(i);
}
else { i++; }
}
GridHelper.CopyDataToDatatable(ref dt_require, ref dataTable3, true);//绑定采购计划行子表
//采购计划行标记颜色
for (int i = 0; i < ultraGrid2.Rows.Count; i++)
{
//导入进来的采购计划,设置已生成任务单量=采购计划量
//if (ultraGrid1.ActiveRow.Cells["PLANTYPE"].Value.ToString() == "1")
//{
// ultraGrid2.Rows[i].Cells["taskQty"].Value = ultraGrid2.Rows[i].Cells["Qty"].Value;
//}
//double breleaseqty1 = double.Parse(ultraGrid2.Rows[i].Cells["releaseqty1"].Value.ToString());//非预采脱单
//double breleaseqty3 = double.Parse(ultraGrid2.Rows[i].Cells["releaseqty3"].Value.ToString());//挂单
//if (double.Parse(ultraGrid2.Rows[i].Cells["taskQty"].Value.ToString()) - breleaseqty1 + breleaseqty3 >= double.Parse(ultraGrid2.Rows[i].Cells["Qty"].Value.ToString()))
if (ultraGrid1.ActiveRow.Cells["PLANTYPE"].Value.ToString() == "1")
{
ultraGrid2.Rows[i].Cells["pickQty"].Value = 0;
}
if (double.Parse(ultraGrid2.Rows[i].Cells["pickQty"].Value.ToString())<=0)
{
ultraGrid2.Rows[i].Appearance.ForeColor = Color.Red;// System.Drawing.Color.FromArgb(200, 128, 0);
}
else
{
ultraGrid2.Rows[i].Appearance.ForeColor = Color.Black;
}
}
ultraGrid2.DisplayLayout.Bands[0].PerformAutoResizeColumns(true, PerformAutoSizeType.AllRowsInBand);
ultraGrid2.DisplayLayout.Bands[1].PerformAutoResizeColumns(true, PerformAutoSizeType.AllRowsInBand);
}
///
/// 生成任务单
///
public void getTaskList()
{
if (ultraGrid1.ActiveRow == null)
{
MessageUtil.ShowTips("为选择采购计划信息");
return;
}
if (getPlanStatusNum() != "3")
{
MessageUtil.ShowTips("所选采购计划不是已审批状态,不能生成任务单");
return;
}
ultraGrid2.UpdateData();
DataTable dt = dataTable2.Clone();
for (int i = 0; i < ultraGrid2.Rows.Count; i++)
{
if ((Boolean)ultraGrid2.Rows[i].Cells["Check"].Value)
{
for (int j = 0; j < dataTable2.Rows.Count; j++)
{
if (ultraGrid2.Rows[i].Cells["MRLINEID"].Value.ToString() == dataTable2.Rows[j]["MRLINEID"].ToString())
{
DataRow dr = dataTable2.Rows[j];
//double breleaseqty1 = double.Parse(ultraGrid2.Rows[i].Cells["releaseqty1"].Value.ToString());//非预采脱单
//double breleaseqty3 = double.Parse(ultraGrid2.Rows[i].Cells["releaseqty3"].Value.ToString());//挂单
if (double.Parse(dr["pickQty"].ToString())<=0)
{
MessageUtil.ShowTips("采购单行号【" + dr["MRLINEID"].ToString() + "】“剩余可生成任务单量需大于0!");
return;
}
dt.Rows.Add(dr.ItemArray);
break;
}
}
}
}
if (dt.Rows.Count < 1)
{
MessageUtil.ShowTips("请至少选择一条采购计划行");
return;
}
string[] str = new string[5];//运输条件
str[0] = cmb_DELIVERY_CONDITION.Value == null ? null : cmb_DELIVERY_CONDITION.Value.ToString();//运输条件
str[1] = ultcmb_ELIVERY_TYPE.Value == null ? null : ultcmb_ELIVERY_TYPE.Value.ToString();//运输方式
str[2] = cmb_RECEIVE_TYPE.Value == null ? null : cmb_RECEIVE_TYPE.Value.ToString();//接收方式
//str[3] = cmb_PAYMENT_CODE.Value== null ? null : cmb_PAYMENT_CODE.Value.ToString();//付款方式
//str[4] = cmb_PACKAGE_TYPE.Value == null ? null : cmb_PACKAGE_TYPE.Value.ToString();//包装方式
frm_PurTaskM frm = new frm_PurTaskM(dt, ultraGrid1.ActiveRow.Cells["REQORGNAME"].Value.ToString(), str, this.ob);
frm.ShowDialog();
EntityPurPlanD PurPlanDEntity1 = new EntityPurPlanD();
PurPlanDEntity1.MrId = ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString();
PurPlanDEntity1.Validflag = "1";
dataTable3.Rows.Clear();
dataTable2.Clear();
get_PUR_PLAN_D(PurPlanDEntity1);//刷新采购计划详表
}
///
/// 修改
///
private void UpdPUR_PLAN_M()
{
if (ultraTabControl1.SelectedTab.Key == "0")//修改采购计划主表
{
if (ultraGrid1.ActiveRow != null)
{
if (getPlanCreateName() != this.UserInfo.GetUserName())
{
MessageUtil.ShowTips("此采购计划不是当前登录用户创建,不能修改");
return;
}
string strPlanStatus = getPlanStatusNum();//采购计划主表状态
if (strPlanStatus != "1" && strPlanStatus != "4")
{
MessageUtil.ShowTips("采购单主表状态为" + getPlanStatus() + ",不能修改采购计划");
return;
}
String strMrId=ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString();
if (String.IsNullOrEmpty(strMrId))
{
MessageUtil.ShowTips("计划号为空!");
return;
}
EntityPurPlanM PurPlanMEntity = new EntityPurPlanM();
PurPlanMEntity.DeliveryCondition = cmb_DELIVERY_CONDITION.Value == null ? null : cmb_DELIVERY_CONDITION.Value.ToString();//运输条件
PurPlanMEntity.DeliveryType = ultcmb_ELIVERY_TYPE.Value == null ? null : ultcmb_ELIVERY_TYPE.Value.ToString();//运输方式
PurPlanMEntity.ReceiveType = cmb_RECEIVE_TYPE.Value == null ? null : cmb_RECEIVE_TYPE.Value.ToString();//接收方式
PurPlanMEntity.UpdateName = UserInfo.GetUserName();
PurPlanMEntity.UpdateTime = System.DateTime.Now;
PurPlanMEntity.UpdateUserid = UserInfo.GetUserID();
PurPlanMEntity.MrId = strMrId;
if (MessageUtil.ShowYesNoAndQuestion("是否确定修改?") == DialogResult.No)
{
return;
}
CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.PurPlanMService", "doUpdate", new object[] { PurPlanMEntity });//添加操作
if (crt.Resultcode != 0)
{
MessageUtil.ShowTips("修改失败 " + crt.Resultmsg);
return;
}
MessageUtil.ShowTips("修改成功!");
get_PUR_PLAN_M();//刷新采购计划主表
ConfigureClassCommon.doActiveSelRow(ultraGrid1, "MRID", PurPlanMEntity.MrId);//激活当前行
}
else
{
MessageUtil.ShowTips("请选择采购计划主表信息");
return;
}
}
else if (ultraTabControl1.SelectedTab.Key == "1")//修改采购计划详表
{
if (ultraGrid2.ActiveRow != null && !ultraGrid2.ActiveRow.HasParent())
{
if (getPlanLineCreateName() != this.UserInfo.GetUserName())
{
MessageUtil.ShowTips("此采购计划不是当前登录用户创建,不能修改");
return;
}
string strPlanStatus = getPlanStatusNum();//采购计划主表状态
if (strPlanStatus != "1" && strPlanStatus != "4")
{
MessageUtil.ShowTips("采购单主表状态为" + getPlanStatus() + ",不能修改采购计划");
return;
}
String strMrId = ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString();
String strMrLineId=ultraGrid2.ActiveRow.Cells["MRLINEID"].Value.ToString(); ;//采购单行号
if (String.IsNullOrEmpty(strMrId))
{
MessageUtil.ShowTips("采购计划号为空!");
return;
}
if (String.IsNullOrEmpty(strMrLineId))
{
MessageUtil.ShowTips("采购计划行号为空!");
return;
}
EntityPurPlanD PurPlanDEntity = new EntityPurPlanD();
PurPlanDEntity.MrId = strMrId;
PurPlanDEntity.Validflag = "1";
PurPlanDEntity.MrLineId = strMrLineId;
PurPlanDEntity.Remark = txt_REMARK.Text;//备注
PurPlanDEntity.BugPrice = double.Parse(txt_BUG_PRICE.Text);//计划价
PurPlanDEntity.PackageType = cmb_PACKAGE_TYPE.Value == null ? null : cmb_PACKAGE_TYPE.Value.ToString();//包装方式
PurPlanDEntity.PaymentCode = cmb_PAYMENT_CODE.Value == null ? null : cmb_PAYMENT_CODE.Value.ToString();//付款方式
double bQTY_YC = 0;//输入预采数量
if (txt_QTY_YC.Value != null)
{
double.TryParse(txt_QTY_YC.Value.ToString(), out bQTY_YC);
}
PurPlanDEntity.QtyYc = bQTY_YC;//预采
if (ultDt_ASK_DELIVER_DATE.Value != null)
PurPlanDEntity.AskDeliverDate = (DateTime)ultDt_ASK_DELIVER_DATE.Value;
PurPlanDEntity.UpdateName = UserInfo.GetUserName();
PurPlanDEntity.UpdateTime = System.DateTime.Now;
PurPlanDEntity.UpdateUserid = UserInfo.GetUserID();
if (MessageUtil.ShowYesNoAndQuestion("确定修改?") == DialogResult.No)
{
return;
}
CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.PurPlanDService", "doUpdate_d", new object[] { PurPlanDEntity });//添加操作
if (crt.Resultcode != 0)
{
MessageUtil.ShowTips("修改失败 " + crt.Resultmsg);
return;
}
MessageUtil.ShowTips("修改成功!");
EntityPurPlanD PurPlanDEntity1 = new EntityPurPlanD();
PurPlanDEntity1.MrId = strMrId;
PurPlanDEntity1.Validflag = "1";
get_PUR_PLAN_M();//刷新采购计划主表
ConfigureClassCommon.doActiveSelRow(ultraGrid1, "MRID", PurPlanDEntity.MrId);//激活当前行
ConfigureClassCommon.doActiveSelRow(ultraGrid2, "MRLINEID", PurPlanDEntity.MrLineId);//激活当前行
}
else
{
MessageUtil.ShowTips("请选择采购计划行表信息");
return;
}
}
}
///
/// 删除
///
private void DelPUR_PLAN_M()
{
//if (ultraTabControl1.SelectedTab.Key == "0")//修改采购计划主表
//{
if (ultraGrid1.ActiveRow != null)
{
if (getPlanCreateName() != this.UserInfo.GetUserName())
{
MessageUtil.ShowTips("此采购计划不是当前登录用户创建,不能撤销");
return;
}
string strPlanStatus = getPlanStatusNum();//采购计划主表状态
if (strPlanStatus != "1" && strPlanStatus != "4")
{
MessageUtil.ShowTips("采购单主表状态为" + getPlanStatus() + ",不能撤销采购计划");
return;
}
//string resStr = "";
//if (ultraGrid2.ActiveRow != null)
//{
// resStr = this.execute("com.hnshituo.pur.purplan.service.PurPlanDService", "MrLineIdIsUsing", new object[] { ultraGrid2.ActiveRow.Cells["MRLINEID"].Value.ToString() });//删除判断
// if (resStr != "")
// {
// MessageUtil.ShowTips("采购单行号在" + resStr + "中使用,不能撤销");
// return;
// }
//}
if (MessageUtil.ShowYesNoAndQuestion("确定撤销采购计划【" + ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString() + "】? 若撤销,该采购计划下的脱单挂单利库将同步取消。") == DialogResult.No)
{
return;
}
EntityPurPlanM PurPlanMEntity = new EntityPurPlanM();
PurPlanMEntity.Validflag = "0";
//PurPlanMEntity.Status = "0";
PurPlanMEntity.DeleteName = UserInfo.GetUserName();
PurPlanMEntity.DeleteTime = System.DateTime.Now;
PurPlanMEntity.DeleteUserid = UserInfo.GetUserID();
PurPlanMEntity.MrId = ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString();
CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.PurPlanMService", "del_PlanM", new object[] { PurPlanMEntity });//删除操作
//CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.PurPlanMService", "cancelPurPlan", new object[] { PurPlanMEntity });//添加操作
if (crt.Resultcode != 0)
{
MessageUtil.ShowTips("撤销失败 " + crt.Resultmsg);
return;
}
MessageUtil.ShowTips("撤销成功!");
EntityPurPlanM PurPlanMEntity1 = new EntityPurPlanM();
PurPlanMEntity1.Validflag = "1";
get_PUR_PLAN_M();//刷新采购计划主表
}
else
{
MessageUtil.ShowTips("请选择采购计划主表!");
}
//}
//else if (ultraTabControl1.SelectedTab.Key == "1")//删除采购计划详表
//{
// ultraGrid2.UpdateData();
// if (ultraGrid1.ActiveRow == null)
// { return; }
// string strPlanStatus = getPlanStatus();//采购计划主表状态
// if (strPlanStatus != "待提报")
// {
// MessageUtil.ShowTips("采购单主表状态为" + strPlanStatus + ",不能撤销采购计划");
// return;
// }
// if (getPlanLineCreateName() != this.UserInfo.GetUserName())
// {
// MessageUtil.ShowTips("此采购计划不是当前登录用户创建,不能删除");
// return;
// }
// if (ultraGrid2.ActiveRow != null)
// {
// string resStr = "";
// resStr = this.execute("com.hnshituo.pur.purplan.service.PurPlanDService", "MrLineIdIsUsing", new object[] { ultraGrid2.ActiveRow.Cells["MRLINEID"].Value.ToString() });//删除判断
// if (resStr != "")
// {
// MessageUtil.ShowTips("采购单行号在" + resStr + "中使用,不能删除");
// return;
// }
// resStr = this.execute("com.hnshituo.pur.purplan.service.PurPlanDService", "MrLineIdIsBenefit", new object[] { ultraGrid2.ActiveRow.Cells["MRLINEID"].Value.ToString() });//删除判断
// if (resStr != "")
// {
// if (MessageUtil.ShowYesNoAndQuestion(resStr + ",如果删除此采购单行号,此前的利库或利计划操作将取消!\n确定要删除吗") == DialogResult.No)
// {
// return;
// }
// }
// else if (MessageUtil.ShowYesNoAndQuestion("确定删除采购单行号【" + ultraGrid2.ActiveRow.Cells["MRLINEID"].Value.ToString() + "】?") == DialogResult.No)
// {
// return;
// }
// ArrayList all = new ArrayList();
// for (int i = 0; i < ultraGrid2.Rows.Count; i++)
// {
// if ((Boolean)ultraGrid2.Rows[i].Cells["Check"].Value)
// {
// EntityPurPlanD PurPlanDEntity = new EntityPurPlanD();
// PurPlanDEntity.Validflag = "0";
// PurPlanDEntity.DeleteName = UserInfo.GetUserName();
// PurPlanDEntity.DeleteTime = System.DateTime.Now;
// PurPlanDEntity.MrLineId = ultraGrid2.Rows[i].Cells["MRLINEID"].Value.ToString(); //采购单行号
// all.Add(PurPlanDEntity);
// }
// }
// if (all.Count < 1)//删除当前激活行
// {
// EntityPurPlanD PurPlanDEntity = new EntityPurPlanD();
// PurPlanDEntity.Validflag = "0";
// PurPlanDEntity.DeleteName = UserInfo.GetUserName();
// PurPlanDEntity.DeleteUserid = UserInfo.GetUserID();
// PurPlanDEntity.DeleteTime = System.DateTime.Now;
// PurPlanDEntity.MrLineId = ultraGrid2.ActiveRow.Cells["MRLINEID"].Value.ToString(); //采购单行号
// all.Add(PurPlanDEntity);
// }
// CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.PurRequirePurPlanRService", "del_updata", new object[] { all });//添加操作
// if (crt.Resultcode != 0)
// {
// MessageUtil.ShowTips("删除失败 " + crt.Resultmsg);
// return;
// }
// MessageUtil.ShowTips("删除成功!");
// EntityPurPlanD PurPlanDEntity1 = new EntityPurPlanD();
// PurPlanDEntity1.MrId = ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString();
// PurPlanDEntity1.Validflag = "1";
// get_PUR_PLAN_D(PurPlanDEntity1);//刷新采购计划详表
// }
//}
}
///
/// 查看流程详情
///
private void Process()
{
UltraGridRow uge = ultraGrid1.ActiveRow;
if (uge == null)
{
MessageUtil.ShowWarning("请选择一条记录");
return;
}
if (getPlanStatusNum() == "1")
{
MessageUtil.ShowTips("提报后才能查看流程");
return;
}
string mrId = uge.Cells["MRId"].Value.ToString();
ProcInstDetail detail = new ProcInstDetail(BpmFlowConstants.PROCDEF_PUR_PLAN_AUDIT, mrId);
detail.ShowDialog();
}
///
/// 判断数据库中是否存在相同的列
///
///
///
/// true存在
public bool isExsitRow(string strJavaPackName, object o)
{
DataTable dt = this.execute(strJavaPackName, "find", new object[] { o, 0, 0 });
if (dt != null && dt.Rows.Count > 0)//存在相同的行
{
return true;
}
return false;
}
///
/// 单击数据列表赋值数据给控件
///
private void getControlBoxValue(object sender, object entity)
{
//获取要情况文本框的父容器
Control ctrBox = null;
if (sender.Equals(ultraGrid1))
{
ctrBox = ultraGroupBox6;
}
else if (sender.Equals(ultraGrid2))
{
ctrBox = ultraTabPageControl2;
}
//清空控件
foreach (Control ctr in ctrBox.Controls)
{
if (ctr is Label)
{ continue; }
if (ctr is UltraCheckEditor)
{
UltraCheckEditor ultcmb = (UltraCheckEditor)ctr;
ultcmb.Checked = false;
}
ctr.Text = null;
}
if (sender.Equals(ultraGrid1))
{
EntityPurPlanM PurPlanMEntity = (EntityPurPlanM)entity;
cmb_DELIVERY_CONDITION.Value = PurPlanMEntity.DeliveryCondition;//运输条件
ultcmb_ELIVERY_TYPE.Value = PurPlanMEntity.DeliveryType;//运输方式
cmb_RECEIVE_TYPE.Value = PurPlanMEntity.ReceiveType;//接收方式
}
else if (sender.Equals(ultraGrid2))
{
EntityPurPlanD PurPlanDEntity = (EntityPurPlanD)entity;
txt_REMARK.Text = PurPlanDEntity.Remark == null ? null : PurPlanDEntity.Remark.ToString();//备注
cmb_PACKAGE_TYPE.Value = PurPlanDEntity.PackageType;//包装方式
cmb_PAYMENT_CODE.Value = PurPlanDEntity.PaymentCode;//付款方式
txt_BUG_PRICE.Text = PurPlanDEntity.BugPrice == null ? null : PurPlanDEntity.BugPrice.ToString();//计划价
txt_QTY_YC.Value = PurPlanDEntity.QtyYc;//预采
ultDt_ASK_DELIVER_DATE.Value = ultraGrid2.ActiveRow.Cells["ASKDELIVERDATE"].Value;
}
}
///
/// 激活采购计划主表行
///
///
///
private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
{
dataTable3.Rows.Clear();
dataTable2.Clear();
message.Clear();
record.Clear();
String strMrid= ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString().Trim();
if (String.IsNullOrEmpty(strMrid))
{
MessageUtil.ShowTips("采购计划号为空");
return;
}
EntityPurPlanD PurPlanDEntity = new EntityPurPlanD();
PurPlanDEntity.MrId = strMrid;
PurPlanDEntity.Validflag = "1";
get_PUR_PLAN_D(PurPlanDEntity);//查询采购计划详表
EntityPurPlanM PurPlanMEntity = new EntityPurPlanM();
PurPlanMEntity = this.execute("com.hnshituo.pur.purplan.service.PurPlanMService", "findById", new object[] { ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString() });
getControlBoxValue(sender, PurPlanMEntity);
getBindItemMiddleClass();//绑定物料分类筛选下拉类表
//加载采购计划评审意见
getOrderReview(strMrid);
}
///
/// 查询评审意见
///
///
private void getOrderReview(string strMrid)
{
DataTable dt11 = this.execute("com.hnshituo.pur.order.service.OrderMService", "getReviewMsg", new object[] { strMrid });
GridHelper.CopyDataToDatatable(dt11, dataTable7, true);
GridHelper.RefreshAndAutoSize(ultraGrid3);
}
///
/// 激活采购计划详表
///
///
///
private void ultraGrid2_AfterRowActivate(object sender, EventArgs e)
{
if (!ultraGrid2.ActiveRow.HasParent())
{
EntityPurPlanD PurPlanDEntity = new EntityPurPlanD();
PurPlanDEntity = this.execute("com.hnshituo.pur.purplan.service.PurPlanDService", "findById", new object[] { ultraGrid2.ActiveRow.Cells["MRLINEID"].Value.ToString() });
getControlBoxValue(sender, PurPlanDEntity);//给控件赋值
txt_QTY_YC.Enabled = true;
//查询脱挂单记录
record.Clear();
RequireReleaseInstockqty release = new RequireReleaseInstockqty();
release.Validflag = "1";
release.PurLineId = ultraGrid2.ActiveRow.Cells["MRLINEID"].Value.ToString();
DataTable dt1 = this.execute("com.hnshituo.pur.requireplan.service.RequireReleaseInstockqtyService", "doQuery_List", new object[] { release });
GridHelper.CopyDataToDatatable(dt1, dataTable8, true);
GridHelper.RefreshAndAutoSize(ultraGrid9);
}
else
{
txt_QTY_YC.Enabled = false;
}
}
///
/// 单击采购计划主表
///
///
///
private void ultraGrid1_ClickCell(object sender, Infragistics.Win.UltraWinGrid.ClickCellEventArgs e)
{
this.ultraTabControl1.SelectedTab = ultraTabPageControl1.Tab;
}
///
/// 单击采购计划详表
///
///
///
private void ultraGrid2_ClickCell(object sender, Infragistics.Win.UltraWinGrid.ClickCellEventArgs e)
{
this.ultraTabControl1.SelectedTab = ultraTabPageControl2.Tab;
}
///
/// 获取查询条件
///
///
private EntityPurPlanM getEnSelContion()
{
EntityPurPlanM entity = new EntityPurPlanM();
if (ultraTextEditor5.Text.Trim() != "")
{
entity.MrId = ultraTextEditor5.Text.ToString().Trim();
}
if (ultraComboEditor1.Value != null && ultraComboEditor1.Value.ToString() != "")
{
entity.UrgencyType = ultraComboEditor1.Value.ToString().Trim();
}
if (ultraComboEditor2.Value != null && ultraComboEditor2.Value.ToString() != "")
{
entity.Status = ultraComboEditor2.Value.ToString().Trim();
}
if (ck_Mtime.Checked == true)
{
if (cop_planMouthStart.Text != "")
{
DateTime Start1 = DateTime.Parse(Convert.ToDateTime(cop_planMouthStart.Value).ToString("yyyy/MM"));
entity.MrPeriodStart = Start1;
}
if (cop_planMouthEnd.Text != "")
{
DateTime End1 = DateTime.Parse(Convert.ToDateTime(cop_planMouthEnd.Value).ToString("yyyy/MM"));
entity.MrPeriodEnd = End1;
}
}
//entity.DeleteName = "1";//判断是否需要查待编的,1不显示,0显示
entity.Validflag = "1";
return entity;
}
///
/// 提报
///
private void Report()
{
string strStatus = getPlanStatusNum();
if (strStatus == "1" || strStatus == "4")
{
if (getPlanCreateName() != this.UserInfo.GetUserName())
{
MessageUtil.ShowTips("此采购计划不是当前登录用户创建,不能提报");
return;
}
String strTxt = "物料:";
int ii = 0;
foreach (UltraGridRow ugr in ultraGrid2.Rows)
{
double b = 0;
double.TryParse(ugr.Cells["BUGPRICE"].Value.ToString(), out b);
if (b == 0)
{
strTxt = strTxt + "," + ugr.Cells["ItemName"].Value.ToString();
ii = ii + 1;
}
}
EntityPurPlanM PurPlanMEntity = new EntityPurPlanM();
PurPlanMEntity.MrId = ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString();
PurPlanMEntity.Status = "2";
PurPlanMEntity.UpdateUserid = UserInfo.GetUserID();
PurPlanMEntity.UpdateName = UserInfo.GetUserName();
if (ii > 0)
{
if (MessageUtil.ShowYesNoAndQuestion(strTxt+"计划价格为0,确认提报?") != DialogResult.Yes)
{
return;
}
}
else
{
if (MessageUtil.ShowYesNoAndQuestion("确认提报?") != DialogResult.Yes)
{
return;
}
}
CoreResult re = setRequire(PurPlanMEntity);
//CoreResult re = this.execute("com.hnshituo.pur.purplan.service.PurPlanMService", "submit", new object[] { PurPlanMEntity });//提报
//this.execute("com.hnshituo.pur.purplan.service.PurPlanMService", "update", new object[] { PurPlanMEntity });//添加操作
if (re.Resultcode != 0)
{
MessageUtil.ShowTips("提报失败:" + re.Resultmsg);
return;
}
else
{
MessageUtil.ShowTips("提报成功!");
get_PUR_PLAN_M();//刷新采购计划主表
comm.doActiveSelRow(ultraGrid1, "MRID", PurPlanMEntity.MrId);
}
}
else
{
MessageUtil.ShowTips("采购单不是“待提报”状态,不能提报");
}
}
///
/// 取消提报
///
private void CancelReport()
{
if (getPlanCreateName() != this.UserInfo.GetUserName())
{
MessageUtil.ShowTips("此采购计划不是当前登录用户创建,不能取消提报");
return;
}
string strStatus = getPlanStatusNum();
//if (strStatus == "3")
//{
//MessageUtil.ShowTips("采购单已审批,不能取消提报");
//return;
//}
if (strStatus != "1")
{
string strTips = "确定取消提报?";
if (strStatus == "3")
{
strTips = "采购计划【" + ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString() + "】已经审批通过了,取消了后需要重新审批,确定取消提报?";
}
if (DialogResult.No.Equals(MessageUtil.ShowYesNoAndQuestion(strTips)))
{
return;
}
EntityPurPlanM PurPlanMEntity = new EntityPurPlanM();
PurPlanMEntity.MrId = ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString();
PurPlanMEntity.Status = "1";
PurPlanMEntity.UpdateUserid = UserInfo.GetUserID();
PurPlanMEntity.UpdateName = UserInfo.GetUserName();
CoreResult re = setRequireD(PurPlanMEntity);
//CoreResult re = this.execute("com.hnshituo.pur.purplan.service.PurPlanMService", "submit", new object[] { PurPlanMEntity });//添加操作
if (re.Resultcode != 0)
{
MessageUtil.ShowTips("取消失败:" + re.Resultmsg);
return;
}
else
{
MessageUtil.ShowTips("取消成功!");
get_PUR_PLAN_M();//刷新采购计划主表
}
}
else
{
MessageUtil.ShowTips("采购单已是“待提报”状态,无需取消");
}
}
///
/// 利库操作
///
private void StorageBenefit()
{
if (ultraGrid1.ActiveRow != null)
{
for (int i = 0; i < ultraGrid2.Rows.Count; i++)
{
for (int j = 0; j < ultraGrid2.Rows.Count; j++)
{
if (i != j)
{
if (ultraGrid2.Rows[i].Cells["ITEMCODE"].Value.ToString() == ultraGrid2.Rows[j].Cells["ITEMCODE"].Value.ToString())
{ MessageUtil.ShowTips("选择采购单下的采购计划行不能有重复的物料编码!"); return; }
}
}
}
FrmStorageBenefit frm = new FrmStorageBenefit(this.ob, ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString());
frm.ShowDialog();
}
else
{
MessageUtil.ShowTips("请选择采购单号!");
}
}
///
/// 取消利计划和利库操作
///
private void CancelPurPlanBenefit()
{
string strPlanStatus = getPlanStatusNum();//采购计划主表状态
if (strPlanStatus != "1" && strPlanStatus != "4")
{
MessageUtil.ShowTips("采购单主表状态为" + getPlanStatus() + ",不能取消利库");
return;
}
//string resStr = this.execute("com.hnshituo.pur.purplan.service.PurPlanDService", "MrIdIsBenefit", new object[] { ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString() });//删除判断
//if (resStr != "")
//{
if (ultraGrid2.ActiveRow != null)
{
if (MessageUtil.ShowYesNoAndQuestion("确定要取消采购单行号【" + ultraGrid2.ActiveRow.Cells["MRLINEID"].Value.ToString() + "】利库吗") == DialogResult.No)
{
return;
}
//}
EntityPurPlanD PurPlanDEntity = new EntityPurPlanD();
PurPlanDEntity.MrLineId = ultraGrid2.ActiveRow.Cells["MRLINEID"].Value.ToString();
PurPlanDEntity.Validflag = "0";
PurPlanDEntity.UpdateName = UserInfo.GetUserName();
PurPlanDEntity.UpdateTime = System.DateTime.Now;
PurPlanDEntity.UpdateUserid = UserInfo.GetUserID();
CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.PurRequirePurPlanRService", "CancelPurPlanBenefit", new object[] { PurPlanDEntity });//添加操作
if (crt.Resultcode != 0)
{
MessageUtil.ShowTips("取消失败 " + crt.Resultmsg);
return;
}
MessageUtil.ShowTips("取消成功!");
EntityPurPlanD PurPlanDEntity1 = new EntityPurPlanD();
PurPlanDEntity1.MrId = ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString();
PurPlanDEntity1.Validflag = "1";
get_PUR_PLAN_D(PurPlanDEntity1);//查询采购计划详表
ConfigureClassCommon.doActiveSelRow(ultraGrid2, "MRLINEID", PurPlanDEntity.MrLineId);//激活当前行
}
}
///
/// 利计划操作
///
private void PlanBenefit()
{
if (ultraGrid1.ActiveRow != null)
{
for (int i = 0; i < ultraGrid2.Rows.Count; i++)
{
for (int j = 0; j < ultraGrid2.Rows.Count; j++)
{
if (i != j)
{
if (ultraGrid2.Rows[i].Cells["ITEMCODE"].Value.ToString() == ultraGrid2.Rows[j].Cells["ITEMCODE"].Value.ToString())
{ MessageUtil.ShowTips("选择采购单下的采购计划行不能有重复的物料编码!"); return; }
}
}
}
frm_PlanBenefit frm = new frm_PlanBenefit(this.ob, ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString());
frm.ShowDialog();
}
else
{
MessageUtil.ShowTips("请选择采购单号!");
}
}
///
/// 点击切换编辑区的tab页
///
///
///
private void ultraGrid2_Click(object sender, EventArgs e)
{
ultraTabControl1.SelectedTab = ultraTabPageControl2.Tab;
}
///
/// 设置UltraComboEditor中的中文和非中文统一高度。
///
///
public static void SetComboItemHeight(UltraComboEditor cmb)
{
foreach (ValueListItem item in cmb.Items)
{
if (item.DisplayText != null)
{
if (Regex.IsMatch(item.DisplayText, @"[\u4e00-\u9fa5]+"))
{
item.Appearance.FontData.SizeInPoints = 9.0F;
}
else
{
item.Appearance.FontData.SizeInPoints = 10.5F;
}
}
}
}
///
/// 获取采购单主表状态
///
///
public string getPlanStatus()
{
string strTaskStatus = "";
EntityPurPlanM M_PurPlanM = new EntityPurPlanM();
M_PurPlanM.MrId = ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString();
M_PurPlanM.Validflag = "1";
DataTable dt = this.execute("com.hnshituo.pur.purplan.service.PurPlanMService", "getPurPlanM", new object[] { M_PurPlanM });
if (dt.Rows.Count > 0)
{
strTaskStatus = dt.Rows[0]["STATUS"].ToString();
}
return strTaskStatus;
}
///
/// 获取采购单主表状态
///
///
public string getPlanStatusNum()
{
string strTaskStatus = "";
EntityPurPlanM M_PurPlanM = new EntityPurPlanM();
M_PurPlanM = this.execute("com.hnshituo.pur.purplan.service.PurPlanMService", "findById", new object[] { ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString() });
if (M_PurPlanM != null)
{
strTaskStatus = M_PurPlanM.Status.ToString();
}
return strTaskStatus;
}
///
/// 获取采购单主表创建人
///
///
public string getPlanCreateName()
{
string strCreateName = "";
EntityPurPlanM M_PurPlanM = new EntityPurPlanM();
M_PurPlanM = this.execute("com.hnshituo.pur.purplan.service.PurPlanMService", "findById", new object[] { ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString() });
if (M_PurPlanM != null)
{
strCreateName = M_PurPlanM.CreateName.ToString();
}
return strCreateName;
}
///
/// 获取采购单行表创建人
///
///
public string getPlanLineCreateName()
{
string strCreateName = "";
EntityPurPlanD M_PurPlanD = new EntityPurPlanD();
M_PurPlanD = this.execute("com.hnshituo.pur.purplan.service.PurPlanDService", "findById", new object[] { ultraGrid2.ActiveRow.Cells["MRLINEID"].Value.ToString() });
if (M_PurPlanD != null)
{
strCreateName = M_PurPlanD.CreateName.ToString();
}
return strCreateName;
}
///
/// 显示采购计划激活行的物料
///
private void showItemUgridRow(UltraGrid ugr)
{
for (int i = 0; i < ugr.Rows.Count; i++)
{
if (ugr.Rows[i].Cells["ITEMCODE"].Value.ToString() != ultraGrid2.ActiveRow.Cells["ITEMCODE"].Value.ToString() || ugr.Rows[i].Cells["WEIGHTUNIT"].Value.ToString().Trim() != ultraGrid2.ActiveRow.Cells["WEIGHTUNIT"].Value.ToString().Trim())
{
ugr.Rows[i].Hidden = true;//隐藏
}
else
{
ugr.Rows[i].Hidden = false;
}
}
}
///
/// 绑定下拉列表的数据
///
private void getUltcmbBindData()
{
//接收方式
DataTable dt = ServerHelper.GetData("com.hnshituo.pur.configure.service.impl.CoreBaseInfoNew.doQuery", new Object[] { "1101" }, this.ob);
removeNotValiflagData(dt);
getUltcmbBindValueList(dt, cmb_RECEIVE_TYPE);
//运输条件
DataTable dt1 = ServerHelper.GetData("com.hnshituo.pur.configure.service.impl.CoreBaseInfoNew.doQuery", new Object[] { "1105" }, this.ob);
removeNotValiflagData(dt1);
getUltcmbBindValueList(dt1, cmb_DELIVERY_CONDITION);
//运输方式
DataTable dt2 = ServerHelper.GetData("com.hnshituo.pur.configure.service.impl.CoreBaseInfoNew.doQuery", new Object[] { "1102" }, this.ob);
removeNotValiflagData(dt2);
getUltcmbBindValueList(dt2, ultcmb_ELIVERY_TYPE);
//付款方式
DataTable dt3 = ServerHelper.GetData("com.hnshituo.pur.configure.service.impl.CoreBaseInfoNew.doQuery", new Object[] { "1104" }, this.ob);
removeNotValiflagData(dt3);
getUltcmbBindValueList(dt3, cmb_PAYMENT_CODE);
ultraGrid2.DisplayLayout.Bands[0].Columns["PAYMENTCODE"].EditorComponent = cmb_PAYMENT_CODE;
//包装方式
DataTable dt4 = ServerHelper.GetData("com.hnshituo.pur.configure.service.impl.CoreBaseInfoNew.doQuery", new Object[] { "1107" }, this.ob);
removeNotValiflagData(dt4);
getUltcmbBindValueList(dt4, cmb_PACKAGE_TYPE);
ultraGrid2.DisplayLayout.Bands[0].Columns["PACKAGETYPE"].EditorComponent = cmb_PACKAGE_TYPE;
}
///
/// 移除无效数据
///
///
private void removeNotValiflagData(DataTable dt)
{
for (int i = 0; i < dt.Rows.Count; )
{
if (dt.Rows[i]["VALIDFLAG"].ToString() == "0")
{
dt.Rows.RemoveAt(i);
}
else
{
i++;
}
}
}
///
/// 绑定所有的下拉列表的数据
///
private void getUltcmbBindValueList(DataTable dt, UltraComboEditor ultcmb)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
ValueListItem vlItem = new ValueListItem(dt.Rows[i]["BASECODE"].ToString().Trim(), dt.Rows[i]["BASENAME"].ToString().Trim());
ultcmb.Items.Add(vlItem);
}
}
///
/// 提报补充预采需求
///
private CoreResult setRequire(EntityPurPlanM ppm)
{
ArrayList alrem = new ArrayList();
ArrayList alReqD = new ArrayList();
ArrayList alReqR = new ArrayList();
ArrayList alrpr = new ArrayList();
for (int i = 0; i < ultraGrid2.Rows.Count; i++)
{
RequirePlanM rem = new RequirePlanM();
RequirePlanD ReqD = new RequirePlanD();
ReqPurPlanR ReqR = new ReqPurPlanR();
RequireReceive rpr = new RequireReceive();
double bQTYYC = 0;
double.TryParse(ultraGrid2.Rows[i].Cells["QTYYC"].Value.ToString(), out bQTYYC);
if (bQTYYC > 0)
{
//生成需求单号
string strYcMrId = this.execute("com.hnshituo.pur.utils.service.UtilsService", "genMrId", new object[] { 1 });
rem.CreateName = UserInfo.GetUserName();
rem.CreateUserid = UserInfo.GetUserID();
rem.CreateTime = DateTime.Now;
rem.Status = "3";
//ReqM.ReqOrgId = txt_REQ_ORG_ID.Text;
//ReqM.ReqOrgName = txt_REQORGNAME.Text;
rem.MrPeriodEnd = Convert.ToDateTime(ultraGrid1.ActiveRow.Cells["MRPERIODEND"].Value.ToString()).Date;
//rem.MrPeriodStart = Convert.ToDateTime(txt_MRPERIODSTART.Text).Date;
rem.UrgencyType = "1";
rem.ReqOrgName = UserInfo.GetDepartment();//申请者机构名称
rem.ReqOrgId = UserInfo.GetDeptid();//申请者机构ID
rem.Validflag = "1";
rem.RequireType = "122103";//生产性物料预采,系统自动生成,RPA160700003-002 RPA160700003-001
rem.MrId = strYcMrId;
EntityPurPlanD ppd = new EntityPurPlanD();
ppd = this.execute("com.hnshituo.pur.purplan.service.PurPlanDService", "findById", new object[] { ultraGrid2.Rows[i].Cells["MrLineId"].Value.ToString() });//添加操作
ReqD = EntityHelper.CopyEntity(ppd);
ReqD.MrLineId = strYcMrId + "-001";
ReqD.MrId = strYcMrId;
ReqD.Remark = "由预采补充需求计划行信息";
ReqD.BuyerDeptCode = "";
ReqD.BuyerDeptDesc = "";
ReqD.BuyerUnitCode = "";
ReqD.BuyerUnitDesc = "";
ReqD.Validflag = "1";
ReqD.FlagGeneratedPurPlan = "4";
ReqD.Qty = bQTYYC;
ReqD.QtyPur = bQTYYC;
ReqD.BudgetAmt = bQTYYC * (ReqD.BugPrice == null ? 0 : ReqD.BugPrice);
ReqD.CreateName = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName();
ReqD.CreateUserid = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserID();
ReqD.CreateTime = DateTime.Now;
ReqD.FlagGeneratedPurPlan = "1";
//2016年2月28新增leitao
ReqD.DeliveryLocationFlag = "0";
ReqD.DeliveryLocation = "";
ReqD.DeliveryLocationCode = "";
ReqD.AuditFlag = "1";
ReqD.AuditMsg = "默认审批通过";
//插入关系表
ReqR.PurLineId = ppd.MrLineId;
ReqR.CreateTime = DateTime.Now;
ReqR.RequireLineId = ReqD.MrLineId;
ReqR.ID = ReqD.MrLineId + ppd.MrLineId;
rpr = EntityHelper.CopyEntity(ReqD);
rpr.PurLineId = ppd.MrLineId;
rpr.Id = ReqD.MrLineId + ppd.MrLineId;
rpr.Status = "2";
rpr.LastDeliveryDate = ppd.AskDeliverDate;
rpr.LjhTime = System.DateTime.Now;
rpr.Purtype = "3";
rpr.OriQty = bQTYYC;
rpr.OriQtyPur = bQTYYC;
rpr.Qty = bQTYYC;
rpr.QtyPur = bQTYYC;
alrem.Add(rem);
alReqD.Add(ReqD);
alReqR.Add(ReqR);
alrpr.Add(rpr);
}
else//不用补预采需求
{
}
}
CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.PurPlanMService", "submit", new object[] { alrem, alReqD, alReqR, alrpr, ppm });//添加操作
return crt;
}
///
/// 撤销提报,删除预采需求
///
///
///
private CoreResult setRequireD(EntityPurPlanM ppm)
{
ArrayList alrem = new ArrayList();
ArrayList alReqD = new ArrayList();
ArrayList alReqR = new ArrayList();
ArrayList alrpr = new ArrayList();
for (int i = 0; i < ultraGrid2.Rows.Count; i++)
{
double bQTYYC = 0;
double.TryParse(ultraGrid2.Rows[i].Cells["QTYYC"].Value.ToString(), out bQTYYC);
if (bQTYYC > 0)
{
if (ultraGrid2.Rows[i].HasChild())
{
for (int j = 0; j < ultraGrid2.Rows[i].ChildBands[0].Rows.Count; j++)
{
if (ultraGrid2.Rows[i].ChildBands[0].Rows[j].Cells["Remark"].Value.ToString() == "由预采补充需求计划行信息")
{
RequirePlanM rem = new RequirePlanM();
RequirePlanD ReqD = new RequirePlanD();
ReqPurPlanR ReqR = new ReqPurPlanR();
RequireReceive rpr = new RequireReceive();
ReqD.MrLineId = ultraGrid2.Rows[i].ChildBands[0].Rows[j].Cells["MrLineId"].Value.ToString();
ReqD.MrId = ultraGrid2.Rows[i].Cells["MrLineId"].Value.ToString();
alrem.Add(rem);
alReqD.Add(ReqD);
alReqR.Add(ReqR);
alrpr.Add(rpr);
//alReqD.Add(ReqD);
break;
}
}
}
}
}
CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.PurPlanMService", "submit", new object[] { alrem, alReqD, alReqR, alrpr, ppm });//添加操作
return crt;
}
//绑定查询的物料分类
private void getBindItemMiddleClass()
{
DataTable dt= comm.getDtGroupBy_reDt(dataTable2, "basename");
comm.setUltraComboEditorBind(txt_ItemMiddleClass, dt, "basename", "basecode", "全部", "");
}
private void ck_Mtime_CheckedChanged(object sender, EventArgs e)
{
cop_planMouthStart.Enabled = ck_Mtime.Checked;
cop_planMouthEnd.Enabled = ck_Mtime.Checked;
}
#region 行编辑区
///
/// 按照物料为别过滤物料
///
///
///
private void btn_selectD_Click(object sender, EventArgs e)
{
if (txt_ItemMiddleClass.Value == null)
{
return;
}
EntityPurPlanD PurPlanDEntity = new EntityPurPlanD();
PurPlanDEntity.MrId = ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString();
PurPlanDEntity.Validflag = "1";
PurPlanDEntity.ItemCode = txt_ItemMiddleClass.Value.ToString();
get_PUR_PLAN_D(PurPlanDEntity);//查询采购计划详表
}
private void btn_deleteD_Click(object sender, EventArgs e)
{
if (ultraGrid1.ActiveRow != null)
{
if (getPlanCreateName() != this.UserInfo.GetUserName())
{
MessageUtil.ShowTips("此采购计划不是当前登录用户创建,不能撤销");
return;
}
string strPlanStatus = getPlanStatusNum();//采购计划主表状态
if (strPlanStatus != "1" && strPlanStatus != "4")
{
MessageUtil.ShowTips("采购单主表状态为" + getPlanStatus() + ",不能编辑采购计划");
return;
}
if (ultraGrid2.ActiveRow == null)
{
MessageUtil.ShowTips("请选择采购计划行");
return;
}
String strPurLineId = ultraGrid2.ActiveRow.GetCellValue("MRLINEID").ToString().Trim();
if (String.IsNullOrEmpty(strPurLineId))
{
MessageUtil.ShowTips("请选择的采购计划行号为空");
return;
}
if (MessageUtil.ShowYesNoAndQuestion("确定撤销采购计划行【" + strPurLineId + "】? 若撤销,该采购计划行下的脱单挂单利库将同步取消。") == DialogResult.No)
{
return;
}
EntityPurPlanD PurPlanDEntity = new EntityPurPlanD();
PurPlanDEntity.Validflag = "0";
//PurPlanMEntity.Status = "0";
PurPlanDEntity.DeleteName = UserInfo.GetUserName();
PurPlanDEntity.DeleteTime = System.DateTime.Now;
PurPlanDEntity.DeleteUserid = UserInfo.GetUserID();
PurPlanDEntity.MrLineId = strPurLineId;
CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.PurPlanDService", "doDelete_d", new object[] { PurPlanDEntity });//删除操作
if (crt.Resultcode != 0)
{
MessageUtil.ShowTips("撤销失败 " + crt.Resultmsg);
return;
}
MessageUtil.ShowTips("撤销成功!");
EntityPurPlanM PurPlanMEntity1 = new EntityPurPlanM();
PurPlanMEntity1.Validflag = "1";
get_PUR_PLAN_M();//刷新采购计划主表
}
else
{
MessageUtil.ShowTips("请选择采购计划主表!");
}
}
private void btn_addD_Click(object sender, EventArgs e)
{
if (ultraGrid2.ActiveRow == null)
{
MessageUtil.ShowTips("请选择采购计划行");
return;
}
String strPurLineId = ultraGrid2.ActiveRow.GetCellValue("MRLINEID").ToString().Trim();
if (String.IsNullOrEmpty(strPurLineId))
{
MessageUtil.ShowTips("请选择的采购计划行号为空");
return;
}
}
#endregion
private void ultraGrid1_InitializeRow(object sender, InitializeRowEventArgs e)
{
if (e.Row.Cells["status"].Value.ToString().StartsWith("审批不通过"))
{
e.Row.Appearance.ForeColor = Color.Red;
}
else
{
e.Row.Appearance.ForeColor = Color.Black;
}
}
}
}