|
@ -62,35 +62,50 @@ namespace SCP.Views.SupplierData |
|
|
private void SearchData(Action<IQueryable<V_TB_RECEIVE_LIST>> p_action) |
|
|
private void SearchData(Action<IQueryable<V_TB_RECEIVE_LIST>> p_action) |
|
|
{ |
|
|
{ |
|
|
V_TB_RECEIVE_LIST _entity = new V_TB_RECEIVE_LIST(); |
|
|
V_TB_RECEIVE_LIST _entity = new V_TB_RECEIVE_LIST(); |
|
|
MyQueryStringDeCode de = new MyQueryStringDeCode(); |
|
|
|
|
|
string ReceiveID = de.QueryString("ReceiveID"); |
|
|
|
|
|
if (ReceiveID == "") |
|
|
if (Session["InvoiceCreateQueryParm"] != null) |
|
|
{ Alert.Show("参数不正确!"); return; } |
|
|
|
|
|
var ary = ReceiveID.Split(','); |
|
|
|
|
|
if (ary != null && ary.Length > 0) |
|
|
|
|
|
{ |
|
|
{ |
|
|
_entity.UIDList = new List<long>(); |
|
|
InvoiceCreateQueryParm parm = Session["InvoiceCreateQueryParm"] as InvoiceCreateQueryParm; |
|
|
foreach (var itm in ary) |
|
|
|
|
|
{ |
|
|
if (string.IsNullOrEmpty(parm.ReceiveID)) |
|
|
_entity.UIDList.Add(long.Parse(itm)); |
|
|
|
|
|
} |
|
|
{ Alert.Show("参数不正确!"); return; } |
|
|
_entity.State = 1; |
|
|
var ary = parm.ReceiveID.Split(','); |
|
|
_entity.UserInVendIds = CurrentUser.VenderList; |
|
|
if (ary != null && ary.Length > 0) |
|
|
SCP_RECIVECE_CONTROLLER.Get_V_TB_RECEIVE_LIST_List(_entity, (ret) => |
|
|
|
|
|
{ |
|
|
{ |
|
|
if (ret.State == ReturnStatus.Succeed) |
|
|
_entity.UIDList = new List<long>(); |
|
|
|
|
|
foreach (var itm in ary) |
|
|
{ |
|
|
{ |
|
|
p_action(ret.Result); |
|
|
_entity.UIDList.Add(long.Parse(itm)); |
|
|
} |
|
|
} |
|
|
}); |
|
|
_entity.State = 1; |
|
|
|
|
|
_entity.UserInVendIds = CurrentUser.VenderList; |
|
|
|
|
|
SCP_RECIVECE_CONTROLLER.Get_V_TB_RECEIVE_LIST_List(_entity, (ret) => |
|
|
|
|
|
{ |
|
|
|
|
|
if (ret.State == ReturnStatus.Succeed) |
|
|
|
|
|
{ |
|
|
|
|
|
p_action(ret.Result); |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
else |
|
|
|
|
|
{ |
|
|
|
|
|
Alert.Show("操作超时!"); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public void BindData() |
|
|
public void BindData() |
|
|
{ |
|
|
{ |
|
|
SearchData(q => |
|
|
SearchData(q => |
|
|
{ |
|
|
{ |
|
|
MyQueryStringDeCode de = new MyQueryStringDeCode(); |
|
|
|
|
|
|
|
|
InvoiceCreateQueryParm parm = Session["InvoiceCreateQueryParm"] as InvoiceCreateQueryParm; |
|
|
Grid_SCP_INVOICE_CREATE.RecordCount = q.Count(); |
|
|
Grid_SCP_INVOICE_CREATE.RecordCount = q.Count(); |
|
|
q = SortAndPage<V_TB_RECEIVE_LIST>(q, Grid_SCP_INVOICE_CREATE); |
|
|
q = SortAndPage<V_TB_RECEIVE_LIST>(q, Grid_SCP_INVOICE_CREATE); |
|
|
List<V_TB_RECEIVE_LIST> temp = SCP_RECIVECE_CONTROLLER.Get_V_TB_RECEIVE_LIST(q.ToList()); |
|
|
List<V_TB_RECEIVE_LIST> temp = SCP_RECIVECE_CONTROLLER.Get_V_TB_RECEIVE_LIST(q.ToList()); |
|
@ -106,7 +121,7 @@ namespace SCP.Views.SupplierData |
|
|
if (CurrentUser.RoleList.Contains("采购人员")) |
|
|
if (CurrentUser.RoleList.Contains("采购人员")) |
|
|
{ |
|
|
{ |
|
|
|
|
|
|
|
|
_vendId = de.QueryString("VendId"); |
|
|
_vendId = parm.VendId; |
|
|
} |
|
|
} |
|
|
else |
|
|
else |
|
|
{ |
|
|
{ |
|
@ -144,7 +159,7 @@ namespace SCP.Views.SupplierData |
|
|
// }
|
|
|
// }
|
|
|
//});
|
|
|
//});
|
|
|
|
|
|
|
|
|
var _isall=de.QueryString("IsAll"); |
|
|
var _isall=parm.IsAll; |
|
|
if(_isall=="0") |
|
|
if(_isall=="0") |
|
|
{ |
|
|
{ |
|
|
temp.ForEach(p => { |
|
|
temp.ForEach(p => { |
|
@ -182,63 +197,68 @@ namespace SCP.Views.SupplierData |
|
|
//确认创建发票
|
|
|
//确认创建发票
|
|
|
protected void btnOk_OnClick(object sender, EventArgs e) |
|
|
protected void btnOk_OnClick(object sender, EventArgs e) |
|
|
{ |
|
|
{ |
|
|
|
|
|
if (Session["InvoiceCreateQueryParm"] != null) |
|
|
V_TB_INVOICE invoice = new V_TB_INVOICE(); |
|
|
|
|
|
invoice.InvcBillNum = SCP_BILLCODE_CONTROLLER.MakeInvoiceCode(); |
|
|
|
|
|
invoice.CreateTime = DateTime.Now; |
|
|
|
|
|
invoice.InvoiceNum = ""; |
|
|
|
|
|
invoice.Remark = txtRemark.Text; |
|
|
|
|
|
invoice.CreateUser = CurrentUser.Name; |
|
|
|
|
|
MyQueryStringDeCode de = new MyQueryStringDeCode(); |
|
|
|
|
|
string _VendId= de.QueryString("VendId"); |
|
|
|
|
|
string _tax = de.QueryString("Tax"); |
|
|
|
|
|
invoice.VendId = _VendId; |
|
|
|
|
|
invoice.State = (int)InvoiceState.New; |
|
|
|
|
|
invoice.Tax = decimal.Parse(_tax); |
|
|
|
|
|
string _cj = de.QueryString("CJ"); |
|
|
|
|
|
string _tz= de.QueryString("TZ"); |
|
|
|
|
|
invoice.BlancePrice = decimal.Parse(_tz); |
|
|
|
|
|
invoice.ContractPrice = decimal.Parse(_cj); |
|
|
|
|
|
|
|
|
|
|
|
int num = 0; |
|
|
|
|
|
List<V_TB_RECEIVE_LIST> _list = new List<V_TB_RECEIVE_LIST>(); |
|
|
|
|
|
for (int i = 0; i < Grid_SCP_INVOICE_CREATE.Rows.Count; i++) |
|
|
|
|
|
{ |
|
|
{ |
|
|
object[] rowDataKeys = Grid_SCP_INVOICE_CREATE.DataKeys[i]; |
|
|
|
|
|
string uid = rowDataKeys[0].ToString(); |
|
|
|
|
|
var _entity=new V_TB_RECEIVE_LIST(); |
|
|
InvoiceCreateQueryParm parm = Session["InvoiceCreateQueryParm"] as InvoiceCreateQueryParm; |
|
|
_entity.UID = ConvertHelper.To<Int32>(rowDataKeys[0]); |
|
|
|
|
|
_entity.RecvBillNum = rowDataKeys[1] as string; |
|
|
V_TB_INVOICE invoice = new V_TB_INVOICE(); |
|
|
_entity.PoLine = ConvertHelper.To<Int32>(rowDataKeys[2]); |
|
|
invoice.InvcBillNum = SCP_BILLCODE_CONTROLLER.MakeInvoiceCode(); |
|
|
_entity.PartCode = rowDataKeys[3] as string; |
|
|
invoice.CreateTime = DateTime.Now; |
|
|
_entity.Batch = rowDataKeys[4] as string; |
|
|
invoice.InvoiceNum = ""; |
|
|
_entity.Qty = ConvertHelper.To<Decimal>(rowDataKeys[5]); |
|
|
invoice.Remark = txtRemark.Text; |
|
|
_entity.DockCode = rowDataKeys[6] as string; |
|
|
invoice.CreateUser = CurrentUser.Name; |
|
|
_entity.Remark = rowDataKeys[7] as string; |
|
|
|
|
|
_entity.CreateTime = ConvertHelper.To<DateTime>(rowDataKeys[8]); |
|
|
string _VendId = parm.VendId; |
|
|
_entity.CreateUser = rowDataKeys[9] as string; |
|
|
string _tax = parm.Tax; |
|
|
if (string.IsNullOrEmpty(_entity.CreateUser)) |
|
|
invoice.VendId = _VendId; |
|
|
|
|
|
invoice.State = (int)InvoiceState.New; |
|
|
|
|
|
invoice.Tax = decimal.Parse(_tax); |
|
|
|
|
|
string _cj = parm.CJ; |
|
|
|
|
|
string _tz = parm.TZ; |
|
|
|
|
|
invoice.BlancePrice = decimal.Parse(_tz); |
|
|
|
|
|
invoice.ContractPrice = decimal.Parse(_cj); |
|
|
|
|
|
|
|
|
|
|
|
int num = 0; |
|
|
|
|
|
List<V_TB_RECEIVE_LIST> _list = new List<V_TB_RECEIVE_LIST>(); |
|
|
|
|
|
for (int i = 0; i < Grid_SCP_INVOICE_CREATE.Rows.Count; i++) |
|
|
{ |
|
|
{ |
|
|
_entity.CreateUser = CurrentUser.Name; |
|
|
object[] rowDataKeys = Grid_SCP_INVOICE_CREATE.DataKeys[i]; |
|
|
} |
|
|
string uid = rowDataKeys[0].ToString(); |
|
|
_entity.IsDeleted = ConvertHelper.To<Boolean>(rowDataKeys[10]); |
|
|
var _entity = new V_TB_RECEIVE_LIST(); |
|
|
_entity.AsnBillNum = rowDataKeys[12] as string; |
|
|
_entity.UID = ConvertHelper.To<Int32>(rowDataKeys[0]); |
|
|
_entity.Site = rowDataKeys[13] as string; |
|
|
_entity.RecvBillNum = rowDataKeys[1] as string; |
|
|
invoice.Site = rowDataKeys[13] as string; |
|
|
_entity.PoLine = ConvertHelper.To<Int32>(rowDataKeys[2]); |
|
|
_entity.VendId = rowDataKeys[14] as string; |
|
|
_entity.PartCode = rowDataKeys[3] as string; |
|
|
_entity.ShipTime = ConvertHelper.To<DateTime?>(rowDataKeys[15]); |
|
|
_entity.Batch = rowDataKeys[4] as string; |
|
|
_entity.OperName = rowDataKeys[16] as string; |
|
|
_entity.Qty = ConvertHelper.To<Decimal>(rowDataKeys[5]); |
|
|
_entity.PartDesc1 = rowDataKeys[17] as string; |
|
|
_entity.DockCode = rowDataKeys[6] as string; |
|
|
_entity.State = ConvertHelper.To<Int32>(rowDataKeys[18]); |
|
|
_entity.Remark = rowDataKeys[7] as string; |
|
|
_entity.PoBillNum = rowDataKeys[19] as string; |
|
|
_entity.CreateTime = ConvertHelper.To<DateTime>(rowDataKeys[8]); |
|
|
_entity.VendName = rowDataKeys[20] as string; |
|
|
_entity.CreateUser = rowDataKeys[9] as string; |
|
|
_entity.Site_Desc = rowDataKeys[21] as string; |
|
|
if (string.IsNullOrEmpty(_entity.CreateUser)) |
|
|
_entity.PoUnit = rowDataKeys[22] as string; |
|
|
{ |
|
|
_entity.LocUnit = rowDataKeys[23] as string; |
|
|
_entity.CreateUser = CurrentUser.Name; |
|
|
_entity.Price = ConvertHelper.To<Decimal>(rowDataKeys[24]); |
|
|
} |
|
|
_entity.VendBatch = rowDataKeys[25] as string; |
|
|
_entity.IsDeleted = ConvertHelper.To<Boolean>(rowDataKeys[10]); |
|
|
_entity.Currency = rowDataKeys[26] as string; |
|
|
_entity.AsnBillNum = rowDataKeys[12] as string; |
|
|
_entity.BillType_DESC = rowDataKeys[27] as string; |
|
|
_entity.Site = rowDataKeys[13] as string; |
|
|
|
|
|
invoice.Site = rowDataKeys[13] as string; |
|
|
|
|
|
_entity.VendId = rowDataKeys[14] as string; |
|
|
|
|
|
_entity.ShipTime = ConvertHelper.To<DateTime?>(rowDataKeys[15]); |
|
|
|
|
|
_entity.OperName = rowDataKeys[16] as string; |
|
|
|
|
|
_entity.PartDesc1 = rowDataKeys[17] as string; |
|
|
|
|
|
_entity.State = ConvertHelper.To<Int32>(rowDataKeys[18]); |
|
|
|
|
|
_entity.PoBillNum = rowDataKeys[19] as string; |
|
|
|
|
|
_entity.VendName = rowDataKeys[20] as string; |
|
|
|
|
|
_entity.Site_Desc = rowDataKeys[21] as string; |
|
|
|
|
|
_entity.PoUnit = rowDataKeys[22] as string; |
|
|
|
|
|
_entity.LocUnit = rowDataKeys[23] as string; |
|
|
|
|
|
_entity.Price = ConvertHelper.To<Decimal>(rowDataKeys[24]); |
|
|
|
|
|
_entity.VendBatch = rowDataKeys[25] as string; |
|
|
|
|
|
_entity.Currency = rowDataKeys[26] as string; |
|
|
|
|
|
_entity.BillType_DESC = rowDataKeys[27] as string; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -246,83 +266,89 @@ namespace SCP.Views.SupplierData |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
System.Web.UI.WebControls.Label _label = (System.Web.UI.WebControls.Label)Grid_SCP_INVOICE_CREATE.Rows[i].FindControl("Total1"); |
|
|
System.Web.UI.WebControls.Label _label = (System.Web.UI.WebControls.Label)Grid_SCP_INVOICE_CREATE.Rows[i].FindControl("Total1"); |
|
|
_entity.CanQty = ConvertHelper.To<Decimal>(_label.Text);//ConvertHelper.To < Int32 >(rowDataKeys[2]);
|
|
|
_entity.CanQty = ConvertHelper.To<Decimal>(_label.Text);//ConvertHelper.To < Int32 >(rowDataKeys[2]);
|
|
|
GridRow row = Grid_SCP_INVOICE_CREATE.Rows[i]; |
|
|
GridRow row = Grid_SCP_INVOICE_CREATE.Rows[i]; |
|
|
System.Web.UI.WebControls.TextBox txtQty = (System.Web.UI.WebControls.TextBox)row.FindControl("txtQty"); |
|
|
System.Web.UI.WebControls.TextBox txtQty = (System.Web.UI.WebControls.TextBox)row.FindControl("txtQty"); |
|
|
System.Web.UI.WebControls.TextBox txtPrice = (System.Web.UI.WebControls.TextBox)row.FindControl("txtPrice"); |
|
|
System.Web.UI.WebControls.TextBox txtPrice = (System.Web.UI.WebControls.TextBox)row.FindControl("txtPrice"); |
|
|
System.Web.UI.WebControls.TextBox txtLineMemo = (System.Web.UI.WebControls.TextBox)row.FindControl("txtLineMemo"); |
|
|
System.Web.UI.WebControls.TextBox txtLineMemo = (System.Web.UI.WebControls.TextBox)row.FindControl("txtLineMemo"); |
|
|
|
|
|
|
|
|
decimal Qty = 0; |
|
|
decimal Qty = 0; |
|
|
try |
|
|
try |
|
|
{ |
|
|
|
|
|
if (txtQty.Text.Trim() != "") |
|
|
|
|
|
{ |
|
|
{ |
|
|
Qty = Convert.ToDecimal(txtQty.Text.Trim()); |
|
|
if (txtQty.Text.Trim() != "") |
|
|
|
|
|
{ |
|
|
|
|
|
Qty = Convert.ToDecimal(txtQty.Text.Trim()); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
catch |
|
|
|
|
|
{ |
|
|
|
|
|
PageContext.RegisterStartupScript(Alert.GetShowInTopReference("开票数量输入不正确")); |
|
|
|
|
|
return; |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
catch |
|
|
|
|
|
{ |
|
|
|
|
|
PageContext.RegisterStartupScript(Alert.GetShowInTopReference("开票数量输入不正确")); |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
decimal Price = 0; |
|
|
decimal Price = 0; |
|
|
try |
|
|
try |
|
|
{ |
|
|
|
|
|
if (txtPrice.Text.Trim() != "") |
|
|
|
|
|
{ |
|
|
{ |
|
|
Price = Convert.ToDecimal(txtPrice.Text.Trim()); |
|
|
if (txtPrice.Text.Trim() != "") |
|
|
|
|
|
{ |
|
|
|
|
|
Price = Convert.ToDecimal(txtPrice.Text.Trim()); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
catch |
|
|
|
|
|
{ |
|
|
|
|
|
PageContext.RegisterStartupScript(Alert.GetShowInTopReference("单价输入不正确")); |
|
|
|
|
|
return; |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
catch |
|
|
|
|
|
{ |
|
|
|
|
|
PageContext.RegisterStartupScript(Alert.GetShowInTopReference("单价输入不正确")); |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (Qty == 0) |
|
|
if (Qty == 0) |
|
|
{ |
|
|
{ |
|
|
continue; |
|
|
continue; |
|
|
|
|
|
} |
|
|
|
|
|
if (Qty > _entity.CanQty) |
|
|
|
|
|
{ |
|
|
|
|
|
PageContext.RegisterStartupScript(Alert.GetShowInTopReference("开票数量不能大于可用开票数量")); |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
_entity.Qty = Qty; |
|
|
|
|
|
_entity.Price = Price; |
|
|
|
|
|
_entity.Remark = txtLineMemo.Text; |
|
|
|
|
|
_list.Add(_entity); |
|
|
|
|
|
num++; |
|
|
} |
|
|
} |
|
|
if (Qty >_entity.CanQty) |
|
|
if (num == 0) |
|
|
{ |
|
|
{ |
|
|
PageContext.RegisterStartupScript(Alert.GetShowInTopReference("开票数量不能大于可用开票数量")); |
|
|
PageContext.RegisterStartupScript(Alert.GetShowInTopReference("没有可用的开票记录")); |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
|
_entity.Qty = Qty; |
|
|
int _number = 0; |
|
|
_entity.Price = Price; |
|
|
_list.ForEach(p => |
|
|
_entity.Remark = txtLineMemo.Text; |
|
|
|
|
|
_list.Add(_entity); |
|
|
|
|
|
num++; |
|
|
|
|
|
} |
|
|
|
|
|
if (num == 0) |
|
|
|
|
|
{ |
|
|
|
|
|
PageContext.RegisterStartupScript(Alert.GetShowInTopReference("没有可用的开票记录")); |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
int _number= 0; |
|
|
|
|
|
_list.ForEach(p =>{ |
|
|
|
|
|
if(p.Qty>0) |
|
|
|
|
|
{ |
|
|
{ |
|
|
_number++; |
|
|
if (p.Qty > 0) |
|
|
|
|
|
{ |
|
|
|
|
|
_number++; |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
if (_number == _list.Count) |
|
|
|
|
|
{ |
|
|
|
|
|
string _modify = parm.Modify; |
|
|
|
|
|
if (_modify == "1") |
|
|
|
|
|
{ |
|
|
|
|
|
Alert.Show("有退货单未处理!"); |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
}); |
|
|
var ret = SCP_INVOICE_CONTROLLER.CREATE_TB_INVOICE(invoice, _list); |
|
|
if(_number == _list.Count) |
|
|
if (ret.State == ReturnStatus.Succeed) |
|
|
{ |
|
|
|
|
|
string _modify = de.QueryString("Modify"); |
|
|
|
|
|
if (_modify == "1") |
|
|
|
|
|
{ |
|
|
{ |
|
|
Alert.Show("有退货单未处理!"); |
|
|
string script = $"alert(\'发票 {invoice.InvcBillNum} 生成成功\');"; |
|
|
return; |
|
|
script += ActiveWindow.GetHidePostBackReference(); |
|
|
|
|
|
PageContext.RegisterStartupScript(script); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
var ret=SCP_INVOICE_CONTROLLER.CREATE_TB_INVOICE(invoice, _list); |
|
|
else |
|
|
if (ret.State == ReturnStatus.Succeed) |
|
|
|
|
|
{ |
|
|
{ |
|
|
string script = $"alert(\'发票 {invoice.InvcBillNum} 生成成功\');"; |
|
|
Alert.Show("操作超时"); |
|
|
script += ActiveWindow.GetHidePostBackReference(); |
|
|
|
|
|
PageContext.RegisterStartupScript(script); |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -378,7 +404,7 @@ namespace SCP.Views.SupplierData |
|
|
} |
|
|
} |
|
|
//_info.SupplierCode = vu.VenderId;
|
|
|
//_info.SupplierCode = vu.VenderId;
|
|
|
} |
|
|
} |
|
|
|
|
|
Session["InvoiceCreateQueryParm"] = null; |
|
|
return strTax; |
|
|
return strTax; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|