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.
 
 
 
 
 

257 lines
9.8 KiB

using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
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;
using System.Data.Entity.Migrations;
namespace SCP.WarehouseData
{
public partial class SCP_RECEIVE_DETAIL : PageBase
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (!string.IsNullOrEmpty(Request["ID"].Trim()))
{
F_PO_DETAIL.Hidden = false;
LoadData();
BindData();
}
else
{
F_PO_DETAIL.Hidden = true;
BindData_View();
}
}
}
public void LoadData()
{
var _receive = new V_TB_RECEIVE();
_receive.RecvBillNum = GetQueryValue("ID");
_receive.UserInAddress = CurrentUser.FactoryList;
if (GetQueryValue("STATE") != null)
{
_receive.State = int.Parse(GetQueryValue("STATE"));
}
SCP_RECIVECE_CONTROLLER.Get_V_TB_RECEIVE_List(_receive, (ret) => {
if (ret.State == ReturnStatus.Succeed)
{
var _rec = ret.Result.FirstOrDefault();
txtState.Text = _rec.State_DESC;
txtBillNo.Text = _rec.RecvBillNum;
txtReceiveTime.Text = Convert.ToDateTime(_rec.ShipTime).ToString("yyyy-MM-dd");
txtShipBillNo.Text = _rec.AsnBillNum;
txtPlanBillNo.Text = _rec.PoBillNum;
txtUserName.Text = _rec.OperName;
txtSupplierName.Text = _rec.VendName;
txtMemo.Text = _rec.Remark;
txtDeliveryAddress.Text = _rec.Site_Desc;
}
});
}
public void BindData()
{
var _receive = new V_TB_RECEIVE_DETAIL();
_receive.Site =CurrentUser.UsedDomain;
_receive.RecvBillNum = GetQueryValue("ID");
SCP_RECIVECE_CONTROLLER.Get_V_TB_RECEIVE_DETAIL_List(_receive, (ret) =>
{
if (ret.State == ReturnStatus.Succeed)
{
Grid_V_TB_RECEIVE_DETAIL.RecordCount = ret.Result.Count();
var _ls = SortAndPage(ret.Result, Grid_V_TB_RECEIVE_DETAIL);
Grid_V_TB_RECEIVE_DETAIL.DataSource = _ls;
Grid_V_TB_RECEIVE_DETAIL.DataBind();
}
});
}
public void BindData_View()
{
var _receive = new V_TB_RECEIVE_DETAIL();
_receive.RecvBillNum = GetQueryValue("ID");
if (string.IsNullOrEmpty(Request["ID"].Trim()))
{
if (!string.IsNullOrEmpty("PartCode"))
{
_receive.PartCode = Request["PartCode"];
}
if (!string.IsNullOrEmpty(Request["State"]))
{
_receive.State = int.Parse(Request["State"]);
}
}
SCP_RECIVECE_CONTROLLER.Get_V_TB_RECEIVE_DETAIL_List(_receive, (ret) =>
{
if (ret.State == ReturnStatus.Succeed)
{
Grid_V_TB_RECEIVE_DETAIL.RecordCount = ret.Result.Count();
var _ls = SortAndPage(ret.Result, Grid_V_TB_RECEIVE_DETAIL);
Grid_V_TB_RECEIVE_DETAIL.DataSource = _ls;
Grid_V_TB_RECEIVE_DETAIL.DataBind();
}
});
}
protected void btnCheck_OnClick(object sender, EventArgs e)
{
//try
//{
// string id = GetQueryValue("ID");
// _Model = ReceiveDetailController.GetlistByBillNum(id);
// bool flag = ReceiveDetailController.UpdateReceive(_Model);
// if (flag)
// PageContext.Refresh();
//}
//catch (Exception ex)
//{
// Alert.ShowInTop(ex.Message);
//}
}
//导出
protected void btnOutput_OnClick(object sender, EventArgs e)
{
var _receive = new V_TB_RECEIVE_DETAIL();
_receive.RecvBillNum = GetQueryValue("ID");
_receive.Site = CurrentUser.UsedDomain;
SCP_RECIVECE_CONTROLLER.Get_V_TB_RECEIVE_DETAIL_List(_receive, (ret) =>
{
if (ret.State == ReturnStatus.Succeed)
{
Dictionary<string, string> cellheader = new Dictionary<string, string> {
{ "RecvBillNum", "单据号" },
{ "AsnBillNum", "发货单号" },
{ "PoBillNum", "订单号" },
{ "PoLine", "订单行" },
{ "PartCode", "零件号" },
{ "PartDesc1", "零件名称" },
{ "Unit", "单位" },
{ "Qty", "数量" },
{ "DockCode", "ERP库位" },
//{ "ReceivedQty", "已开票数量" },
{ "ShipTime", "时间" },
{ "Remark", "备注" },
};
string url = EntityListToExcel2003(cellheader, ret.Result.ToList(), "审核明细");
}
});
}
protected void btnDelete_Click(object sender, EventArgs e)
{
var _receive = new V_TB_RECEIVE();
_receive.RecvBillNum = GetQueryValue("ID");
_receive.Site = GetQueryValue("Site");
if (GetQueryValue("STATE") != null)
{
_receive.State = int.Parse(GetQueryValue("STATE"));
}
SCP_RECIVECE_CONTROLLER.Get_V_TB_RECEIVE_List(_receive, (ret) =>
{
if (ret.State == ReturnStatus.Succeed)
{
var _rec = ret.Result.FirstOrDefault();
if (CurrentUser.Name == "admin")
{
var asn = SCPDB.TB_RECEIVE_QAD.Where(p => p.RecvBillNum == _rec.RecvBillNum && p.Site==_rec.Site).FirstOrDefault();
var detail = SCPDB.TB_RECEIVE_DETAIL_QAD.Where(p => p.RecvBillNum == _rec.RecvBillNum && p.Site == _rec.Site).ToArray();
if (asn != null)
{
asn.State = -1;
asn.IsDeleted = true;
SCPDB.TB_RECEIVE_QAD.AddOrUpdate(asn);
}
if (detail.Count() > 0)
{
foreach (var itm in detail)
{
itm.IsDeleted = true;
itm.State = -1;
}
SCPDB.TB_RECEIVE_DETAIL_QAD.AddOrUpdate(detail);
}
if (SCPDB.SaveChanges() != -1)
{
Alert.Show("收货单删除成功");
}
}
}
});
}
protected void btnBack_Click(object sender, EventArgs e)
{
var _receive = new V_TB_RECEIVE();
_receive.RecvBillNum = GetQueryValue("ID");
_receive.Site =GetQueryValue("Site");
_receive.State = 1;
SCP_RECIVECE_CONTROLLER.Get_V_TB_RECEIVE_List(_receive, (ret) =>
{
if (ret.State == ReturnStatus.Succeed)
{
var _rec = ret.Result.FirstOrDefault();
if (CurrentUser.Name == "admin" || CurrentUser.RoleList.Contains("分厂管理员") || CurrentUser.RoleList.Contains("收货审核人员"))
{
if (_rec != null)
{
int _count=SCPDB.TB_INVOICE_DETAIL.Where(p => p.RecvBillNum == _rec.RecvBillNum && p.PoBillNum == _rec.PoBillNum).Count();
if (_count > 0)
{
Alert.Show("不能取消已经开票!");
return;
}
var rec = SCPDB.TB_RECEIVE_QAD.Where(p => p.RecvBillNum == _rec.RecvBillNum && p.Site == _rec.Site).FirstOrDefault();
var detail = SCPDB.TB_RECEIVE_DETAIL_QAD.Where(p => p.RecvBillNum == _rec.RecvBillNum && p.Remark == _rec.Site).ToArray();
if (rec != null)
{
rec.State = 0;
rec.IsDeleted = false;
SCPDB.TB_RECEIVE_QAD.AddOrUpdate(rec);
}
if (detail.Count() > 0)
{
foreach (var itm in detail)
{
itm.IsDeleted = false;
itm.State = 0;
}
SCPDB.TB_RECEIVE_DETAIL_QAD.AddOrUpdate(detail);
}
if (SCPDB.SaveChanges() != -1)
{
BindData();
Alert.Show("成功取消审核状态!");
}
}
else
{
Alert.Show("当前单据不是审核状态单据!");
}
}
}
});
}
}
}