From b320ecca510d3863aaf16b003e7c85a2ad23666b Mon Sep 17 00:00:00 2001
From: lvzb <35200379@qq.com>
Date: Fri, 9 Oct 2020 11:51:28 +0800
Subject: [PATCH] =?UTF-8?q?=E9=94=A6=E5=B7=9E=E5=8F=91=E7=A5=A8=E4=BF=AE?=
=?UTF-8?q?=E6=94=B9=E3=80=82=E9=94=A6=E5=B7=9E=E6=8E=A5=E5=8F=A3=E7=A8=8B?=
=?UTF-8?q?=E5=BA=8F=E5=90=88=E5=B9=B6=E5=88=B0=E5=85=AC=E5=85=B1=E7=89=88?=
=?UTF-8?q?=E6=9C=AC=E4=B8=AD=E3=80=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Controller/SCP_INVOICE_CONTROLLER.cs | 9 +-
Models/ScpEntity/TB_INVOICE.cs | 5 +
Models/ScpEntity/V_TB_INVOICE.cs | 6 +-
Models/UniApiEntity/xxscm_inv_det.cs | 6 +-
SCP/SCP.csproj | 48 ++
SCP/Views/WarehouseData/SCP_INVOICE.aspx.cs | 2 +-
.../SupplierData/SCP_INVOICE.aspx | 151 +++++
.../SupplierData/SCP_INVOICE.aspx.cs | 201 ++++++
.../SupplierData/SCP_INVOICE.aspx.designer.cs | 314 ++++++++++
.../SupplierData/SCP_INVOICE_EDIT.aspx | 138 ++++
.../SupplierData/SCP_INVOICE_EDIT.aspx.cs | 589 ++++++++++++++++++
.../SCP_INVOICE_EDIT.aspx.designer.cs | 359 +++++++++++
.../WarehouseData/SCP_INVOICE.aspx | 142 +++++
.../WarehouseData/SCP_INVOICE.aspx.cs | 207 ++++++
.../SCP_INVOICE.aspx.designer.cs | 233 +++++++
.../WarehouseData/SCP_INVOICE_CONFIRM.aspx | 124 ++++
.../WarehouseData/SCP_INVOICE_CONFIRM.aspx.cs | 226 +++++++
.../SCP_INVOICE_CONFIRM.aspx.designer.cs | 224 +++++++
.../SCP_INVOICE_CONFIRM_DETAIL.aspx | 166 +++++
.../SCP_INVOICE_CONFIRM_DETAIL.aspx.cs | 312 ++++++++++
...CP_INVOICE_CONFIRM_DETAIL.aspx.designer.cs | 305 +++++++++
.../WarehouseData/SCP_INVOICE_DELTAIL.aspx | 145 +++++
.../WarehouseData/SCP_INVOICE_DELTAIL.aspx.cs | 296 +++++++++
.../SCP_INVOICE_DELTAIL.aspx.designer.cs | 287 +++++++++
.../Controller/OdbcApiQadController.cs | 91 ++-
.../Controller/OdbcApiScpController.cs | 9 +-
.../Controller/OdbcApiWmsController.cs | 168 ++++-
27 files changed, 4705 insertions(+), 58 deletions(-)
create mode 100644 SCP/Views/锦州锦恒/SupplierData/SCP_INVOICE.aspx
create mode 100644 SCP/Views/锦州锦恒/SupplierData/SCP_INVOICE.aspx.cs
create mode 100644 SCP/Views/锦州锦恒/SupplierData/SCP_INVOICE.aspx.designer.cs
create mode 100644 SCP/Views/锦州锦恒/SupplierData/SCP_INVOICE_EDIT.aspx
create mode 100644 SCP/Views/锦州锦恒/SupplierData/SCP_INVOICE_EDIT.aspx.cs
create mode 100644 SCP/Views/锦州锦恒/SupplierData/SCP_INVOICE_EDIT.aspx.designer.cs
create mode 100644 SCP/Views/锦州锦恒/WarehouseData/SCP_INVOICE.aspx
create mode 100644 SCP/Views/锦州锦恒/WarehouseData/SCP_INVOICE.aspx.cs
create mode 100644 SCP/Views/锦州锦恒/WarehouseData/SCP_INVOICE.aspx.designer.cs
create mode 100644 SCP/Views/锦州锦恒/WarehouseData/SCP_INVOICE_CONFIRM.aspx
create mode 100644 SCP/Views/锦州锦恒/WarehouseData/SCP_INVOICE_CONFIRM.aspx.cs
create mode 100644 SCP/Views/锦州锦恒/WarehouseData/SCP_INVOICE_CONFIRM.aspx.designer.cs
create mode 100644 SCP/Views/锦州锦恒/WarehouseData/SCP_INVOICE_CONFIRM_DETAIL.aspx
create mode 100644 SCP/Views/锦州锦恒/WarehouseData/SCP_INVOICE_CONFIRM_DETAIL.aspx.cs
create mode 100644 SCP/Views/锦州锦恒/WarehouseData/SCP_INVOICE_CONFIRM_DETAIL.aspx.designer.cs
create mode 100644 SCP/Views/锦州锦恒/WarehouseData/SCP_INVOICE_DELTAIL.aspx
create mode 100644 SCP/Views/锦州锦恒/WarehouseData/SCP_INVOICE_DELTAIL.aspx.cs
create mode 100644 SCP/Views/锦州锦恒/WarehouseData/SCP_INVOICE_DELTAIL.aspx.designer.cs
diff --git a/Controller/SCP_INVOICE_CONTROLLER.cs b/Controller/SCP_INVOICE_CONTROLLER.cs
index 2afc114..190c381 100644
--- a/Controller/SCP_INVOICE_CONTROLLER.cs
+++ b/Controller/SCP_INVOICE_CONTROLLER.cs
@@ -174,7 +174,7 @@ namespace CK.SCP.Controller
{
StringBuilder _builder = new StringBuilder();
- _builder.Append( "SELECT DISTINCT InvcBillNum FROM TB_INVOICE_DETAIL a Inner join TB_RECEIVE B on A.RecvBillNum = B.RecvBillNum\r\n");
+ _builder.Append("SELECT DISTINCT InvcBillNum FROM TB_INVOICE_DETAIL a Inner join TB_RECEIVE_QAD B on A.ErpRecvBillNum = B.ErpRecvBillNum\r\n");
_builder.AppendFormat(" WHERE 1=1 \r\n");
if (!string.IsNullOrEmpty(p_begin))
{
@@ -1515,7 +1515,8 @@ namespace CK.SCP.Controller
_entity.InvoiceNum = invoice.InvoiceNum;
_entity.ExpressNum = invoice.ExpressNum;
-
+ _entity.Extend1 = invoice.Extend1;
+ _entity.Extend2 = invoice.Extend2;
_entity.ContractPrice = invoice.ContractPrice;
_entity.BlancePrice = invoice.BlancePrice;
_entity.DiscountPrice = invoice.DiscountPrice;//问题
@@ -1641,6 +1642,8 @@ namespace CK.SCP.Controller
{
_entity.UpdateTime = invoice.UpdateTime.Value;
}
+ _entity.Extend1 = invoice.Extend1;
+ _entity.Extend2 = invoice.Extend2;
_entity.ContractPrice = invoice.ContractPrice;
_entity.BlancePrice = invoice.BlancePrice;
_entity.DiscountPrice = invoice.DiscountPrice;//问题
@@ -1850,6 +1853,8 @@ namespace CK.SCP.Controller
_bill.InvoiceNum = p_invoice.InvoiceNum;
_bill.ExpressNum = p_invoice.ExpressNum;
_bill.ContractPrice = p_invoice.ContractPrice;
+ _bill.Extend1 = p_invoice.Extend1;
+ _bill.Extend2 = p_invoice.Extend2;
_bill.BlancePrice = p_invoice.BlancePrice;
_bill.DiscountPrice = p_invoice.DiscountPrice;
_bill.DiscountRemark = p_invoice.DiscountRemark;
diff --git a/Models/ScpEntity/TB_INVOICE.cs b/Models/ScpEntity/TB_INVOICE.cs
index 89cdd45..13671bb 100644
--- a/Models/ScpEntity/TB_INVOICE.cs
+++ b/Models/ScpEntity/TB_INVOICE.cs
@@ -33,5 +33,10 @@ namespace CK.SCP.Models.ScpEntity
public string DiscountRemark { get; set; }
public bool IsRed { get; set; }
+ public decimal? Extend1 { get; set; }
+ public decimal? Extend2 { get; set; }
+ public decimal? Extend3 { get; set; }
+ public decimal? Extend4 { get; set; }
+ public decimal? Extend5 { get; set; }
}
}
diff --git a/Models/ScpEntity/V_TB_INVOICE.cs b/Models/ScpEntity/V_TB_INVOICE.cs
index 3968eed..35bb58d 100644
--- a/Models/ScpEntity/V_TB_INVOICE.cs
+++ b/Models/ScpEntity/V_TB_INVOICE.cs
@@ -83,6 +83,10 @@ namespace CK.SCP.Models.ScpEntity
public decimal? RealTotal { set; get; }
-
+ public decimal? Extend1 { get; set; }
+ public decimal? Extend2 { get; set; }
+ public decimal? Extend3 { get; set; }
+ public decimal? Extend4 { get; set; }
+ public decimal? Extend5 { get; set; }
}
}
diff --git a/Models/UniApiEntity/xxscm_inv_det.cs b/Models/UniApiEntity/xxscm_inv_det.cs
index 774f34f..e5416ca 100644
--- a/Models/UniApiEntity/xxscm_inv_det.cs
+++ b/Models/UniApiEntity/xxscm_inv_det.cs
@@ -101,7 +101,11 @@ namespace CK.SCP.Models.UniApiEntity
public decimal xxscm_inv_totdiscount { get; set; }
public string xxscm_inv_project { get; set; }
-
+ public decimal xxscm_inv_extend1 { get; set; }
+ public decimal xxscm_inv_extend2 { get; set; }
+ public decimal xxscm_inv_extend3 { get; set; }
+ public decimal xxscm_inv_extend4 { get; set; }
+ public decimal xxscm_inv_extend5 { get; set; }
diff --git a/SCP/SCP.csproj b/SCP/SCP.csproj
index 6de39e2..6900504 100644
--- a/SCP/SCP.csproj
+++ b/SCP/SCP.csproj
@@ -4570,8 +4570,14 @@
+
+
+
+
+
+
@@ -6054,6 +6060,20 @@
SCP_ASN_DETAIL.aspx
+
+ SCP_INVOICE.aspx
+ ASPXCodeBehind
+
+
+ SCP_INVOICE.aspx
+
+
+ SCP_INVOICE_EDIT.aspx
+ ASPXCodeBehind
+
+
+ SCP_INVOICE_EDIT.aspx
+
SCP_SELECT_MAKE.aspx
ASPXCodeBehind
@@ -6068,6 +6088,34 @@
SCP_SHIP_DETAIL_BARCODE.aspx
+
+ SCP_INVOICE.aspx
+ ASPXCodeBehind
+
+
+ SCP_INVOICE.aspx
+
+
+ SCP_INVOICE_CONFIRM.aspx
+ ASPXCodeBehind
+
+
+ SCP_INVOICE_CONFIRM.aspx
+
+
+ SCP_INVOICE_CONFIRM_DETAIL.aspx
+ ASPXCodeBehind
+
+
+ SCP_INVOICE_CONFIRM_DETAIL.aspx
+
+
+ SCP_INVOICE_DELTAIL.aspx
+ ASPXCodeBehind
+
+
+ SCP_INVOICE_DELTAIL.aspx
+
SCP_ASK.aspx
ASPXCodeBehind
diff --git a/SCP/Views/WarehouseData/SCP_INVOICE.aspx.cs b/SCP/Views/WarehouseData/SCP_INVOICE.aspx.cs
index 46b3a59..bae1d0c 100644
--- a/SCP/Views/WarehouseData/SCP_INVOICE.aspx.cs
+++ b/SCP/Views/WarehouseData/SCP_INVOICE.aspx.cs
@@ -167,7 +167,7 @@ namespace SCP.WarehouseData
protected void Grid_V_TB_INVOICE_RowDoubleClick(object sender, FineUI.GridRowClickEventArgs e)
{
string ID = GetSelectedDataKey(Grid_V_TB_INVOICE, 1);
- string url = String.Format("../SupplierData/SCP_INVOICE_DETAIL.aspx?ID={0}", ID);
+ string url = String.Format("../WarehouseData/SCP_INVOICE_DETAIL.aspx?ID={0}", ID);
PageContext.RegisterStartupScript(Window1.GetShowReference(url));
}
diff --git a/SCP/Views/锦州锦恒/SupplierData/SCP_INVOICE.aspx b/SCP/Views/锦州锦恒/SupplierData/SCP_INVOICE.aspx
new file mode 100644
index 0000000..a96b085
--- /dev/null
+++ b/SCP/Views/锦州锦恒/SupplierData/SCP_INVOICE.aspx
@@ -0,0 +1,151 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SCP_INVOICE.aspx.cs" Inherits="SCP.Views.锦州锦恒.SupplierData.SCP_INVOICE" %>
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/SCP/Views/锦州锦恒/SupplierData/SCP_INVOICE.aspx.cs b/SCP/Views/锦州锦恒/SupplierData/SCP_INVOICE.aspx.cs
new file mode 100644
index 0000000..15eaf04
--- /dev/null
+++ b/SCP/Views/锦州锦恒/SupplierData/SCP_INVOICE.aspx.cs
@@ -0,0 +1,201 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Web.UI.WebControls;
+using CK.SCP.Models.ScpEntity;
+using CK.SCP.Controller;
+using FineUI;
+using System.Data;
+using System.Drawing;
+
+namespace SCP.Views.锦州锦恒.SupplierData
+{
+ public partial class SCP_INVOICE : PageBase
+ {
+
+ public void Page_Load(object sender, EventArgs e)
+ {
+ IsRoleRight();
+
+ if (!IsPostBack)
+ {
+ TranslatorAgents(Toolbar1);
+ TranslatorAgent(Grid_V_TB_INVOICE);
+ TranslatorAgents(FormRow_1);
+ TranslatorAgents(FormRow_2);
+ TranslatorAgents(FormRow_3);
+ TranslatorAgents(FormRow_4);
+ BindInvoice();
+ BindVender(DDL_VEND_LIST);
+ }
+ }
+
+ public void IsRoleRight()
+ {
+ if (CurrentUser.RoleList.Contains("采购人员"))
+ {
+ DDL_VEND_LIST.Hidden = false;
+ BTN_INV.Hidden = false;
+ }
+ }
+
+ public void BindInvoice()
+ {
+ SearchInvoice(ret => {
+ Grid_V_TB_INVOICE.RecordCount = ret.Count();
+ ret = SortAndPage(ret, Grid_V_TB_INVOICE);
+
+ var _ls = ret.ToList();
+
+ Grid_V_TB_INVOICE.DataSource = ret;
+ Grid_V_TB_INVOICE.DataBind();
+ });
+ }
+ public void SearchInvoice(Action> p_action)
+ {
+ V_TB_INVOICE _entity = new V_TB_INVOICE();
+ _entity.InvcBillNum = TXT_InvcBillNum.Text;
+ _entity.VendName = TXT_VendName.Text;
+ _entity.InvoiceNum = TXT_InvoiceNum.Text;
+ _entity.UserInVendIds = CurrentUser.VenderList;
+ if (CurrentUser.RoleList.Contains("采购人员"))
+ {
+ if (string.IsNullOrEmpty(DDL_VEND_LIST.SelectedValue))
+ {
+ Alert.Show("选择开票的供应商,并点击确认!");
+ return;
+ }
+ var _venderId = DDL_VEND_LIST.SelectedValue;
+ _entity.VendId = _venderId;
+ }
+ else
+ {
+ if (CurrentUser.VenderList != null && CurrentUser.VenderList.Count > 0)
+ {
+ _entity.VendId = CurrentUser.VenderList[0];
+ }
+ }
+ if (CurrentUser.FactoryList != null && CurrentUser.FactoryList.Count > 0)
+ {
+ _entity.Site = CurrentUser.FactoryList[0];
+ }
+ _entity.InvoiceList = SCP_INVOICE_CONTROLLER.Get_V_TB_INVOICE_BY_TIME(DP_CreateTime1.Text, DP_CreateTime2.Text, TXT_PO.Text, TXT_ASN.Text);
+ SCP_INVOICE_CONTROLLER.Get_V_TB_INVOICE_List(_entity, (ret) =>
+ {
+ if (ret.State == ReturnStatus.Succeed)
+ {
+ if (_entity.InvoiceList == null || _entity.InvoiceList.Count == 0)
+ {
+ Alert.Show("未查询到符合条件的发票!");
+ }
+ p_action(ret.Result);
+ }
+ });
+ }
+ protected void btnView_OnClick(object sender, EventArgs e)
+ {
+ if (Grid_V_TB_INVOICE.SelectedRowIndexArray.Length != 1)
+ {
+ Alert.Show("请选择一行要操作的记录!");
+ return;
+ }
+ string roleID = GetSelectedDataKey(Grid_V_TB_INVOICE, 1);
+ string url = String.Format("../SupplierData/SCP_INVOICE_EDIT.aspx?ID={0}", roleID);
+ PageContext.RegisterStartupScript(Window1.GetShowReference(url));
+ }
+
+
+ //显示面板
+ protected void btnShow_OnClick(object sender, EventArgs e)
+ {
+ gp1.Hidden = false;
+ }
+ //关闭面板
+ protected void OnClick(object sender, EventArgs e)
+ {
+ gp1.Hidden = true;
+ }
+
+
+ protected void Grid_V_TB_INVOICE_PageIndexChange(object sender, FineUI.GridPageEventArgs e)
+ {
+ BindInvoice();
+ }
+
+ protected void Grid_V_TB_INVOICE_RowDoubleClick(object sender, FineUI.GridRowClickEventArgs e)
+ {
+ //string roleID = GetSelectedDataKey(Grid1, 1);
+ //string url = String.Format("../SupplierData/InvoiceDetail.aspx?ID={0}", roleID);
+ //PageContext.RegisterStartupScript(Window1.GetShowReference(url));
+ }
+
+ protected void ddlGridPageSize_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ Grid_V_TB_INVOICE.PageSize = Convert.ToInt32(ddlGridPageSize.SelectedValue);
+ BindInvoice();
+ }
+ protected void BTN_SEARCH_Click(object sender, EventArgs e)
+ {
+ BindInvoice();
+ }
+ //导出
+ protected void btnOutput_OnClick(object sender, EventArgs e)
+ {
+ int[] _selections = Grid_V_TB_INVOICE.SelectedRowIndexArray;
+ if (_selections.Count() == 0)
+ {
+ Alert.Show("请选择发票记录导出!");
+ }
+ List _ls = new List();
+ for (int i = 0, count = Grid_V_TB_INVOICE.Rows.Count; i < count; i++)
+ {
+ if (_selections.Contains(i))
+ {
+ object[] rowDataKeys = Grid_V_TB_INVOICE.DataKeys[i];
+ _ls.Add(rowDataKeys[1] as string);
+ }
+ }
+ if (_ls.Count == 0)
+ {
+ Alert.Show("请选择记录导出!");
+ return;
+ }
+ DataSet ds = SCP_EXCEL_CONTROLLER.GET_INVOICE_EXECEL(_ls);
+ ds.Tables[1].Columns.Remove("成本价");
+ PageBase.DataSetToExcel(ds, "导出发票");
+ }
+
+ protected void Grid_V_TB_INVOICE_RowDataBound(object sender, GridRowEventArgs e)
+ {
+ int i = 0;
+ System.Web.UI.WebControls.Label _label = (System.Web.UI.WebControls.Label)Grid_V_TB_INVOICE.Rows[e.RowIndex].FindControl("Total1");
+ if (!string.IsNullOrEmpty(_label.Text))
+ {
+ try
+ {
+ if (decimal.Parse(_label.Text) < 0)
+ {
+ _label.ForeColor = Color.Red;
+ i++;
+ }
+ }
+ catch
+ { }
+ }
+ //if (i > 0)
+ //{
+ // Alert.Show("请尽快处理索赔和退货数据,如果不处理新建发票将")
+ //}
+ }
+
+ protected void BTN_INV_Click(object sender, EventArgs e)
+ {
+ BindInvoice();
+ }
+
+ protected void Window1_Close(object sender, WindowCloseEventArgs e)
+ {
+ BindInvoice();
+ }
+ }
+}
\ No newline at end of file
diff --git a/SCP/Views/锦州锦恒/SupplierData/SCP_INVOICE.aspx.designer.cs b/SCP/Views/锦州锦恒/SupplierData/SCP_INVOICE.aspx.designer.cs
new file mode 100644
index 0000000..d3ec1cb
--- /dev/null
+++ b/SCP/Views/锦州锦恒/SupplierData/SCP_INVOICE.aspx.designer.cs
@@ -0,0 +1,314 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace SCP.Views.锦州锦恒.SupplierData
+{
+
+
+ public partial class SCP_INVOICE
+ {
+
+ ///
+ /// form1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+
+ ///
+ /// PageManager1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.PageManager PageManager1;
+
+ ///
+ /// Panel1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Panel Panel1;
+
+ ///
+ /// Toolbar1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Toolbar Toolbar1;
+
+ ///
+ /// Button3 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Button Button3;
+
+ ///
+ /// btnView 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Button btnView;
+
+ ///
+ /// btnOutput 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Button btnOutput;
+
+ ///
+ /// btnShow 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Button btnShow;
+
+ ///
+ /// DDL_VEND_LIST 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.DropDownList DDL_VEND_LIST;
+
+ ///
+ /// BTN_INV 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Button BTN_INV;
+
+ ///
+ /// gp1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.GroupPanel gp1;
+
+ ///
+ /// FormRow_1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.FormRow FormRow_1;
+
+ ///
+ /// ckb 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.CheckBoxList ckb;
+
+ ///
+ /// FormRow_2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.FormRow FormRow_2;
+
+ ///
+ /// TXT_InvcBillNum 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.TextBox TXT_InvcBillNum;
+
+ ///
+ /// TXT_VendName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.TextBox TXT_VendName;
+
+ ///
+ /// TXT_InvoiceNum 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.TextBox TXT_InvoiceNum;
+
+ ///
+ /// TXT_PO 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.TextBox TXT_PO;
+
+ ///
+ /// FormRow_3 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.FormRow FormRow_3;
+
+ ///
+ /// TXT_Site 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.TextBox TXT_Site;
+
+ ///
+ /// TXT_ASN 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.TextBox TXT_ASN;
+
+ ///
+ /// DP_CreateTime1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.DatePicker DP_CreateTime1;
+
+ ///
+ /// DP_CreateTime2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.DatePicker DP_CreateTime2;
+
+ ///
+ /// FormRow_4 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.FormRow FormRow_4;
+
+ ///
+ /// BTN_SEARCH 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Button BTN_SEARCH;
+
+ ///
+ /// Grid_V_TB_INVOICE 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Grid Grid_V_TB_INVOICE;
+
+ ///
+ /// ToolbarSeparator1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.ToolbarSeparator ToolbarSeparator1;
+
+ ///
+ /// ToolbarText1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.ToolbarText ToolbarText1;
+
+ ///
+ /// ddlGridPageSize 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.DropDownList ddlGridPageSize;
+
+ ///
+ /// Total1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.WebControls.Label Total1;
+
+ ///
+ /// Window1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Window Window1;
+
+ ///
+ /// Window2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Window Window2;
+
+ ///
+ /// WindowUpload 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Window WindowUpload;
+ }
+}
diff --git a/SCP/Views/锦州锦恒/SupplierData/SCP_INVOICE_EDIT.aspx b/SCP/Views/锦州锦恒/SupplierData/SCP_INVOICE_EDIT.aspx
new file mode 100644
index 0000000..9ad6a99
--- /dev/null
+++ b/SCP/Views/锦州锦恒/SupplierData/SCP_INVOICE_EDIT.aspx
@@ -0,0 +1,138 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SCP_INVOICE_EDIT.aspx.cs" Inherits="SCP.Views.锦州锦恒.SupplierData.SCP_INVOICE_EDIT" %>
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/SCP/Views/锦州锦恒/SupplierData/SCP_INVOICE_EDIT.aspx.cs b/SCP/Views/锦州锦恒/SupplierData/SCP_INVOICE_EDIT.aspx.cs
new file mode 100644
index 0000000..c9b69d5
--- /dev/null
+++ b/SCP/Views/锦州锦恒/SupplierData/SCP_INVOICE_EDIT.aspx.cs
@@ -0,0 +1,589 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Web;
+using System.Web.UI;
+using System.Web.UI.WebControls;
+using CK.SCP.Common;
+using CK.SCP.Controller;
+using CK.SCP.Models.Enums;
+using CK.SCP.Models.ScpEntity;
+using CK.SCP.Utils;
+using FineUI;
+using System.Drawing;
+
+namespace SCP.Views.锦州锦恒.SupplierData
+{
+ public partial class SCP_INVOICE_EDIT : PageBase
+ {
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ IsRoleRight();
+
+ if (!IsPostBack)
+ {
+ TranslatorAgents(Toolbar2);
+ TranslatorAgent(Grid1);
+ TranslatorAgents(FormRow_1);
+ TranslatorAgents(FormRow_2);
+ TranslatorAgents(FormRow_3);
+ TranslatorAgents(FormRow_4);
+ BindData();
+ GetInvoice();
+ SetRoleRule();
+
+ }
+ }
+
+ public void IsRoleRight()
+ {
+ //if (!CurrentUser.RoleList.Contains("供应商"))
+ //{
+ // Alert.Show("当前用户角色不能操作该模块!");
+ // return;
+ //}
+ //if (CurrentUser.VenderList == null || CurrentUser.VenderList.Count == 0)
+ //{
+ // Alert.Show("当前用户未选择地点!");
+ // return;
+ //}
+ }
+
+ private void SetRoleRule()
+ {
+ //IsPriceVisible(Grid1, "合同价格");
+ //IsPriceVisible(Grid1, "合同差额");
+ IsPriceVisible(Grid1, "要货日期");
+ }
+
+ public decimal ToDecimal(decimal num, int scale)
+ {
+ decimal tempOdds = Math.Round(num, scale);
+ //if (tempOdds > num)
+ //{
+ // num = (decimal)((double)(tempOdds - (decimal)Math.Pow(10, -scale)));
+ //}
+ //else
+ //{
+ // num = (decimal)((double)tempOdds);
+ //}
+ //return num;
+ return tempOdds;
+ }
+
+ private void Search(Action> p_list)
+ {
+
+ string id = GetQueryValue("ID");
+ V_TB_INVOICE_DETAIL _tb = new V_TB_INVOICE_DETAIL();
+ _tb.InvcBillNum = id;
+ SCP_INVOICE_CONTROLLER.Get_V_TB_INVOICE_DETAIL_List(_tb, (ret) => {
+
+ if (ret.State == ReturnStatus.Succeed)
+ {
+ p_list(ret.Result);
+ }
+
+ });
+ }
+
+ public void BindData()
+ {
+ Search(ret =>
+ {
+ Grid1.RecordCount = ret.Count();
+ var list = SortAndPage(ret, Grid1);
+ //Grid1.DataSource =SCP_RECIVECE_CONTROLLER.Get_V_TB_INVOICE_LIST(list.ToList());
+ List temp = SCP_RECIVECE_CONTROLLER.Get_V_TB_INVOICE_LIST(list.ToList());
+ temp = SCP_CONTRACT_CONTROLLER.GET_CONTRACT_PRICE_LIST(temp);
+
+ //decimal htjgSum = 0;//合同总价
+ //decimal htceSum = 0;//合同差额
+ //foreach (V_TB_INVOICE_DETAIL rec in temp)
+ //{
+ // rec.Qty = ToDecimal(rec.Qty, 2);
+ // rec.CanQty = ToDecimal(rec.CanQty, 2);
+
+ // htjgSum += rec.Qty * (rec.ContractPrice == null ? 0 : Convert.ToDecimal(rec.ContractPrice));//开票数量*合同价格
+ // htceSum += rec.Qty * (rec.BlancePrice == null ? 0 : Convert.ToDecimal(rec.BlancePrice));//开票数量*合同差额
+ //}
+
+ //txtContractPrice1.Text = htjgSum.ToString();
+ //txtBlancePrice1.Text = htceSum.ToString();
+ GetInvoice();
+ Grid1.DataSource = temp;
+ Grid1.DataBind();
+ });
+
+
+ }
+
+ private void GetInvoice()
+ {
+ string id = GetQueryValue("ID");
+ string vendid = "";
+ if (CurrentUser.VenderList != null && CurrentUser.VenderList.Count > 0)
+ {
+ vendid = CurrentUser.VenderList[0];
+ }
+
+ SCP_INVOICE_CONTROLLER.Get_V_TB_INVOICE_List(new V_TB_INVOICE { InvcBillNum = id, VendId = vendid }, (ret) => {
+
+ if (ret.State == ReturnStatus.Succeed)
+ {
+ var _ls = ret.Result.ToList();
+ if (_ls != null && _ls.Count > 0)
+ {
+ var _Model = _ls[0];
+ Session["Invoice"] = _Model;
+ txtState.Text = _Model.State_DESC;
+ txtBillNo.Text = _Model.InvcBillNum;
+ txtBillTime.Text = Convert.ToDateTime(_Model.CreateTime).ToString("yyyy-MM-dd");
+ txtSupplierName.Text = _Model.VendName;
+ txtInvoiceNumber.Text = _Model.InvoiceNum;
+ txtExpressNumber.Text = _Model.ExpressNum;
+ dpUpdateTime.SelectedDate = _Model.UpdateTime;
+ txtTax.SelectedValue = _Model.Tax != null ? _Model.Tax.Value.ToString() : "0";
+ txtTaxAmount.Text = _Model.TaxAmount != null ? _Model.TaxAmount.Value.ToString() : "0";
+ txtContractPrice1.Text = _Model.ContractPrice != null ? _Model.ContractPrice.ToString() : string.Empty;
+ txtBlancePrice1.Text = _Model.BlancePrice != null ? _Model.BlancePrice.ToString() : string.Empty;
+ txtAmount.Text = _Model.Amount.ToString();
+ txtTotal.Text = _Model.Total != null ? _Model.Total.ToString() : string.Empty;
+ txtExtend1.Text = _Model.Extend1 != null ? _Model.Extend1.ToString() : string.Empty;
+ txtExtend2.Text = _Model.Extend2 != null ? _Model.Extend2.ToString() : string.Empty;
+ txtRealTotal.Text = _Model.RealTotal != null ? _Model.RealTotal.ToString() : string.Empty;
+ txtMemo.Text = _Model.Remark;
+ if (_Model.State == (int)InvoiceState.New || _Model.State == (int)InvoiceState.CheckFail)
+ {
+ this.btnOK.Hidden = false;
+ this.btnApply.Hidden = false;
+ this.btnReject.Hidden = false;
+ }
+
+ if (_Model.State == (int)InvoiceState.Reject)
+ {
+ this.btnReject.Hidden = true;
+ this.btnOK.Hidden = false;
+ }
+
+ if (_Model.State == (int)InvoiceState.Apply)
+ {
+ this.btnOK.Hidden = true;
+ this.btnApply.Hidden = true;//提交申请
+ this.btnReject.Hidden = true;//发票作废
+ this.btnMail.Hidden = true;//寄出发票
+ }
+
+ if (_Model.State == (int)InvoiceState.Mail)
+ {
+ this.btnOK.Hidden = true;//确定修改
+ this.btnApply.Hidden = true;//提交申请
+ this.btnReject.Hidden = true;//发票作废
+ this.btnMail.Hidden = true;//寄出发票
+
+ txtInvoiceNumber.Readonly = true;
+ txtInvoiceNumber.Required = false;
+
+ txtExpressNumber.Readonly = true;
+ txtExpressNumber.Required = false;
+
+ txtContractPrice1.Readonly = true;
+ txtContractPrice1.Required = false;
+ txtContractPrice1.Enabled = false;
+
+ txtBlancePrice1.Readonly = true;
+ txtBlancePrice1.Required = false;
+ txtBlancePrice1.Enabled = false;
+
+ txtExtend1.Readonly = true;
+ txtExtend1.Required = false;
+ txtExtend1.Enabled = false;
+
+ txtExtend2.Readonly = true;
+ txtExtend2.Required = false;
+ txtExtend2.Enabled = false;
+
+ txtTax.Enabled = false;
+ Label1.Enabled = false;
+
+ }
+
+ if (_Model.State == (int)InvoiceState.FinanceFail || _Model.State == (int)InvoiceState.CheckSuccess)
+ {
+ txtInvoiceNumber.Readonly = false;
+ txtInvoiceNumber.Required = true;
+ txtExpressNumber.Readonly = false;
+ txtContractPrice1.Readonly = false;
+ txtContractPrice1.Required = false;
+ txtExtend1.Readonly = false;
+ txtExtend1.Required = false;
+ txtExtend2.Readonly = false;
+ txtExtend2.Required = false;
+ txtBlancePrice1.Readonly = false;
+ txtBlancePrice1.Required = false;
+ this.btnMail.Hidden = false;
+ this.btnReject.Hidden = false;
+ this.btnOK.Hidden = false;
+ txtInvoiceNumber.Enabled = true;
+ txtExpressNumber.Enabled = true;
+ dpUpdateTime.Enabled = true;
+ }
+ if (_Model.State == (int)InvoiceState.CheckSuccess)
+ {
+ this.btnOK.Hidden = true;
+ txtMemo.Enabled = false;
+
+ for (int i = 0, count = Grid1.Rows.Count; i < count; i++)
+ {
+ object[] rowDataKeys = Grid1.DataKeys[i];
+ GridRow row = Grid1.Rows[i];
+
+ var txtPrice = (System.Web.UI.WebControls.TextBox)row.FindControl("txtPrice");
+ var txtQty = (System.Web.UI.WebControls.TextBox)row.FindControl("txtQty");
+ var txtLineMemo = (System.Web.UI.WebControls.TextBox)row.FindControl("txtLineMemo");
+
+
+ txtPrice.ReadOnly = true;
+ txtPrice.Enabled = false;
+ txtQty.ReadOnly = true;
+ txtQty.Enabled = false;
+ txtLineMemo.ReadOnly = true;
+ txtLineMemo.Enabled = false;
+
+ }
+ }
+ }
+ }
+ });
+
+
+ }
+
+
+ protected void btnOK_Click(object sender, EventArgs e)
+ {
+
+ var _invoice = Session["Invoice"] as V_TB_INVOICE;
+
+ string InvoiceNumber = MyWebString.GetString(this.txtInvoiceNumber.Text.Trim());
+ string Memo = MyWebString.GetString(this.txtMemo.Text.Trim());
+ string ExpressNumber = MyWebString.GetString(this.txtExpressNumber.Text.Trim());
+ string ContractPrice1 = MyWebString.GetString(this.txtContractPrice1.Text.Trim());//折扣
+ string BlancePrice1 = MyWebString.GetString(this.txtBlancePrice1.Text.Trim());//税额调整
+ string Extend1 = MyWebString.GetString(this.txtExtend1.Text.Trim());//实际发票税前金额
+ string Extend2 = MyWebString.GetString(this.txtExtend2.Text.Trim());//实际发票税额
+ //if (_invoice.State != (int)InvoiceState.New &&
+ // _invoice.State != (int)InvoiceState.CheckFail)
+ //{
+ // Alert.Show(_invoice.InvcBillNum + " 不允许修改,只有状态为 " + "新建" + " 或 " +
+ // "采购退回" + " 才能修改");
+ // return;
+ //}
+ if (!string.IsNullOrEmpty(txtTax.SelectedValue))
+ {
+ _invoice.Tax = decimal.Parse(txtTax.SelectedValue);
+ }
+ _invoice.InvoiceNum = InvoiceNumber;
+ _invoice.Remark = Memo;
+ _invoice.ExpressNum = ExpressNumber;
+
+ //_invoice.UpdateTime = dpUpdateTime.SelectedDate.Value;
+ //_invoice.State = (int)InvoiceState.Apply;
+ if (string.IsNullOrEmpty(Extend1))
+ {
+ _invoice.Extend1 = 0;
+ }
+ if (string.IsNullOrEmpty(Extend2))
+ {
+ _invoice.Extend2 = 0;
+ }
+ if (string.IsNullOrEmpty(ContractPrice1))
+ {
+ _invoice.ContractPrice = 0;
+ }
+
+ if (string.IsNullOrEmpty(BlancePrice1))
+ {
+ _invoice.BlancePrice = 0;
+ }
+
+ if (_invoice.State == (int)InvoiceState.CheckSuccess)
+ {
+
+ if (dpUpdateTime.SelectedDate == null)
+ {
+ Alert.Show("发票时间必须填写,时间为纸质发票开票时间");
+ return;
+ }
+ else
+ {
+ _invoice.UpdateTime = dpUpdateTime.SelectedDate.Value;
+ }
+ }
+
+ decimal c1;
+ decimal b1;
+ decimal d1;
+ decimal e1;
+ if (decimal.TryParse(ContractPrice1, out c1))
+ {
+ _invoice.ContractPrice = c1;
+ }
+ if (decimal.TryParse(Extend1, out d1))
+ {
+ _invoice.Extend1 = d1;
+ }
+ if (decimal.TryParse(Extend2, out e1))
+ {
+ _invoice.Extend2 = e1;
+ }
+ if (decimal.TryParse(BlancePrice1, out b1))
+ {
+ _invoice.BlancePrice = b1;
+ }
+ List _ls = new List();
+ if (this.txtQty.ReadOnly == false)
+ {
+
+ for (int i = 0, count = Grid1.Rows.Count; i < count; i++)
+ {
+ object[] rowDataKeys = Grid1.DataKeys[i];
+ GridRow row = Grid1.Rows[i];
+
+ V_TB_INVOICE_DETAIL _entity = new V_TB_INVOICE_DETAIL();
+ _entity.UID = ConvertHelper.To(rowDataKeys[0]);
+ _entity.InvcBillNum = rowDataKeys[1] as string;
+ _entity.Qty = ConvertHelper.To(rowDataKeys[2]);
+ _entity.CanQty = ConvertHelper.To(rowDataKeys[3]);
+ _entity.State = ConvertHelper.To(rowDataKeys[4]);
+ var txtQty = (System.Web.UI.WebControls.TextBox)row.FindControl("txtQty");
+ var txtPrice = (System.Web.UI.WebControls.TextBox)row.FindControl("txtPrice");
+ var txtLineMemo = (System.Web.UI.WebControls.TextBox)row.FindControl("txtLineMemo");
+ //var txtContractPrice = (System.Web.UI.WebControls.TextBox)row.FindControl("txtContractPrice");
+ //var txtBlancePrice = (System.Web.UI.WebControls.TextBox)row.FindControl("txtBlancePrice");
+
+ decimal QtyNew = 0;
+ try
+ {
+ if (txtQty.Text.Trim() != "")
+ {
+ QtyNew = Convert.ToDecimal(txtQty.Text.Trim());
+ }
+ }
+ catch
+ {
+ Alert.Show("开票数量输入不正确");
+ return;
+ }
+
+ if (QtyNew > _entity.CanQty + _entity.Qty)
+ {
+ Alert.Show("开票数量不能大于可用开数票");
+ return;
+
+ }
+
+ decimal PriceNew = 0;
+ try
+ {
+ if (txtPrice.Text.Trim() != "")
+ {
+ PriceNew = Convert.ToDecimal(txtPrice.Text.Trim());
+ }
+ }
+ catch
+ {
+ Alert.Show("单价输入不正确");
+ return;
+ }
+
+
+
+ _entity.Remark = txtLineMemo.Text;
+ _entity.Price = PriceNew;
+ _entity.Qty = QtyNew;
+
+
+ _ls.Add(_entity);
+
+ }
+ }
+
+ if (_ls.Count > 0)
+ {
+ var ret = SCP_INVOICE_CONTROLLER.SAVE_TB_INVOICE_APPLY(_invoice, _ls);
+ if (ret.State == ReturnStatus.Succeed)
+ {
+
+ Alert.Show("发票明细修改成功!");
+
+ BindData();
+ }
+ }
+ else
+ {
+ Alert.Show("更改记录数为零");
+ }
+
+ }
+ private void SET_INVOICE_STATE(string p_msg, InvoiceState p_state)
+ {
+ if (Session["Invoice"] != null)
+ {
+ var _Invoice = Session["Invoice"] as V_TB_INVOICE;
+
+ string InvoiceNumber = MyWebString.GetString(this.txtInvoiceNumber.Text.Trim());//金税票号
+ string ExpressNumber = MyWebString.GetString(this.txtExpressNumber.Text.Trim());//快递单号
+ string Extend1 = MyWebString.GetString(this.txtExtend1.Text.Trim());//折扣价格
+ string Extend2 = MyWebString.GetString(this.txtExtend2.Text.Trim());//折扣价格
+ string ContractPrice1 = MyWebString.GetString(this.txtContractPrice1.Text.Trim());//折扣价格
+ string BlancePrice1 = MyWebString.GetString(this.txtBlancePrice1.Text.Trim());//合同差额
+
+ _Invoice.InvoiceNum = InvoiceNumber;
+ _Invoice.ExpressNum = ExpressNumber;
+ _Invoice.UpdateTime = dpUpdateTime.SelectedDate;
+ if (string.IsNullOrEmpty(Extend1))
+ {
+ _Invoice.Extend1 = 0;
+ }
+ if (string.IsNullOrEmpty(Extend2))
+ {
+ _Invoice.Extend2 = 0;
+ }
+ if (string.IsNullOrEmpty(ContractPrice1))
+ {
+ _Invoice.ContractPrice = 0;
+ }
+ if (string.IsNullOrEmpty(BlancePrice1))
+ {
+ _Invoice.BlancePrice = 0;
+ }
+
+ decimal c1;
+ decimal b1;
+ decimal d1;
+ decimal e1;
+ if (decimal.TryParse(Extend1, out d1))
+ {
+ _Invoice.Extend1 = d1;
+ }
+ else
+ {
+ _Invoice.Extend1 = 0;
+ }
+ if (decimal.TryParse(Extend2, out e1))
+ {
+ _Invoice.Extend2 = e1;
+ }
+ else
+ {
+ _Invoice.Extend2 = 0;
+ }
+ if (decimal.TryParse(ContractPrice1, out c1))
+ {
+ _Invoice.ContractPrice = c1;
+ }
+ else
+ {
+ _Invoice.ContractPrice = 0;
+ }
+
+ if (decimal.TryParse(BlancePrice1, out b1))
+ {
+ _Invoice.BlancePrice = b1;
+ }
+ else
+ {
+ _Invoice.BlancePrice = 0;
+ }
+
+ if (p_state == InvoiceState.Mail)
+ {
+ if (string.IsNullOrEmpty(InvoiceNumber))
+ {
+ Alert.Show("请填写金税票号!");
+ return;
+ }
+
+ if (string.IsNullOrEmpty(ExpressNumber))
+ {
+ Alert.Show("请填写快递单号!");
+ return;
+ }
+ if (dpUpdateTime.SelectedDate == null)
+ {
+ Alert.Show("发票时间必须填写,时间为纸质发票开票时间");
+ return;
+ }
+
+
+ }
+
+ var ret = SCP_INVOICE_CONTROLLER.SAVE_TB_INVOICE_STATE(_Invoice, p_state, CurrentUser.ChineseName);
+ if (ret.State == ReturnStatus.Succeed)
+ {
+ Alert.Show(p_msg);
+
+ BindData();
+ GetInvoice();
+ }
+ else
+ {
+ Alert.Show(ret.Message);
+ }
+ }
+ }
+
+ protected void btnApply_Click(object sender, EventArgs e)
+ {
+
+ SET_INVOICE_STATE("发票申请成功!", InvoiceState.Apply);
+
+ }
+
+ protected void btnMail_Click(object sender, EventArgs e)
+ {
+ SET_INVOICE_STATE("发票已经寄出!", InvoiceState.Mail);
+ }
+
+ protected void btnReject_Click(object sender, EventArgs e)
+ {
+ SET_INVOICE_STATE("发票已经作废!", InvoiceState.Reject);
+ }
+
+ protected void Window1_OnClose(object sender, WindowCloseEventArgs e)
+ {
+ //string id = GetQueryValue("ID");
+
+ //TB_INVOICE model = InvoiceController.GetDataByBillInvoiceBillNum(id);
+ //InvoiceController.UpdateDataRemark(e.CloseArgument, model);
+
+ }
+
+ protected void btnRed_Click(object sender, EventArgs e)
+ {
+ string id = GetQueryValue("ID");
+ V_TB_INVOICE _tb = new V_TB_INVOICE();
+ _tb.InvcBillNum = id;
+ var ret = SCP_INVOICE_CONTROLLER.Add_New_Red_Invoice(_tb);
+
+ if (ret.State == ReturnStatus.Succeed)
+ {
+ BindData();
+ GetInvoice();
+ }
+ }
+
+ protected void Grid1_RowDataBound(object sender, GridRowEventArgs e)
+ {
+ System.Web.UI.WebControls.TextBox _label = (System.Web.UI.WebControls.TextBox)Grid1.Rows[e.RowIndex].FindControl("txtQty");
+ if (!string.IsNullOrEmpty(_label.Text))
+ {
+ if (decimal.Parse(_label.Text) < 0)
+ {
+ _label.ForeColor = Color.Red;
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/SCP/Views/锦州锦恒/SupplierData/SCP_INVOICE_EDIT.aspx.designer.cs b/SCP/Views/锦州锦恒/SupplierData/SCP_INVOICE_EDIT.aspx.designer.cs
new file mode 100644
index 0000000..861d5c5
--- /dev/null
+++ b/SCP/Views/锦州锦恒/SupplierData/SCP_INVOICE_EDIT.aspx.designer.cs
@@ -0,0 +1,359 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace SCP.Views.锦州锦恒.SupplierData
+{
+
+
+ public partial class SCP_INVOICE_EDIT
+ {
+
+ ///
+ /// form1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+
+ ///
+ /// Panel1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Panel Panel1;
+
+ ///
+ /// Toolbar2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Toolbar Toolbar2;
+
+ ///
+ /// ToolbarSeparator3 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.ToolbarSeparator ToolbarSeparator3;
+
+ ///
+ /// btnOK 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Button btnOK;
+
+ ///
+ /// btnApply 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Button btnApply;
+
+ ///
+ /// btnMail 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Button btnMail;
+
+ ///
+ /// btnReject 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Button btnReject;
+
+ ///
+ /// btnRed 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Button btnRed;
+
+ ///
+ /// gp1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.GroupPanel gp1;
+
+ ///
+ /// FormRow_1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.FormRow FormRow_1;
+
+ ///
+ /// txtBillNo 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.TextBox txtBillNo;
+
+ ///
+ /// txtState 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.TextBox txtState;
+
+ ///
+ /// txtBillTime 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.TextBox txtBillTime;
+
+ ///
+ /// txtSupplierName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.TextBox txtSupplierName;
+
+ ///
+ /// FormRow_2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.FormRow FormRow_2;
+
+ ///
+ /// Label1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Label Label1;
+
+ ///
+ /// txtTax 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.DropDownList txtTax;
+
+ ///
+ /// txtAmount 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.TextBox txtAmount;
+
+ ///
+ /// txtTaxAmount 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.TextBox txtTaxAmount;
+
+ ///
+ /// txtTotal 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.TextBox txtTotal;
+
+ ///
+ /// FormRow_3 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.FormRow FormRow_3;
+
+ ///
+ /// txtExtend1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.NumberBox txtExtend1;
+
+ ///
+ /// txtExtend2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.NumberBox txtExtend2;
+
+ ///
+ /// txtContractPrice1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.NumberBox txtContractPrice1;
+
+ ///
+ /// txtBlancePrice1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.NumberBox txtBlancePrice1;
+
+ ///
+ /// txtRealTotal 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.TextBox txtRealTotal;
+
+ ///
+ /// FormRow_4 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.FormRow FormRow_4;
+
+ ///
+ /// txtInvoiceNumber 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.TextBox txtInvoiceNumber;
+
+ ///
+ /// txtExpressNumber 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.TextBox txtExpressNumber;
+
+ ///
+ /// dpUpdateTime 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.DatePicker dpUpdateTime;
+
+ ///
+ /// txtMemo 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.TextBox txtMemo;
+
+ ///
+ /// Grid1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Grid Grid1;
+
+ ///
+ /// txtPrice 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.WebControls.TextBox txtPrice;
+
+ ///
+ /// txtQty 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.WebControls.TextBox txtQty;
+
+ ///
+ /// txtLineMemo 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.WebControls.TextBox txtLineMemo;
+
+ ///
+ /// Window1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Window Window1;
+
+ ///
+ /// WindowUpload 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Window WindowUpload;
+ }
+}
diff --git a/SCP/Views/锦州锦恒/WarehouseData/SCP_INVOICE.aspx b/SCP/Views/锦州锦恒/WarehouseData/SCP_INVOICE.aspx
new file mode 100644
index 0000000..25d1c1b
--- /dev/null
+++ b/SCP/Views/锦州锦恒/WarehouseData/SCP_INVOICE.aspx
@@ -0,0 +1,142 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SCP_INVOICE.aspx.cs" Inherits="SCP.Views.锦州锦恒.WarehouseData.SCP_INVOICE" %>
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/SCP/Views/锦州锦恒/WarehouseData/SCP_INVOICE.aspx.cs b/SCP/Views/锦州锦恒/WarehouseData/SCP_INVOICE.aspx.cs
new file mode 100644
index 0000000..894fef4
--- /dev/null
+++ b/SCP/Views/锦州锦恒/WarehouseData/SCP_INVOICE.aspx.cs
@@ -0,0 +1,207 @@
+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.ScpEntity;
+using CK.SCP.Controller;
+using FineUI;
+using CK.SCP.Models.Enums;
+using System.Data.Entity;
+using System.Data.Entity.Migrations;
+using System.Data;
+
+namespace SCP.Views.锦州锦恒.WarehouseData
+{
+ public partial class SCP_INVOICE : PageBase
+ {
+ public void Page_Load(object sender, EventArgs e)
+ {
+
+ IsRoleRight();
+ if (!IsPostBack)
+ {
+ BindInvoice();
+ SetRoleRule();
+ BindVender(TXT_VendId);
+ }
+ }
+ public void IsRoleRight()
+ {
+ if (!CurrentUser.RoleList.Contains("财务人员"))
+ {
+ Alert.Show("当前用户角色不能操作该模块!");
+ return;
+ }
+ if (CurrentUser.FactoryList == null || CurrentUser.FactoryList.Count == 0)
+ {
+ Alert.Show("当前用户未选择地点!");
+ return;
+ }
+ }
+
+ private void SetRoleRule()
+ {
+ //IsPriceVisible(Grid_V_TB_INVOICE, "合同价格");
+ //IsPriceVisible(Grid_V_TB_INVOICE, "合同差额");
+ //IsPriceVisible(Grid_V_TB_INVOICE, "要货日期");
+ }
+ public void BindInvoice()
+ {
+ SearchInvoice((result) =>
+ {
+ Grid_V_TB_INVOICE.RecordCount = result.Count();
+ var list = SortAndPage(result, Grid_V_TB_INVOICE, "ASC");
+ Grid_V_TB_INVOICE.DataSource = list;
+ Grid_V_TB_INVOICE.DataBind();
+ });
+ }
+
+
+
+ public void SearchInvoice(Action> p_action)
+ {
+ V_TB_INVOICE _entity = new V_TB_INVOICE();
+ _entity.InvcBillNum = TXT_InvcBillNum.Text;
+ _entity.VendId = TXT_VendId.SelectedValue;
+ _entity.InvoiceNum = TXT_InvoiceNum.Text;
+ _entity.InvoiceList = SCP_INVOICE_CONTROLLER.Get_V_TB_INVOICE_BY_TIME(DP_CreateTime1.Text, DP_CreateTime2.Text, TXT_PO.Text, TXT_ASN.Text);
+ _entity.UserInAddress = CurrentUser.FactoryList;
+ _entity.BillStateList = GetStateList();
+ SCP_INVOICE_CONTROLLER.Get_V_TB_INVOICE_List(_entity, (ret) =>
+ {
+ if (ret.State == ReturnStatus.Succeed)
+ {
+ if (_entity.InvoiceList == null || _entity.InvoiceList.Count == 0)
+ {
+ Alert.Show("未查询到符合条件的发票!");
+ }
+ p_action(ret.Result);
+ }
+ });
+ }
+
+ private List GetStateList()
+ {
+ List lsValue = new List();
+ string[] values = ckb.SelectedValueArray;
+
+ if (values.Contains("0"))
+ {
+ lsValue.Add((int)InvoiceState.New);
+ }
+
+ if (values.Contains("1"))
+ {
+ lsValue.Add((int)InvoiceState.Apply);
+ }
+
+ if (values.Contains("2"))
+ {
+ lsValue.Add((int)InvoiceState.CheckFail);
+ }
+
+ if (values.Contains("3"))
+ {
+ lsValue.Add((int)InvoiceState.CheckSuccess);
+ }
+
+ if (values.Contains("4"))
+ {
+ lsValue.Add((int)InvoiceState.Mail);
+ }
+
+ if (values.Contains("5"))
+ {
+ lsValue.Add((int)InvoiceState.FinanceReceive);
+ }
+
+ if (values.Contains("6"))
+ {
+ lsValue.Add((int)InvoiceState.FinanceFail);
+ }
+ if (values.Contains("8"))
+ {
+ lsValue.Add((int)InvoiceState.CustomReceive);
+ }
+ return lsValue;
+ }
+ protected void btnView_OnClick(object sender, EventArgs e)
+ {
+ if (Grid_V_TB_INVOICE.SelectedRowIndexArray.Length == 0)
+ {
+ Alert.Show("请选择一行要操作的记录!");
+ return;
+ }
+ string ID = GetSelectedDataKey(Grid_V_TB_INVOICE, 1);
+ string url = String.Format("../WarehouseData/SCP_INVOICE_DELTAIL.aspx?ID={0}", ID);
+ PageContext.RegisterStartupScript(Window1.GetShowReference(url));
+ }
+ //显示面板
+ protected void btnShow_OnClick(object sender, EventArgs e)
+ {
+ gp1.Hidden = false;
+ }
+ //关闭面板
+ protected void OnClick(object sender, EventArgs e)
+ {
+ gp1.Hidden = true;
+ }
+
+
+ protected void Grid_V_TB_INVOICE_PageIndexChange(object sender, FineUI.GridPageEventArgs e)
+ {
+ BindInvoice();
+ }
+
+ protected void Grid_V_TB_INVOICE_RowDoubleClick(object sender, FineUI.GridRowClickEventArgs e)
+ {
+ string ID = GetSelectedDataKey(Grid_V_TB_INVOICE, 1);
+ string url = String.Format("../WarehouseData/SCP_INVOICE_DETAIL.aspx?ID={0}", ID);
+ PageContext.RegisterStartupScript(Window1.GetShowReference(url));
+ }
+
+ protected void ddlGridPageSize_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ Grid_V_TB_INVOICE.PageSize = Convert.ToInt32(ddlGridPageSize.SelectedValue);
+ BindInvoice();
+ }
+ protected void BTN_SEARCH_Click(object sender, EventArgs e)
+ {
+ BindInvoice();
+ }
+ protected void Window1_Close(object sender, WindowCloseEventArgs e)
+ {
+ BindInvoice();
+ }
+ protected void ddlGridPageSize_SelectedIndexChanged1(object sender, EventArgs e)
+ {
+
+ }
+ protected void btnOutput_Click(object sender, EventArgs e)
+ {
+ int[] _selections = Grid_V_TB_INVOICE.SelectedRowIndexArray;
+ if (_selections.Count() == 0)
+ {
+ Alert.Show("请选择发票记录导出!");
+ }
+ List _ls = new List();
+ for (int i = 0, count = Grid_V_TB_INVOICE.Rows.Count; i < count; i++)
+ {
+ if (_selections.Contains(i))
+ {
+ object[] rowDataKeys = Grid_V_TB_INVOICE.DataKeys[i];
+ _ls.Add(rowDataKeys[1] as string);
+ }
+ }
+ if (_ls.Count == 0)
+ {
+ Alert.Show("请选择记录导出!");
+ return;
+ }
+ DataSet ds = SCP_EXCEL_CONTROLLER.GET_INVOICE_EXECEL(_ls);
+ PageBase.DataSetToExcel(ds, "导出发票");
+ }
+ }
+}
\ No newline at end of file
diff --git a/SCP/Views/锦州锦恒/WarehouseData/SCP_INVOICE.aspx.designer.cs b/SCP/Views/锦州锦恒/WarehouseData/SCP_INVOICE.aspx.designer.cs
new file mode 100644
index 0000000..d9b8a13
--- /dev/null
+++ b/SCP/Views/锦州锦恒/WarehouseData/SCP_INVOICE.aspx.designer.cs
@@ -0,0 +1,233 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace SCP.Views.锦州锦恒.WarehouseData
+{
+
+
+ public partial class SCP_INVOICE
+ {
+
+ ///
+ /// form1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+
+ ///
+ /// PageManager1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.PageManager PageManager1;
+
+ ///
+ /// Panel1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Panel Panel1;
+
+ ///
+ /// Toolbar1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Toolbar Toolbar1;
+
+ ///
+ /// Button3 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Button Button3;
+
+ ///
+ /// btnView 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Button btnView;
+
+ ///
+ /// btnOutput 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Button btnOutput;
+
+ ///
+ /// btnShow 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Button btnShow;
+
+ ///
+ /// gp1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.GroupPanel gp1;
+
+ ///
+ /// ckb 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.CheckBoxList ckb;
+
+ ///
+ /// TXT_InvcBillNum 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.TextBox TXT_InvcBillNum;
+
+ ///
+ /// TXT_VendId 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.DropDownList TXT_VendId;
+
+ ///
+ /// TXT_InvoiceNum 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.TextBox TXT_InvoiceNum;
+
+ ///
+ /// TXT_PO 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.TextBox TXT_PO;
+
+ ///
+ /// TXT_ASN 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.TextBox TXT_ASN;
+
+ ///
+ /// DP_CreateTime1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.DatePicker DP_CreateTime1;
+
+ ///
+ /// DP_CreateTime2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.DatePicker DP_CreateTime2;
+
+ ///
+ /// BTN_SEARCH 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Button BTN_SEARCH;
+
+ ///
+ /// Grid_V_TB_INVOICE 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Grid Grid_V_TB_INVOICE;
+
+ ///
+ /// ToolbarSeparator1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.ToolbarSeparator ToolbarSeparator1;
+
+ ///
+ /// ToolbarText1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.ToolbarText ToolbarText1;
+
+ ///
+ /// ddlGridPageSize 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.DropDownList ddlGridPageSize;
+
+ ///
+ /// Window1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Window Window1;
+
+ ///
+ /// WindowUpload 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Window WindowUpload;
+ }
+}
diff --git a/SCP/Views/锦州锦恒/WarehouseData/SCP_INVOICE_CONFIRM.aspx b/SCP/Views/锦州锦恒/WarehouseData/SCP_INVOICE_CONFIRM.aspx
new file mode 100644
index 0000000..20a4459
--- /dev/null
+++ b/SCP/Views/锦州锦恒/WarehouseData/SCP_INVOICE_CONFIRM.aspx
@@ -0,0 +1,124 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SCP_INVOICE_CONFIRM.aspx.cs" Inherits="SCP.Views.锦州锦恒.WarehouseData.SCP_INVOICE_CONFIRM" %>
+
+
+
+
+
+
+
+
+
+
+
diff --git a/SCP/Views/锦州锦恒/WarehouseData/SCP_INVOICE_CONFIRM.aspx.cs b/SCP/Views/锦州锦恒/WarehouseData/SCP_INVOICE_CONFIRM.aspx.cs
new file mode 100644
index 0000000..e903ba6
--- /dev/null
+++ b/SCP/Views/锦州锦恒/WarehouseData/SCP_INVOICE_CONFIRM.aspx.cs
@@ -0,0 +1,226 @@
+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.ScpEntity;
+using CK.SCP.Utils;
+using CK.SCP.Controller;
+using FineUI;
+using CK.SCP.Models.Enums;
+using System.Data;
+
+namespace SCP.Views.锦州锦恒.WarehouseData
+{
+ public partial class SCP_INVOICE_CONFIRM : PageBase
+ {
+ public void Page_Load(object sender, EventArgs e)
+ {
+ IsRoleRight();
+ if (!IsPostBack)
+ {
+ BindInvoice();
+ BindVender(ddl_Vender);
+ }
+ }
+ private void BindVender()
+ {
+ if (CurrentUser.FactoryList != null && CurrentUser.FactoryList.Count > 0)
+ {
+ var ls = SCP_TB_VENDER_CONTROLLER.Getlist(CurrentUser.FactoryList.FirstOrDefault());
+
+ var lsVender = ls.Where(p => p.VendId.Substring(0, 1) == "R" || p.VendId.Substring(0, 1) == "E").ToList();
+ lsVender.ForEach(p => {
+ p.VendName = string.Format("{0}({1})", p.VendName, p.VendId);
+ });
+ ddl_Vender.DataSource = lsVender;
+ ddl_Vender.DataTextField = "VendName";
+ ddl_Vender.DataValueField = "VendId";
+ ddl_Vender.DataBind();
+
+ }
+ }
+
+ public void IsRoleRight()
+ {
+
+ if (CurrentUser.FactoryList == null || CurrentUser.FactoryList.Count == 0)
+ {
+ Alert.Show("当前用户未选择地点!");
+ return;
+ }
+ }
+
+ public void BindInvoice()
+ {
+ SearchInvoice((result) => {
+ Grid_V_TB_INVOICE.RecordCount = result.Count();
+ var list = SortAndPage(result, Grid_V_TB_INVOICE, "ASC");
+ Grid_V_TB_INVOICE.DataSource = list;
+ Grid_V_TB_INVOICE.DataBind();
+ });
+ }
+
+
+
+ public void SearchInvoice(Action> p_action)
+ {
+ V_TB_INVOICE _entity = new V_TB_INVOICE();
+
+ _entity.InvcBillNum = TXT_InvcBillNum.Text;
+
+ _entity.VendId = ddl_Vender.SelectedValue;
+ _entity.InvoiceNum = TXT_InvoiceNum.Text;
+
+
+ _entity.InvoiceList = SCP_INVOICE_CONTROLLER.Get_V_TB_INVOICE_BY_TIME(DP_CreateTime1.Text, DP_CreateTime2.Text, TXT_PO.Text, TXT_ASN.Text);
+
+ _entity.UserInVendIds = CurrentUser.VenderList;
+ _entity.UserInAddress = CurrentUser.FactoryList;
+ _entity.BillStateList = GetStateList();
+
+ SCP_INVOICE_CONTROLLER.Get_V_TB_INVOICE_BY_CG_List(_entity, (ret) =>
+ {
+ if (ret.State == ReturnStatus.Succeed)
+ {
+ if (_entity.InvoiceList == null || _entity.InvoiceList.Count == 0)
+ {
+ Alert.Show("未查询到符合条件的发票!");
+ }
+ p_action(ret.Result);
+ }
+ });
+ }
+
+ private List GetStateList()
+ {
+ List lsValue = new List();
+ string[] values = ckb.SelectedValueArray;
+
+ if (values.Contains("0"))
+ {
+ lsValue.Add((int)InvoiceState.New);
+ }
+
+ if (values.Contains("1"))
+ {
+ lsValue.Add((int)InvoiceState.Apply);
+ }
+
+ if (values.Contains("2"))
+ {
+ lsValue.Add((int)InvoiceState.CheckFail);
+ }
+
+ if (values.Contains("3"))
+ {
+ lsValue.Add((int)InvoiceState.CheckSuccess);
+ }
+
+ if (values.Contains("4"))
+ {
+ lsValue.Add((int)InvoiceState.Mail);
+ }
+
+ if (values.Contains("5"))
+ {
+ lsValue.Add((int)InvoiceState.FinanceReceive);
+ }
+
+ if (values.Contains("6"))
+ {
+ lsValue.Add((int)InvoiceState.FinanceFail);
+ }
+ if (values.Contains("8"))
+ {
+ lsValue.Add((int)InvoiceState.CustomReceive);
+ }
+ return lsValue;
+ }
+
+ protected void btnView_OnClick(object sender, EventArgs e)
+ {
+ if (Grid_V_TB_INVOICE.SelectedRowIndexArray.Length != 1)
+ {
+ Alert.Show("请选择一行要操作的记录!");
+ return;
+ }
+ string ID = GetSelectedDataKey(Grid_V_TB_INVOICE, 1);
+ string url = String.Format("../WarehouseData/SCP_INVOICE_CONFIRM_DETAIL.aspx?ID={0}", ID);
+
+ PageContext.RegisterStartupScript(Window1.GetShowReference(url));
+
+ }
+
+ //双击打开详情页
+
+ //显示面板
+ protected void btnShow_OnClick(object sender, EventArgs e)
+ {
+ gp1.Hidden = false;
+ }
+ //关闭面板
+ protected void OnClick(object sender, EventArgs e)
+ {
+ gp1.Hidden = true;
+ }
+
+ protected void Grid_V_TB_INVOICE_RowDoubleClick(object sender, GridRowClickEventArgs e)
+ {
+ string ID = GetSelectedDataKey(Grid_V_TB_INVOICE, 1);
+ string url = String.Format("../WarehouseData/SCP_INVOICE_CONFIRM_DETAIL.aspx?ID={0}", ID);
+ PageContext.RegisterStartupScript(Window1.GetShowReference(url));
+ }
+
+ protected void Grid_V_TB_INVOICE_PageIndexChange(object sender, GridPageEventArgs e)
+ {
+ BindInvoice();
+ }
+
+ protected void BTN_SEARCH_Click(object sender, EventArgs e)
+ {
+ BindInvoice();
+ }
+
+ protected void ddlGridPageSize_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ Grid_V_TB_INVOICE.PageSize = Convert.ToInt32(ddlGridPageSize.SelectedValue);
+
+ BindInvoice();
+ }
+
+
+ protected void btnOutput_OnClick(object sender, EventArgs e)
+ {
+ int[] _selections = Grid_V_TB_INVOICE.SelectedRowIndexArray;
+ if (_selections.Count() == 0)
+ {
+ Alert.Show("请选择发票记录导出!");
+ }
+ List _ls = new List();
+ for (int i = 0, count = Grid_V_TB_INVOICE.Rows.Count; i < count; i++)
+ {
+ if (_selections.Contains(i))
+ {
+ object[] rowDataKeys = Grid_V_TB_INVOICE.DataKeys[i];
+ _ls.Add(rowDataKeys[1] as string);
+ }
+ }
+ if (_ls.Count == 0)
+ {
+ Alert.Show("请选择记录导出!");
+ return;
+ }
+ DataSet ds = SCP_EXCEL_CONTROLLER.GET_INVOICE_EXECEL(_ls);
+ PageBase.DataSetToExcel(ds, "导出发票");
+ }
+
+ protected void Window1_Close(object sender, WindowCloseEventArgs e)
+ {
+ BindInvoice();
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/SCP/Views/锦州锦恒/WarehouseData/SCP_INVOICE_CONFIRM.aspx.designer.cs b/SCP/Views/锦州锦恒/WarehouseData/SCP_INVOICE_CONFIRM.aspx.designer.cs
new file mode 100644
index 0000000..ae66e16
--- /dev/null
+++ b/SCP/Views/锦州锦恒/WarehouseData/SCP_INVOICE_CONFIRM.aspx.designer.cs
@@ -0,0 +1,224 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace SCP.Views.锦州锦恒.WarehouseData
+{
+
+
+ public partial class SCP_INVOICE_CONFIRM
+ {
+
+ ///
+ /// form1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+
+ ///
+ /// Panel1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Panel Panel1;
+
+ ///
+ /// Toolbar1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Toolbar Toolbar1;
+
+ ///
+ /// Button3 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Button Button3;
+
+ ///
+ /// btnView 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Button btnView;
+
+ ///
+ /// btnOutput 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Button btnOutput;
+
+ ///
+ /// btnShow 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Button btnShow;
+
+ ///
+ /// gp1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.GroupPanel gp1;
+
+ ///
+ /// ckb 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.CheckBoxList ckb;
+
+ ///
+ /// TXT_InvcBillNum 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.TextBox TXT_InvcBillNum;
+
+ ///
+ /// ddl_Vender 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.DropDownList ddl_Vender;
+
+ ///
+ /// TXT_InvoiceNum 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.TextBox TXT_InvoiceNum;
+
+ ///
+ /// TXT_PO 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.TextBox TXT_PO;
+
+ ///
+ /// TXT_ASN 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.TextBox TXT_ASN;
+
+ ///
+ /// DP_CreateTime1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.DatePicker DP_CreateTime1;
+
+ ///
+ /// DP_CreateTime2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.DatePicker DP_CreateTime2;
+
+ ///
+ /// BTN_SEARCH 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Button BTN_SEARCH;
+
+ ///
+ /// Grid_V_TB_INVOICE 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Grid Grid_V_TB_INVOICE;
+
+ ///
+ /// ToolbarSeparator1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.ToolbarSeparator ToolbarSeparator1;
+
+ ///
+ /// ToolbarText1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.ToolbarText ToolbarText1;
+
+ ///
+ /// ddlGridPageSize 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.DropDownList ddlGridPageSize;
+
+ ///
+ /// Window1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Window Window1;
+
+ ///
+ /// WindowUpload 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Window WindowUpload;
+ }
+}
diff --git a/SCP/Views/锦州锦恒/WarehouseData/SCP_INVOICE_CONFIRM_DETAIL.aspx b/SCP/Views/锦州锦恒/WarehouseData/SCP_INVOICE_CONFIRM_DETAIL.aspx
new file mode 100644
index 0000000..0478d44
--- /dev/null
+++ b/SCP/Views/锦州锦恒/WarehouseData/SCP_INVOICE_CONFIRM_DETAIL.aspx
@@ -0,0 +1,166 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SCP_INVOICE_CONFIRM_DETAIL.aspx.cs" Inherits="SCP.Views.锦州锦恒.WarehouseData.SCP_INVOICE_CONFIRM_DETAIL" %>
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/SCP/Views/锦州锦恒/WarehouseData/SCP_INVOICE_CONFIRM_DETAIL.aspx.cs b/SCP/Views/锦州锦恒/WarehouseData/SCP_INVOICE_CONFIRM_DETAIL.aspx.cs
new file mode 100644
index 0000000..f28654a
--- /dev/null
+++ b/SCP/Views/锦州锦恒/WarehouseData/SCP_INVOICE_CONFIRM_DETAIL.aspx.cs
@@ -0,0 +1,312 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Web;
+using System.Web.UI;
+using System.Web.UI.WebControls;
+using CK.SCP.Common;
+using CK.SCP.Controller;
+using CK.SCP.Models.Enums;
+using CK.SCP.Models.ScpEntity;
+using CK.SCP.Utils;
+using FineUI;
+
+namespace SCP.Views.锦州锦恒.WarehouseData
+{
+ public partial class SCP_INVOICE_CONFIRM_DETAIL : PageBase
+ {
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ IsRoleRight();
+
+ if (!IsPostBack)
+ {
+ GetInvoice();
+ BindData();
+ SetRoleRule();
+ }
+ }
+
+ public void IsRoleRight()
+ {
+
+
+ if (CurrentUser.FactoryList == null || CurrentUser.FactoryList.Count == 0)
+ {
+ Alert.Show("当前用户未选择地点!");
+ return;
+ }
+ }
+
+ private void SetRoleRule()
+ {
+ //IsPriceVisible(Grid1, "合同价格");
+ //IsPriceVisible(Grid1, "合同差额");
+ IsPriceVisible(Grid1, "要货日期");
+ }
+ private void GetInvoice()
+ {
+ string id = GetQueryValue("ID");
+
+ SCP_INVOICE_CONTROLLER.Get_V_TB_INVOICE_List(new V_TB_INVOICE { InvcBillNum = id }, (ret) => {
+
+ if (ret.State == ReturnStatus.Succeed)
+ {
+ var _ls = ret.Result.ToList();
+ if (_ls != null && _ls.Count > 0)
+ {
+ var _Model = _ls[0];
+ Session["invoice"] = _Model;
+ txtState.Text = _Model.State_DESC;
+ txtBillNo.Text = _Model.InvcBillNum;
+ txtBillTime.Text = Convert.ToDateTime(_Model.CreateTime).ToString("yyyy-MM-dd");
+ txtSupplierName.Text = _Model.VendName;
+ txtInvoiceNumber.Text = _Model.InvoiceNum;
+ txtTax.SelectedValue = _Model.Tax != null ? _Model.Tax.Value.ToString() : "0";
+ txtTaxAmount.Text = _Model.TaxAmount != null ? _Model.TaxAmount.Value.ToString() : "0";
+ txtExpressNumber.Text = _Model.ExpressNum;
+ txtAmount.Text = _Model.Amount.ToString();
+ txtTotal.Text = _Model.Total != null ? _Model.Total.ToString() : string.Empty;
+ txtContractPrice1.Text = _Model.ContractPrice != null ? _Model.ContractPrice.ToString() : string.Empty;
+ txtExtend1.Text = _Model.Extend1 != null ? _Model.Extend1.ToString() : string.Empty;
+ txtExtend2.Text = _Model.Extend2 != null ? _Model.Extend2.ToString() : string.Empty;
+ txtRealTotal.Text = _Model.RealTotal != null ? _Model.RealTotal.ToString() : string.Empty;
+ txtBlancePrice1.Text = _Model.BlancePrice != null ? _Model.BlancePrice.ToString() : string.Empty;
+ txtMemo.Text = _Model.Remark;
+ if (_Model.State == (int)InvoiceState.Apply)
+ {
+ this.btnCheckFail.Hidden = false;//.Visible = true;
+ this.btnCheckSuccess.Hidden = false;//.Visible = true;
+ }
+ else
+ {
+ this.btnEdit.Hidden = true;
+ this.btnCheckFail.Hidden = true; // Visible = false;
+ this.btnCheckSuccess.Hidden = true; //Visible = false;
+ }
+ }
+ }
+ });
+ this.btnEdit.Enabled = true;
+
+
+ }
+ private void Search(Action> p_list)
+ {
+ string id = GetQueryValue("ID");
+ V_TB_INVOICE_DETAIL _tb = new V_TB_INVOICE_DETAIL();
+ _tb.InvcBillNum = id;
+ SCP_INVOICE_CONTROLLER.Get_V_TB_INVOICE_DETAIL_List(_tb, (ret) => {
+
+ if (ret.State == ReturnStatus.Succeed)
+ {
+ p_list(ret.Result);
+ }
+ });
+ }
+
+ public void BindData()
+ {
+ Search(ret =>
+ {
+ Grid1.RecordCount = ret.Count();
+ var list = SortAndPage(ret, Grid1).ToList();
+
+ foreach (V_TB_INVOICE_DETAIL rec in list)
+ {
+ rec.Qty = ToDecimal(rec.Qty, 2);
+ rec.CanQty = ToDecimal(rec.CanQty, 2);
+ }
+ Grid1.DataSource = list;
+ Grid1.DataBind();
+ });
+
+
+ }
+
+ public decimal ToDecimal(decimal num, int scale)
+ {
+ decimal tempOdds = Math.Round(num, scale);
+ return tempOdds;
+ }
+
+ protected void btnCheckFail_Click(object sender, EventArgs e)
+ {
+ PageContext.RegisterStartupScript(
+ Window1.GetShowReference("../../WarehouseData/SCP_INVOICE_CHECKFAIL.aspx", "采购审核退回")
+ );
+ }
+
+ protected void btnCheckSuccess_Click(object sender, EventArgs e)
+ {
+ if (Session["Invoice"] != null)
+ {
+ var _Invoice = Session["Invoice"] as V_TB_INVOICE;
+ var venderId = _Invoice.VendId;
+
+
+ SET_INVOICE_STATE("采购审核通过", InvoiceState.CheckSuccess);
+ }
+
+ }
+ private void SET_INVOICE_STATE(string p_msg, InvoiceState p_state)
+ {
+ if (Session["Invoice"] != null)
+ {
+ var _Invoice = Session["Invoice"] as V_TB_INVOICE;
+
+ _Invoice.Remark = txtMemo.Text;
+
+ //var ret = SCP_INVOICE_CONTROLLER.SAVE_TB_INVOICE_STATE(_Invoice.InvcBillNum, p_state);
+ var ret = SCP_INVOICE_CONTROLLER.SAVE_TB_INVOICE_STATE(_Invoice, p_state, CurrentUser.ChineseName);
+ if (ret.State == ReturnStatus.Succeed)
+ {
+ Alert.Show(p_msg);
+
+ if (CurrentUser.ConfigList.Keys.Contains("供应商邮件"))
+ {
+ SCP.Common.MailManager.SendMail(_Invoice.VendId, "采购审核通过", "采购审核通过");
+ }
+ GetInvoice();
+ BindData();
+ }
+ else
+ {
+ Alert.Show(ret.Message);
+ }
+ }
+ }
+ protected void btnEdit_Click(object sender, EventArgs e)
+ {
+ var _invoice = Session["invoice"] as V_TB_INVOICE;
+ var Memo = MyWebString.GetString(txtMemo.Text.Trim());
+ _invoice.Remark = Memo;
+ _invoice.Tax = string.IsNullOrEmpty(txtTax.SelectedValue) ? 0 : decimal.Parse(txtTax.SelectedValue);
+ _invoice.BlancePrice = string.IsNullOrEmpty(txtBlancePrice1.Text) ? 0 : decimal.Parse(txtBlancePrice1.Text);
+ List _ls = new List();
+ Dictionary> modifiedDict = Grid1.GetModifiedDict();
+ if (_invoice != null)
+ {
+
+ for (int i = 0, count = Grid1.Rows.Count; i < count; i++)
+ {
+ object[] rowDataKeys = Grid1.DataKeys[i];
+ GridRow row = Grid1.Rows[i];
+ V_TB_INVOICE_DETAIL _entity = new V_TB_INVOICE_DETAIL();
+ _entity.UID = ConvertHelper.To(rowDataKeys[0]);
+ _entity.InvcBillNum = rowDataKeys[1] as string;
+ _entity.Qty = ConvertHelper.To(rowDataKeys[2]);
+ _entity.CanQty = ConvertHelper.To(rowDataKeys[3]);
+ _entity.State = ConvertHelper.To(rowDataKeys[4]);
+ _entity.Price = ConvertHelper.To(rowDataKeys[5]);
+ if (modifiedDict.Keys.Contains(i))
+ {
+ var modifyValue = modifiedDict[i];
+ _entity.Price = modifyValue.Keys.Contains("Price") ? ConvertHelper.To(modifyValue["Price"]) : _entity.Price;
+
+ }
+ var txtLineMemo = (System.Web.UI.WebControls.TextBox)row.FindControl("txtLineMemo");
+ _entity.ContractPrice = ConvertHelper.To(rowDataKeys[6]);
+ _entity.BlancePrice = ConvertHelper.To(rowDataKeys[7]);
+ _entity.Remark = txtLineMemo.Text;
+ //把备注添加到TB_INVOICE、TB_INVOICE_DETAIL
+ _ls.Add(_entity);
+ }
+ }
+
+ if (_ls.Count > 0)
+ {
+ var ret = SCP_INVOICE_CONTROLLER.SAVE_TB_INVOICE_APPLY(_invoice, _ls);
+ if (ret.State == ReturnStatus.Succeed)
+ {
+
+ Alert.Show("发票备注修改成功!");
+
+ BindData();
+ }
+ }
+ else
+ {
+ Alert.Show("更改记录数为零");
+ }
+ }
+ protected void Window1_Close(object sender, WindowCloseEventArgs e)
+ {
+ if (string.IsNullOrEmpty(e.CloseArgument))
+ {
+ Alert.Show("请输入退回原因");
+ return;
+ }
+ else
+ {
+ string Memo = e.CloseArgument;
+ var _invoice = Session["invoice"] as V_TB_INVOICE;
+
+ _invoice.State = (int)InvoiceState.CheckFail;
+ _invoice.Remark = Memo;
+
+ List _ls = new List();
+
+ if (_invoice != null)
+ {
+
+ for (int i = 0, count = Grid1.Rows.Count; i < count; i++)
+ {
+ object[] rowDataKeys = Grid1.DataKeys[i];
+
+
+ GridRow row = Grid1.Rows[i];
+ V_TB_INVOICE_DETAIL _entity = new V_TB_INVOICE_DETAIL();
+
+ _entity.UID = ConvertHelper.To(rowDataKeys[0]);
+ _entity.InvcBillNum = rowDataKeys[1] as string;
+ _entity.Qty = ConvertHelper.To(rowDataKeys[2]);
+ _entity.CanQty = ConvertHelper.To(rowDataKeys[3]);
+ _entity.State = (int)InvoiceState.CheckFail;
+ _entity.Price = ConvertHelper.To(rowDataKeys[5]);
+ _entity.ContractPrice = ConvertHelper.To(rowDataKeys[6]);
+ _entity.BlancePrice = ConvertHelper.To(rowDataKeys[7]);
+ var txtLineMemo = (System.Web.UI.WebControls.TextBox)row.FindControl("txtLineMemo");
+
+ _entity.Remark = txtLineMemo.Text;
+
+ //把备注添加到TB_INVOICE、TB_INVOICE_DETAIL
+ _ls.Add(_entity);
+ }
+ }
+
+ if (_ls.Count > 0)
+ {
+ var ret = SCP_INVOICE_CONTROLLER.SAVE_TB_INVOICE_APPLY(_invoice, _ls);
+ if (ret.State == ReturnStatus.Succeed)
+ {
+
+ Alert.Show("发票采购退回成功!");
+
+ if (CurrentUser.ConfigList.Keys.Contains("供应商邮件"))
+ {
+ SCP.Common.MailManager.SendMail(_invoice.VendId, "发票采购退回成功", "发票采购退回成功");
+ }
+ BindData();
+ GetInvoice();
+ }
+ }
+ else
+ {
+ Alert.Show("退回记录数为零");
+ }
+ }
+ }
+
+ protected void btnReject_Click(object sender, EventArgs e)
+ {
+ if (Session["Invoice"] != null)
+ {
+ var _Invoice = Session["Invoice"] as V_TB_INVOICE;
+ var venderId = _Invoice.VendId;
+ string url = String.Format("../../WarehouseData/SCP_RECEIVE_LIST.aspx?VendId={0}", venderId);
+ PageContext.RegisterStartupScript(Window1.GetShowReference(url));
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/SCP/Views/锦州锦恒/WarehouseData/SCP_INVOICE_CONFIRM_DETAIL.aspx.designer.cs b/SCP/Views/锦州锦恒/WarehouseData/SCP_INVOICE_CONFIRM_DETAIL.aspx.designer.cs
new file mode 100644
index 0000000..649e0c2
--- /dev/null
+++ b/SCP/Views/锦州锦恒/WarehouseData/SCP_INVOICE_CONFIRM_DETAIL.aspx.designer.cs
@@ -0,0 +1,305 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace SCP.Views.锦州锦恒.WarehouseData
+{
+
+
+ public partial class SCP_INVOICE_CONFIRM_DETAIL
+ {
+
+ ///
+ /// form1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+
+ ///
+ /// Panel1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Panel Panel1;
+
+ ///
+ /// Toolbar2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Toolbar Toolbar2;
+
+ ///
+ /// ToolbarSeparator3 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.ToolbarSeparator ToolbarSeparator3;
+
+ ///
+ /// btnEdit 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Button btnEdit;
+
+ ///
+ /// btnCheckSuccess 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Button btnCheckSuccess;
+
+ ///
+ /// btnReject 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Button btnReject;
+
+ ///
+ /// btnCheckFail 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Button btnCheckFail;
+
+ ///
+ /// gp1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.GroupPanel gp1;
+
+ ///
+ /// txtBillNo 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.TextBox txtBillNo;
+
+ ///
+ /// txtState 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.TextBox txtState;
+
+ ///
+ /// txtBillTime 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.TextBox txtBillTime;
+
+ ///
+ /// txtSupplierName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.TextBox txtSupplierName;
+
+ ///
+ /// txtTax 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.DropDownList txtTax;
+
+ ///
+ /// txtAmount 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.TextBox txtAmount;
+
+ ///
+ /// txtTaxAmount 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.TextBox txtTaxAmount;
+
+ ///
+ /// txtTotal 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.TextBox txtTotal;
+
+ ///
+ /// txtExtend1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.TextBox txtExtend1;
+
+ ///
+ /// txtExtend2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.TextBox txtExtend2;
+
+ ///
+ /// txtContractPrice1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.TextBox txtContractPrice1;
+
+ ///
+ /// txtBlancePrice1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.TextBox txtBlancePrice1;
+
+ ///
+ /// txtRealTotal 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.TextBox txtRealTotal;
+
+ ///
+ /// txtInvoiceNumber 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.TextBox txtInvoiceNumber;
+
+ ///
+ /// txtExpressNumber 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.TextBox txtExpressNumber;
+
+ ///
+ /// txtMemo 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.TextBox txtMemo;
+
+ ///
+ /// l2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Label l2;
+
+ ///
+ /// btnOutput 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Button btnOutput;
+
+ ///
+ /// Grid1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Grid Grid1;
+
+ ///
+ /// TXT_PackQty 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.NumberBox TXT_PackQty;
+
+ ///
+ /// txtLineMemo 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.WebControls.TextBox txtLineMemo;
+
+ ///
+ /// Window1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Window Window1;
+
+ ///
+ /// WindowUpload 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Window WindowUpload;
+ }
+}
diff --git a/SCP/Views/锦州锦恒/WarehouseData/SCP_INVOICE_DELTAIL.aspx b/SCP/Views/锦州锦恒/WarehouseData/SCP_INVOICE_DELTAIL.aspx
new file mode 100644
index 0000000..d47d8c7
--- /dev/null
+++ b/SCP/Views/锦州锦恒/WarehouseData/SCP_INVOICE_DELTAIL.aspx
@@ -0,0 +1,145 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SCP_INVOICE_DELTAIL.aspx.cs" Inherits="SCP.Views.锦州锦恒.WarehouseData.SCP_INVOICE_DELTAIL" %>
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/SCP/Views/锦州锦恒/WarehouseData/SCP_INVOICE_DELTAIL.aspx.cs b/SCP/Views/锦州锦恒/WarehouseData/SCP_INVOICE_DELTAIL.aspx.cs
new file mode 100644
index 0000000..d54ef77
--- /dev/null
+++ b/SCP/Views/锦州锦恒/WarehouseData/SCP_INVOICE_DELTAIL.aspx.cs
@@ -0,0 +1,296 @@
+using System;
+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.Controller;
+using FineUI;
+using System.Drawing;
+
+namespace SCP.Views.锦州锦恒.WarehouseData
+{
+ public partial class SCP_INVOICE_DELTAIL : PageBase
+ {
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ IsRoleRight();
+ if (!IsPostBack)
+ {
+ GetInvoice();
+ BindData();
+ SetRoleRule();
+ }
+ }
+
+ public void IsRoleRight()
+ {
+ if (!CurrentUser.RoleList.Contains("财务人员"))
+ {
+ Alert.Show("当前用户角色不能操作该模块!");
+ return;
+ }
+ if (CurrentUser.FactoryList == null || CurrentUser.FactoryList.Count == 0)
+ {
+ Alert.Show("当前用户未选择地点!");
+ return;
+ }
+ }
+ private void SetRoleRule()
+ {
+ //IsPriceVisible(Grid1, "合同价格");
+ //IsPriceVisible(Grid1, "合同差额");
+ IsPriceVisible(Grid1, "要货日期");
+ }
+
+ //修改备注
+ protected void btnEdit_OnClick(object sender, EventArgs e)
+ {
+ string id = GetQueryValue("ID");
+ var _blan = string.IsNullOrEmpty(txtBlancePrice1.Text) ? 0 : decimal.Parse(txtBlancePrice1.Text);
+ if (string.IsNullOrEmpty(txtInvoiceNumber.Text))
+ {
+ Alert.Show("金税票号不能为空!");
+ return;
+ }
+ if (string.IsNullOrEmpty(dpUpdateTime.Text))
+ {
+ Alert.Show("发票日期不能为空!");
+ return;
+ }
+ var ro = SCP_INVOICE_CONTROLLER.UpdateMemoByInvcBillNum(id, txtMemo.Text.Trim(), _blan, txtInvoiceNumber.Text, dpUpdateTime.SelectedDate.Value);
+
+ if (ro.State == ReturnStatus.Succeed)
+ {
+ Alert.Show("修改成功!");
+ GetInvoice();
+ return;
+ }
+ else
+ {
+ Alert.Show("修改失败!");
+ return;
+ }
+ }
+
+ //确定发票
+ protected void btnReceive_OnClick(object sender, EventArgs e)
+ {
+
+ if (dpUpdateTime.SelectedDate == null)
+ {
+ Alert.Show("请填写发票时间!");
+ return;
+
+ }
+ SET_INVOICE_STATE("财务接收发票", InvoiceState.FinanceReceive);
+ }
+ //取消发票
+ protected void btnRejectReceive_OnClick(object sender, EventArgs e)
+ {
+ SET_INVOICE_STATE("财务取消发票", InvoiceState.Mail);
+ }
+ private void SET_INVOICE_STATE(string p_msg, InvoiceState p_state)
+ {
+ string id = GetQueryValue("ID");
+ if (InvoiceState.FinanceReceive == p_state)
+ {
+ SCP_INVOICE_CONTROLLER.Get_V_TB_INVOICE_List(new V_TB_INVOICE { InvcBillNum = id }, (ret) =>
+ {
+ if (ret.State == ReturnStatus.Succeed)
+ {
+ var _ls = ret.Result.ToList();
+ if (_ls != null && _ls.Count > 0)
+ {
+ var _inv = _ls.FirstOrDefault();
+ if (_inv.UpdateTime == null)
+ {
+ Alert.Show("无发票日期是否正确填写,若修改发票日期请点击【修改数据】");
+ return;
+ }
+ }
+ }
+ else
+ {
+ Alert.Show("请重新打开发票明细");
+ }
+ });
+ }
+
+ var ro = SCP_INVOICE_CONTROLLER.SET_INVOICE_STATE(id, p_state);
+
+ if (ro.State == ReturnStatus.Succeed)
+ {
+ Alert.Show(p_msg + "成功!");
+
+ if (CurrentUser.ConfigList.Keys.Contains("供应商邮件"))
+ {
+ SCP.Common.MailManager.SendMail(ro.Message, p_msg, p_msg);
+ }
+ GetInvoice();
+ BindData();
+ return;
+ }
+ else
+ {
+ Alert.Show(p_msg + "失败!");
+ return;
+ }
+ }
+ private void GetInvoice()
+ {
+ string id = GetQueryValue("ID");
+
+ SCP_INVOICE_CONTROLLER.Get_V_TB_INVOICE_List(new V_TB_INVOICE { InvcBillNum = id }, (ret) =>
+ {
+
+ if (ret.State == ReturnStatus.Succeed)
+ {
+ var _ls = ret.Result.ToList();
+ if (_ls != null && _ls.Count > 0)
+ {
+ var _Model = _ls[0];
+ txtState.Text = _Model.State_DESC;
+ txtBillNo.Text = _Model.InvcBillNum;
+ txtBillTime.Text = Convert.ToDateTime(_Model.CreateTime).ToString("yyyy-MM-dd");
+ txtSupplierName.Text = _Model.VendName;
+ txtInvoiceNumber.Text = _Model.InvoiceNum;
+ txtExpressNumber.Text = _Model.ExpressNum;
+ txtTax.Text = _Model.Tax != null ? _Model.Tax.Value.ToString() : "0";
+ txtTaxAmount.Text = _Model.TaxAmount != null ? _Model.TaxAmount.Value.ToString() : "0";
+ dpUpdateTime.SelectedDate = _Model.UpdateTime;
+
+ txtExtend1.Text = _Model.Extend1 != null ? _Model.Extend1.ToString() : string.Empty;
+ txtExtend2.Text = _Model.Extend2 != null ? _Model.Extend2.ToString() : string.Empty;
+ txtContractPrice1.Text = _Model.ContractPrice != null ? _Model.ContractPrice.ToString() : string.Empty;
+ txtContractPrice1.Text = _Model.ContractPrice != null ? _Model.ContractPrice.ToString() : string.Empty;
+ txtBlancePrice1.Text = _Model.BlancePrice != null ? _Model.BlancePrice.ToString() : string.Empty;
+ txtAmount.Text = _Model.Amount.ToString();
+ txtTotal.Text = _Model.Total != null ? _Model.Total.ToString() : string.Empty;
+ txtRealTotal.Text = _Model.RealTotal != null ? _Model.RealTotal.ToString() : string.Empty;
+ txtMemo.Text = _Model.Remark;
+ if (Convert.ToInt32(_Model.State) == (int)InvoiceState.Mail)
+ {
+ btnInvoiceFail.Hidden = false;
+ btnReceive.Hidden = false;
+ }
+ else
+ {
+ btnEdit.Hidden = true;
+ btnInvoiceFail.Hidden = true;
+ btnReceive.Hidden = true;
+ }
+ }
+ }
+ });
+ }
+ private void Search(Action> p_list)
+ {
+
+ string id = GetQueryValue("ID");
+ V_TB_INVOICE_DETAIL _tb = new V_TB_INVOICE_DETAIL();
+ _tb.InvcBillNum = id;
+ SCP_INVOICE_CONTROLLER.Get_V_TB_INVOICE_DETAIL_List(_tb, (ret) =>
+ {
+
+ if (ret.State == ReturnStatus.Succeed)
+ {
+ p_list(ret.Result);
+ }
+
+ });
+ }
+
+ public void BindData()
+ {
+ Search(ret =>
+ {
+ Grid1.RecordCount = ret.Count();
+ var list = SortAndPage(ret, Grid1);
+ foreach (V_TB_INVOICE_DETAIL rec in list)
+ {
+ rec.Qty = ToDecimal(rec.Qty, 2);
+ rec.CanQty = ToDecimal(rec.CanQty, 2);
+ }
+ var _lst = list.ToList();
+ Grid1.DataSource = _lst;
+ txtTAXOLD.Text = _lst.Sum(p => p.OLDTAX).ToString();
+ Grid1.DataBind();
+ });
+
+
+ }
+
+ public decimal ToDecimal(decimal num, int scale)
+ {
+ decimal tempOdds = Math.Round(num, scale);
+ return tempOdds;
+ }
+
+ //财务退回
+ protected void btnInvoiceFail_OnClick(object sender, EventArgs e)
+ {
+ PageContext.RegisterStartupScript(
+ Window1.GetShowReference("../../WarehouseData/SCP_INVOICE_CHECKFAIL.aspx", "财务退回")
+ );
+ }
+
+ protected void Window1_OnClose(object sender, WindowCloseEventArgs e)
+ {
+ if (string.IsNullOrEmpty(e.CloseArgument))
+ {
+ Alert.Show("请输入退回原因");
+ return;
+ }
+ else
+ {
+ string Memo = e.CloseArgument;
+ string id = GetQueryValue("ID");
+ var ro = SCP_INVOICE_CONTROLLER.CaiWu_Return_Reason(id, Memo);
+ if (ro.State == ReturnStatus.Succeed)
+ {
+ Alert.Show("财务退回成功!");
+
+ if (CurrentUser.ConfigList.Keys.Contains("供应商邮件"))
+ {
+ SCP.Common.MailManager.SendMail(ro.Message, "财务退回成功", "财务退回成功");
+ }
+ GetInvoice();
+ BindData();
+ return;
+ }
+ else
+ {
+ Alert.Show("财务退回失败!");
+ return;
+ }
+ }
+
+ }
+
+ protected void Grid1_RowDataBound(object sender, GridRowEventArgs e)
+ {
+ System.Web.UI.WebControls.Label _label = (System.Web.UI.WebControls.Label)Grid1.Rows[e.RowIndex].FindControl("Qty1");
+ if (!string.IsNullOrEmpty(_label.Text))
+ {
+ if (decimal.Parse(_label.Text) < 0)
+ {
+ _label.ForeColor = Color.Red;
+ }
+ }
+ }
+
+ protected void btnRecv_Click(object sender, EventArgs e)
+ {
+ if (dpUpdateTime.SelectedDate == null)
+ {
+ Alert.Show("请填写发票时间!");
+ return;
+
+ }
+
+ SET_INVOICE_STATE("财务手工接收发票", InvoiceState.CustomReceive);
+ }
+ }
+}
\ No newline at end of file
diff --git a/SCP/Views/锦州锦恒/WarehouseData/SCP_INVOICE_DELTAIL.aspx.designer.cs b/SCP/Views/锦州锦恒/WarehouseData/SCP_INVOICE_DELTAIL.aspx.designer.cs
new file mode 100644
index 0000000..a4759ec
--- /dev/null
+++ b/SCP/Views/锦州锦恒/WarehouseData/SCP_INVOICE_DELTAIL.aspx.designer.cs
@@ -0,0 +1,287 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace SCP.Views.锦州锦恒.WarehouseData
+{
+
+
+ public partial class SCP_INVOICE_DELTAIL
+ {
+
+ ///
+ /// form1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+
+ ///
+ /// Panel1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Panel Panel1;
+
+ ///
+ /// Toolbar2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Toolbar Toolbar2;
+
+ ///
+ /// btnEdit 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Button btnEdit;
+
+ ///
+ /// btnInvoiceFail 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Button btnInvoiceFail;
+
+ ///
+ /// btnReceive 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Button btnReceive;
+
+ ///
+ /// btnRecv 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Button btnRecv;
+
+ ///
+ /// txtBillNo 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.TextBox txtBillNo;
+
+ ///
+ /// txtState 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.TextBox txtState;
+
+ ///
+ /// txtBillTime 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.TextBox txtBillTime;
+
+ ///
+ /// txtSupplierName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.TextBox txtSupplierName;
+
+ ///
+ /// txtTax 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.TextBox txtTax;
+
+ ///
+ /// txtAmount 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.TextBox txtAmount;
+
+ ///
+ /// txtTaxAmount 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.TextBox txtTaxAmount;
+
+ ///
+ /// txtTotal 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.TextBox txtTotal;
+
+ ///
+ /// txtExtend1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.NumberBox txtExtend1;
+
+ ///
+ /// txtExtend2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.NumberBox txtExtend2;
+
+ ///
+ /// txtContractPrice1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.NumberBox txtContractPrice1;
+
+ ///
+ /// txtRealTotal 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.TextBox txtRealTotal;
+
+ ///
+ /// txtInvoiceNumber 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.TextBox txtInvoiceNumber;
+
+ ///
+ /// txtExpressNumber 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.TextBox txtExpressNumber;
+
+ ///
+ /// dpUpdateTime 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.DatePicker dpUpdateTime;
+
+ ///
+ /// txtMemo 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.TextBox txtMemo;
+
+ ///
+ /// txtBlancePrice1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.NumberBox txtBlancePrice1;
+
+ ///
+ /// txtTAXOLD 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Label txtTAXOLD;
+
+ ///
+ /// Grid1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Grid Grid1;
+
+ ///
+ /// tbxEditorName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Label tbxEditorName;
+
+ ///
+ /// Qty1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.WebControls.Label Qty1;
+
+ ///
+ /// Window1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Window Window1;
+
+ ///
+ /// WindowUpload 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUI.Window WindowUpload;
+ }
+}
diff --git a/UniApiGroup/Controller/OdbcApiQadController.cs b/UniApiGroup/Controller/OdbcApiQadController.cs
index 46381c5..cbaded0 100644
--- a/UniApiGroup/Controller/OdbcApiQadController.cs
+++ b/UniApiGroup/Controller/OdbcApiQadController.cs
@@ -128,7 +128,7 @@ namespace CK.SCP.GrupUniApi.Controller
case QadTableName.xxqad_prh_det:
Console.WriteLine($" QAD ӿݣ{qadCtrl.xxqad_table}:{qadCtrl.xxqad_table_qty}");
AddReceive(idb, wdb, qadCtrl.xxqad_seq,0 );
- AddReject(idb, wdb, qadCtrl.xxqad_seq, 0);
+ AddReject(idb, wdb, qadCtrl.xxqad_seq, 1);
qadCtrl.xxqad_scm = ((int)UniApiState.ɹ).ToString();
EntitiesFactory.SaveDb(wdb);
EntitiesFactory.SaveDb(authdb);
@@ -155,13 +155,13 @@ namespace CK.SCP.GrupUniApi.Controller
catch (OptimisticConcurrencyException ex)//ͻ쳣
{
qadCtrl.xxqad_scm = ((int)UniApiState.ʧ).ToString();
- qadCtrl.xxqad_rmks += " SCM:" + ex.Message;
+ qadCtrl.xxqad_rmks += " SCM:" + ex.Message+ex.InnerException.Message;
}
catch (Exception ex)
{
qadCtrl.xxqad_scm = ((int)UniApiState.ʧ).ToString();
- qadCtrl.xxqad_rmks += " SCM:" + ex.Message;
+ qadCtrl.xxqad_rmks += " SCM:" + ex.Message + ex.InnerException.Message;
}
finally
@@ -339,7 +339,7 @@ namespace CK.SCP.GrupUniApi.Controller
" MAX(xxqad_prh_uid)\n" +
" FROM [xxqad_prh_det] where xxqad_prh_seq='{0}' and xxqad_prh_qty_rcvd>=0\n" +
" GROUP BY\n" +
- " [xxqad_prh_psnbr]\n" +
+ " [xxqad_prh_receiver]\n" +
" ,[xxqad_prh_po_nbr]\n" +
" ,[xxqad_prh_po_line]\n" +
" ,[xxqad_prh_part]\n" +
@@ -349,26 +349,25 @@ namespace CK.SCP.GrupUniApi.Controller
var scpRcvList = new List();
var scpRcveDetailList = new List();
//xxwms_rc_po_nbrɹֶȥ
- var qadReceiveNbrList = qadRcvDetailList.Where(p=> !string.IsNullOrEmpty(p.xxqad_prh_psnbr) )
- .Select(p => p.xxqad_prh_psnbr.ToUpper()).DistinctBy(p => p).ToList();
+ var qadReceiveNbrList = qadRcvDetailList.Select(p => p.xxqad_prh_receiver.ToUpper()).DistinctBy(p => p).ToList();
int j = 0;
- foreach (var qadRcvNbrList in qadReceiveNbrList)
+ foreach (var qadReceiveNbr in qadReceiveNbrList)
{
//qadRcvDetailListͬһxxqad_prh_receiverм¼
- var qadDataList = qadRcvDetailList.Where(p => p.xxqad_prh_psnbr== qadRcvNbrList ).ToList();
+ var qadDataList = qadRcvDetailList.Where(p => p.xxqad_prh_receiver == qadReceiveNbr).ToList();
if (qadDataList.Count == 0)
{
continue;
}
var firstqadData = qadDataList[0];
- var scpRcv = wdb.TB_RECEIVE_QAD.SingleOrDefault(p => p.RecvBillNum != null && p.RecvBillNum == qadRcvNbrList && p.Site == firstqadData.xxqad_prh_domain);
+ var scpRcv = wdb.TB_RECEIVE_QAD.SingleOrDefault(p => p.ErpRecvBillNum != null && p.ErpRecvBillNum == qadReceiveNbr && p.Site == firstqadData.xxqad_prh_domain);
//ж0100ջԶǷΪ
if (scpRcv == null)
{
scpRcv = new TB_RECEIVE_QAD
{
- RecvBillNum = qadRcvNbrList,//ջ
+ ErpRecvBillNum = qadReceiveNbr,//ջ
State = (int)FormState.,
Remark = "",
CreateTime = firstqadData.xxqad_prh_createdt == null ? DateTime.Now : (DateTime)firstqadData.xxqad_prh_createdt,//
@@ -376,18 +375,20 @@ namespace CK.SCP.GrupUniApi.Controller
IsDeleted = false,
GUID = System.Guid.NewGuid(),
BillType = billtype,
+ Site= firstqadData.xxqad_prh_domain,
+ SubSite = firstqadData.xxqad_prh_site,
};
}
scpRcv.PoBillNum = firstqadData.xxqad_prh_po_nbr;//ɹ
//
- scpRcv.Site = firstqadData.xxqad_prh_domain;//ص
- scpRcv.SubSite = firstqadData.xxqad_prh_site;
+ // scpRcv.Site = firstqadData.xxqad_prh_domain;//ص
+ //scpRcv.SubSite = firstqadData.xxqad_prh_site;
scpRcv.VendId = firstqadData.xxqad_prh_vend;//
scpRcv.ShipTime = firstqadData.xxqad_prh_date_ship;//ջ
- scpRcv.ErpRecvBillNum = firstqadData.xxqad_prh_receiver;
+ scpRcv.RecvBillNum = firstqadData.xxqad_prh_psnbr;
if (scpRcvList.Count(p =>
- p.RecvBillNum == scpRcv.RecvBillNum &&
+ p.ErpRecvBillNum == scpRcv.ErpRecvBillNum &&
p.Site == scpRcv.Site
) == 0)
{
@@ -402,7 +403,7 @@ namespace CK.SCP.GrupUniApi.Controller
var poLineNum = Convert.ToInt32(qadData.xxqad_prh_po_line);
var scpRcvDetail =
wdb.TB_RECEIVE_DETAIL_QAD.FirstOrDefault(
- p => p.RecvBillNum == qadRcvNbrList &&
+ p => p.ErpRecvBillNum == qadReceiveNbr &&
p.PoBillNum == qadData.xxqad_prh_po_nbr &&
p.PoLine == poLineNum &&
p.PartCode == qadData.xxqad_prh_part &&
@@ -413,8 +414,8 @@ namespace CK.SCP.GrupUniApi.Controller
{
scpRcvDetail = new TB_RECEIVE_DETAIL_QAD
{
- ErpRecvBillNum = qadData.xxqad_prh_receiver,
- RecvBillNum = qadRcvNbrList,//ջ
+ ErpRecvBillNum = qadReceiveNbr,
+ RecvBillNum = qadData.xxqad_prh_psnbr,//ջ
PoBillNum = qadData.xxqad_prh_po_nbr,//ɹ
PoLine = poLineNum,//
PartCode = qadData.xxqad_prh_part,//
@@ -424,7 +425,7 @@ namespace CK.SCP.GrupUniApi.Controller
LocUnit = qadData.xxqad_prh_loc_um,//λ
Qty = qadData.xxqad_prh_qty_rcvd,//ջ
CurAmt = qadData.xxqad_prh_curr_amt != null ? qadData.xxqad_prh_curr_amt.Value : 0,
- //DockCode = ?,//ջ
+ DockCode = qadData.xxqad_prh_loc,//ջ
State = (int)FormState.,// (int)FormState.ر,
CreateTime = qadData.xxqad_prh_createdt == null ? DateTime.Now : (DateTime)qadData.xxqad_prh_createdt,//
CreateUser = qadData.xxqad_prh_createur,//û
@@ -435,18 +436,19 @@ namespace CK.SCP.GrupUniApi.Controller
StdCost = qadData.xxqad_prh_std_cost != null ? qadData.xxqad_prh_std_cost.Value : 0,
Rate = qadData.xxqad_prh_curr_rate != null ? qadData.xxqad_prh_curr_rate.Value : 1,
Site = qadData.xxqad_prh_domain,
- Tax = firstqadData.xxqad_prh_taxc
+ Tax = firstqadData.xxqad_prh_taxc,
+ SubSite = qadData.xxqad_prh_site,
};
}
- scpRcvDetail.ErpRecvBillNum = !string.IsNullOrEmpty(qadData.xxqad_prh_receiver) ? qadData.xxqad_prh_receiver : string.Empty;
+ scpRcvDetail.RecvBillNum = !string.IsNullOrEmpty(qadData.xxqad_prh_psnbr) ? qadData.xxqad_prh_psnbr : string.Empty;
scpRcvDetail.CurAmt = qadData.xxqad_prh_curr_amt != null ? qadData.xxqad_prh_curr_amt.Value : 0;
scpRcvDetail.PurCost = qadData.xxqad_prh_pur_cost;
scpRcvDetail.StdCost = qadData.xxqad_prh_std_cost != null ? qadData.xxqad_prh_std_cost.Value : 0;
scpRcvDetail.Rate = qadData.xxqad_prh_curr_rate != null ? qadData.xxqad_prh_curr_rate.Value : 1;
- scpRcvDetail.Site = qadData.xxqad_prh_domain;
- scpRcvDetail.SubSite = qadData.xxqad_prh_site;
+ //scpRcvDetail.Site = qadData.xxqad_prh_domain;
+ //scpRcvDetail.SubSite = qadData.xxqad_prh_site;
scpRcvDetail.Tax = firstqadData.xxqad_prh_taxc;
if (scpRcveDetailList.Count(p =>
p.RecvBillNum == scpRcvDetail.RecvBillNum &&
@@ -490,7 +492,7 @@ namespace CK.SCP.GrupUniApi.Controller
" MAX(xxqad_prh_uid)\n" +
" FROM [xxqad_prh_det] where xxqad_prh_seq='{0}' and xxqad_prh_qty_rcvd<0 \n" +
" GROUP BY\n" +
- " [xxqad_prh_psnbr]\n" +
+ " [xxqad_prh_receiver]\n" +
" ,[xxqad_prh_po_nbr]\n" +
" ,[xxqad_prh_po_line]\n" +
" ,[xxqad_prh_part]\n" +
@@ -500,25 +502,19 @@ namespace CK.SCP.GrupUniApi.Controller
var scpRcvList = new List();
var scpRcveDetailList = new List();
//xxwms_rc_po_nbrɹֶȥ
- var qadReceiveNbrList = qadRcvDetailList.Where(p => !string.IsNullOrEmpty(p.xxqad_prh_psnbr) )
- .Select(p => p.xxqad_prh_psnbr.ToUpper()).DistinctBy(p => p).ToList();
+ var qadReceiveNbrList = qadRcvDetailList.Select(p => p.xxqad_prh_receiver.ToUpper()).DistinctBy(p => p).ToList();
- foreach (var qadRcvNbrList in qadReceiveNbrList)
+ foreach (var qadReceiveNbr in qadReceiveNbrList)
{
- var _first= wdb.TB_RECEIVE_DETAIL_QAD.Where(p => p.RecvBillNum == qadRcvNbrList).FirstOrDefault();
- if(_first!=null && _first.Qty>0)
- {
- continue;
- }
//qadRcvDetailListͬһxxqad_prh_receiverм¼
- var qadDataList = qadRcvDetailList.Where(p => p.xxqad_prh_psnbr == qadRcvNbrList).ToList();
+ var qadDataList = qadRcvDetailList.Where(p => p.xxqad_prh_receiver == qadReceiveNbr).ToList();
if (qadDataList.Count == 0)
{
continue;
}
var firstqadData = qadDataList[0];
- var scpRcv = wdb.TB_RECEIVE_QAD.FirstOrDefault(p => p.RecvBillNum != null && p.RecvBillNum == qadRcvNbrList && p.Site == firstqadData.xxqad_prh_domain);
+ var scpRcv = wdb.TB_RECEIVE_QAD.FirstOrDefault(p => p.ErpRecvBillNum != null && p.ErpRecvBillNum == qadReceiveNbr && p.Site == firstqadData.xxqad_prh_domain);
//ж0100ջԶǷΪ
@@ -526,7 +522,7 @@ namespace CK.SCP.GrupUniApi.Controller
{
scpRcv = new TB_RECEIVE_QAD
{
- RecvBillNum = qadRcvNbrList,//ջ
+ ErpRecvBillNum = qadReceiveNbr,//ջ
State = (int)FormState.,
Remark = "",
CreateTime = firstqadData.xxqad_prh_createdt == null ? DateTime.Now : (DateTime)firstqadData.xxqad_prh_createdt,//
@@ -534,14 +530,16 @@ namespace CK.SCP.GrupUniApi.Controller
IsDeleted = false,
GUID = System.Guid.NewGuid(),
BillType = billtype,
+ Site= firstqadData.xxqad_prh_domain,
+ SubSite = firstqadData.xxqad_prh_site,
};
}
scpRcv.PoBillNum = firstqadData.xxqad_prh_po_nbr;//ɹ //
- scpRcv.Site = firstqadData.xxqad_prh_domain;//ص
- scpRcv.SubSite = firstqadData.xxqad_prh_site;//ص
+ //scpRcv.Site = firstqadData.xxqad_prh_domain;//ص
+ //scpRcv.SubSite = firstqadData.xxqad_prh_site;//ص
scpRcv.VendId = firstqadData.xxqad_prh_vend;//
scpRcv.ShipTime = firstqadData.xxqad_prh_date_ship;//ջ
- scpRcv.ErpRecvBillNum = firstqadData.xxqad_prh_receiver;
+ scpRcv.RecvBillNum = firstqadData.xxqad_prh_psnbr;
scpRcvList.Add(scpRcv);
scpRcv.Tax = firstqadData.xxqad_prh_taxc;
foreach (var qadData in qadDataList)
@@ -551,7 +549,7 @@ namespace CK.SCP.GrupUniApi.Controller
var poLineNum = Convert.ToInt32(qadData.xxqad_prh_po_line);
var scpRcvDetail =
wdb.TB_RECEIVE_DETAIL_QAD.SingleOrDefault(
- p => p.RecvBillNum == qadRcvNbrList &&
+ p => p.ErpRecvBillNum == qadReceiveNbr &&
p.PoBillNum == qadData.xxqad_prh_po_nbr &&
p.PoLine == poLineNum &&
p.PartCode == qadData.xxqad_prh_part
@@ -563,8 +561,8 @@ namespace CK.SCP.GrupUniApi.Controller
scpRcvDetail = new TB_RECEIVE_DETAIL_QAD
{
- ErpRecvBillNum = qadData.xxqad_prh_receiver,
- RecvBillNum = qadRcvNbrList,//ջ
+ ErpRecvBillNum = qadReceiveNbr,
+ RecvBillNum = qadData.xxqad_prh_psnbr,//ջ
PoBillNum = qadData.xxqad_prh_po_nbr,//ɹ
PoLine = poLineNum,//
PartCode = qadData.xxqad_prh_part,//
@@ -574,7 +572,7 @@ namespace CK.SCP.GrupUniApi.Controller
LocUnit = qadData.xxqad_prh_loc_um,//λ
Qty = qadData.xxqad_prh_qty_rcvd,//ջ
CurAmt = qadData.xxqad_prh_curr_amt != null ? qadData.xxqad_prh_curr_amt.Value : 0,
- //DockCode = ?,//ջ
+ DockCode = qadData.xxqad_prh_loc,//ջ
State = (int)FormState.,// (int)FormState.ر,
CreateTime = qadData.xxqad_prh_createdt == null ? DateTime.Now : (DateTime)qadData.xxqad_prh_createdt,//
CreateUser = qadData.xxqad_prh_createur,//û
@@ -590,13 +588,13 @@ namespace CK.SCP.GrupUniApi.Controller
};
}
- scpRcvDetail.ErpRecvBillNum = !string.IsNullOrEmpty(qadData.xxqad_prh_receiver) ? qadData.xxqad_prh_receiver : string.Empty;
+ scpRcvDetail.RecvBillNum = !string.IsNullOrEmpty(qadData.xxqad_prh_psnbr) ? qadData.xxqad_prh_psnbr : string.Empty;
scpRcvDetail.PurCost = qadData.xxqad_prh_pur_cost;
scpRcvDetail.StdCost = qadData.xxqad_prh_std_cost != null ? qadData.xxqad_prh_std_cost.Value : 0;
scpRcvDetail.Rate = qadData.xxqad_prh_curr_rate != null ? qadData.xxqad_prh_curr_rate.Value : 1;
scpRcvDetail.CurAmt = qadData.xxqad_prh_curr_amt != null ? qadData.xxqad_prh_curr_amt.Value : 0;
- scpRcvDetail.Site = qadData.xxqad_prh_domain;
- scpRcvDetail.SubSite = qadData.xxqad_prh_domain;
+ //scpRcvDetail.Site = qadData.xxqad_prh_domain;
+ //scpRcvDetail.SubSite = qadData.xxqad_prh_domain;
scpRcveDetailList.Add(scpRcvDetail);
qadData.xxqad_prh_scmread = ((int)UniApiState.ɹ).ToString();
@@ -612,7 +610,7 @@ namespace CK.SCP.GrupUniApi.Controller
}
wdb.TB_RECEIVE_QAD.AddOrUpdate(scpRcvList.ToArray());
wdb.TB_RECEIVE_DETAIL_QAD.AddOrUpdate(scpRcveDetailList.ToArray());
- Console.WriteLine($" ջ ݣ{qadRcvDetailList.Count}");
+ Console.WriteLine($" ˻ ݣ{qadRcvDetailList.Count}");
}
///
/// ²ɹ
@@ -1303,7 +1301,8 @@ namespace CK.SCP.GrupUniApi.Controller
if (_first != null)
{
- var _ef= authdb.VenderUsers.FirstOrDefault(p => p.VenderId == qadData.xxqad_vd_addr && p.UserId == _first.ID)??new VenderUsers() {
+ var _ef= authdb.VenderUsers.FirstOrDefault(p => p.VenderId == qadData.xxqad_vd_addr && p.UserId == _first.ID)??new VenderUsers()
+ {
UserId=_first.ID,
VenderId=qadData.xxqad_vd_addr.ToUpper()
};
diff --git a/UniApiGroup/Controller/OdbcApiScpController.cs b/UniApiGroup/Controller/OdbcApiScpController.cs
index 93809e4..97b7e0f 100644
--- a/UniApiGroup/Controller/OdbcApiScpController.cs
+++ b/UniApiGroup/Controller/OdbcApiScpController.cs
@@ -310,7 +310,7 @@ namespace CK.SCP.GrupUniApi.Controller
qadData.xxscm_inv_domain = p.Domain;
qadData.xxscm_inv_amt = Math.Round(p.Price * p.Qty, 2);
qadData.xxscm_inv_asn = p.SourceBillNum;
- qadData.xxscm_inv_curr = p.Currency;
+ qadData.xxscm_inv_curr = p.Currency==null? "CNY" : p.Currency;
qadData.xxscm_inv_vend = p.VendId;
qadData.xxscm_inv_project = p.VendBatch;//代替项目传值
qadData.xxscm_inv_line = p.ErpLineNum;
@@ -326,9 +326,10 @@ namespace CK.SCP.GrupUniApi.Controller
qadData.xxscm_inv_date = _invoice.UpdateTime == null ? _invoice.CreateTime.Value.AddDays(1) : _invoice.UpdateTime.Value;
qadData.xxscm_inv_totamt = _invoice.Amount.Value;
qadData.xxscm_inv_tottax = _invoice.Total.Value;
- qadData.xxscm_inv_totdiscount = (_invoice.ContractPrice == null ? 0 : _invoice.ContractPrice.Value)+
-(_invoice.DiscountPrice == null ? 0 : _invoice.DiscountPrice.Value);
- qadData.xxscm_inv_tottaxvar = (_invoice.BlancePrice == null ? 0 : _invoice.BlancePrice.Value);
+ qadData.xxscm_inv_totdiscount = _invoice.ContractPrice == null ? 0 : _invoice.ContractPrice.Value;
+ qadData.xxscm_inv_tottaxvar = _invoice.BlancePrice == null ? 0 : _invoice.BlancePrice.Value;
+ qadData.xxscm_inv_extend1 = _invoice.Extend1 == null ? 0 : _invoice.Extend1.Value;
+ qadData.xxscm_inv_extend2 = _invoice.Extend2 == null ? 0 : _invoice.Extend2.Value;
qadDataList.Add(qadData);
p.State = (int)BillState.Finish;
p.PutTime = DateTime.Now;
diff --git a/UniApiGroup/Controller/OdbcApiWmsController.cs b/UniApiGroup/Controller/OdbcApiWmsController.cs
index aa7929a..7ae290d 100644
--- a/UniApiGroup/Controller/OdbcApiWmsController.cs
+++ b/UniApiGroup/Controller/OdbcApiWmsController.cs
@@ -23,8 +23,8 @@ namespace CK.SCP.GrupUniApi.Controller
var tableNameList = EnumHelper.EnumToList();
List _lst = new List();
_lst.Add("xxwms_rc_det");
- _lst.Add("xxwms_rct_det");
_lst.Add("xxwms_rt_det");
+ _lst.Add("xxwms_arv_det");
_lst.Add("xxwms_qua_det");
_lst.Add("xxwms_review_det");
@@ -87,6 +87,7 @@ namespace CK.SCP.GrupUniApi.Controller
{
Console.WriteLine($" WMS ӿݣ{wmsCtrl.xxwms_table}:{wmsCtrl.xxwms_table_qty}");
AddMaterialReceive(idb, wdb, wmsCtrl.xxwms_seq, 0);//xxwms_seq:ˮ
+ AddMaterialReturn_RC(idb, wdb, wmsCtrl.xxwms_seq, 1);//xxwms_seq:ˮ
}
break;
case WmsTableName.xxwms_rt_det:
@@ -204,7 +205,7 @@ namespace CK.SCP.GrupUniApi.Controller
private static void AddMaterialReceive(UniApiEntities idb, ScpEntities wdb, string seq, int billtype)
{
- var qadRcvDetailList = idb.xxwms_rc_det.Where(p => p.xxwms_rc_seq == seq).ToList();
+ var qadRcvDetailList = idb.xxwms_rc_det.Where(p => p.xxwms_rc_seq == seq&&p.xxwms_rc_qty_total>=0).ToList();
var scpRcvList = new List();
var scpRcveDetailList = new List();
@@ -328,7 +329,7 @@ namespace CK.SCP.GrupUniApi.Controller
PoUnit = qadData.xxwms_rc_po_um,//ɹλ
LocUnit = qadData.xxwms_rc_loc_um,//λ
Qty = qadData.xxwms_rc_qty_total,//ջ
- //DockCode = ?,//ջ
+ DockCode = qadData.xxwms_rc_loc,//ջ
State = istate,// (int)FormState.ر,
Site = firstqadData.xxwms_rc_domain,
SubSite = !string.IsNullOrEmpty(firstqadData.xxwms_rc_site) ? firstqadData.xxwms_rc_site : firstqadData.xxwms_rc_domain,
@@ -382,6 +383,167 @@ namespace CK.SCP.GrupUniApi.Controller
Console.WriteLine($" ջ ݣ{qadRcvDetailList.Count}");
}
+ ///
+ /// ˻
+ ///
+ private static void AddMaterialReturn_RC(UniApiEntities idb, ScpEntities wdb, string seq, int billtype)
+ {
+ var qadRcvDetailList = idb.xxwms_rc_det.Where(p => p.xxwms_rc_seq == seq && p.xxwms_rc_qty_total < 0).ToList();
+ var scpRcvList = new List();
+ var scpRcveDetailList = new List();
+
+ //xxqad_prh_receiverֶȥ
+ var qadReceiveNbrList = qadRcvDetailList.Select(p => p.xxwms_rc_nbr.ToUpper()).DistinctBy(p => p);
+
+ foreach (var qadRcvNbrList in qadReceiveNbrList)
+ {
+ //qadRcvDetailListͬһxxqad_prh_receiverм¼
+ var qadDataList = qadRcvDetailList.Where(p => p.xxwms_rc_nbr == qadRcvNbrList).ToList();
+ if (qadDataList.Count == 0)
+ {
+ continue;
+ }
+ var firstqadData = qadDataList[0];
+ var scpRcv = wdb.TB_RECEIVE.SingleOrDefault(p => p.RecvBillNum == qadRcvNbrList && p.Site == firstqadData.xxwms_rc_domain);
+ //ж0100ջԶǷΪ
+ bool isRerviceOk = false;
+ if (!string.IsNullOrEmpty(firstqadData.xxwms_rc_domain))
+ {
+ string site = firstqadData.xxwms_rc_domain;//0100
+ List configs = wdb.TA_FACTORY_CONFIG.Where(p => p.FactoryId == site).ToList();
+
+ foreach (TA_FACTORY_CONFIG cfg in configs)
+ {
+ TA_CONFIG tacfg = wdb.TA_CONFIG.Where(p => p.UID == cfg.ConfigId).SingleOrDefault();
+ if (tacfg != null && !string.IsNullOrEmpty(tacfg.ParamName) && tacfg.ParamName == "ջԶ")
+ {
+ if ("" == tacfg.ParamValue)
+ {
+ isRerviceOk = true;
+ }
+ }
+ }
+ }
+ if (scpRcv == null)
+ {
+ int istate = 0;
+ if (isRerviceOk == false)
+ {
+ istate = (int)FormState.ر;
+ }
+ else
+ {
+ istate = (int)FormState.;
+ }
+
+ scpRcv = new TB_RECEIVE
+ {
+ RecvBillNum = qadRcvNbrList,//˻
+ State = istate,
+ Remark = "",
+ Site = firstqadData.xxwms_rc_domain,
+ CreateTime = firstqadData.xxwms_rc_createdt == null ? DateTime.Now : (DateTime)firstqadData.xxwms_rc_createdt,//
+ CreateUser = firstqadData.xxwms_rc_createur,//û
+ IsDeleted = false,
+ GUID = System.Guid.NewGuid(),
+ BillType = billtype
+ };
+ scpRcvList.Add(scpRcv);
+ }
+ scpRcv.PoBillNum = firstqadData.xxwms_rc_po_nbr;//ɹ
+ //scpRcv.AsnBillNum = firstqadData.xxqad_prh_psnbr;//
+ scpRcv.Site = firstqadData.xxwms_rc_domain;//ص
+ scpRcv.VendId = firstqadData.xxwms_rc_vend;//
+ scpRcv.ShipTime = firstqadData.xxwms_rc_date_ship;//ջ
+ scpRcv.SubSite = !string.IsNullOrEmpty(firstqadData.xxwms_rc_site) ? firstqadData.xxwms_rc_site : firstqadData.xxwms_rc_domain;
+ //var scpAsn = wdb.TF_ASN.FirstOrDefault(p => p.BillNum == scpRcv.AsnBillNum);
+ var scpAsn = wdb.TB_ASN.FirstOrDefault(p => p.PoBillNum == scpRcv.AsnBillNum);//==˻
+ if (scpAsn != null)
+ scpAsn.State = (int)ShipState.Reject;
+ foreach (var qadData in qadDataList)
+ {
+ try
+ {
+ var poLineNum = Convert.ToInt32(qadData.xxwms_rc_po_line);
+
+ var scpRcvDetail =
+ wdb.TB_RECEIVE_DETAIL.SingleOrDefault(
+ p => p.RecvBillNum == qadRcvNbrList &&
+ p.PoBillNum == qadData.xxwms_rc_po_nbr &&
+ p.PoLine == poLineNum &&
+ p.PartCode == qadData.xxwms_rc_part &&
+ p.Batch == qadData.xxwms_rc_lot);
+ if (scpRcvDetail == null)
+ {
+ int istate = 0;
+ if (isRerviceOk == false)
+ {
+ istate = (int)FormState.ر;
+ }
+ else
+ {
+ istate = (int)FormState.;
+ }
+ scpRcvDetail = new TB_RECEIVE_DETAIL
+ {
+ RecvBillNum = qadRcvNbrList,//˻
+ PoBillNum = qadData.xxwms_rc_po_nbr,//ɹ
+ PoLine = poLineNum,//
+ PartCode = qadData.xxwms_rc_part,//Ϻ
+ Batch = qadData.xxwms_rc_lot,//
+ VendBatch = qadData.xxwms_rc_vend_batch,//Ӧ
+ PoUnit = qadData.xxwms_rc_po_um,//ɹλ
+ LocUnit = qadData.xxwms_rc_loc_um,//λ
+ Qty = qadData.xxwms_rc_qty_total,//˻
+ DockCode = qadData.xxwms_rc_loc,//ջ
+ State = istate,// (int)FormState.ر,
+ Site = firstqadData.xxwms_rc_domain,
+ SubSite = firstqadData.xxwms_rc_site,
+ CreateTime = qadData.xxwms_rc_createdt == null ? DateTime.Now : (DateTime)qadData.xxwms_rc_createdt,//
+ CreateUser = qadData.xxwms_rc_createur,//û
+ IsDeleted = false,
+ GUID = System.Guid.NewGuid(),
+ BillType = billtype
+ };
+ scpRcveDetailList.Add(scpRcvDetail);
+ }
+
+ //var scpPoDetail =
+ // wdb.TB_PO_DETAIL.FirstOrDefault(
+ // p => p.PoBillNum == qadData.xxwms_rt_po_nbr && p.PoLine == poLineNum);
+ //if (scpPoDetail != null)
+ //{
+ // //ϸRejectQty += ˻ϸQtyѽ
+ // scpPoDetail.RejectQty -= scpRcvDetail.Qty;
+ //}
+ //var scpPo = wdb.TB_PO.FirstOrDefault(p => p.ErpBillNum == qadData.xxwms_rt_po_nbr);
+ //if (scpPo != null)
+ //{
+ // //ϸ
+ // var scpPoDetails = wdb.TB_PO_DETAIL.Where(p => p.PoBillNum == qadData.xxwms_rt_po_nbr);
+ // //if (scpPoDetails.All(p => p.BillQty == p.ReceivedQty))
+ // // scpPo.State = (int)PlanState.Complete;
+ // if (scpPoDetails.All(p => p.PlanQty == p.ReceivedQty)) //==
+ // scpPo.State = (int)PlanState.Complete;
+ //}
+ qadData.xxwms_rc_wmsread = ((int)UniApiState.ɹ).ToString();
+ }
+ catch (Exception ex)
+ {
+ qadData.xxwms_rc_wmsread = ((int)UniApiState.ʧ).ToString();
+ qadData.xxwms_rc_rmks += " SCM:" + ex.Message;
+ }
+ qadData.xxwms_rc_updateur = ScpCache.Config.SCPû;
+ qadData.xxwms_rc_updatedt = DateTime.Now;
+
+ }
+
+ }
+ wdb.TB_RECEIVE.AddOrUpdate(scpRcvList.ToArray());
+ wdb.TB_RECEIVE_DETAIL.AddOrUpdate(scpRcveDetailList.ToArray());
+ Console.WriteLine($" ˻ ݣ{qadRcvDetailList.Count}");
+ }
+
#region WMS
private static void AddMaterialQuality(UniApiEntities idb, ScpEntities sdb, string seq)
{