You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

208 lines
7.9 KiB

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CK.SCP.Models.Enums;
using CK.SCP.Models.ScpEntity;
using CK.SCP.Utils;
using CK.SCP.Controller;
using FineUI;
namespace SCP.Views.PlanData
{
public partial class SCP_PO_DETAIL_CQ : PageBase
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (!string.IsNullOrEmpty(Request["PoBillNum"].Trim()))
{
F_PO_DETAIL.Hidden = false;
GetV_TB_POData();
BindDetail();
SetRoleRule();
}
else
{
F_PO_DETAIL.Hidden = true;
Search_TB_PO_DETAIL_VIEW((ret) => {
this.Grid_V_TB_PO_DETAIL.RecordCount = ret.Count();
var list = SortAndPage<V_TB_PO_DETAIL>(ret, Grid_V_TB_PO_DETAIL);
Grid_V_TB_PO_DETAIL.DataSource = SCP_CONTRACT_CONTROLLER.GET_CONTRACT_PRICE_LIST(SCP_PO_CONTROLLER.LOAD_PO_DETAIL_SUM(list.ToList()));
Grid_V_TB_PO_DETAIL.DataBind();
});
}
}
}
private void SetRoleRule()
{
IsPriceVisible(Grid_V_TB_PO_DETAIL, "价格", "合同价格", "合同差额");
}
public void SearchV_TB_PO_DETAIL(Action<IQueryable<V_TB_PO_DETAIL>> p_action)
{
V_TB_PO_DETAIL _entity = new V_TB_PO_DETAIL();
_entity.PoBillNum = Request["PoBillNum"];
_entity.UserInSubSite = CurrentUser.SubSiteList;
_entity.UserInAddress = CurrentUser.FactoryList;
SCP_PO_CONTROLLER.Get_V_TB_PO_DETAIL_List(_entity, (_ret) => {
if (_ret.State == ReturnStatus.Succeed)
{
p_action(_ret.Result);
}
});
}
protected void btnClosed_Click(object sender, EventArgs e)
{
int[] _selections = Grid_V_TB_PO_DETAIL.SelectedRowIndexArray;
List<string> _PoList = new List<string>();
List<string> _PoList1 = new List<string>();
for (int i = 0, count = Grid_V_TB_PO_DETAIL.Rows.Count; i < count; i++)
{
if (_selections.Contains(i))
{
object[] rowDataKeys = Grid_V_TB_PO_DETAIL.DataKeys[i];
if (!string.IsNullOrEmpty(rowDataKeys[1].ToString()))
{
_PoList.Add(rowDataKeys[1].ToString());
}
if (!string.IsNullOrEmpty(rowDataKeys[3].ToString()))
{
_PoList1.Add(rowDataKeys[3].ToString());
}
}
}
var checkret = SCP_PO_CONTROLLER.Check_PO_ASK_Detail(_PoList, _PoList1);
if (checkret.State == ReturnStatus.Failed && checkret.Result == false)
{
Alert.Show(string.Join("<br>", checkret.MessageList));
return;
}
var ret = SCP_PO_CONTROLLER.Save_TB_PO_STATE_Detail(_PoList, _PoList1, PoState.Close);
if (ret.State == ReturnStatus.Succeed)
{
BindDetail();
Alert.Show("订单明细关闭成功!");
return;
}
else
{
Alert.Show(ret.Message);
}
}
protected void btnCloseAsk_Click(object sender, EventArgs e)
{
int[] _selections = Grid_V_TB_PO_DETAIL.SelectedRowIndexArray;
List<string> _PoList = new List<string>();
List<string> _PoList1 = new List<string>();
for (int i = 0, count = Grid_V_TB_PO_DETAIL.Rows.Count; i < count; i++)
{
if (_selections.Contains(i))
{
object[] rowDataKeys = Grid_V_TB_PO_DETAIL.DataKeys[i];
if (!string.IsNullOrEmpty(rowDataKeys[1].ToString()))
{
_PoList.Add(rowDataKeys[1].ToString());
}
if (!string.IsNullOrEmpty(rowDataKeys[3].ToString()))
{
_PoList1.Add(rowDataKeys[3].ToString());
}
}
}
var checkret = SCP_PO_CONTROLLER.Check_PO_ASK_Close_Detail(_PoList, _PoList1);
if (checkret.State == ReturnStatus.Failed && checkret.Result == false)
{
Alert.Show(string.Join("<br>", checkret.MessageList));
return;
}
var ret = SCP_PO_CONTROLLER.Save_TB_PO_STATE_Detail_Close(_PoList, _PoList1, PoState.Close);
if (ret.State == ReturnStatus.Succeed)
{
BindDetail();
Alert.Show("强制完结成功!");
return;
}
else
{
Alert.Show(ret.Message);
}
}
public void Search_TB_PO_DETAIL_VIEW(Action<IQueryable<V_TB_PO_DETAIL>> p_action)
{
V_TB_PO_DETAIL _entity = new V_TB_PO_DETAIL();
_entity.PoBillNum = Request["PoBillNum"];
if (string.IsNullOrEmpty(Request["PoBillNum"].Trim()))
{
if (!string.IsNullOrEmpty("PartCode"))
{
_entity.PartCode = Request["PartCode"];
}
if (!string.IsNullOrEmpty(Request["State"]))
{
_entity.State = int.Parse(Request["State"]);
}
}
_entity.UserInAddress = CurrentUser.FactoryList;
_entity.UserInVendIds = CurrentUser.VenderList;
_entity.UserInSubSite = CurrentUser.SubSiteList;
SCP_PO_CONTROLLER.Get_V_TB_PO_DETAIL_List(_entity, (_ret) => {
if (_ret.State == ReturnStatus.Succeed)
{
p_action(_ret.Result);
}
});
}
public void GetV_TB_POData()
{
V_TB_PO _entity = new V_TB_PO();
_entity.PoBillNum = Request["PoBillNum"];
_entity.UserInAddress = CurrentUser.FactoryList;
_entity.UserInSubSite = CurrentUser.SubSiteList;
SCP_PO_CONTROLLER.Get_V_TB_PO_List(_entity, (_ret) =>
{
if (_ret.State == ReturnStatus.Succeed)
{
var _result = _ret.Result.FirstOrDefault();
Session["Order"] = _result;
this.TXT_PoBillNum.Text = _result.PoBillNum;
this.DP_BeginTime.SelectedDate = _result.BeginTime;
this.TXT_Site.Text = _result.Site_Desc;
this.TXT_State_DESC.Text = _result.State_DESC;
this.TXT_VendId.Text = _result.VendId;
this.TXT_VendName.Text = _result.VendName;
this.txtRemark.Text = _result.Remark;
}
});
}
public void BindDetail()
{
SearchV_TB_PO_DETAIL((ret) => {
this.Grid_V_TB_PO_DETAIL.RecordCount = ret.Count();
var list = SortAndPage<V_TB_PO_DETAIL>(ret, Grid_V_TB_PO_DETAIL);
Grid_V_TB_PO_DETAIL.DataSource = SCP_CONTRACT_CONTROLLER.GET_CONTRACT_PRICE_LIST(SCP_PO_CONTROLLER.LOAD_PO_DETAIL_SUM(list.ToList()));
Grid_V_TB_PO_DETAIL.DataBind();
});
}
protected void Grid_V_TB_PO_DETAIL_PageIndexChange(object sender, GridPageEventArgs e)
{
BindDetail();
}
protected void ddlGridPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
Grid_V_TB_PO_DETAIL.PageSize = Convert.ToInt32(ddlGridPageSize.SelectedValue);
BindDetail();
}
}
}