| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238 |
- 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 Pur.Entity;using Pur.Entity;
- using Pur.Entity.pur_planEntity;
- using Core.Mes.Client.Comm.Tool;
- using Core.Mes.Client.Comm.Control;
- using System.Collections;
- using Pur.Entity.configureEntity;
- using com.hnshituo.pur.vo;
- namespace Pur.Pop_upWindow
- {
- public partial class FrmPop_GetMinPrice : FrmPmsBase
- {
- string Q_strTASKID = "";
- DataTable Q_dtMinPrice = null;//保存显示最低价格供应商
- public FrmPop_GetMinPrice(OpeBase ob, string strTASKID, DataTable dt)
- {
- InitializeComponent();
- this.ob = ob;
- Q_strTASKID = strTASKID;
- GetMinPrice(dt);
- GetTaskM(strTASKID);
- //ultraGrid1.DataSource = dt;
- }
- /// <summary>
- /// 查询任务主表
- /// </summary>
- public void GetTaskM(string strTASKID)
- {
- PurTaskMEntity M_PurTaskM = this.execute<PurTaskMEntity>("com.hnshituo.pur.purplan.service.TaskMService", "findById", new object[] { strTASKID });
- if (M_PurTaskM != null)
- {
- lb_taskId.Text = M_PurTaskM.TaskId;
- lb_taskName.Text = M_PurTaskM.TaskName;
- if (M_PurTaskM.OfferTimeStart.Value != null)
- lb_OFFER_TIME_START.Text = M_PurTaskM.OfferTimeStart.Value.ToShortDateString();
- if (M_PurTaskM.OfferTimeEnd.Value != null)
- lb_OFFER_TIME_END.Text = M_PurTaskM.OfferTimeEnd.Value.ToShortDateString();
- }
- }
- /// <summary>
- /// 初拟最低价格
- /// </summary>
- /// <param name="dt">竞标价格表</param>
- public void GetMinPrice(DataTable dt)
- {
- Q_dtMinPrice = new DataTable();
- DataColumn dcItem = new System.Data.DataColumn();
- dcItem.ColumnName = "ITEM";
- dcItem.Caption = "物料信息";
- Q_dtMinPrice.Columns.Add(dcItem);
- DataColumn dcSupp = new System.Data.DataColumn();
- dcSupp.ColumnName = "Supp";
- dcSupp.Caption = "最低报价供应商";
- Q_dtMinPrice.Columns.Add(dcSupp);
- int ItemCount = dt.Rows.Count / 6;//供应商个数
- for (int i = 0; i < ItemCount; i++)
- {
- double minPrice = 0;//最小价格供应商单价
- string strMinPriceSuppCode = "";//最小价格供应商代码
- string strMinPriceSuppName = "";//最小价格供应商名称
- for (int j = 1; j < dt.Columns.Count; j++)//比较每个供应商报价
- {
- if (dt.Rows[i * 6 + 1][j] != null && dt.Rows[i * 6 + 1][j].ToString().Trim() != "")
- {
- double suppPrice = double.Parse(dt.Rows[i * 6 + 1][j].ToString());
- if (minPrice == 0 && suppPrice > 0)
- {
- minPrice = suppPrice;
- }
- if (suppPrice <= minPrice)
- {
- minPrice = suppPrice;
- strMinPriceSuppCode = dt.Columns[j].ColumnName;
- strMinPriceSuppName = dt.Columns[j].Caption;
- }
- }
- }
- for (int k = 0; k < 3; k++)//保存每个物料对应的最低供应商报价信息
- {
- if (k == 0)
- {
- DataRow dr = Q_dtMinPrice.NewRow();
- dr["ITEM"] = dt.Rows[i * 6 + k]["ITEM"].ToString();//物料名
- if (minPrice > 0)
- {
- dr["Supp"] = strMinPriceSuppName + "(" + strMinPriceSuppCode + ")";//供应商名称
- }
- else
- {
- dr["Supp"] = "";//供应商价格
- }
- Q_dtMinPrice.Rows.Add(dr);
- }
- else if (k == 1)
- {
- DataRow dr = Q_dtMinPrice.NewRow();
- dr["ITEM"] = dt.Rows[i * 6 + k]["ITEM"].ToString();//物料名价格
- if (minPrice > 0)
- {
- dr["Supp"] = minPrice.ToString();//供应商价格
- }
- else
- {
- dr["Supp"] = "";
- }
- Q_dtMinPrice.Rows.Add(dr);
- }
- else
- {
- DataRow dr = Q_dtMinPrice.NewRow();
- dr["ITEM"] = dt.Rows[i * 6 + 5]["ITEM"].ToString();//物料名价格
- dr["Supp"] = "";
- Q_dtMinPrice.Rows.Add(dr);
- }
- }
- }
- Q_dtMinPrice = dt;
- ultraGrid1.DataSource = dt;
- //给物料名称行设置背景颜色
- for (int i = 0; i < dt.Rows.Count / 3; i++)
- {
- for (int j = 0; j < 3; j++)//设置物料信第一列所有单元格背景颜色
- {
- if (j != 0)
- {
- ultraGrid1.Rows[i * 3 + j].Cells[0].Appearance.FontData.Bold = Infragistics.Win.DefaultableBoolean.True;
- ultraGrid1.Rows[i * 3 + j].Cells[0].Appearance.BackColor = Color.YellowGreen;
- ultraGrid1.Rows[i * 3 + j].Cells[0].Appearance.ForeColor = Color.Black;
- }
- }
- //物料名所在行背景颜色
- ultraGrid1.Rows[i * 3].Appearance.FontData.Bold = Infragistics.Win.DefaultableBoolean.True;
- ultraGrid1.Rows[i * 3].Appearance.ForeColor = Color.White;
- ultraGrid1.Rows[i * 3].Appearance.BorderColor3DBase = Color.CornflowerBlue;
- ultraGrid1.Rows[i * 3].Appearance.BackColor = Color.DodgerBlue;
- }
-
- }
- /// <summary>
- /// 确认操作
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void conFirmation()
- {
- // 查询任务从表
- ultraGrid1.UpdateData();
- PurTaskCEntity M_PurTaskC = new PurTaskCEntity();
- M_PurTaskC.TaskId = Q_strTASKID;
- M_PurTaskC.Validflag = "1";
- DataTable dt = this.execute<DataTable>("com.hnshituo.pur.purplan.service.TaskCService", "find", new object[] { M_PurTaskC, 0, 0 });
- ArrayList al = new ArrayList();
- for (int i = 0; i < dt.Rows.Count; i++)
- {
- for (int j = 0; j < Q_dtMinPrice.Rows.Count; j++)
- {
- PurTaskCEntity M_PurTaskC_al = new PurTaskCEntity();
- M_PurTaskC_al.TaskId = Q_strTASKID;
- M_PurTaskC_al.Validflag = "1";
- string str = Q_dtMinPrice.Rows[j]["ITEM"].ToString();
- if (dt.Rows[i]["ITEMCODE"].ToString() == str.Substring(str.LastIndexOf(":") + 1) && str.IndexOf("备") != 0)//任务单对应物料
- {
- M_PurTaskC_al.TaskLineId = dt.Rows[i]["TASKLINEID"].ToString();
- if (Q_dtMinPrice.Rows[j][1] != null && Q_dtMinPrice.Rows[j][1].ToString() != "")//中标价
- {
- double db = 0;
- double.TryParse(Q_dtMinPrice.Rows[j+1][1].ToString(), out db);
- M_PurTaskC_al.BidPrice = db;
- }
- else
- {
- M_PurTaskC_al.BidPrice = null;
- }
- if (Q_dtMinPrice.Rows[j + 2][1] != null)
- {
- M_PurTaskC_al.BidPriceReason = Q_dtMinPrice.Rows[j + 2][1].ToString();//中标价理由
- }
- al.Add(M_PurTaskC_al);
- break;
- }
- }
- }
- if (al.Count > 0)
- {
- CoreResult crt = this.execute<CoreResult>("com.hnshituo.pur.purplan.service.TaskCService", "UpdMinPrice", new object[] { al });
- if (crt.Resultcode != 0)
- {
- MessageUtil.ShowTips("提交失败 " + crt.Resultmsg);
- return;
- }
- MessageUtil.ShowTips("提交成功");
- this.Close();
- }
- }
- /// <summary>
- /// 按钮控件
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void barsManagerButon_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
- {
- switch (e.Tool.Key.ToString())
- {
- case "Query":
- {
- }
- break;
- case "conFirmation":
- {
- conFirmation();
- }
- break;
- case "ESC":
- {
- this.Close();
- }
- break;
- }
- }
- }
- }
|