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 Core.Mes.Client.Comm.Control;
using Core.Mes.Client.Comm.Tool;
using CoreFS.CA06;
using Pur.Entity;
using Pur.Entity.pur_planEntity;
using System.Collections;
using Pur.configure;
using Pur.Entity.configureEntity;
using Pur.Pop_upWindow;
using com.hnshituo.pur.vo;
using Infragistics.Win.UltraWinGrid;
using Pur.require_plan;
using Bpm;
using com.hnshituo.bpm.req.vo;
namespace Pur.pur_plan
{
public partial class frmTaskMana_MC : FrmPmsBase
{
public frmTaskMana_MC()
{
InitializeComponent();
this.IsLoadUserView = true;
}
///
/// 界面初始化
///
///
///
private void frmTaskMana_MC_Load(object sender, EventArgs e)
{
ultraGrid1.DisplayLayout.Bands[0].PerformAutoResizeColumns(true, PerformAutoSizeType.AllRowsInBand);
ultraGrid2.DisplayLayout.Bands[0].PerformAutoResizeColumns(true, PerformAutoSizeType.AllRowsInBand);
ultraGrid4.DisplayLayout.Bands[0].PerformAutoResizeColumns(true, PerformAutoSizeType.AllRowsInBand);
GridHelper.SetExcludeColumnsActive(ultraGrid2.DisplayLayout.Bands[0],new string[]{"CHK"});
GridHelper.SetExcludeColumnsActive(ultraGrid3.DisplayLayout.Bands[0], new string[] { "CHK" });
ultraGrid2.DisplayLayout.Bands[0].Columns["askdeliverdate"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.Date;
txt_CreateTimeStart.Value = DateTime.Now.AddMonths(-2);
txt_CreateTimeEnd.Value = DateTime.Now.AddDays(3);
ultcmb_STATUS.SelectedIndex = 0;
ck_isAlldepart.Checked = true;
txt_CreateTimeStart.Enabled = true;
txt_CreateTimeEnd.Enabled = true;
ck_isCreateT.Checked = true;
GetTaskM(getEnSelContion());
}
//菜单按钮事件
public override void ToolBar_Click(object sender, string ToolbarKey)
{
switch (ToolbarKey)
{
case "Query":
GetTaskM(getEnSelContion());
break;
case "AddMat":
AddMat();//新增物料
break;
case "AddSupp"://新增供应商
AddSupp();
break;
case "AddMatSupp"://新增供应商物料
AddMatSupp();
break;
case "cancelMatSupp"://新增供应商物料
cancelMatSupp();
break;
case "AddEva"://新增评标人员
AddEva();
break;
case "Update":
//UpdTaskM();//更新任务单
UpdTask();
break;
case "Delete"://删除任务单
DelTaskM();
break;
case "QuiteTask"://撤销提报
QuiteTask();
break;
case "getBEvaluation"://进入招标系统
getBEvaluation();
break;
case "setEvaluation"://定标
setEvaluation();
break;
case "setPriceAll"://定价定量
setPriceAll();
break;
case "AddOrder"://生成合同
AddOrder();
break;
case "allowSpit"://允许一个物料生成多个合同
allowMutilOrder();
break;
case "cancelAllowSpit"://取消一个物料生成多个合同
cancelMutilOrder();
break;
case "deleteTask"://废标
deleteTask();
break;
case "cancelDeleteTask"://取消废标
cancelDeleteTask();
break;
case "setTaskPrice"://生成价格审批单
setTaskPrice();
break;
case "Report"://提报
Report();
break;
case "openRes"://开启报价
openRes();
break;
case "examine"://科长审批
examine();
break;
case "doClose"://关闭
this.Close();
break;
case "doExcel"://关闭
doExcel();
break;
}
}
private void doExcel()
{
try
{
this.Cursor = Cursors.WaitCursor;
ArrayList alUltraGrid = new ArrayList();
ultraGrid2.DisplayLayout.Bands[0].Columns["CHK"].Hidden = true;
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["CHK"].Hidden = false;
this.Cursor = Cursors.Default;
}
}
///
/// 任务单取消允许拆物料
///
private void cancelMutilOrder()
{
if (ultraGrid1.ActiveRow == null)
{
MessageUtil.ShowTips("请选择任务单头");
return;
}
String strTaskId = ultraGrid1.ActiveRow.GetCellValue("taskId").ToString().Trim();
if (String.IsNullOrEmpty(strTaskId))
{
MessageUtil.ShowTips("任务单头的任务单号为空");
}
String strStatus = getTaskStatusNum();
if (strStatus == "11")
{
MessageUtil.ShowTips("任务单已完成合同生成");
return;
}
PurTaskMEntity task = new PurTaskMEntity();
task.TaskId = strTaskId;
task.CreateName = UserInfo.GetUserName();
task.CreateUserid = UserInfo.GetUserID();
task.CreateTime = DateTime.Now;
if (MessageUtil.ShowYesNoAndQuestion("禁止物料分拆?") == DialogResult.No)
{
return;
}
CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.TaskMService", "allowSpit", new object[] { task, "0" });
if (crt.Resultcode != 0)
{
MessageUtil.ShowTips("操作失败 " + crt.Resultmsg);
return;
}
MessageUtil.ShowTips("操作成功");
GetTaskM(getEnSelContion());
comm.doActiveSelRow(ultraGrid1, "taskId", strTaskId);
}
///
/// 任务单允许拆物料
///
private void allowMutilOrder()
{
if (ultraGrid1.ActiveRow == null)
{
MessageUtil.ShowTips("请选择任务单头");
return;
}
String strTaskId = ultraGrid1.ActiveRow.GetCellValue("taskId").ToString().Trim();
if (String.IsNullOrEmpty(strTaskId))
{
MessageUtil.ShowTips("任务单头的任务单号为空");
}
String strStatus = getTaskStatusNum();
if (strStatus == "11")
{
MessageUtil.ShowTips("任务单已完成合同生成");
return;
}
PurTaskMEntity task = new PurTaskMEntity();
task.TaskId = strTaskId;
task.CreateName = UserInfo.GetUserName();
task.CreateUserid = UserInfo.GetUserID();
task.CreateTime = DateTime.Now;
if (MessageUtil.ShowYesNoAndQuestion("允许物料分拆?") == DialogResult.No)
{
return;
}
CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.TaskMService", "allowSpit", new object[] { task,"1"});
if (crt.Resultcode != 0)
{
MessageUtil.ShowTips("操作失败 " + crt.Resultmsg);
return;
}
MessageUtil.ShowTips("操作成功");
GetTaskM(getEnSelContion());
comm.doActiveSelRow(ultraGrid1, "taskId", strTaskId);
}
///
/// 供应商物料重新绑定
///
private void cancelMatSupp()
{
if (ultraGrid1.ActiveRow == null)
{
MessageUtil.ShowTips("请选择任务单头");
return;
}
String strTaskId = ultraGrid1.ActiveRow.GetCellValue("taskId").ToString().Trim();
if (String.IsNullOrEmpty(strTaskId))
{
MessageUtil.ShowTips("任务单头的任务单号为空");
}
String strStatus = getTaskStatusNum();
if (strStatus != "18" && strStatus != "19" && strStatus != "20" && strStatus != "21" && strStatus != "2")
{
MessageUtil.ShowTips("任务单已开标");
return;
}
ultraGrid2.UpdateData();
ultraGrid3.UpdateData();
ArrayList listMat = new ArrayList();
ArrayList listSupp = new ArrayList();
foreach (UltraGridRow row in ultraGrid2.Rows)
{
if (Convert.ToBoolean(row.GetCellValue("CHK")))
{
String strItemCode=row.GetCellValue("itemCode").ToString().Trim();
if (String.IsNullOrEmpty(strItemCode))
{
continue;
}
PurTaskMatSuppEntity matSupp = new PurTaskMatSuppEntity();
matSupp.ItemCode = strItemCode;
listMat.Add(matSupp);
}
}
foreach (UltraGridRow row in ultraGrid3.Rows)
{
if (Convert.ToBoolean(row.GetCellValue("CHK")))
{
String strSuppCode = row.GetCellValue("suppCode").ToString().Trim();
if (String.IsNullOrEmpty(strSuppCode))
{
continue;
}
PurTaskMatSuppEntity matSupp = new PurTaskMatSuppEntity();
matSupp.SuppCode = strSuppCode;
listSupp.Add(matSupp);
}
}
if (listMat.Count <= 0)
{
MessageUtil.ShowTips("请选择任务单行");
return;
}
if (listSupp.Count <= 0)
{
MessageUtil.ShowTips("请选择供应商");
return;
}
PurTaskMEntity task = new PurTaskMEntity();
task.TaskId = strTaskId;
task.CreateName = UserInfo.GetUserName();
task.CreateUserid = UserInfo.GetUserID();
task.CreateTime = DateTime.Now;
if (MessageUtil.ShowYesNoAndQuestion("确定解除物料供应商挂接关系?") == DialogResult.No)
{
return;
}
CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.TaskMService", "addMatSupp", new object[] { task, listMat, listSupp, "0" });
if (crt.Resultcode != 0)
{
MessageUtil.ShowTips("操作失败 " + crt.Resultmsg);
return;
}
MessageUtil.ShowTips("操作成功");
// 查询任务从表
GetTaskC();
// 查询供应商
GetSupp();
}
///
/// 供应商物料取消绑定
///
private void AddMatSupp()
{
if (ultraGrid1.ActiveRow == null)
{
MessageUtil.ShowTips("请选择任务单头");
return;
}
String strTaskId = ultraGrid1.ActiveRow.GetCellValue("taskId").ToString().Trim();
if (String.IsNullOrEmpty(strTaskId))
{
MessageUtil.ShowTips("任务单头的任务单号为空");
}
String strStatus = getTaskStatusNum();
if (strStatus != "18" && strStatus != "19" && strStatus != "20" && strStatus != "21" && strStatus != "2")
{
MessageUtil.ShowTips("任务单已开标");
return;
}
ultraGrid2.UpdateData();
ultraGrid3.UpdateData();
ArrayList listMat = new ArrayList();
ArrayList listSupp = new ArrayList();
foreach (UltraGridRow row in ultraGrid2.Rows)
{
if (Convert.ToBoolean(row.GetCellValue("CHK")))
{
String strItemCode = row.GetCellValue("itemCode").ToString().Trim();
if (String.IsNullOrEmpty(strItemCode))
{
continue;
}
PurTaskMatSuppEntity matSupp = new PurTaskMatSuppEntity();
matSupp.ItemCode = strItemCode;
listMat.Add(matSupp);
}
}
foreach (UltraGridRow row in ultraGrid3.Rows)
{
if (Convert.ToBoolean(row.GetCellValue("CHK")))
{
String strSuppCode = row.GetCellValue("suppCode").ToString().Trim();
if (String.IsNullOrEmpty(strSuppCode))
{
continue;
}
PurTaskMatSuppEntity matSupp = new PurTaskMatSuppEntity();
matSupp.SuppCode = strSuppCode;
listSupp.Add(matSupp);
}
}
if (listMat.Count <= 0)
{
MessageUtil.ShowTips("请选择任务单行");
return;
}
if (listSupp.Count <= 0)
{
MessageUtil.ShowTips("请选择供应商");
return;
}
if (MessageUtil.ShowYesNoAndQuestion("确定新增物料供应商挂接关系?") == DialogResult.No)
{
return;
}
PurTaskMEntity task = new PurTaskMEntity();
task.TaskId = strTaskId;
task.CreateName = UserInfo.GetUserName();
task.CreateUserid = UserInfo.GetUserID();
task.CreateTime = DateTime.Now;
CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.TaskMService", "addMatSupp", new object[] { task, listMat, listSupp, "1" });
if (crt.Resultcode != 0)
{
MessageUtil.ShowTips("添加失败 " + crt.Resultmsg);
return;
}
MessageUtil.ShowTips("添加成功");
// 查询任务从表
GetTaskC();
// 查询供应商
GetSupp();
}
///
/// 生成合同
///
private void AddOrder()
{
UltraGridRow uge = ultraGrid1.ActiveRow;
if (uge == null)
{
MessageUtil.ShowTips("请选择一行采购计划信息!");
return;
}
String strTaskId=uge.GetCellValue("TASKID").ToString();
if (String.IsNullOrEmpty(strTaskId))
{
MessageUtil.ShowTips("任务单头的任务单号为空");
}
String strStatus = getTaskStatusNum();
if (strStatus != "10")
{
MessageUtil.ShowTips("任务单不在待生成合同状态");
return;
}
frmOrderOK Omg = new frmOrderOK(this.ob, uge);
Omg.ShowDialog();
GetTaskM(getEnSelContion());
comm.doActiveSelRow(ultraGrid1, "TASKID", strTaskId);
}
///
/// 开启报价
///
private void openRes()
{
if (ultraGrid1.ActiveRow == null)
{
MessageUtil.ShowTips("请选择要操作的任务单");
return;
}
String strTaskId = ultraGrid1.ActiveRow.GetCellValue("taskId").ToString().Trim();
if (String.IsNullOrEmpty(strTaskId))
{
MessageUtil.ShowTips("任务单头的任务单号为空");
}
string strFLOWTYPE = "";
PurTaskMEntity M_PurTaskM1 = new PurTaskMEntity();
M_PurTaskM1 = this.execute("com.hnshituo.pur.purplan.service.TaskMService", "findById", new object[] { ultraGrid1.ActiveRow.Cells["TASKID"].Value.ToString() });
if (M_PurTaskM1 != null)
{
strFLOWTYPE = M_PurTaskM1.FlowType;
}
if (ultraGrid1.ActiveRow.Cells["FUNCTIONVERSIONNAME"].Value.ToString().Trim() == "" && strFLOWTYPE == "122804") //122804
{
MessageUtil.ShowTips("此任务单招标流程为功能性采购,必须选择一个招标方案");
return;
}
string strStatus = getTaskStatusNum();
if (strStatus == "18" || strStatus == "20")
{
if (ultraGrid1.ActiveRow.Cells["createUserid"].Value.ToString() != this.UserInfo.GetUserID())
{
MessageUtil.ShowTips("此任务单计划不是当前登录用户创建,不能操作开启报价功能");
return;
}
if (MessageUtil.ShowYesNoAndQuestion("确定开启任务单【" + strTaskId + "】报价?") == DialogResult.No)
{
return;
}
PurTaskMEntity M_PurTaskM = new PurTaskMEntity();
M_PurTaskM.TaskId = strTaskId;
M_PurTaskM.Status = "2";
M_PurTaskM.UpdateName = this.UserInfo.GetUserName();
M_PurTaskM.UpdateUserid = UserInfo.GetUserID();
CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.TaskMService", "doUpdate", new object[] { M_PurTaskM });
//PurTaskCEntity M_PurTaskC = new PurTaskCEntity();
//M_PurTaskC.TaskId = M_PurTaskM.TaskId;
//M_PurTaskC.DeleteName = UserInfo.GetUserName();
//M_PurTaskC.DeleteUserid = UserInfo.GetUserID();
//M_PurTaskC.DeleteTime = System.DateTime.Now;
//M_PurTaskC.Validflag = "0";
//CoreResult crt1 = this.execute("com.hnshituo.pur.purplan.service.TaskCService", "doUpdate", new object[] { M_PurTaskC });
if (crt.Resultcode != 0)
{
MessageUtil.ShowTips("开启报价 " + crt.Resultmsg);
return;
}
//if (crt1.Resultcode != 0)
//{
// MessageUtil.ShowTips("撤销失败 " + crt1.Resultmsg);
// return;
//}
MessageUtil.ShowTips("开启报价!");
//刷新任务单
GetTaskM(getEnSelContion());
comm.doActiveSelRow(ultraGrid1, "TaskId", M_PurTaskM.TaskId);
}
else
{
MessageUtil.ShowTips("当前状态无法开启报价");
}
}
///
/// 查询任务主表
///
public void GetTaskM(PurTaskMEntity M_PurTaskM)
{
dataTable2.Rows.Clear();
dataTable3.Rows.Clear();
dataTable4.Rows.Clear();
DataTable dt = this.execute("com.hnshituo.pur.purplan.service.TaskMService", "getTaskM", new object[] { M_PurTaskM });
//按创建时间降序
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 AddMat()
{
if (ultraGrid1.ActiveRow != null)
{
if (getTaskStatusNum() != "18")
{
MessageUtil.ShowTips("任务单不为“待提报”,不能添加物料");
return;
}
FrmMatByMrIdChk frm = new FrmMatByMrIdChk(this.ob, ultraGrid1.ActiveRow.Cells["MRID"].Value.ToString());
frm.ShowDialog();
if (frm.Q_dt != null)
{
DataTable dt = frm.Q_dt;
ArrayList al_PurTaskC = new ArrayList();
// 任务单物料
for (int i = 0; i < dt.Rows.Count; )
{
if (!dataTable2.Rows.Contains(new string[] { dt.Rows[i]["ITEMCODE"].ToString(), dt.Rows[i]["ITEMATTRID"].ToString() }))
{
PurTaskCEntity mod_PurTaskC = new PurTaskCEntity();//采购任务跟踪表
MatEntity mat = new MatEntity();
mat = this.execute("com.hnshituo.pur.configure.service.MatService", "findById", new object[] { dt.Rows[i]["ITEMCODE"].ToString() });
mod_PurTaskC = EntityHelper.CopyEntity(mat);
mod_PurTaskC.TaskLineId = Guid.NewGuid().ToString();
mod_PurTaskC.TaskId = ultraGrid1.ActiveRow.Cells["TASKID"].Value.ToString();//任务编号
mod_PurTaskC.MrLineId = dt.Rows[i]["MRLINEID"].ToString();//采购计划行号
mod_PurTaskC.Validflag = "1";
mod_PurTaskC.CreateName = UserInfo.GetUserName(); mod_PurTaskC.UpdateName = null;
mod_PurTaskC.CreateTime = System.DateTime.Now; mod_PurTaskC.UpdateTime = null;
mod_PurTaskC.CreateUserid = UserInfo.GetUserID();
al_PurTaskC.Add(mod_PurTaskC);
dt.Rows.RemoveAt(i);
}
else
{
i++;
}
}
if (al_PurTaskC.Count > 0)
{
CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.TaskMService", "setTaskList", new object[] { null, al_PurTaskC, null, null });
if (crt.Resultcode != 0)
{
MessageUtil.ShowTips("添加失败 " + crt.Resultmsg);
return;
}
MessageUtil.ShowTips("添加成功!");
GetTaskC();
}
}
}
}
///
/// 添加供应商
///
public void AddSupp()
{
if (ultraGrid1.ActiveRow != null)
{
String strStatus = getTaskStatusNum();
if (strStatus != "18")
{
MessageUtil.ShowTips("任务单不在“待提报”状态,不能添加供应商 ");
return;
}
ArrayList al = new ArrayList();
for (int i = 0; i < dataTable2.Rows.Count; i++)
{
al.Add(dataTable2.Rows[i]["ITEMCODE"].ToString());
}
frmSuppChk frm = new frmSuppChk(this.ob, al, dataTable3);
frm.ShowDialog();
if (frm.Q_dt != null)
{
DataTable dt = frm.Q_dt;
ArrayList al_PurTaskSupps = new ArrayList();
// 采购任务供应商
for (int i = 0; i < dt.Rows.Count; i++)
{
PurTaskSuppsEntity mod_PurTaskSupps = new PurTaskSuppsEntity();//采购任务供应商
mod_PurTaskSupps.Id = Guid.NewGuid().ToString();
mod_PurTaskSupps.TaskId = ultraGrid1.ActiveRow.Cells["TASKID"].Value.ToString();
mod_PurTaskSupps.SuppCode = dt.Rows[i]["SUPPCODE"].ToString();
mod_PurTaskSupps.SuppName = dt.Rows[i]["SUPPNAME"].ToString();
mod_PurTaskSupps.Validflag = "1";
mod_PurTaskSupps.CreateUserid = UserInfo.GetUserID();
mod_PurTaskSupps.CreateName = UserInfo.GetUserName();
mod_PurTaskSupps.CreateTime = System.DateTime.Now;
al_PurTaskSupps.Add(mod_PurTaskSupps);
}
CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.TaskMService", "setTaskList", new object[] { null, null, al_PurTaskSupps, null });
if (crt.Resultcode != 0)
{
MessageUtil.ShowTips("添加失败 " + crt.Resultmsg);
return;
}
MessageUtil.ShowTips("添加成功");
GetSupp();
}
}
}
///
/// 添加评标人员
///
public void AddEva()
{
if (ultraGrid1.ActiveRow != null)
{
String strStatus = getTaskStatusNum();
if (strStatus != "18")
{
MessageUtil.ShowTips("任务单状态不为“待提报”,不能添加评标人员");
return;
}
frmPopEvaUsers frm = new frmPopEvaUsers(this.ob, ultraGrid1.ActiveRow.Cells["TaskId"].Value.ToString());
//frm.ShowDialog();
GetEva();
}
}
private void UpdTask()
{
string strStatu = getTaskStatusNum();
if (strStatu != "18" && strStatu != "20" && strStatu != "7" && strStatu != "6" && strStatu != "2" && strStatu != "3" && strStatu != "4")
{
MessageUtil.ShowTips("任务单可能已定标导致无权限修改");
return;
}
//if (MessageUtil.ShowYesNoAndQuestion("是否确定更新?") == DialogResult.No)
//{
//return;
//}
if (ultraGrid1.ActiveRow == null)
{
MessageUtil.ShowTips("没有数据可更新");
return;
}
if (ultraGrid1.ActiveRow.Cells["createUserid"].Value.ToString() != this.UserInfo.GetUserID())
{
MessageUtil.ShowTips("此任务单计划不是当前登录用户创建,不能修改");
return;
}
string strTaskId=ultraGrid1.ActiveRow.Cells["TaskId"].Value.ToString();
frm_PurTaskMUpd frm = new frm_PurTaskMUpd(dataTable2, dataTable3, dataTable4, this.ob, strTaskId);
frm.ShowDialog();
//刷新任务单
GetTaskM(getEnSelContion());
ConfigureClassCommon.doActiveSelRow(ultraGrid1, "TASKID", strTaskId);//激活当前行
}
///
/// 更新任务主表
///
public void UpdTaskM()
{
//if (getTaskStatus() != "待提报")
//{
// MessageUtil.ShowTips("任务单状态不为“待提报”,不能修改");
// return;
//}
//if (MessageUtil.ShowYesNoAndQuestion("是否确定更新?") == DialogResult.No)
//{
// return;
//}
//if (ultraGrid1.ActiveRow == null)
//{
// MessageUtil.ShowTips("没有数据可更新");
// return;
//}
//PurTaskMEntity M_PurTaskM = new PurTaskMEntity();
//M_PurTaskM.Remark = txt_REMARK.Text;//备注
//M_PurTaskM.TaskName = txt_TASK_NAME.Text;//任务名称
//M_PurTaskM.TaskId = ultraGrid1.ActiveRow.Cells["TASKID"].Value.ToString();//任务编号
//M_PurTaskM.OfferTimeStart = DateTime.Parse(ultDt_OFFER_TIME_START.Value.ToString());
//M_PurTaskM.OfferTimeEnd = DateTime.Parse(ultDt_OFFER_TIME_END.Value.ToString());
//M_PurTaskM.UpdateName = UserInfo.GetUserName();
//M_PurTaskM.UpdateUserid = UserInfo.GetUserID();
//if (ultDt_ASK_DELIVER_DATE.Value != ultraGrid2.ActiveRow.Cells["ASKDELIVERDATE"].Value)
//{
// PurTaskCEntity M_PurTaskC = new PurTaskCEntity();
// M_PurTaskC.TaskLineId = ultraGrid2.ActiveRow.Cells["TASKLINEID"].Value.ToString();
// if (ultDt_ASK_DELIVER_DATE.Value != null)
// {
// M_PurTaskC.AskDeliverDate = (DateTime)ultDt_ASK_DELIVER_DATE.Value;
// }
// CoreResult crt1 = this.execute("com.hnshituo.pur.purplan.service.TaskCService", "doUpdate", new object[] { M_PurTaskC });
// if (crt1.Resultcode != 0)
// {
// MessageUtil.ShowTips("修改失败 " + crt1.Resultmsg);
// return;
// }
//}
////M_PurTaskM.UpdateTime = System.DateTime.Now;
//CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.TaskMService", "doUpdate", new object[] { M_PurTaskM });
//if (crt.Resultcode != 0)
//{
// MessageUtil.ShowTips("修改失败 " + crt.Resultmsg);
// return;
//}
//MessageUtil.ShowTips("修改成功");
////刷新任务单
//GetTaskM(getEnSelContion());
//ConfigureClassCommon.doActiveSelRow(ultraGrid1, "TASKID", M_PurTaskM.TaskId);//激活当前行
}
///
/// 删除任务主表
///
public void DelTaskM()
{
if (getTaskStatusNum() != "18" && getTaskStatusNum() != "21")
{
MessageUtil.ShowTips("当前状态不能删除");
return;
}
if (ultraGrid1.ActiveRow == null)
{
MessageUtil.ShowTips("没有数据可删除");
return;
}
if (ultraGrid1.ActiveRow.Cells["createUserid"].Value.ToString() != this.UserInfo.GetUserID())
{
MessageUtil.ShowTips("此任务单计划不是当前登录用户创建,不能删除");
return;
}
if (MessageUtil.ShowYesNoAndQuestion("确定要删除任务单【" + ultraGrid1.ActiveRow.Cells["TASKID"].Value.ToString() + "】?") == DialogResult.No)
{
return;
}
PurTaskMEntity M_PurTaskM = new PurTaskMEntity();
M_PurTaskM.TaskId = ultraGrid1.ActiveRow.Cells["TASKID"].Value.ToString();
M_PurTaskM.DeleteName = UserInfo.GetUserName();
M_PurTaskM.DeleteUserid = UserInfo.GetUserID();
M_PurTaskM.DeleteTime = System.DateTime.Now;
M_PurTaskM.Validflag = "0";
M_PurTaskM.Status = "22";
CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.TaskMService", "doDeleteTask", new object[] { M_PurTaskM });
//PurTaskCEntity M_PurTaskC = new PurTaskCEntity();
//M_PurTaskC.TaskId = M_PurTaskM.TaskId;
//M_PurTaskC.DeleteName = UserInfo.GetUserName();
//M_PurTaskC.DeleteUserid = UserInfo.GetUserID();
//M_PurTaskC.DeleteTime = System.DateTime.Now;
//M_PurTaskC.Validflag = "0";
//CoreResult crt1 = this.execute("com.hnshituo.pur.purplan.service.TaskCService", "doUpdate", new object[] { M_PurTaskC });
if (crt.Resultcode != 0)
{
MessageUtil.ShowTips("删除失败 " + crt.Resultmsg);
return;
}
//if (crt1.Resultcode != 0)
//{
// MessageUtil.ShowTips("撤销失败 " + crt1.Resultmsg);
// return;
//}
MessageUtil.ShowTips("删除成功!");
//刷新任务单
GetTaskM(getEnSelContion());
}
///
/// 查询任务从表
///
public void GetTaskC()
{
// 查询任务从表
dataTable2.Clear();
PurTaskCEntity M_PurTaskC = new PurTaskCEntity();
M_PurTaskC.TaskId = ultraGrid1.ActiveRow.Cells["TASKID"].Value.ToString();
M_PurTaskC.Validflag = "1";
DataTable dt = this.execute("com.hnshituo.pur.purplan.service.TaskCService", "getTaskC", new object[] { M_PurTaskC });
//将空属性的值置为""
for (int i = 0; i < dt.Rows.Count; i++)
{
if (dt.Rows[i]["ITEMATTRID"] == null || dt.Rows[i]["ITEMATTRID"].ToString() == "")
{
dt.Rows[i]["ITEMATTRID"] = " ";
}
}
GridHelper.CopyDataToDatatable(ref dt, ref dataTable2, true);//绑定物料分类表
ultraGrid2.DisplayLayout.Bands[0].PerformAutoResizeColumns(true, PerformAutoSizeType.AllRowsInBand);
}
///
/// 查询供应商
///
public void GetSupp()
{
dataTable3.Clear();
if (ultraGrid1.ActiveRow != null)
{
// 查询供应商
PurTaskSuppsEntity M_PurTaskSupps = new PurTaskSuppsEntity();
M_PurTaskSupps.TaskId = ultraGrid1.ActiveRow.Cells["TASKID"].Value.ToString();
M_PurTaskSupps.Validflag = "1";
DataTable dt = this.execute("com.hnshituo.pur.purplan.service.TaskSuppsService", "find", new object[] { M_PurTaskSupps, 0, 0 });
GridHelper.CopyDataToDatatable(ref dt, ref dataTable3, true);//绑定物料分类表
}
}
///
/// 查询评标人员
///
public void GetEva()
{
dataTable4.Clear();
if (ultraGrid1.ActiveRow != null)
{
// 查询供应商
PurTaskEvaUsersEntity TaskEvaUsersEntity = new PurTaskEvaUsersEntity();
TaskEvaUsersEntity.TaskId = ultraGrid1.ActiveRow.Cells["TASKID"].Value.ToString();
TaskEvaUsersEntity.Validflag = "1";
DataTable dt = this.execute("com.hnshituo.pur.purplan.service.TaskEvaUsersService", "find", new object[] { TaskEvaUsersEntity, 0, 0 });
GridHelper.CopyDataToDatatable(ref dt, ref dataTable4, true);//绑定物料分类表
ultraGrid4.DisplayLayout.Bands[0].PerformAutoResizeColumns(true, PerformAutoSizeType.AllRowsInBand);
}
}
///
/// 刷新任务从表,供应商
///
///
///
private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
{
try
{
// 查询任务从表
GetTaskC();
// 查询供应商
GetSupp();
// 评标人员
GetEva();
}
catch (Exception ex)
{
MessageUtil.ShowTips("加载任务单从表异常:"+ex.Message);
}
}
///
/// 删除物料
///
///
///
private void ultraGrid2_ClickCellButton(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
{
if (getTaskStatusNum() != "18")
{
MessageUtil.ShowTips("任务单状态不为“待提报”,不能删除物料");
return;
}
if (DialogResult.Yes != MessageUtil.ShowYesNoAndQuestion("确定删除吗?"))
{
return;
}
PurTaskCEntity M_PurTaskC = new PurTaskCEntity();
M_PurTaskC.TaskLineId = ultraGrid2.ActiveRow.Cells["TASKLINEID"].Value.ToString();
M_PurTaskC.DeleteName = UserInfo.GetUserName();
M_PurTaskC.DeleteUserid = UserInfo.GetUserID();
//M_PurTaskC.DeleteTime = System.DateTime.Now;
M_PurTaskC.Validflag = "0";
CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.TaskCService", "doUpdate", new object[] { M_PurTaskC });
if (crt.Resultcode != 0)
{
MessageUtil.ShowTips("删除失败 " + crt.Resultmsg);
return;
}
MessageUtil.ShowTips("删除成功!");
GetTaskC();
}
///
/// 删除供应商
///
///
///
private void ultraGrid3_ClickCellButton(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
{
if (ultraGrid1.ActiveRow == null)
{
MessageUtil.ShowTips("请选择任务单记录信息");
return;
}
if (getTaskStatusNum() != "18")
{
MessageUtil.ShowTips("任务单状态不为“待提报”,不能删除供应商");
return;
}
if (DialogResult.Yes != MessageUtil.ShowYesNoAndQuestion("确定删除吗?"))
{
return;
}
//string strTaskStatus = getTaskStatusNum();
//if (!string.IsNullOrEmpty(strTaskStatus))
//{
// if (int.Parse(strTaskStatus) > 3)
// {
// MessageUtil.ShowTips("任务单开标后不能删除");
// return;
// }
//}
CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.TaskSuppsService", "doDelete", new object[] { ultraGrid3.ActiveRow.Cells["ID"].Value.ToString() });
if (crt.Resultcode != 0)
{
MessageUtil.ShowTips("删除失败 " + crt.Resultmsg);
return;
}
MessageUtil.ShowTips("删除成功!");
GetSupp();
}
///
/// 删除评标人员
///
///
///
private void ultraGrid4_ClickCellButton(object sender, CellEventArgs e)
{
if (getTaskStatusNum() != "18")
{
MessageUtil.ShowTips("任务单状态不为“待提报”,不能删除评标人员");
return;
}
if (DialogResult.Yes != MessageUtil.ShowYesNoAndQuestion("确定删除吗?"))
{
return;
}
PurTaskEvaUsersEntity M_PurTaskC = new PurTaskEvaUsersEntity();
M_PurTaskC.Id = ultraGrid4.ActiveRow.Cells["Id"].Value.ToString();
M_PurTaskC.DeleteName = UserInfo.GetUserName();
M_PurTaskC.DeleteUserId = UserInfo.GetUserID();
//M_PurTaskC.DeleteTime = System.DateTime.Now;
M_PurTaskC.Validflag = "0";
CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.TaskEvaUsersService", "doUpdate", new object[] { M_PurTaskC });
if (crt.Resultcode != 0)
{
MessageUtil.ShowTips("删除失败 " + crt.Resultmsg);
return;
}
MessageUtil.ShowTips("删除成功!");
GetEva();
}
///
/// 获取查询条件
///
///
private PurTaskMEntity getEnSelContion()
{
PurTaskMEntity entity = new PurTaskMEntity();
entity.ValidDataPurviewIds = this.ValidDataPurviewIds;
//判断当前拥有此页面功能的角色是否启用数据权限,//0未启用
string QstrDataFlag = this.execute("com.hnshituo.pur.utils.service.UtilsService", "getRoleDataFlag", new object[] { UserInfo.GetUserID(), "Pur.pur_plan.frmTaskMana_MC" });
if (QstrDataFlag == "0")//0未启用
{
if (ck_isAlldepart.Checked)
{
entity.CreateUserid = this.UserInfo.GetUserID();
}
}
if (txtQue_TASK_ID.Text.Trim() != "")
{
entity.TaskId = txtQue_TASK_ID.Text.Trim();
}
if (ultcmb_STATUS.Value != null && ultcmb_STATUS.Value.ToString() != "")
{
entity.Status = ultcmb_STATUS.Value.ToString();
}
if (txtQue_TASK_NAME.Text.Trim() != "")
{
entity.TaskName = txtQue_TASK_NAME.Text.Trim();
}
if (ck_isCreateT.Checked)
{
if (txt_CreateTimeStart.Value != null)//创建开始时间
{
entity.UpdateTime = (((DateTime)txt_CreateTimeStart.Value)).AddDays(-1);
}
if (txt_CreateTimeEnd.Value != null)//创建结束时间
{
entity.CreateTime = ((DateTime)txt_CreateTimeEnd.Value).AddDays(1);
}
}
entity.Validflag = "1";
return entity;
}
///
/// 进入评标
///
private void getBEvaluation()
{
if (ultraGrid1.ActiveRow != null)
{
//if (getTaskStatus() != "评标中")
//{
// MessageUtil.ShowTips("任务单状态不在评标中,不能进入评标");
// return;
//}
//frmInto_Examine frm = new frmInto_Examine(this.ob, ultraGrid1.ActiveRow.Cells["TASKID"].Value.ToString());
FrmPopExamine frm = new FrmPopExamine(this.ob, ultraGrid1.ActiveRow.Cells["TASKID"].Value.ToString());
frm.ShowDialog();
string strTastId = ultraGrid1.ActiveRow.Cells["TASKID"].Value.ToString();
GetTaskM(getEnSelContion());
ConfigureClassCommon.doActiveSelRow(ultraGrid1, "TASKID", strTastId);//激活当前行
}
}
///
/// 打包询价
///
private void setEvaluation()
{
if (ultraGrid1.ActiveRow != null)
{
FrmPop_setPriceAll frm = new FrmPop_setPriceAll(this.ob, ultraGrid1.ActiveRow.Cells["TASKID"].Value.ToString(), "setEvaluation");
frm.ShowDialog();
string strTastId = ultraGrid1.ActiveRow.Cells["TASKID"].Value.ToString();
GetTaskM(getEnSelContion());
ConfigureClassCommon.doActiveSelRow(ultraGrid1, "TASKID", strTastId);//激活当前行
}
}
///
/// 打包询价
///
private void setPriceAll()
{
if (ultraGrid1.ActiveRow != null)
{
FrmPop_setPriceAll frm = new FrmPop_setPriceAll(this.ob, ultraGrid1.ActiveRow.Cells["TASKID"].Value.ToString(), "setPriceAll");
frm.ShowDialog();
}
}
///
/// 生成价格审批单
///
private void setTaskPrice()
{
if (ultraGrid1.ActiveRow != null)
{
frmSetTaskPrice frm = new frmSetTaskPrice(this.ob, ultraGrid1.ActiveRow);
frm.ShowDialog();
}
}
///
/// 撤销提报
///
private void QuiteTask()
{
if (ultraGrid1.ActiveRow != null)
{
if (MessageUtil.ShowYesNoAndQuestion("确认撤销提报?") == DialogResult.Yes)
{
string strStatus = getTaskStatusNum();
if (strStatus != "19" && strStatus != "20")
{
MessageUtil.ShowTips("状态不为“审批中”,不能撤销提报");
return;
}
if (ultraGrid1.ActiveRow.Cells["createUserid"].Value.ToString() != this.UserInfo.GetUserID())
{
MessageUtil.ShowTips("此任务单计划不是当前登录用户创建,不能撤销");
return;
}
PurTaskMEntity mod_PurTaskM = new PurTaskMEntity();//采购任务主表
mod_PurTaskM.TaskId = ultraGrid1.ActiveRow.Cells["TASKID"].Value.ToString();
mod_PurTaskM.Status = "18";
CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.TaskMService", "doUpdate", new object[] { mod_PurTaskM });
if (crt.Resultcode != 0)
{
MessageUtil.ShowTips("撤销失败 " + crt.Resultmsg);
return;
}
MessageUtil.ShowTips("撤销成功");
//刷新任务单
GetTaskM(getEnSelContion());
comm.doActiveSelRow(ultraGrid1, "TASKID", mod_PurTaskM.TaskId);
}
}
}
///
/// 废标功能
///
private void deleteTask()
{
if (ultraGrid1.ActiveRow != null)
{
//if (ultraGrid1.ActiveRow.Cells["STATUS"].Value.ToString() != "已定标")
//{
// MessageUtil.ShowTips("状态不为“已定标”,不能关闭任务单");
// return;
//}
if (ultraGrid1.ActiveRow.Cells["createUserid"].Value.ToString() != this.UserInfo.GetUserID())
{
MessageUtil.ShowTips("此任务单计划不是当前登录用户创建,不能废标");
return;
}
String strTaskId = ultraGrid1.ActiveRow.Cells["TASKID"].Value.ToString();
//已生成合同失不能废标
//frmDeleteTask frm = new frmDeleteTask();
PurTaskMEntity mod_PurTaskM = new PurTaskMEntity();//采购任务主表
mod_PurTaskM.TaskId = strTaskId;
mod_PurTaskM.Status = "17";//废标
mod_PurTaskM.AbolishName = UserInfo.GetUserName();
mod_PurTaskM.AbolishId = UserInfo.GetUserID();
mod_PurTaskM.AbolishTime = System.DateTime.Now;
if (MessageUtil.ShowYesNoAndQuestion("确认废标?") != DialogResult.Yes)
{
return;
}
CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.TaskMService", "doUpdate_Abolish", new object[] { mod_PurTaskM,"1"});
if (crt.Resultcode != 0)
{
MessageUtil.ShowTips("操作失败 " + crt.Resultmsg);
return;
}
MessageUtil.ShowTips("操作成功");
//刷新任务单
GetTaskM(getEnSelContion());
comm.doActiveSelRow(ultraGrid1, "TASKID", mod_PurTaskM.TaskId);
}
else
{
MessageUtil.ShowTips("请选择任务单头进行操作");
}
}
///
/// 废标功能
///
private void cancelDeleteTask()
{
if (ultraGrid1.ActiveRow != null)
{
String strTaskId = ultraGrid1.ActiveRow.Cells["TASKID"].Value.ToString();
//已生成合同失不能废标
//frmDeleteTask frm = new frmDeleteTask();
PurTaskMEntity mod_PurTaskM = new PurTaskMEntity();//采购任务主表
mod_PurTaskM.TaskId = strTaskId;
mod_PurTaskM.AbolishName = UserInfo.GetUserName();
mod_PurTaskM.AbolishId = UserInfo.GetUserID();
mod_PurTaskM.AbolishTime = System.DateTime.Now;
if (MessageUtil.ShowYesNoAndQuestion("确认取消废标?") != DialogResult.Yes)
{
return;
}
CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.TaskMService", "doUpdate_Abolish", new object[] { mod_PurTaskM, "0" });
if (crt.Resultcode != 0)
{
MessageUtil.ShowTips("操作失败 " + crt.Resultmsg);
return;
}
MessageUtil.ShowTips("操作成功");
//刷新任务单
GetTaskM(getEnSelContion());
comm.doActiveSelRow(ultraGrid1, "TASKID", mod_PurTaskM.TaskId);
}
else
{
MessageUtil.ShowTips("请选择任务单头进行操作");
}
}
private void ultraGrid2_AfterRowActivate(object sender, EventArgs e)
{
//ultDt_ASK_DELIVER_DATE.Value = ultraGrid2.ActiveRow.Cells["ASKDELIVERDATE"].Value;//要求交货日期
//将所属供应颜色标记为红色
PurTaskMatSuppEntity p = new PurTaskMatSuppEntity();
p.TaskId = ultraGrid1.ActiveRow.Cells["taskid"].Value.ToString();
p.ItemCode = ultraGrid2.ActiveRow.Cells["ItemCode"].Value.ToString();
p.Validflag = "1";
DataTable dt = this.execute("com.hnshituo.pur.purplan.service.TaskMatSuppService", "find", new object[] { p,0,0 });
foreach(UltraGridRow ugr in ultraGrid3.Rows)
{
bool isTrue = false;
foreach(DataRow dr in dt.Rows)
{
if (ugr.Cells["suppcode"].Value.ToString() == dr["suppcode"].ToString())
{
isTrue = true;
break;
}
}
if (isTrue)
{
ugr.CellAppearance.ForeColor = System.Drawing.Color.Orange;
}
else
{
ugr.CellAppearance.ForeColor = Color.Black;// System.Drawing.Color.FromArgb(255, 128, 0);
}
}
}
///
/// 提报
///
private void Report()
{
if (ultraGrid1.ActiveRow == null)
{
MessageUtil.ShowTips("没有数据可提报");
return;
}
if (getTaskStatusNum() != "18" && getTaskStatusNum() != "21")
{
MessageUtil.ShowTips("当前状态不能提报");
return;
}
if (ultraGrid1.ActiveRow.Cells["createUserid"].Value.ToString() != this.UserInfo.GetUserID())
{
MessageUtil.ShowTips("此任务单计划不是当前登录用户创建,不能提报");
return;
}
if (MessageUtil.ShowYesNoAndQuestion("确定提报任务号【" + ultraGrid1.ActiveRow.Cells["TASKID"].Value.ToString() + "】?").Equals(DialogResult.No))
{
return;
}
PurTaskMEntity M_PurTaskM = new PurTaskMEntity();
M_PurTaskM.Status = "20";//
M_PurTaskM.TaskId = ultraGrid1.ActiveRow.Cells["TASKID"].Value.ToString();
M_PurTaskM.OperatorUserId = UserInfo.GetUserID();
//M_PurTaskM.TaskId = ultraGrid1.ActiveRow.Cells["TASKID"].Value.ToString();//任务编号
CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.TaskMService", "doSubmit", new object[] { M_PurTaskM });
if (crt.Resultcode != 0)
{
MessageUtil.ShowTips("提报失败 " + crt.Resultmsg);
return;
}
MessageUtil.ShowTips("提报成功");
//刷新任务单
GetTaskM(getEnSelContion());
ConfigureClassCommon.doActiveSelRow(ultraGrid1, "TASKID", M_PurTaskM.TaskId);//激活当前行
}
///
///
///
///
public string getTaskStatusNum()
{
string strTaskStatus = "";
PurTaskMEntity M_PurTaskM = new PurTaskMEntity();
M_PurTaskM = this.execute("com.hnshituo.pur.purplan.service.TaskMService", "findById", new object[] { ultraGrid1.ActiveRow.Cells["TASKID"].Value.ToString() });
if (M_PurTaskM != null)
{
strTaskStatus = M_PurTaskM.Status;
}
return strTaskStatus;
}
///
/// 科长审批
///
private void examine()
{
if (ultraGrid1.ActiveRow == null)
{
MessageUtil.ShowTips("没有数据可审批");
return;
}
if (getTaskStatusNum() != "19")
{
MessageUtil.ShowTips("当前状态不为“审批中”不能审批");
return;
}
string strTips = "";
PurTaskMEntity M_PurTaskM = new PurTaskMEntity();
M_PurTaskM.TaskId = ultraGrid1.ActiveRow.Cells["TASKID"].Value.ToString();
M_PurTaskM.OperatorUserId = UserInfo.GetUserID();
frmExamineShow Fex = new frmExamineShow();
Fex.ShowDialog();
if(Fex.Status=="2")//审批通过
{
M_PurTaskM.Status = "20";//去掉审批环节,提报后直接改状态为审批通过
strTips = "通过";
}
else if (Fex.Status == "1")//审批不通过
{
M_PurTaskM.Status = "21";//去掉审批环节,提报后直接改状态为审批通过
strTips = "不通过";
}
//M_PurTaskM.TaskId = ultraGrid1.ActiveRow.Cells["TASKID"].Value.ToString();//任务编号
CoreResult crt = this.execute("com.hnshituo.pur.purplan.service.TaskMService", "doSubmit", new object[] { M_PurTaskM });
if (crt.Resultcode != 0)
{
MessageUtil.ShowTips("审批失败 " + crt.Resultmsg);
return;
}
MessageUtil.ShowTips("审批结果:" + strTips);
//刷新任务单
GetTaskM(getEnSelContion());
ConfigureClassCommon.doActiveSelRow(ultraGrid1, "TASKID", M_PurTaskM.TaskId);//激活当前行
}
private void ck_isCreateT_CheckedChanged(object sender, EventArgs e)
{
txt_CreateTimeStart.Enabled = ck_isCreateT.Checked;
txt_CreateTimeEnd.Enabled = ck_isCreateT.Checked;
}
}
}