|
|
|
|
using System;
|
|
|
|
|
using System.Collections;
|
|
|
|
|
using System.Configuration;
|
|
|
|
|
using System.Data;
|
|
|
|
|
using System.Web;
|
|
|
|
|
using System.Web.Security;
|
|
|
|
|
using System.Web.UI;
|
|
|
|
|
using System.Web.UI.HtmlControls;
|
|
|
|
|
using System.Web.UI.WebControls;
|
|
|
|
|
using System.Web.UI.WebControls.WebParts;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Text.RegularExpressions;
|
|
|
|
|
using System.Data.SqlClient;
|
|
|
|
|
using System.Text;
|
|
|
|
|
using System.Globalization;
|
|
|
|
|
using JsonHelper;
|
|
|
|
|
using DSWeb.Models;
|
|
|
|
|
using DSWeb.EntityDA;
|
|
|
|
|
using DSWeb.Log;
|
|
|
|
|
using DSWeb.Authority;
|
|
|
|
|
using DSWeb.DataAccess;
|
|
|
|
|
using System.IO;
|
|
|
|
|
using System.Xml;
|
|
|
|
|
|
|
|
|
|
namespace DSWeb.SeaiFee
|
|
|
|
|
{
|
|
|
|
|
public partial class WmsOutEdit : System.Web.UI.Page
|
|
|
|
|
{
|
|
|
|
|
private string strUserID;
|
|
|
|
|
private string strCompanyID;//公司GID
|
|
|
|
|
private string strShowName;//用户显示名
|
|
|
|
|
private string strDeptName;//部门名称
|
|
|
|
|
|
|
|
|
|
private string strSearch;//仓储费率的客户、合同号、货物名称
|
|
|
|
|
private string WoJSON;//出库明细信息
|
|
|
|
|
private string WoDetailJSON;//出库明细信息
|
|
|
|
|
private string recvJSON_3;
|
|
|
|
|
private string payJSON_3;
|
|
|
|
|
private string recvJSON_2;
|
|
|
|
|
private int iImportTemplateDetailType;
|
|
|
|
|
private string strCacheName;
|
|
|
|
|
private string strImportHistoryCacheName;
|
|
|
|
|
private int iHistoryType;//1-应收 2-应付
|
|
|
|
|
//private string strHandle;
|
|
|
|
|
//private bool isJsFee = false;
|
|
|
|
|
private int ischangecust = 0;
|
|
|
|
|
private IList<string> CustParent=new List<string>();
|
|
|
|
|
T_ALL_DA T_ALL_DA = new T_ALL_DA();
|
|
|
|
|
UnicodeEncoding unicode = new UnicodeEncoding();
|
|
|
|
|
private string recvJSON;
|
|
|
|
|
private string payJSON;
|
|
|
|
|
|
|
|
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
#region 基本信息
|
|
|
|
|
this.h_oplb.Value = "op_Seai";
|
|
|
|
|
this.h_wmsoutbsno.Value = "";
|
|
|
|
|
this.h_Mode.Value = "0";
|
|
|
|
|
this.txt_outdate.Value = DateTime.Today.ToString("yyyy-MM-dd");
|
|
|
|
|
this.txt_oldcustFeeDate.Value = this.txt_outdate.Value;
|
|
|
|
|
//addwmsout
|
|
|
|
|
if (Session["USERID"] != null)
|
|
|
|
|
{
|
|
|
|
|
strUserID = Session["USERID"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (Session["SHOWNAME"] != null)
|
|
|
|
|
{
|
|
|
|
|
strShowName = Session["SHOWNAME"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (Session["COMPANYID"] != null)
|
|
|
|
|
{
|
|
|
|
|
strCompanyID = Session["COMPANYID"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (Session["DEPTNAME"] != null)
|
|
|
|
|
{
|
|
|
|
|
strDeptName = Session["DEPTNAME"].ToString();
|
|
|
|
|
}
|
|
|
|
|
//
|
|
|
|
|
if (Request.QueryString["handle"] != null)
|
|
|
|
|
{
|
|
|
|
|
this.h_Handle.Value = Request.QueryString["handle"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (Request.QueryString["outgid"] != null)
|
|
|
|
|
{
|
|
|
|
|
this.h_outgid.Value = Request.QueryString["outgid"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (Request.QueryString["search"] != null)
|
|
|
|
|
{
|
|
|
|
|
UnicodeEncoding unicode = new UnicodeEncoding();
|
|
|
|
|
strSearch = unicode.GetString(unicode.GetBytes(Regex.Unescape(Request.QueryString["search"].ToString())));
|
|
|
|
|
}
|
|
|
|
|
if (Request.QueryString["bsno"] != null)
|
|
|
|
|
{
|
|
|
|
|
this.h_opseaibsno.Value = Request.QueryString["bsno"].ToString();
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
this.h_opseaibsno.Value = "";
|
|
|
|
|
this.h_bsno.Value = this.h_outgid.Value.Trim();
|
|
|
|
|
}
|
|
|
|
|
if (Request.QueryString["ischangecust"] != null)
|
|
|
|
|
{
|
|
|
|
|
ischangecust = int.Parse(Request.QueryString["ischangecust"].ToString());
|
|
|
|
|
if (ischangecust == 1)
|
|
|
|
|
{
|
|
|
|
|
this.h_Ischange.Value = "1";
|
|
|
|
|
this.btn_Out.InnerHtml = "货权转移";
|
|
|
|
|
this.Title = "货权转移";
|
|
|
|
|
this.h_IsSetRate.Value = "1";
|
|
|
|
|
//this.txt_oldcustFeeDate.Disabled = false;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
this.h_Ischange.Value = "0";
|
|
|
|
|
this.h_IsSetRate.Value = "0";
|
|
|
|
|
this.btn_Out.InnerHtml = "生成出库单";
|
|
|
|
|
this.Title = "生成出库单";
|
|
|
|
|
//this.txt_oldcustFeeDate.Disabled = true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
this.h_islock.Value = "false";
|
|
|
|
|
if (Request.QueryString["isdisabled"] != null)
|
|
|
|
|
{
|
|
|
|
|
this.h_isdisabled.Value = Request.QueryString["isdisabled"].ToString().Trim();
|
|
|
|
|
bool isdisabled = bool.Parse(this.h_isdisabled.Value.Trim());
|
|
|
|
|
if (Request.QueryString["islock"] != null)
|
|
|
|
|
{
|
|
|
|
|
this.h_islock.Value = Request.QueryString["islock"].ToString().Trim();
|
|
|
|
|
}
|
|
|
|
|
setIsDisabled(isdisabled, false, bool.Parse(this.h_islock.Value.Trim()));
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
//货主名称
|
|
|
|
|
sel_customer.Visible = true;
|
|
|
|
|
txt_customer.Visible = false;
|
|
|
|
|
//仓库名称
|
|
|
|
|
sel_storage.Visible = true;
|
|
|
|
|
txt_storage.Visible = false;
|
|
|
|
|
//品名
|
|
|
|
|
sel_goods.Visible = true;
|
|
|
|
|
txt_goods.Visible = false;
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 保存操作
|
|
|
|
|
WoJSON = "";
|
|
|
|
|
WoDetailJSON = "";
|
|
|
|
|
WoJSON=this.WoContainer.Value;
|
|
|
|
|
WoDetailJSON = this.WoDetailContainer.Value;
|
|
|
|
|
|
|
|
|
|
recvJSON_3 = this.recvContainer_3.Value.Trim();
|
|
|
|
|
payJSON_3 = this.payContainer_3.Value.Trim();
|
|
|
|
|
|
|
|
|
|
recvJSON_2 = "";
|
|
|
|
|
recvJSON_2 = this.recvContainer_2.Value.Trim();
|
|
|
|
|
//
|
|
|
|
|
if (this.h_post_2.Value.Trim() != "")
|
|
|
|
|
{
|
|
|
|
|
//保存操作
|
|
|
|
|
if (this.h_post_2.Value.Trim() == "1")
|
|
|
|
|
{
|
|
|
|
|
if (!recvJSON_3.Trim().Equals("") || !payJSON_3.Trim().Equals(""))
|
|
|
|
|
{ // 将页面post获取的费用信息保存或更新“费用信息表”ch_fee,并保存或更新“利润信息”fee_gain,并返回操作结果
|
|
|
|
|
SaveFeeAction();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else if (this.h_post_2.Value.Trim() == "2")
|
|
|
|
|
{
|
|
|
|
|
if (!WoJSON.Trim().Equals(""))
|
|
|
|
|
{
|
|
|
|
|
if (this.h_Handle.Value.Trim() == "edit")
|
|
|
|
|
{
|
|
|
|
|
SaveWoOutActionEdit();
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
SaveWoOutAction();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else if (this.h_post_2.Value.Trim() == "3")
|
|
|
|
|
{
|
|
|
|
|
if (!WoJSON.Trim().Equals(""))
|
|
|
|
|
{
|
|
|
|
|
if (this.h_Handle.Value.Trim() == "edit")
|
|
|
|
|
{
|
|
|
|
|
CargoRightTransferEdit();
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
CargoRightTransfer();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else if (this.h_post_2.Value.Trim() == "4")
|
|
|
|
|
{
|
|
|
|
|
//仓储费率
|
|
|
|
|
if (!recvJSON_2.Trim().Equals(""))
|
|
|
|
|
{
|
|
|
|
|
SaveRateAction();
|
|
|
|
|
recvJSON_2 = "";
|
|
|
|
|
this.recvContainer_2.Value = "";
|
|
|
|
|
this.h_post_2.Value = "";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
if (this.h_Handle.Value.Trim() == "edit")
|
|
|
|
|
{
|
|
|
|
|
//获取出库单的信息
|
|
|
|
|
h_Mode.Value = "1";
|
|
|
|
|
getHJ();
|
|
|
|
|
this.divchfee.Visible = true;
|
|
|
|
|
//
|
|
|
|
|
#region 权限可视范围
|
|
|
|
|
RangeDA RangeDA = new RangeDA();
|
|
|
|
|
this.hdRangeV.Value = RangeDA.GetVISIBLERANGE(strUserID.Trim(), "modWmsOutList");
|
|
|
|
|
this.hdRangeO.Value = RangeDA.GetOPERATERANGE(strUserID.Trim(), "modWmsOutList");
|
|
|
|
|
string alt = "";
|
|
|
|
|
if (this.hdRangeV.Value.Trim() != this.hdRangeO.Value.Trim())
|
|
|
|
|
{
|
|
|
|
|
if (this.hdRangeO.Value.Trim().Equals("0"))//全部
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
else if (this.hdRangeO.Value.Trim().Equals("1"))//分公司
|
|
|
|
|
{
|
|
|
|
|
alt = RangeDA.GetWmsOutListCompany(strCompanyID, this.h_outgid.Value.Trim());
|
|
|
|
|
if (alt == "")
|
|
|
|
|
{
|
|
|
|
|
setIsDisabled(true, true, bool.Parse(this.h_islock.Value.Trim()));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else if (this.hdRangeO.Value.Trim().Equals("2"))//部门
|
|
|
|
|
{
|
|
|
|
|
alt = RangeDA.GetWmsOutListDEPT(strDeptName, this.h_outgid.Value.Trim(), strCompanyID, strUserID);
|
|
|
|
|
if (alt == "")
|
|
|
|
|
{
|
|
|
|
|
setIsDisabled(true, true, bool.Parse(this.h_islock.Value.Trim()));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else if (this.hdRangeO.Value.Trim().Equals("3"))//个人
|
|
|
|
|
{
|
|
|
|
|
alt = RangeDA.GetWmsOutListPerson(strUserID, this.h_outgid.Value.Trim(), strCompanyID);
|
|
|
|
|
if (alt == "")
|
|
|
|
|
{
|
|
|
|
|
setIsDisabled(true, true, bool.Parse(this.h_islock.Value.Trim()));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else if (this.hdRangeO.Value.Trim().Equals("4"))//无
|
|
|
|
|
{
|
|
|
|
|
setIsDisabled(true, true, bool.Parse(this.h_islock.Value.Trim()));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
this.divchfee.Visible = false;
|
|
|
|
|
this.btislock.Visible = false;
|
|
|
|
|
this.btnotislock.Visible = false;
|
|
|
|
|
this.btOldCustFeeDate.Visible = false;
|
|
|
|
|
this.btUpdateGOODSOUTFEE.Visible = false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#region 应收应付费用录入
|
|
|
|
|
recvJSON = "";
|
|
|
|
|
payJSON = "";
|
|
|
|
|
recvJSON = this.recvContainer.Value.Trim();
|
|
|
|
|
payJSON = this.payContainer.Value.Trim();
|
|
|
|
|
|
|
|
|
|
#region 获取引入费用模板缓存信息
|
|
|
|
|
if (recvJSON.Trim().Equals("") && payJSON.Trim().Equals("") && strCacheName != null && iImportTemplateDetailType > 0)
|
|
|
|
|
{
|
|
|
|
|
DataTable templateTable = (DataTable)Session[strCacheName];
|
|
|
|
|
StringBuilder templateBuilder = new StringBuilder();
|
|
|
|
|
if (templateTable != null)
|
|
|
|
|
{
|
|
|
|
|
if (templateTable.Rows.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
templateBuilder.Append("{\"templates\":[");
|
|
|
|
|
for (int i = 0; i < templateTable.Rows.Count; i++)
|
|
|
|
|
{
|
|
|
|
|
templateTable.Rows[i]["GID"] = Guid.NewGuid().ToString();
|
|
|
|
|
if (i == templateTable.Rows.Count - 1)
|
|
|
|
|
{
|
|
|
|
|
templateBuilder.Append("{");
|
|
|
|
|
templateBuilder.Append("\"tid\":\"" + templateTable.Rows[i]["GID"].ToString() + "\",");
|
|
|
|
|
templateBuilder.Append("\"fname\":\"" + templateTable.Rows[i]["FEENAME"].ToString() + "\",");
|
|
|
|
|
templateBuilder.Append("\"client\":" + templateTable.Rows[i]["CLIENT"].ToString() + ",");
|
|
|
|
|
templateBuilder.Append("\"cust\":\"" + templateTable.Rows[i]["CUSTOMERNAME"].ToString() + "\",");
|
|
|
|
|
templateBuilder.Append("\"unit\":\"" + templateTable.Rows[i]["UNIT"].ToString() + "\",");
|
|
|
|
|
templateBuilder.Append("\"uprice\":" + templateTable.Rows[i]["UNITPRICE"].ToString() + ",");
|
|
|
|
|
templateBuilder.Append("\"cur\":\"" + templateTable.Rows[i]["CURRENCY"].ToString() + "\",");
|
|
|
|
|
templateBuilder.Append("\"exrate\":" + templateTable.Rows[i]["EXCHANGERATE"].ToString() + ",");
|
|
|
|
|
templateBuilder.Append("\"remark\":\"" + templateTable.Rows[i]["REMARK"].ToString() + "\",");
|
|
|
|
|
templateBuilder.Append("\"type\":" + templateTable.Rows[i]["FEETYPE"].ToString().ToString());
|
|
|
|
|
templateBuilder.Append("}");
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
templateBuilder.Append("{");
|
|
|
|
|
templateBuilder.Append("\"tid\":\"" + templateTable.Rows[i]["GID"].ToString() + "\",");
|
|
|
|
|
templateBuilder.Append("\"fname\":\"" + templateTable.Rows[i]["FEENAME"].ToString() + "\",");
|
|
|
|
|
templateBuilder.Append("\"client\":" + templateTable.Rows[i]["CLIENT"].ToString() + ",");
|
|
|
|
|
templateBuilder.Append("\"cust\":\"" + templateTable.Rows[i]["CUSTOMERNAME"].ToString() + "\",");
|
|
|
|
|
templateBuilder.Append("\"unit\":\"" + templateTable.Rows[i]["UNIT"].ToString() + "\",");
|
|
|
|
|
templateBuilder.Append("\"uprice\":" + templateTable.Rows[i]["UNITPRICE"].ToString() + ",");
|
|
|
|
|
templateBuilder.Append("\"cur\":\"" + templateTable.Rows[i]["CURRENCY"].ToString() + "\",");
|
|
|
|
|
templateBuilder.Append("\"exrate\":" + templateTable.Rows[i]["EXCHANGERATE"].ToString() + ",");
|
|
|
|
|
templateBuilder.Append("\"remark\":\"" + templateTable.Rows[i]["REMARK"].ToString() + "\",");
|
|
|
|
|
templateBuilder.Append("\"type\":" + templateTable.Rows[i]["FEETYPE"].ToString().ToString());
|
|
|
|
|
templateBuilder.Append("},");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
templateBuilder.Append("]}");
|
|
|
|
|
this.h_importtype.Value = iImportTemplateDetailType.ToString();
|
|
|
|
|
this.h_cachename.Value = strCacheName;
|
|
|
|
|
this.h_cachetemplate.Value = templateBuilder.ToString();
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
this.h_importtype.Value = iImportTemplateDetailType.ToString();
|
|
|
|
|
this.h_cachename.Value = "";
|
|
|
|
|
this.h_cachetemplate.Value = "";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 获取引入历史费用缓存信息
|
|
|
|
|
if (recvJSON.Trim().Equals("") && payJSON.Trim().Equals("") && strImportHistoryCacheName != null && iHistoryType > 0)
|
|
|
|
|
{
|
|
|
|
|
DataTable templateTable = (DataTable)Session[strImportHistoryCacheName];
|
|
|
|
|
StringBuilder templateBuilder = new StringBuilder();
|
|
|
|
|
if (templateTable != null)
|
|
|
|
|
{
|
|
|
|
|
if (templateTable.Rows.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
templateBuilder.Append("{\"history\":[");
|
|
|
|
|
for (int i = 0; i < templateTable.Rows.Count; i++)
|
|
|
|
|
{
|
|
|
|
|
templateTable.Rows[i]["GID"] = Guid.NewGuid().ToString();
|
|
|
|
|
if (i == templateTable.Rows.Count - 1)
|
|
|
|
|
{
|
|
|
|
|
templateBuilder.Append("{");
|
|
|
|
|
templateBuilder.Append("\"tid\":\"" + templateTable.Rows[i]["GID"].ToString() + "\",");
|
|
|
|
|
templateBuilder.Append("\"fname\":\"" + templateTable.Rows[i]["FEENAME"].ToString() + "\",");
|
|
|
|
|
templateBuilder.Append("\"cust\":\"" + templateTable.Rows[i]["CUSTOMERNAME"].ToString() + "\",");
|
|
|
|
|
templateBuilder.Append("\"unit\":\"" + templateTable.Rows[i]["UNIT"].ToString() + "\",");
|
|
|
|
|
templateBuilder.Append("\"uprice\":" + templateTable.Rows[i]["UNITPRICE"].ToString() + ",");
|
|
|
|
|
templateBuilder.Append("\"quantity\":" + templateTable.Rows[i]["QUANTITY"].ToString() + ",");
|
|
|
|
|
templateBuilder.Append("\"comm\":" + templateTable.Rows[i]["COMMISSIONRATE"].ToString() + ",");
|
|
|
|
|
templateBuilder.Append("\"amount\":" + templateTable.Rows[i]["AMOUNT"].ToString() + ",");
|
|
|
|
|
templateBuilder.Append("\"cur\":\"" + templateTable.Rows[i]["CURRENCY"].ToString() + "\",");
|
|
|
|
|
templateBuilder.Append("\"exrate\":" + templateTable.Rows[i]["EXCHANGERATE"].ToString() + ",");
|
|
|
|
|
templateBuilder.Append("\"frt\":\"" + templateTable.Rows[i]["FEEFRT"].ToString() + "\",");
|
|
|
|
|
templateBuilder.Append("\"remark\":\"" + templateTable.Rows[i]["REMARK"].ToString() + "\",");
|
|
|
|
|
templateBuilder.Append("\"isadv\":" + (templateTable.Rows[i]["ISADVANCEDPAY"].ToString().ToLower().Equals("true") ? 1 : 0) + ",");
|
|
|
|
|
templateBuilder.Append("\"type\":" + templateTable.Rows[i]["FEETYPE"].ToString().ToString());
|
|
|
|
|
templateBuilder.Append("}");
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
templateBuilder.Append("{");
|
|
|
|
|
templateBuilder.Append("\"tid\":\"" + templateTable.Rows[i]["GID"].ToString() + "\",");
|
|
|
|
|
templateBuilder.Append("\"fname\":\"" + templateTable.Rows[i]["FEENAME"].ToString() + "\",");
|
|
|
|
|
templateBuilder.Append("\"cust\":\"" + templateTable.Rows[i]["CUSTOMERNAME"].ToString() + "\",");
|
|
|
|
|
templateBuilder.Append("\"unit\":\"" + templateTable.Rows[i]["UNIT"].ToString() + "\",");
|
|
|
|
|
templateBuilder.Append("\"uprice\":" + templateTable.Rows[i]["UNITPRICE"].ToString() + ",");
|
|
|
|
|
templateBuilder.Append("\"quantity\":" + templateTable.Rows[i]["QUANTITY"].ToString() + ",");
|
|
|
|
|
templateBuilder.Append("\"comm\":" + templateTable.Rows[i]["COMMISSIONRATE"].ToString() + ",");
|
|
|
|
|
templateBuilder.Append("\"amount\":" + templateTable.Rows[i]["AMOUNT"].ToString() + ",");
|
|
|
|
|
templateBuilder.Append("\"cur\":\"" + templateTable.Rows[i]["CURRENCY"].ToString() + "\",");
|
|
|
|
|
templateBuilder.Append("\"exrate\":" + templateTable.Rows[i]["EXCHANGERATE"].ToString() + ",");
|
|
|
|
|
templateBuilder.Append("\"frt\":\"" + templateTable.Rows[i]["FEEFRT"].ToString() + "\",");
|
|
|
|
|
templateBuilder.Append("\"remark\":\"" + templateTable.Rows[i]["REMARK"].ToString() + "\",");
|
|
|
|
|
templateBuilder.Append("\"isadv\":" + (templateTable.Rows[i]["ISADVANCEDPAY"].ToString().ToLower().Equals("true") ? 1 : 0) + ",");
|
|
|
|
|
templateBuilder.Append("\"type\":" + templateTable.Rows[i]["FEETYPE"].ToString().ToString());
|
|
|
|
|
templateBuilder.Append("},");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
templateBuilder.Append("]}");
|
|
|
|
|
this.h_historytype.Value = iHistoryType.ToString();
|
|
|
|
|
this.h_historycachename.Value = strImportHistoryCacheName;
|
|
|
|
|
this.h_cachehistory.Value = templateBuilder.ToString();
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
this.h_historytype.Value = iHistoryType.ToString();
|
|
|
|
|
this.h_historycachename.Value = "";
|
|
|
|
|
this.h_cachehistory.Value = "";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 保存操作
|
|
|
|
|
if (this.h_post.Value.Trim() != "")
|
|
|
|
|
{
|
|
|
|
|
//保存操作
|
|
|
|
|
if (this.h_post.Value.Trim() == "1")
|
|
|
|
|
{
|
|
|
|
|
if (!recvJSON.Trim().Equals("") || !payJSON.Trim().Equals(""))
|
|
|
|
|
{ // 将页面post获取的费用信息保存或更新“费用信息表”ch_fee,并保存或更新“利润信息”fee_gain,并返回操作结果
|
|
|
|
|
SaveFeeAction();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
//加载下拉框
|
|
|
|
|
Page.ClientScript.RegisterStartupScript(this.GetType(), "key0", "<script>initcomboOutCustomer();initComboTRUCKNAME();initComboARCLIENT();initcombomblnonew();initComboARCLIENTWMSOUT()</script>");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#region 导出Excel
|
|
|
|
|
protected void btExcel1_Click(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
//setExcelReport();
|
|
|
|
|
setExcelReport2();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
protected void setExcelReport2()
|
|
|
|
|
{
|
|
|
|
|
if (this.hdSQL.Value.Trim() != "")
|
|
|
|
|
{
|
|
|
|
|
T_ALL_DA T_ALL_DA = new T_ALL_DA();
|
|
|
|
|
DataSet DS = T_ALL_DA.GetAllSQL(this.hdSQL.Value.Trim());
|
|
|
|
|
if (DS != null)
|
|
|
|
|
{
|
|
|
|
|
ExcelDA ExcelDA = new EntityDA.ExcelDA();
|
|
|
|
|
MemoryStream ms = ExcelDA.RenderToExcel(DS.Tables[0], this.hdNAMES.Value.Trim());
|
|
|
|
|
ExcelDA.RenderToBrowser(ms, Context, "report.xls");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
protected void setExcelReport()
|
|
|
|
|
{
|
|
|
|
|
StringWriter sw = new StringWriter();
|
|
|
|
|
string sSQL = "";
|
|
|
|
|
//sw.WriteLine("结算单位\t委托编号\t主提单号\t分提单号\t船名\t航次\tETD\t目的港\t揽货人\t应收RMB\t实收RMB\t应收USD\t实收USD\t余额");
|
|
|
|
|
sw.WriteLine(this.hdNAMES.Value.Trim());
|
|
|
|
|
T_ALL_DA T_ALL_DA = new T_ALL_DA();
|
|
|
|
|
DataSet DS = T_ALL_DA.GetAllSQL(this.hdSQL.Value.Trim());
|
|
|
|
|
if (DS != null)
|
|
|
|
|
{
|
|
|
|
|
foreach (DataTable myTable in DS.Tables)
|
|
|
|
|
{
|
|
|
|
|
foreach (DataRow myRow in myTable.Rows)//遍历表
|
|
|
|
|
{
|
|
|
|
|
sSQL = "";
|
|
|
|
|
for (int i = 0; i < myTable.Columns.Count; i++)
|
|
|
|
|
{
|
|
|
|
|
if (sSQL.Trim() != "")
|
|
|
|
|
{
|
|
|
|
|
sSQL += "\t";
|
|
|
|
|
}
|
|
|
|
|
if (myRow[i].ToString() == null || myRow[i].ToString() == "")
|
|
|
|
|
{
|
|
|
|
|
sSQL += "";
|
|
|
|
|
if (sSQL.Trim() == "")
|
|
|
|
|
{
|
|
|
|
|
sSQL += "\t";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
string ls = myRow[i].ToString().Trim();
|
|
|
|
|
if (i == 17)
|
|
|
|
|
{
|
|
|
|
|
ls = ls.Replace(" ", ",");
|
|
|
|
|
ls = ls.Replace("\r\n", "。");
|
|
|
|
|
}
|
|
|
|
|
sSQL += ls.Trim();
|
|
|
|
|
//sSQL += myRow[i].ToString();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
sw.WriteLine(sSQL);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//
|
|
|
|
|
sw.Close();
|
|
|
|
|
switch ("MUEXCEL")
|
|
|
|
|
{
|
|
|
|
|
case "MUEXCEL":
|
|
|
|
|
Response.AddHeader("Content-Disposition", "attachment; filename=report.xls");
|
|
|
|
|
Response.ContentType = "application/ms-excel";
|
|
|
|
|
break;
|
|
|
|
|
case "MUTEXT":
|
|
|
|
|
Response.AddHeader("Content-Disposition", "attachment; filename=report.txt");
|
|
|
|
|
Response.ContentType = "application/txt";
|
|
|
|
|
break;
|
|
|
|
|
case "MUWORD":
|
|
|
|
|
Response.AddHeader("Content-Disposition", "attachment; filename=report.doc");
|
|
|
|
|
Response.ContentType = "application/ms-word";
|
|
|
|
|
break;
|
|
|
|
|
case "MUPDF":
|
|
|
|
|
Response.AddHeader("Content-Disposition", "attachment; filename=report.pdf");
|
|
|
|
|
Response.ContentType = "application/pdf";
|
|
|
|
|
break;
|
|
|
|
|
case "MUXML":
|
|
|
|
|
Response.AddHeader("Content-Disposition", "attachment; filename=report.xml");
|
|
|
|
|
Response.ContentType = "application/xml";
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
|
|
|
|
|
Response.Write(sw);
|
|
|
|
|
Response.End();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 应收应付费用录入
|
|
|
|
|
#region 将页面post获取的费用信息保存或更新“费用信息表”ch_fee,并保存或更新“利润信息”fee_gain,并返回操作结果
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 将页面post获取的费用信息保存或更新“费用信息表”ch_fee,并保存或更新“利润信息”fee_gain,并返回操作结果
|
|
|
|
|
/// </summary>
|
|
|
|
|
private void SaveFeeAction()
|
|
|
|
|
{
|
|
|
|
|
IList<FeeEntity> feeEntities = new List<FeeEntity>();
|
|
|
|
|
if (!recvJSON.Trim().Equals(""))
|
|
|
|
|
{ //将应收费用信息从前台页面写入费用实体类feeEntities
|
|
|
|
|
feeEntities = ResolveFeeJSON(recvJSON.Trim(), feeEntities);
|
|
|
|
|
recvContainer.Value = "";
|
|
|
|
|
}
|
|
|
|
|
if (!payJSON.Trim().Equals(""))
|
|
|
|
|
{ //将应付费用信息从前台页面写入费用实体类feeEntities
|
|
|
|
|
feeEntities = ResolveFeeJSON(payJSON.Trim(), feeEntities);
|
|
|
|
|
payContainer.Value = "";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
FeeDA feeDA = new FeeDA();
|
|
|
|
|
//如果是当前操作人权限范围只能查看应收或者应付时,不做更新。//(单独更新费用利润)
|
|
|
|
|
if (ValidateUserFeeAuthority(1) || ValidateUserFeeAuthority(2))
|
|
|
|
|
{
|
|
|
|
|
//将页面post获取的费用信息保存或更新“费用信息表”ch_fee,并保存或更新“利润信息”fee_gain,并返回操作结果
|
|
|
|
|
int iRecvState = feeDA.DoFee(feeEntities, this.h_bsno.Value.Trim(), strUserID);//strSeaBSNO
|
|
|
|
|
if (iRecvState == 1)
|
|
|
|
|
{
|
|
|
|
|
gainContainer.Value = "";
|
|
|
|
|
if (Session[strCacheName] != null)
|
|
|
|
|
{
|
|
|
|
|
Session.Remove(strCacheName);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
h_post.Value = "";//请求状态清空
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 将页面post获取的费用信息读入到费用实体类ch_fee中
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 将页面post获取的费用信息读入到费用实体类ch_fee中
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="tempJSON"></param>
|
|
|
|
|
/// <param name="tempFeeEntities"></param>
|
|
|
|
|
/// <returns>将页面post获取的费用信息读入到费用实体类ch_fee中</returns>
|
|
|
|
|
private IList<FeeEntity> ResolveFeeJSON(string tempJSON, IList<FeeEntity> tempFeeEntities)
|
|
|
|
|
{
|
|
|
|
|
string strFilter = "";
|
|
|
|
|
if (tempJSON.IndexOf("[") >= 0 && tempJSON.IndexOf("]") > 0)
|
|
|
|
|
{
|
|
|
|
|
strFilter = tempJSON.Substring(tempJSON.IndexOf("[") + 1, tempJSON.IndexOf("]") - tempJSON.IndexOf("[") - 1);
|
|
|
|
|
string[] strFees = strFilter.Split(new string[] { "},{" }, System.StringSplitOptions.RemoveEmptyEntries);
|
|
|
|
|
if (strFees.Length > 0)
|
|
|
|
|
{
|
|
|
|
|
for (int i = 0; i < strFees.Length; i++)
|
|
|
|
|
{
|
|
|
|
|
strFees[i] = strFees[i].ToString().Replace("{", "");
|
|
|
|
|
strFees[i] = strFees[i].ToString().Replace("}", "");
|
|
|
|
|
string[] strCell = strFees[i].Split(new char[] { ',' });
|
|
|
|
|
if (strCell.Length > 0)
|
|
|
|
|
{
|
|
|
|
|
FeeEntity feeEntity = new FeeEntity();
|
|
|
|
|
for (int j = 0; j < strCell.Length; j++)
|
|
|
|
|
{
|
|
|
|
|
string[] strArg = strCell[j].Split(new char[] { ':' });
|
|
|
|
|
switch (strArg[0].Replace("\"", ""))
|
|
|
|
|
{
|
|
|
|
|
case "id":
|
|
|
|
|
feeEntity.GID = strArg[1].ToString().Replace("\"", "").Trim();
|
|
|
|
|
break;
|
|
|
|
|
case "type":
|
|
|
|
|
feeEntity.FeeType = int.Parse(strArg[1].ToString().Replace("\"", "").Trim());
|
|
|
|
|
break;
|
|
|
|
|
case "bsno":
|
|
|
|
|
string str = strArg[1].ToString().Replace("\"", "").Trim();
|
|
|
|
|
if (str.Trim() == "")
|
|
|
|
|
{
|
|
|
|
|
feeEntity.BSNO = this.h_outgid.Value.Trim();
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
feeEntity.BSNO = str;
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case "status":
|
|
|
|
|
//feeEntity.FeeStatus=int.Parse(strArg[1].ToString().Replace("\"", "").ToString());
|
|
|
|
|
break;
|
|
|
|
|
case "fname":
|
|
|
|
|
feeEntity.FeeName = UnicodeToGB(strArg[1].ToString().Replace("\"", "").Trim());
|
|
|
|
|
break;
|
|
|
|
|
case "cust":
|
|
|
|
|
feeEntity.CustomerName = UnicodeToGB(strArg[1].ToString().Replace("\"", "").Trim());
|
|
|
|
|
break;
|
|
|
|
|
case "unit":
|
|
|
|
|
string tempUnit = UnicodeToGB(strArg[1].ToString().Replace("\"", "").Trim());
|
|
|
|
|
|
|
|
|
|
if (tempUnit.Equals("null") || tempUnit.Equals(""))
|
|
|
|
|
{
|
|
|
|
|
feeEntity.Unit = "";
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
feeEntity.Unit = tempUnit;
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case "price":
|
|
|
|
|
feeEntity.UnitPrice = decimal.Parse(strArg[1].ToString().Replace("\"", "").Trim());
|
|
|
|
|
break;
|
|
|
|
|
case "quant":
|
|
|
|
|
feeEntity.Quantity = decimal.Parse(strArg[1].ToString().Replace("\"", "").Trim());
|
|
|
|
|
break;
|
|
|
|
|
case "com":
|
|
|
|
|
feeEntity.CommissionRate = decimal.Parse(strArg[1].ToString().Replace("\"", "").Trim());
|
|
|
|
|
break;
|
|
|
|
|
case "amount":
|
|
|
|
|
feeEntity.Amount = decimal.Parse(strArg[1].ToString().Replace("\"", "").Trim());
|
|
|
|
|
break;
|
|
|
|
|
case "cur":
|
|
|
|
|
feeEntity.Currency = strArg[1].ToString().Replace("\"", "").Trim();
|
|
|
|
|
break;
|
|
|
|
|
case "rate":
|
|
|
|
|
feeEntity.ExchangeRate = decimal.Parse(strArg[1].ToString().Replace("\"", "").Trim());
|
|
|
|
|
break;
|
|
|
|
|
case "frt":
|
|
|
|
|
feeEntity.FeeFrt = strArg[1].ToString().Replace("\"", "").Trim();
|
|
|
|
|
break;
|
|
|
|
|
case "remark":
|
|
|
|
|
UnicodeEncoding unicode = new UnicodeEncoding();
|
|
|
|
|
string lsremark = unicode.GetString(unicode.GetBytes(Regex.Unescape(strArg[1].ToString().Replace("\"", "").Trim())));
|
|
|
|
|
feeEntity.Remark = lsremark.Trim();
|
|
|
|
|
break;
|
|
|
|
|
case "isadv":
|
|
|
|
|
feeEntity.IsAdvancePay = strArg[1].ToString().Replace("\"", "").Trim().Equals("1") ? true : false;
|
|
|
|
|
break;
|
|
|
|
|
case "linenum":
|
|
|
|
|
feeEntity.LINENUM = strArg[1].ToString().Replace("\"", "").Trim() == "" ? 0 : int.Parse(strArg[1].ToString().Replace("\"", "").Trim());
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
feeEntity.WMSOUTBSNO = this.h_outgid.Value.Trim();
|
|
|
|
|
feeEntity.EnterOperator = this.strUserID;
|
|
|
|
|
feeEntity.FeeStatus = 1;
|
|
|
|
|
tempFeeEntities.Add(feeEntity);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return tempFeeEntities;
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 将页面post获取的利润值读入到利润实体类中
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 将页面post获取的利润值读入到利润实体类中
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns>返回利润实体类 FeeProfitEntity</returns>
|
|
|
|
|
private FeeProfitEntity GetRequestProfit()
|
|
|
|
|
{
|
|
|
|
|
FeeProfitEntity tempFeeProfitEntity = new FeeProfitEntity();
|
|
|
|
|
#region 保留
|
|
|
|
|
//tempFeeProfitEntity.RMBDR = Decimal.Parse(dvRecvRMBVal.InnerText.Trim());
|
|
|
|
|
//tempFeeProfitEntity.USDDR = Decimal.Parse(dvUSRecvVal.InnerHtml.Trim());
|
|
|
|
|
//tempFeeProfitEntity.OTHERDR = Decimal.Parse(dvOtherCurrencyRecvVal.InnerHtml.Trim());
|
|
|
|
|
//tempFeeProfitEntity.RMBCR = Decimal.Parse(dvPayRMBVal.InnerHtml.Trim());
|
|
|
|
|
//tempFeeProfitEntity.USDCR = Decimal.Parse(dvUSPayVal.InnerHtml.Trim());
|
|
|
|
|
//tempFeeProfitEntity.OTHERCR = Decimal.Parse(dvOtherCurrencyPayVal.InnerHtml.Trim());
|
|
|
|
|
//tempFeeProfitEntity.DRTTL = Decimal.Parse(dvRecvTotalVal.InnerHtml.Trim());
|
|
|
|
|
//tempFeeProfitEntity.CRTTL = Decimal.Parse(dvPaySumVal.InnerHtml.Trim());
|
|
|
|
|
//tempFeeProfitEntity.RMBProfit = Decimal.Parse(dvRMBProfitVal.InnerHtml.Trim());
|
|
|
|
|
//tempFeeProfitEntity.USDProfit = Decimal.Parse(dvUSProfitVal.InnerHtml.Trim());
|
|
|
|
|
//tempFeeProfitEntity.OTHERProfit = Decimal.Parse(dvOtherCurrencyProfitVal.InnerHtml.Trim());
|
|
|
|
|
//tempFeeProfitEntity.TTLProfit = Decimal.Parse(dvProfitTotalVal.InnerHtml.Trim());
|
|
|
|
|
//tempFeeProfitEntity.ProfitRate = dvProfitRateVal.InnerHtml.Trim();
|
|
|
|
|
#endregion
|
|
|
|
|
if (!gainContainer.Value.Trim().Equals(""))
|
|
|
|
|
{
|
|
|
|
|
string[] gainList = gainContainer.Value.Trim().Split(new char[] { ',' });
|
|
|
|
|
if (!gainList[0].ToString().Trim().Equals(""))
|
|
|
|
|
{
|
|
|
|
|
tempFeeProfitEntity.RMBDR = Decimal.Parse(gainList[0].ToString().Trim());
|
|
|
|
|
tempFeeProfitEntity.USDDR = Decimal.Parse(gainList[1].ToString().Trim());
|
|
|
|
|
tempFeeProfitEntity.OTHERDR = Decimal.Parse(gainList[2].ToString().Trim());
|
|
|
|
|
tempFeeProfitEntity.RMBCR = Decimal.Parse(gainList[3].ToString().Trim());
|
|
|
|
|
tempFeeProfitEntity.USDCR = Decimal.Parse(gainList[4].ToString().Trim());
|
|
|
|
|
tempFeeProfitEntity.OTHERCR = Decimal.Parse(gainList[5].ToString().Trim());
|
|
|
|
|
tempFeeProfitEntity.DRTTL = Decimal.Parse(gainList[6].ToString().Trim());
|
|
|
|
|
tempFeeProfitEntity.CRTTL = Decimal.Parse(gainList[7].ToString().Trim());
|
|
|
|
|
tempFeeProfitEntity.RMBProfit = Decimal.Parse(gainList[8].ToString().Trim());
|
|
|
|
|
tempFeeProfitEntity.USDProfit = Decimal.Parse(gainList[9].ToString().Trim());
|
|
|
|
|
tempFeeProfitEntity.OTHERProfit = Decimal.Parse(gainList[10].ToString().Trim());
|
|
|
|
|
tempFeeProfitEntity.TTLProfit = Decimal.Parse(gainList[11].ToString().Trim());
|
|
|
|
|
tempFeeProfitEntity.ProfitRate = gainList[12].ToString().Trim() == "" ? "0%" : gainList[12].ToString().Trim();
|
|
|
|
|
tempFeeProfitEntity.CreateUser = strUserID;
|
|
|
|
|
tempFeeProfitEntity.ModifiedUser = strUserID;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
tempFeeProfitEntity.RMBDR = 0;
|
|
|
|
|
tempFeeProfitEntity.USDDR = 0;
|
|
|
|
|
tempFeeProfitEntity.OTHERDR = 0;
|
|
|
|
|
tempFeeProfitEntity.RMBCR = 0;
|
|
|
|
|
tempFeeProfitEntity.USDCR = 0;
|
|
|
|
|
tempFeeProfitEntity.OTHERCR = 0;
|
|
|
|
|
tempFeeProfitEntity.DRTTL = 0;
|
|
|
|
|
tempFeeProfitEntity.CRTTL = 0;
|
|
|
|
|
tempFeeProfitEntity.RMBProfit = 0;
|
|
|
|
|
tempFeeProfitEntity.USDProfit = 0;
|
|
|
|
|
tempFeeProfitEntity.OTHERProfit = 0;
|
|
|
|
|
tempFeeProfitEntity.TTLProfit = 0;
|
|
|
|
|
tempFeeProfitEntity.ProfitRate = "0%";
|
|
|
|
|
tempFeeProfitEntity.CreateUser = this.strUserID;
|
|
|
|
|
tempFeeProfitEntity.ModifiedUser = this.strUserID;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return tempFeeProfitEntity;
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 获取用户应收、应付权限信息
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取用户应收、应付权限信息
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="tempFeeType">费用类型</param>
|
|
|
|
|
/// <returns>返回 true 有权限操作数据 false 没有权限操作数据</returns>
|
|
|
|
|
private bool ValidateUserFeeAuthority(int tempFeeType)
|
|
|
|
|
{
|
|
|
|
|
int iResult = 0;
|
|
|
|
|
if (tempFeeType == 1)
|
|
|
|
|
{
|
|
|
|
|
UserAuthorityManage userAuthorityManageOrder = new UserAuthorityManage(strUserID, "modSeaImportList");
|
|
|
|
|
UserAuthorityManage userRecvAuthorityManage = new UserAuthorityManage(strUserID, "modSeaiRecvFeeManagement");
|
|
|
|
|
|
|
|
|
|
if (userRecvAuthorityManage.OperateType != AuthorityType.NULL)
|
|
|
|
|
{
|
|
|
|
|
iResult = userAuthorityManageOrder.CheckOperateRange(ModuleType.OPSEAILIST, userRecvAuthorityManage.OperateType, strShowName, strCompanyID, strDeptName, this.h_bsno.Value.Trim(), "", strUserID);//strSeaBSNO
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
UserAuthorityManage userAuthorityManageOrder = new UserAuthorityManage(strUserID, "modSeaImportList");
|
|
|
|
|
UserAuthorityManage userPayAuthorityManage = new UserAuthorityManage(strUserID, "modSeaiPayFeeManagement");
|
|
|
|
|
|
|
|
|
|
if (userPayAuthorityManage.OperateType != AuthorityType.NULL)
|
|
|
|
|
{
|
|
|
|
|
iResult = userAuthorityManageOrder.CheckOperateRange(ModuleType.OPSEAILIST, userPayAuthorityManage.OperateType, strShowName, strCompanyID, strDeptName, this.h_bsno.Value.Trim(), "", strUserID);//strSeaBSNO
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (iResult > 0)
|
|
|
|
|
{
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 出库操作
|
|
|
|
|
#region 生成出库单
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 生成出库单
|
|
|
|
|
/// </summary>
|
|
|
|
|
private int SaveWoOutAction()
|
|
|
|
|
{
|
|
|
|
|
int iState = 0;
|
|
|
|
|
int result = 0;
|
|
|
|
|
string Sqlstr = "";
|
|
|
|
|
|
|
|
|
|
Decimal totaloutfee = 0;//应收出库单的仓储费
|
|
|
|
|
Decimal totaloutfeeap = 0;//应付出库单的仓储费
|
|
|
|
|
int feedays = 0;//应收仓储天数
|
|
|
|
|
int feedaysap = 0;//应付仓储天数
|
|
|
|
|
Decimal sumfee = 0;//应收出库明细的仓储费
|
|
|
|
|
Decimal sumfeeap = 0;//应付出库明细的仓储费
|
|
|
|
|
//
|
|
|
|
|
//int prescale = 0;
|
|
|
|
|
//int nowscale = 0;
|
|
|
|
|
//int nowgrade = 0;
|
|
|
|
|
//Decimal price = 0;
|
|
|
|
|
//Decimal gradefee = 0;
|
|
|
|
|
string newGID = "";
|
|
|
|
|
string bsno = "";
|
|
|
|
|
|
|
|
|
|
//出库单信息
|
|
|
|
|
WmsOutDA WmsOutDA = new WmsOutDA();
|
|
|
|
|
WmsOutEntity WmsOutEntity = new WmsOutEntity();
|
|
|
|
|
if (!WoJSON.Trim().Equals(""))
|
|
|
|
|
{ //将应收费用信息从前台页面写入费用实体类feeEntities
|
|
|
|
|
WmsOutEntity = ResolveWoJSON(WoJSON.Trim(), WmsOutEntity);
|
|
|
|
|
WoContainer.Value = "";
|
|
|
|
|
}
|
|
|
|
|
//出库单明细信息
|
|
|
|
|
WmsOutDetailDA WmsOutDetailDA = new WmsOutDetailDA();
|
|
|
|
|
IList<WmsOutDetailEntity> WmsOutDetailEntitys = new List<WmsOutDetailEntity>();
|
|
|
|
|
if (!WoDetailJSON.Trim().Equals(""))
|
|
|
|
|
{ //将应收费用信息从前台页面写入费用实体类feeEntities
|
|
|
|
|
WmsOutDetailEntitys = ResolveWoDetailJSON(WoDetailJSON.Trim(), WmsOutDetailEntitys);
|
|
|
|
|
this.WoDetailContainer.Value = "";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
using (SqlTransaction sqlTran = SqlHelper.BeginTransaction(SqlHelper.ConnectionStringLocalTransaction))
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
#region 生成出库单并计算费用
|
|
|
|
|
#region 保存出库单wms_out 出库单明细wms_out_detail
|
|
|
|
|
//保存出库单wms_out
|
|
|
|
|
string ls = WmsOutEntity.TRUCKNO.ToString().Trim();
|
|
|
|
|
ls = ls.Replace("??"," ");
|
|
|
|
|
ls = ls.Replace("!!","\r\n");
|
|
|
|
|
//
|
|
|
|
|
string strVALIDDATE = WmsOutEntity.VALIDDATE.ToString().Trim().IndexOf("0001")>-1 ? "" : ",'" + WmsOutEntity.VALIDDATE.ToString() + "'";
|
|
|
|
|
string strVALIDDATE_name = WmsOutEntity.VALIDDATE.ToString().Trim().IndexOf("0001") > -1 ? "" : ",VALIDDATE";
|
|
|
|
|
//
|
|
|
|
|
Sqlstr = String.Format("insert into wms_out(GID,BSNO,CUSTOMERNAME,DODATE,STORAGENAME,GOODSNAME,GOODSMODEL,GOODSPFSL,REMARK,CREATEUSER,CREATETIME,TRUCKNO,ASSOCIATEDNO,GOODSPACKPFSL,INSPECTIONNO,CUSTOMNO,CLIENTNAMEOLD,OLDCUSTFEEDATE,TRUCKNAME,ARCLIENT,INGIDNEW,CLIENTBSNO,TOTALNO,REMARK2{22},CHARGEUNIT,MBLNONEW,CORPID,ARCLIENTWMSOUT,BZTCHNO,ISCOLLECTING)"
|
|
|
|
|
+ " values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}',getdate(),'{10}','{11}','{12}','{13}','{14}','{15}','{16}','{17}','{18}','','{19}','{20}','{21}'{23},'{24}','{25}','{26}','{27}','{28}','{29}')"
|
|
|
|
|
, WmsOutEntity.GID, WmsOutEntity.BSNO, WmsOutEntity.CUSTOMERNAME, WmsOutEntity.DODATE, WmsOutEntity.STORAGENAME, WmsOutEntity.GOODSNAME, WmsOutEntity.GOODSMODEL, WmsOutEntity.GOODSPFSL, WmsOutEntity.REMARK, strUserID, ls, WmsOutEntity.ASSOCIATEDNO, WmsOutEntity.GOODSPACKPFSL, WmsOutEntity.INSPECTIONNO, WmsOutEntity.CUSTOMNO, WmsOutEntity.CLIENTNAMEOLD, WmsOutEntity.OLDCUSTFEEDATE, WmsOutEntity.TRUCKNAME, WmsOutEntity.ARCLIENT, WmsOutEntity.CLIENTBSNO, WmsOutEntity.TOTALNO, WmsOutEntity.REMARK2, strVALIDDATE_name, strVALIDDATE, WmsOutEntity.CHARGEUNIT, WmsOutEntity.MBLNONEW, strCompanyID, WmsOutEntity.ARCLIENTWMSOUT, WmsOutEntity.BZTCHNO, WmsOutEntity.ISCOLLECTING);
|
|
|
|
|
iState=SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, Sqlstr, null);
|
|
|
|
|
if (iState != 1)
|
|
|
|
|
{
|
|
|
|
|
sqlTran.Rollback();
|
|
|
|
|
result = -1;
|
|
|
|
|
Clearh();
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
//保存出库单明细wms_out_detail
|
|
|
|
|
foreach (WmsOutDetailEntity WmsOutDetailEntity in WmsOutDetailEntitys)
|
|
|
|
|
{
|
|
|
|
|
if (DateTime.Parse(WmsOutDetailEntity.DODATE.ToString("yyyy-MM-dd")) > DateTime.Parse(WmsOutEntity.DODATE.ToString("yyyy-MM-dd")))
|
|
|
|
|
{
|
|
|
|
|
sqlTran.Rollback();
|
|
|
|
|
result = -12;
|
|
|
|
|
Page.ClientScript.RegisterStartupScript(this.GetType(), "key10", "<script>alert('出库日期不能小于入库日期!');</script>");
|
|
|
|
|
Clearh();
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
//
|
|
|
|
|
newGID = Guid.NewGuid().ToString();
|
|
|
|
|
WmsOutDetailEntity.GID = newGID;
|
|
|
|
|
WmsOutDetailEntity.OUTBSNO = WmsOutEntity.BSNO;
|
|
|
|
|
Decimal outnums =Decimal.Parse(WmsOutDetailEntity.GOODSPFSL.ToString());//出库量
|
|
|
|
|
|
|
|
|
|
#region 计算仓储费[已注销]
|
|
|
|
|
/*
|
|
|
|
|
int feedays = 0;
|
|
|
|
|
if (WmsOutDetailEntity.STARTBILLINGDATE.ToString().Trim().IndexOf("0001") < 0)
|
|
|
|
|
{
|
|
|
|
|
feedays = WmsOutDetailDA.GetDaysCount("day", WmsOutDetailEntity.STARTBILLINGDATE.ToString(), WmsOutEntity.OLDCUSTFEEDATE.ToString().Trim());//WmsOutEntity.DODATE.ToString() 出库-开始计费日期
|
|
|
|
|
if (feedays > 0)
|
|
|
|
|
{
|
|
|
|
|
if (this.ck_jsfee.Checked)
|
|
|
|
|
{
|
|
|
|
|
SqlParameter parmrate = new SqlParameter("@BSNO", SqlDbType.VarChar, 100);
|
|
|
|
|
parmrate.Value = WmsOutDetailEntity.INBSNO;//WmsOutEntity.ASSOCIATEDNO;
|
|
|
|
|
Sqlstr = String.Format("SELECT FEEGRADE,FEESCALE,FEEPRICE,FEEUNIT FROM wms_rate where BSNO=@BSNO and CUSTOMERNAME like '%{0}%' order by BSNO,FEEGRADE ", WmsOutEntity.CUSTOMERNAME);
|
|
|
|
|
DataSet dsrate = SqlHelper.ExecuteQueryDataset(sqlTran, CommandType.Text, Sqlstr.ToString(), parmrate);
|
|
|
|
|
DataTable dtrate = new DataTable();
|
|
|
|
|
if (dsrate != null)
|
|
|
|
|
{
|
|
|
|
|
dtrate = dsrate.Tables[0];
|
|
|
|
|
if (dtrate.Rows.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
prescale = 0;
|
|
|
|
|
nowscale = 0;
|
|
|
|
|
nowgrade = 0;
|
|
|
|
|
price = 0;
|
|
|
|
|
|
|
|
|
|
gradefee = 0;
|
|
|
|
|
sumfee = 0;
|
|
|
|
|
foreach (DataRow drow in dtrate.Rows)
|
|
|
|
|
{
|
|
|
|
|
nowgrade = int.Parse(drow["FEEGRADE"].ToString());//计费等级
|
|
|
|
|
nowscale = int.Parse(drow["FEESCALE"].ToString());//计费区间
|
|
|
|
|
price = Decimal.Parse(drow["FEEPRICE"].ToString());//计费单价
|
|
|
|
|
if (nowgrade.Equals(1))//计费等级
|
|
|
|
|
{
|
|
|
|
|
if (feedays > nowscale)
|
|
|
|
|
{
|
|
|
|
|
gradefee = outnums * price * nowscale;//出库量*计费单价*计费区间
|
|
|
|
|
sumfee += gradefee;
|
|
|
|
|
|
|
|
|
|
//计算 开始计费日期和计费天数
|
|
|
|
|
//if (price > 0)
|
|
|
|
|
//{
|
|
|
|
|
// dtime = WmsOutDetailEntity.DODATE.ToString();//开始计费日期 STARTBILLINGDATE
|
|
|
|
|
// iFEEDAYS = nowscale;//计费天数 FEEDAYS
|
|
|
|
|
//}
|
|
|
|
|
//
|
|
|
|
|
prescale = nowscale;//本次计费区间
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
gradefee = outnums * price * (feedays - prescale);//出库量*计费单价*(仓储天数-上一个计费区间(0))
|
|
|
|
|
sumfee += gradefee;
|
|
|
|
|
|
|
|
|
|
//计算 开始计费日期和计费天数
|
|
|
|
|
//if (price > 0)
|
|
|
|
|
//{
|
|
|
|
|
// dtime = WmsOutDetailEntity.DODATE.ToString();//开始计费日期 STARTBILLINGDATE
|
|
|
|
|
// iFEEDAYS = feedays - prescale;//计费天数 FEEDAYS
|
|
|
|
|
//}
|
|
|
|
|
//
|
|
|
|
|
prescale = nowscale;//本次计费区间
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else if (nowgrade > 1)//计费等级
|
|
|
|
|
{
|
|
|
|
|
if (feedays > nowscale)
|
|
|
|
|
{
|
|
|
|
|
gradefee = outnums * price * (nowscale - prescale);//出库量*计费单价*(计费区间-上一个计费区间(0))
|
|
|
|
|
sumfee += gradefee;
|
|
|
|
|
|
|
|
|
|
//计算 开始计费日期和计费天数
|
|
|
|
|
//if (price > 0)
|
|
|
|
|
//{
|
|
|
|
|
// if (dtime.Trim() == "")
|
|
|
|
|
// {
|
|
|
|
|
// dtime = (DateTime.Parse(WmsOutDetailEntity.DODATE.ToString()).AddDays(prescale)).ToString().Trim();//开始计费日期 STARTBILLINGDATE
|
|
|
|
|
// }
|
|
|
|
|
// iFEEDAYS += (nowscale - prescale);//计费天数 FEEDAYS
|
|
|
|
|
//}
|
|
|
|
|
//
|
|
|
|
|
prescale = nowscale;//本次计费区间
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
gradefee = outnums * price * (feedays - prescale);//出库量*计费单价*(仓储天数-上一个计费区间(0))
|
|
|
|
|
sumfee += gradefee;
|
|
|
|
|
|
|
|
|
|
//计算 开始计费日期和计费天数
|
|
|
|
|
//if (price > 0)
|
|
|
|
|
//{
|
|
|
|
|
// if (dtime.Trim() == "")
|
|
|
|
|
// {
|
|
|
|
|
// dtime = (DateTime.Parse(WmsOutDetailEntity.DODATE.ToString()).AddDays(prescale)).ToString().Trim();//开始计费日期 STARTBILLINGDATE
|
|
|
|
|
// }
|
|
|
|
|
// iFEEDAYS += (feedays - prescale);//计费天数 FEEDAYS
|
|
|
|
|
//}
|
|
|
|
|
//
|
|
|
|
|
prescale = nowscale;//本次计费区间
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (feedays > nowscale)
|
|
|
|
|
{
|
|
|
|
|
gradefee = outnums * price * (feedays - nowscale);//出库量*计费单价*(仓储天数-计费区间(0))
|
|
|
|
|
sumfee += gradefee;
|
|
|
|
|
|
|
|
|
|
//计算 开始计费日期和计费天数
|
|
|
|
|
//if (price > 0)
|
|
|
|
|
//{
|
|
|
|
|
// if (dtime.Trim() == "")
|
|
|
|
|
// {
|
|
|
|
|
// dtime = (DateTime.Parse(WmsOutDetailEntity.DODATE.ToString()).AddDays(nowscale - 1)).ToString().Trim();//开始计费日期 STARTBILLINGDATE
|
|
|
|
|
// }
|
|
|
|
|
// iFEEDAYS += (feedays - nowscale);//计费天数 FEEDAYS
|
|
|
|
|
//}
|
|
|
|
|
}
|
|
|
|
|
totaloutfee += sumfee;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{//仓储费率没有设定
|
|
|
|
|
sqlTran.Rollback();
|
|
|
|
|
result = -2;
|
|
|
|
|
Page.ClientScript.RegisterStartupScript(this.GetType(), "key0", "<script>alert('仓储费率没有设置');</script>");
|
|
|
|
|
Clearh();
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
sqlTran.Rollback();
|
|
|
|
|
result = -3;
|
|
|
|
|
Page.ClientScript.RegisterStartupScript(this.GetType(), "key0", "<script>alert('仓储费率没有设置');</script>");
|
|
|
|
|
Clearh();
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
feedays = 0;
|
|
|
|
|
sumfee = 0;
|
|
|
|
|
//iFEEDAYS = 0;
|
|
|
|
|
//dtime = "";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
feedays = 0;
|
|
|
|
|
sumfee = 0;
|
|
|
|
|
//iFEEDAYS = 0;
|
|
|
|
|
//dtime = "";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
feedays = 0;
|
|
|
|
|
sumfee = 0;
|
|
|
|
|
//iFEEDAYS = 0;
|
|
|
|
|
//dtime = "";
|
|
|
|
|
}
|
|
|
|
|
*/
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 计算仓储费
|
|
|
|
|
// <param name="sqlTran">事务</param>
|
|
|
|
|
// <param name="strSTARTBILLINGDATE">开始计费日期</param>
|
|
|
|
|
// <param name="strOLDCUSTFEEDATE">上家承担仓储期限</param>
|
|
|
|
|
// <param name="strINBSNO">出库明细关联的入库单wms或wms_in的BSNO</param>
|
|
|
|
|
// <param name="strCUSTOMERNAME">出库主表的客户名称</param>
|
|
|
|
|
// <param name="outnums">出库量</param>
|
|
|
|
|
// <param name="strASSOCIATEDNO">关联wms_out_detail的GID</param>
|
|
|
|
|
// <param name="strFEETYPE">区别费用收、付类型</param>
|
|
|
|
|
|
|
|
|
|
//计算应收仓储费
|
|
|
|
|
string getstr = WmsOutDetailDA.getWmsRate(sqlTran, WmsOutDetailEntity.STARTBILLINGDATE.ToString().Trim(), WmsOutEntity.OLDCUSTFEEDATE.ToString().Trim(), WmsOutDetailEntity.INBSNO.ToString().Trim(), WmsOutEntity.CUSTOMERNAME.ToString().Trim(), outnums, WmsOutDetailEntity.GID.ToString(), 1, strUserID, strShowName, this.txt_outbsno.Value.Trim(), this.ck_jsfee.Checked, false);
|
|
|
|
|
|
|
|
|
|
string[] strls = getstr.Trim().Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
|
|
|
|
|
sumfee = Decimal.Parse(strls[0].ToString());
|
|
|
|
|
totaloutfee += sumfee;//仓储费合计
|
|
|
|
|
feedays += int.Parse(strls[1].ToString());
|
|
|
|
|
|
|
|
|
|
//计算应付仓储费
|
|
|
|
|
getstr = WmsOutDetailDA.getWmsRate(sqlTran, WmsOutDetailEntity.STARTBILLINGDATEAP.ToString().Trim(), WmsOutEntity.OLDCUSTFEEDATE.ToString().Trim(), WmsOutDetailEntity.INBSNO.ToString().Trim(), WmsOutEntity.CUSTOMERNAME.ToString().Trim(), outnums, WmsOutDetailEntity.GID.ToString(), 2, strUserID, strShowName, this.txt_outbsno.Value.Trim(), this.ck_jsfee.Checked, false);
|
|
|
|
|
|
|
|
|
|
strls = getstr.Trim().Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
|
|
|
|
|
sumfeeap = Decimal.Parse(strls[0].ToString());
|
|
|
|
|
totaloutfeeap += sumfeeap;//仓储费合计
|
|
|
|
|
feedaysap += int.Parse(strls[1].ToString());
|
|
|
|
|
//
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
//保存wms_out_detail
|
|
|
|
|
WmsOutDetailEntity.DODATE = WmsOutEntity.DODATE;
|
|
|
|
|
WmsOutDetailEntity.GOODSOUTFEE = (sumfee == 0 ? 0 : decimal.Parse(Round(sumfee, 2, "").ToString()));
|
|
|
|
|
WmsOutDetailEntity.GOODSOUTFEEAP = (sumfeeap == 0 ? 0 : decimal.Parse(Round(sumfeeap, 2, "").ToString()));
|
|
|
|
|
WmsOutDetailEntity.ENDBILLINGDATE = WmsOutDetailEntity.STARTBILLINGDATE.ToString().Trim().IndexOf("0001") > -1 ? DateTime.Parse("0001-01-01 00:00:00") : WmsOutEntity.OLDCUSTFEEDATE;//结束计费日期
|
|
|
|
|
WmsOutDetailEntity.ENDBILLINGDATEAP = WmsOutDetailEntity.STARTBILLINGDATEAP.ToString().Trim().IndexOf("0001") > -1 ? DateTime.Parse("0001-01-01 00:00:00") : WmsOutEntity.OLDCUSTFEEDATE;//结束计费日期
|
|
|
|
|
WmsOutDetailEntity.FEEDAYS = feedays;//计费天数iFEEDAYS
|
|
|
|
|
WmsOutDetailEntity.FEEDAYSAP = feedaysap;//计费天数iFEEDAYS
|
|
|
|
|
//
|
|
|
|
|
#region 提取规则编号 getCodeRuleWmsOutDetail
|
|
|
|
|
// <summary>
|
|
|
|
|
// 提取规则编号
|
|
|
|
|
// </summary>
|
|
|
|
|
// <param name="strRULENAME">规则项目名称</param>
|
|
|
|
|
// <param name="strfield">需要加规则的字段</param>
|
|
|
|
|
// <returns></returns>
|
|
|
|
|
//protected String getCodeRuleWmsOutDetail(string strRULENAME, string strfield)
|
|
|
|
|
//{
|
|
|
|
|
//调用编码规则
|
|
|
|
|
string strRULEYEAR = "";
|
|
|
|
|
string strRULECONTENT = "";
|
|
|
|
|
string strCODENAME = "";
|
|
|
|
|
string strDEPTNO = "";
|
|
|
|
|
string strRULENOLENGTH = "";
|
|
|
|
|
int iRULENOLENGTH = 0;
|
|
|
|
|
int inum = 0;
|
|
|
|
|
string strCONTENT = "";
|
|
|
|
|
DataSet ds = T_ALL_DA.GetAllSQL("select *,getdate() DODATE from code_rule where RULENAME='出库明细单号' and RULETYPE=3");
|
|
|
|
|
if (ds != null)
|
|
|
|
|
{
|
|
|
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
if (ds.Tables[0].Rows[0]["ISSTARTUSING"].ToString().Trim().Equals("True"))
|
|
|
|
|
{
|
|
|
|
|
getCodeRuleEnabled("出库明细单号", "BSNO");
|
|
|
|
|
//
|
|
|
|
|
if (ds.Tables[0].Rows[0]["RULEDATE"].ToString().Trim().Equals("业务日期"))
|
|
|
|
|
{
|
|
|
|
|
if (ds.Tables[0].Rows[0]["DODATE"].ToString().Trim() == "")
|
|
|
|
|
{
|
|
|
|
|
//return "";
|
|
|
|
|
bsno = "";
|
|
|
|
|
}
|
|
|
|
|
DateTime dETD = System.Convert.ToDateTime(ds.Tables[0].Rows[0]["DODATE"].ToString().Trim());
|
|
|
|
|
if (ds.Tables[0].Rows[0]["ISCLEAREDINEARLY"].ToString().Trim().Equals("True"))
|
|
|
|
|
{
|
|
|
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = dETD.ToString("yyyy") + dETD.ToString("MM");
|
|
|
|
|
}
|
|
|
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = dETD.ToString("yy") + dETD.ToString("MM");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = dETD.ToString("yyyy");
|
|
|
|
|
}
|
|
|
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = dETD.ToString("yy");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else if (ds.Tables[0].Rows[0]["RULEDATE"].ToString().Trim().Equals("自然月份"))
|
|
|
|
|
{
|
|
|
|
|
DateTime fwqdate = System.Convert.ToDateTime(T_ALL_DA.GetStrSQL("fwqdate", "select fwqdate=getdate()"));
|
|
|
|
|
if (ds.Tables[0].Rows[0]["ISCLEAREDINEARLY"].ToString().Trim().Equals("True"))
|
|
|
|
|
{
|
|
|
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = fwqdate.ToString("yyyy") + fwqdate.ToString("MM");
|
|
|
|
|
}
|
|
|
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = fwqdate.ToString("yy") + fwqdate.ToString("MM");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = fwqdate.ToString("yyyy");
|
|
|
|
|
}
|
|
|
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = fwqdate.ToString("yy");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//
|
|
|
|
|
if (ds.Tables[0].Rows[0]["ISCOMPANY"].ToString().Trim().Equals("True"))
|
|
|
|
|
{
|
|
|
|
|
strCODENAME = T_ALL_DA.GetStrSQL("CODENAME", "select CODENAME from [company] where GID=(select top 1 COMPANYID from user_company where USERID='" + strUserID + "')");
|
|
|
|
|
}
|
|
|
|
|
if (ds.Tables[0].Rows[0]["ISDEPT"].ToString().Trim().Equals("True"))
|
|
|
|
|
{
|
|
|
|
|
strDEPTNO = T_ALL_DA.GetStrSQL("DEPTNO", "select DEPTNO from [sys_dept] where LINKID=(select top 1 COMPANYID from user_company where USERID='" + strUserID + "')");
|
|
|
|
|
}
|
|
|
|
|
strRULECONTENT = ds.Tables[0].Rows[0]["RULECONTENT"].ToString().Trim();
|
|
|
|
|
strRULECONTENT = strRULECONTENT.Replace("《COMPANY》", strCODENAME);
|
|
|
|
|
strRULECONTENT = strRULECONTENT.Replace("《DEPT》", strDEPTNO);
|
|
|
|
|
//
|
|
|
|
|
if (ds.Tables[0].Rows[0]["RULENOLENGTH"].ToString().Trim() == "")
|
|
|
|
|
{
|
|
|
|
|
iRULENOLENGTH = 0;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
iRULENOLENGTH = int.Parse(ds.Tables[0].Rows[0]["RULENOLENGTH"].ToString().Trim());
|
|
|
|
|
}
|
|
|
|
|
strCONTENT = strRULECONTENT + strRULEYEAR;
|
|
|
|
|
//获取分公司的票号头字符
|
|
|
|
|
string tempBANKSHEAD = T_ALL_DA.GetStrSQL("BANKSHEAD", "SELECT TOP 1 BANKSHEAD FROM company WHERE GID='" + strCompanyID.Trim() + "'");
|
|
|
|
|
strCONTENT = tempBANKSHEAD + strCONTENT;
|
|
|
|
|
//
|
|
|
|
|
string strSQL = "select top 1 BSNO from [wms_out_detail] where BSNO like '" + strCONTENT.Trim() + "%' order by BSNO DESC";
|
|
|
|
|
DataSet ds1 = SqlHelper.ExecuteQueryDataset(sqlTran, CommandType.Text, strSQL, null);
|
|
|
|
|
if (ds1 != null)
|
|
|
|
|
{
|
|
|
|
|
if (ds1.Tables[0].Rows.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
strRULENOLENGTH = ds1.Tables[0].Rows[0]["BSNO"].ToString().Trim();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (strRULENOLENGTH == "")
|
|
|
|
|
{
|
|
|
|
|
strRULENOLENGTH = "1";
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
strRULENOLENGTH = strRULENOLENGTH.Replace(strCONTENT.Trim(), "");
|
|
|
|
|
inum = int.Parse(strRULENOLENGTH.Trim());
|
|
|
|
|
inum = inum + 1;
|
|
|
|
|
strRULENOLENGTH = inum.ToString();
|
|
|
|
|
}
|
|
|
|
|
int j = iRULENOLENGTH - strRULENOLENGTH.Length;
|
|
|
|
|
for (int i = 1; i <= j; i++)
|
|
|
|
|
{
|
|
|
|
|
strRULENOLENGTH = "0" + strRULENOLENGTH;
|
|
|
|
|
}
|
|
|
|
|
//
|
|
|
|
|
strCONTENT = strCONTENT + strRULENOLENGTH;
|
|
|
|
|
bsno = strCONTENT;
|
|
|
|
|
//return strCONTENT;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
// return "";
|
|
|
|
|
//}
|
|
|
|
|
#endregion
|
|
|
|
|
//
|
|
|
|
|
WmsOutDetailEntity.BSNO = bsno;
|
|
|
|
|
WmsOutDetailEntity.OUTBSNO = this.h_outbsno.Value;
|
|
|
|
|
WmsOutDetailEntity.CORPID = strCompanyID;
|
|
|
|
|
WmsOutDetailEntity.BZTCHNO = WmsOutEntity.BZTCHNO;
|
|
|
|
|
//
|
|
|
|
|
ls = WmsOutDetailEntity.TRUCKNO.ToString().Trim();
|
|
|
|
|
ls = ls.Replace("??", " ");
|
|
|
|
|
ls = ls.Replace("!!", "\r\n");
|
|
|
|
|
//
|
|
|
|
|
string strSTARTBILLINGDATE = WmsOutDetailEntity.STARTBILLINGDATE.ToString().IndexOf("0001") > -1 ? "" : "'" + WmsOutDetailEntity.STARTBILLINGDATE.ToString() + "',";
|
|
|
|
|
string strSTARTBILLINGDATE_name = strSTARTBILLINGDATE.Equals("") ? "" : "STARTBILLINGDATE,";
|
|
|
|
|
|
|
|
|
|
string strENDBILLINGDATE = WmsOutDetailEntity.STARTBILLINGDATE.ToString().IndexOf("0001") > -1 ? "" : "'" + WmsOutEntity.OLDCUSTFEEDATE.ToString() + "',";//如果开始计费日期为空,则结束计费日期也为空,否则为上家承担仓储期限。
|
|
|
|
|
string strENDBILLINGDATE_name = strENDBILLINGDATE.Equals("") ? "" : "ENDBILLINGDATE,";
|
|
|
|
|
|
|
|
|
|
string strSTARTBILLINGDATEAP = WmsOutDetailEntity.STARTBILLINGDATEAP.ToString().IndexOf("0001") > -1 ? "" : "'" + WmsOutDetailEntity.STARTBILLINGDATEAP.ToString() + "',";
|
|
|
|
|
string strSTARTBILLINGDATEAP_name = strSTARTBILLINGDATEAP.Equals("") ? "" : "STARTBILLINGDATEAP,";
|
|
|
|
|
|
|
|
|
|
string strENDBILLINGDATEAP = WmsOutDetailEntity.STARTBILLINGDATEAP.ToString().IndexOf("0001") > -1 ? "" : "'" + WmsOutEntity.OLDCUSTFEEDATE.ToString() + "',";//如果开始计费日期为空,则结束计费日期也为空,否则为上家承担仓储期限。
|
|
|
|
|
string strENDBILLINGDATEAP_name = strENDBILLINGDATEAP.Equals("") ? "" : "ENDBILLINGDATEAP,";
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
Sqlstr = String.Format("insert into wms_out_detail (GID,INBSNO,OUTBSNO,BSNO,CUSTOMERNAME,DODATE,STORAGENAME,GOODSNAME,GOODSMODEL,GOODSPFSL,GOODSOUTFEE,CREATEUSER,CREATETIME,REMARK,TRUCKNO,ASSOCIATEDNO,GOODSPACKPFSL,GOODSOUTFEEAP,ARFEE,APFEE,CLIENTNAMEOLD,OLDCUSTFEEDATE,{21}{23}FEEDAYS,GOODSSTANDARD,CHARGEUNIT,{27}{29}FEEDAYSAP,CORPID,MARKETVALUE,AREANAME,BZTCHNO) "
|
|
|
|
|
+ " values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}',getdate(),'{12}','{13}','{14}','{15}','{16}','{17}','{18}','{19}','{20}',{22}{24}'{25}','{26}','{32}',{28}{30}'{31}','{33}',{34},'{35}','{36}')"
|
|
|
|
|
, WmsOutDetailEntity.GID, WmsOutDetailEntity.INBSNO, WmsOutDetailEntity.OUTBSNO, WmsOutDetailEntity.BSNO, WmsOutDetailEntity.CUSTOMERNAME, WmsOutEntity.DODATE, WmsOutDetailEntity.STORAGENAME, WmsOutDetailEntity.GOODSNAME,WmsOutDetailEntity.GOODSMODEL, WmsOutDetailEntity.GOODSPFSL, WmsOutDetailEntity.GOODSOUTFEE, strUserID, WmsOutDetailEntity.REMARK, ls, WmsOutDetailEntity.ASSOCIATEDNO, WmsOutDetailEntity.GOODSPACKPFSL, WmsOutDetailEntity.GOODSOUTFEEAP, WmsOutDetailEntity.ARFEE, WmsOutDetailEntity.APFEE,
|
|
|
|
|
WmsOutDetailEntity.CLIENTNAMEOLD, this.txt_oldcustFeeDate.Value.Trim(), strSTARTBILLINGDATE_name, strSTARTBILLINGDATE, strENDBILLINGDATE_name, strENDBILLINGDATE, WmsOutDetailEntity.FEEDAYS, WmsOutDetailEntity.GOODSSTANDARD, strSTARTBILLINGDATEAP_name, strSTARTBILLINGDATEAP, strENDBILLINGDATEAP_name, strENDBILLINGDATEAP, WmsOutDetailEntity.FEEDAYSAP, WmsOutDetailEntity.CHARGEUNIT, strCompanyID, WmsOutDetailEntity.MARKETVALUE, WmsOutDetailEntity.AREANAME, WmsOutDetailEntity.BZTCHNO);
|
|
|
|
|
//
|
|
|
|
|
WmsOutEntity.GOODSSTANDARD = WmsOutDetailEntity.GOODSSTANDARD;
|
|
|
|
|
//
|
|
|
|
|
iState=SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, Sqlstr, null);
|
|
|
|
|
if (iState != 1)
|
|
|
|
|
{
|
|
|
|
|
sqlTran.Rollback();
|
|
|
|
|
result = -5;
|
|
|
|
|
Clearh();
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
//修改入库单wms_in
|
|
|
|
|
Sqlstr = String.Format("update wms set GOODSSTOCK=GOODSSTOCK-{0},GOODSPACKSTOCK=GOODSPACKSTOCK-{1} where ISDELETE=0 and GID='{2}' ", WmsOutDetailEntity.GOODSPFSL, WmsOutDetailEntity.GOODSPACKPFSL, WmsOutDetailEntity.INBSNO);
|
|
|
|
|
iState=SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, Sqlstr, null);
|
|
|
|
|
if (iState != 1)
|
|
|
|
|
{
|
|
|
|
|
sqlTran.Rollback();
|
|
|
|
|
result = -6;
|
|
|
|
|
Clearh();
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
}// end 保存出库明细wms_out_detail
|
|
|
|
|
|
|
|
|
|
//修改wms_out的出库量、出库件数、应收应付装卸费
|
|
|
|
|
string lsSQL = "update wms_out set "
|
|
|
|
|
+ "GOODSPFSL=(select isnull(sum(GOODSPFSL),0) from wms_out_detail where OUTBSNO=wms_out.BSNO)"
|
|
|
|
|
+ ",GOODSPACKPFSL=(select isnull(sum(GOODSPACKPFSL),0) from wms_out_detail where OUTBSNO=wms_out.BSNO)"
|
|
|
|
|
+ ",ARFEE=(select isnull(sum(ARFEE),0) from wms_out_detail where OUTBSNO=wms_out.BSNO)"
|
|
|
|
|
+ ",APFEE=(select isnull(sum(APFEE),0) from wms_out_detail where OUTBSNO=wms_out.BSNO)"
|
|
|
|
|
+ " where ISLOCK=0 and GID='" + WmsOutEntity.GID.ToString().Trim() + "'";
|
|
|
|
|
iState = SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, lsSQL, null);
|
|
|
|
|
if (iState != 1)
|
|
|
|
|
{
|
|
|
|
|
sqlTran.Rollback();
|
|
|
|
|
result = -7;
|
|
|
|
|
Clearh();
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//修改wms_out的仓储费wmsOutEntity.GOODSOUTFEE
|
|
|
|
|
h_outfee.Value = totaloutfee.ToString();
|
|
|
|
|
WmsOutEntity.GOODSOUTFEE = decimal.Parse(Round(totaloutfee, 2, "").ToString());
|
|
|
|
|
WmsOutEntity.GOODSOUTFEEAP = decimal.Parse(Round(totaloutfeeap, 2, "").ToString());
|
|
|
|
|
|
|
|
|
|
Sqlstr = String.Format("update wms_out set GOODSOUTFEE={0},GOODSOUTFEEAP={2},GOODSSTANDARD='{3}' where GID='{1}'", WmsOutEntity.GOODSOUTFEE, WmsOutEntity.GID, WmsOutEntity.GOODSOUTFEEAP, WmsOutEntity.GOODSSTANDARD);
|
|
|
|
|
iState=SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, Sqlstr, null);
|
|
|
|
|
if (iState != 1)
|
|
|
|
|
{
|
|
|
|
|
sqlTran.Rollback();
|
|
|
|
|
result = -7;
|
|
|
|
|
Clearh();
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 将仓储费写入ch_fee[已注销]
|
|
|
|
|
/*
|
|
|
|
|
if (isJsFee == true)
|
|
|
|
|
{
|
|
|
|
|
FeeDA feeDA = new FeeDA();
|
|
|
|
|
IList<FeeEntity> feeEntities = new List<FeeEntity>();
|
|
|
|
|
FeeEntity feeEntity = new FeeEntity();
|
|
|
|
|
Decimal deprice = 0;
|
|
|
|
|
if (WmsOutEntity.GOODSPFSL != 0)
|
|
|
|
|
{
|
|
|
|
|
deprice = Decimal.Parse((WmsOutEntity.GOODSOUTFEE / WmsOutEntity.GOODSPFSL).ToString());
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
deprice = 0;
|
|
|
|
|
}
|
|
|
|
|
deprice = Round(deprice, 2, "");
|
|
|
|
|
if (deprice != 0)
|
|
|
|
|
{
|
|
|
|
|
feeEntity.GID = Guid.NewGuid().ToString();
|
|
|
|
|
feeEntity.FeeType = 1;
|
|
|
|
|
feeEntity.BSNO = WmsOutEntity.ASSOCIATEDNO;
|
|
|
|
|
feeEntity.FeeName = "仓储费";
|
|
|
|
|
feeEntity.CustomerName = WmsOutEntity.CUSTOMERNAME;
|
|
|
|
|
feeEntity.Unit = "重量";
|
|
|
|
|
|
|
|
|
|
feeEntity.UnitPrice =decimal.Parse( deprice.ToString());
|
|
|
|
|
feeEntity.Quantity = WmsOutEntity.GOODSPFSL;
|
|
|
|
|
feeEntity.CommissionRate = 1;
|
|
|
|
|
feeEntity.Amount = WmsOutEntity.GOODSOUTFEE;
|
|
|
|
|
feeEntity.Currency = "RMB";
|
|
|
|
|
feeEntity.ExchangeRate = 1;
|
|
|
|
|
feeEntity.FeeFrt = "";
|
|
|
|
|
feeEntity.Remark = "";
|
|
|
|
|
feeEntity.IsAdvancePay = false;
|
|
|
|
|
feeEntity.EnterOperator = WmsOutEntity.CREATEUSER;
|
|
|
|
|
feeEntity.FeeStatus = 1;
|
|
|
|
|
feeEntity.WMSOUTBSNO = WmsOutEntity.BSNO;
|
|
|
|
|
feeEntities.Add(feeEntity);
|
|
|
|
|
iState = feeDA.DoFee(feeEntities, WmsOutEntity.BSNO, strUserID);
|
|
|
|
|
feeEntities.Remove(feeEntity);
|
|
|
|
|
if (iState != 1)
|
|
|
|
|
{
|
|
|
|
|
sqlTran.Rollback();
|
|
|
|
|
result = -8;
|
|
|
|
|
Clearh();
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//出库费写入ch_fee
|
|
|
|
|
|
|
|
|
|
WmsFeeCodeDA WmsFeeCodeDA = new WmsFeeCodeDA();
|
|
|
|
|
string strSql11 = String.Format("SELECT GID,FEETYPE,FEECODE,FEENAME,BSNO,CLIENT,UNIT,CURRENCY,UNITPRICE,EXCHANGERATE,SORT,CREATEUSER,CREATETIME,MODIFIEDUSER,MODIFIEDTIME,REMARK FROM wms_feeCode "
|
|
|
|
|
+ " where BSNO='{0}' ", WmsOutEntity.ASSOCIATEDNO);
|
|
|
|
|
DataSet ds = WmsFeeCodeDA.GetRateListByCondition(strSql11);
|
|
|
|
|
|
|
|
|
|
DataTable dt = ds.Tables[0];
|
|
|
|
|
if (dt.Rows.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
foreach (DataRow r in dt.Rows)
|
|
|
|
|
{
|
|
|
|
|
if (r["FEENAME"].ToString() == "出库费")
|
|
|
|
|
{
|
|
|
|
|
feeEntity = new FeeEntity();
|
|
|
|
|
feeEntity.GID = Guid.NewGuid().ToString();
|
|
|
|
|
feeEntity.FeeType = 1;
|
|
|
|
|
feeEntity.BSNO = WmsOutEntity.ASSOCIATEDNO;
|
|
|
|
|
feeEntity.FeeName = "出库费";
|
|
|
|
|
feeEntity.CustomerName = WmsOutEntity.CUSTOMERNAME;
|
|
|
|
|
feeEntity.Unit = "重量";
|
|
|
|
|
feeEntity.UnitPrice = decimal.Parse(r["UNITPRICE"].ToString());
|
|
|
|
|
feeEntity.Quantity = WmsOutEntity.GOODSPFSL;
|
|
|
|
|
feeEntity.CommissionRate = 1;
|
|
|
|
|
Decimal amount = Decimal.Parse(WmsOutEntity.GOODSPFSL.ToString()) * Decimal.Parse(r["UNITPRICE"].ToString());
|
|
|
|
|
feeEntity.Amount = decimal.Parse(Round(amount, 2, "").ToString());
|
|
|
|
|
feeEntity.Currency = "RMB";
|
|
|
|
|
feeEntity.ExchangeRate = 1;
|
|
|
|
|
feeEntity.FeeFrt = "";
|
|
|
|
|
feeEntity.Remark = "";
|
|
|
|
|
feeEntity.IsAdvancePay = false;
|
|
|
|
|
feeEntity.EnterOperator = WmsOutEntity.CREATEUSER;
|
|
|
|
|
feeEntity.FeeStatus = 1;
|
|
|
|
|
feeEntity.WMSOUTBSNO = WmsOutEntity.BSNO;
|
|
|
|
|
|
|
|
|
|
feeEntities.Add(feeEntity);
|
|
|
|
|
//保存如ch_fee
|
|
|
|
|
iState = feeDA.DoFee(feeEntities, WmsOutEntity.BSNO, strUserID);
|
|
|
|
|
if (iState != 1)
|
|
|
|
|
{
|
|
|
|
|
sqlTran.Rollback();
|
|
|
|
|
result = -9;
|
|
|
|
|
Clearh();
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//else
|
|
|
|
|
//{//没有设置出库费
|
|
|
|
|
//}
|
|
|
|
|
}//end 将仓储费和出库费写入ch_fee
|
|
|
|
|
*/
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
//页面赋值
|
|
|
|
|
this.h_wmsoutbsno.Value = WmsOutEntity.BSNO.ToString();
|
|
|
|
|
this.h_goodsmodel.Value = WmsOutEntity.GOODSMODEL.ToString();
|
|
|
|
|
this.h_goodspfsl.Value = WmsOutEntity.GOODSPFSL.ToString();
|
|
|
|
|
this.h_remark.Value = WmsOutEntity.REMARK.ToString();
|
|
|
|
|
|
|
|
|
|
txt_outbsno.Value = h_outbsno.Value;
|
|
|
|
|
txt_outdate.Value = h_outdate.Value;
|
|
|
|
|
string strcustomer = h_customer.Value;
|
|
|
|
|
string goods = h_goods.Value;
|
|
|
|
|
txt_goodsmodel.Value = h_goodsmodel.Value;
|
|
|
|
|
#endregion
|
|
|
|
|
this.h_newcust.Value = "";
|
|
|
|
|
this.h_IsSetRate.Value = "0";//正常出库,不需要设置费率
|
|
|
|
|
//
|
|
|
|
|
result = 1;//状态为1表示删除成功
|
|
|
|
|
sqlTran.Commit();
|
|
|
|
|
//
|
|
|
|
|
Page.ClientScript.RegisterStartupScript(this.GetType(), "key1", "<script>reloadParentEdit('" + WmsOutEntity.GID.ToString().Trim() + "','addwmsout',0,'" + WmsOutEntity.ASSOCIATEDNO.ToString().Trim() + "');</script>");
|
|
|
|
|
}
|
|
|
|
|
catch (Exception execError)
|
|
|
|
|
{
|
|
|
|
|
result = -10;//有异常,插入失败
|
|
|
|
|
sqlTran.Rollback();
|
|
|
|
|
result = -11;//插入异常,事务已回滚成功
|
|
|
|
|
Clearh();
|
|
|
|
|
throw execError;
|
|
|
|
|
}
|
|
|
|
|
finally
|
|
|
|
|
{
|
|
|
|
|
SqlHelper.CloseConnection();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return result;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 更改出库单
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 更改出库单
|
|
|
|
|
/// </summary>
|
|
|
|
|
private int SaveWoOutActionEdit()
|
|
|
|
|
{
|
|
|
|
|
int iState = 0;
|
|
|
|
|
int result = 0;
|
|
|
|
|
string Sqlstr = "";
|
|
|
|
|
|
|
|
|
|
Decimal totaloutfee = 0;//出库单的仓储费
|
|
|
|
|
Decimal totaloutfeeap = 0;//出库单的仓储费
|
|
|
|
|
Decimal sumfee = 0;
|
|
|
|
|
Decimal sumfeeap = 0;
|
|
|
|
|
//
|
|
|
|
|
//int prescale = 0;
|
|
|
|
|
//int nowscale = 0;
|
|
|
|
|
//int nowgrade = 0;
|
|
|
|
|
//Decimal price = 0;
|
|
|
|
|
//Decimal gradefee = 0;
|
|
|
|
|
//string newGID = "";
|
|
|
|
|
string bsno = "";
|
|
|
|
|
|
|
|
|
|
//出库单信息
|
|
|
|
|
WmsOutDA WmsOutDA = new WmsOutDA();
|
|
|
|
|
WmsOutEntity WmsOutEntity = new WmsOutEntity();
|
|
|
|
|
if (!WoJSON.Trim().Equals(""))
|
|
|
|
|
{ //将应收费用信息从前台页面写入费用实体类feeEntities
|
|
|
|
|
WmsOutEntity = ResolveWoJSON(WoJSON.Trim(), WmsOutEntity);
|
|
|
|
|
WoContainer.Value = "";
|
|
|
|
|
}
|
|
|
|
|
//出库单明细信息
|
|
|
|
|
WmsOutDetailDA WmsOutDetailDA = new WmsOutDetailDA();
|
|
|
|
|
IList<WmsOutDetailEntity> WmsOutDetailEntitys = new List<WmsOutDetailEntity>();
|
|
|
|
|
if (!WoDetailJSON.Trim().Equals(""))
|
|
|
|
|
{ //将应收费用信息从前台页面写入费用实体类feeEntities
|
|
|
|
|
WmsOutDetailEntitys = ResolveWoDetailJSON(WoDetailJSON.Trim(), WmsOutDetailEntitys);
|
|
|
|
|
this.WoDetailContainer.Value = "";
|
|
|
|
|
}
|
|
|
|
|
using (SqlTransaction sqlTran = SqlHelper.BeginTransaction(SqlHelper.ConnectionStringLocalTransaction))
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
#region 生成出库单并计算费用
|
|
|
|
|
#region 保存出库单wms_out 出库单明细wms_out_detail
|
|
|
|
|
//保存出库单wms_out
|
|
|
|
|
string ls = WmsOutEntity.TRUCKNO.ToString().Trim();
|
|
|
|
|
ls = ls.Replace("??"," ");
|
|
|
|
|
ls = ls.Replace("!!", "\r\n");
|
|
|
|
|
//
|
|
|
|
|
string strVALIDDATE = WmsOutEntity.VALIDDATE.ToString().Trim().IndexOf("0001") > -1 ? "" : ",VALIDDATE='" + WmsOutEntity.VALIDDATE.ToString() + "'";
|
|
|
|
|
//
|
|
|
|
|
Sqlstr = String.Format("update wms_out set BSNO='{1}',CUSTOMERNAME='{2}',DODATE='{3}',STORAGENAME='{4}',GOODSNAME='{5}',GOODSMODEL='{6}',GOODSPFSL='{7}',REMARK='{8}',CREATEUSER='{9}',CREATETIME=getdate(),TRUCKNO='{10}',ASSOCIATEDNO='{11}',GOODSPACKPFSL='{12}',INSPECTIONNO='{13}',CUSTOMNO='{14}',CLIENTNAMEOLD='{15}',OLDCUSTFEEDATE='{16}',TRUCKNAME='{17}',ARCLIENT='{18}',CLIENTBSNO='{19}',TOTALNO='{20}',REMARK2='{21}'{22},MBLNONEW='{23}',CORPID='{24}',ARCLIENTWMSOUT='{25}',BZTCHNO='{26}',ISCOLLECTING='{27}' where GID='{0}'"
|
|
|
|
|
, WmsOutEntity.GID, WmsOutEntity.BSNO, WmsOutEntity.CUSTOMERNAME, WmsOutEntity.DODATE, WmsOutEntity.STORAGENAME, WmsOutEntity.GOODSNAME, WmsOutEntity.GOODSMODEL, WmsOutEntity.GOODSPFSL, WmsOutEntity.REMARK, strUserID, ls, WmsOutEntity.ASSOCIATEDNO, WmsOutEntity.GOODSPACKPFSL, WmsOutEntity.INSPECTIONNO, WmsOutEntity.CUSTOMNO, WmsOutEntity.CLIENTNAMEOLD, WmsOutEntity.OLDCUSTFEEDATE, WmsOutEntity.TRUCKNAME, WmsOutEntity.ARCLIENT, WmsOutEntity.CLIENTBSNO, WmsOutEntity.TOTALNO, WmsOutEntity.REMARK2, strVALIDDATE, WmsOutEntity.MBLNONEW, strCompanyID, WmsOutEntity.ARCLIENTWMSOUT, WmsOutEntity.BZTCHNO, WmsOutEntity.ISCOLLECTING);
|
|
|
|
|
iState=SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, Sqlstr, null);
|
|
|
|
|
if (iState != 1)
|
|
|
|
|
{
|
|
|
|
|
sqlTran.Rollback();
|
|
|
|
|
result = -1;
|
|
|
|
|
Clearh();
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
//保存出库单明细wms_out_detail
|
|
|
|
|
foreach (WmsOutDetailEntity WmsOutDetailEntity in WmsOutDetailEntitys)
|
|
|
|
|
{
|
|
|
|
|
if (DateTime.Parse(WmsOutDetailEntity.DODATE.ToString("yyyy-MM-dd")) > DateTime.Parse(WmsOutEntity.DODATE.ToString("yyyy-MM-dd")))
|
|
|
|
|
{
|
|
|
|
|
sqlTran.Rollback();
|
|
|
|
|
result = -12;
|
|
|
|
|
Page.ClientScript.RegisterStartupScript(this.GetType(), "key10", "<script>alert('出库日期不能小于入库日期!');</script>");
|
|
|
|
|
Clearh();
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
//
|
|
|
|
|
WmsOutDetailEntity.OUTBSNO = WmsOutEntity.BSNO;
|
|
|
|
|
Decimal outnums =Decimal.Parse( WmsOutDetailEntity.GOODSPFSL.ToString());//出库量
|
|
|
|
|
|
|
|
|
|
#region 计算仓储费
|
|
|
|
|
int feedays = 0;
|
|
|
|
|
int feedaysap = 0;
|
|
|
|
|
|
|
|
|
|
//计算应收仓储费
|
|
|
|
|
string getstr = WmsOutDetailDA.getWmsRate(sqlTran, WmsOutDetailEntity.STARTBILLINGDATE.ToString().Trim(), WmsOutEntity.OLDCUSTFEEDATE.ToString().Trim(), WmsOutDetailEntity.INBSNO.ToString().Trim(), WmsOutEntity.CUSTOMERNAME.ToString().Trim(), outnums, WmsOutDetailEntity.GID.ToString(), 1, strUserID, strShowName, this.txt_outbsno.Value.Trim(), this.ck_jsfee.Checked, false);
|
|
|
|
|
|
|
|
|
|
string[] strls = getstr.Trim().Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
|
|
|
|
|
sumfee = Decimal.Parse(strls[0].ToString());
|
|
|
|
|
totaloutfee += sumfee;//仓储费合计
|
|
|
|
|
feedays += int.Parse(strls[1].ToString());
|
|
|
|
|
|
|
|
|
|
//计算应付仓储费
|
|
|
|
|
getstr = WmsOutDetailDA.getWmsRate(sqlTran, WmsOutDetailEntity.STARTBILLINGDATEAP.ToString().Trim(), WmsOutEntity.OLDCUSTFEEDATE.ToString().Trim(), WmsOutDetailEntity.INBSNO.ToString().Trim(), WmsOutEntity.CUSTOMERNAME.ToString().Trim(), outnums, WmsOutDetailEntity.GID.ToString(), 2, strUserID, strShowName, this.txt_outbsno.Value.Trim(), this.ck_jsfee.Checked, false);
|
|
|
|
|
|
|
|
|
|
strls = getstr.Trim().Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
|
|
|
|
|
sumfeeap = Decimal.Parse(strls[0].ToString());
|
|
|
|
|
totaloutfeeap += sumfeeap;//仓储费合计
|
|
|
|
|
feedaysap += int.Parse(strls[1].ToString());
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
//保存wms_out_detail
|
|
|
|
|
WmsOutDetailEntity.DODATE = WmsOutEntity.DODATE;
|
|
|
|
|
WmsOutDetailEntity.GOODSOUTFEE = (sumfee == 0 ? 0 : decimal.Parse(Round(sumfee, 2, "").ToString()));
|
|
|
|
|
WmsOutDetailEntity.GOODSOUTFEEAP = (sumfeeap == 0 ? 0 : decimal.Parse(Round(sumfeeap, 2, "").ToString()));
|
|
|
|
|
WmsOutDetailEntity.ENDBILLINGDATE = WmsOutDetailEntity.STARTBILLINGDATE.ToString().Trim().IndexOf("0001") > -1 ? DateTime.Parse("0001-01-01 00:00:00") : WmsOutEntity.OLDCUSTFEEDATE;//结束计费日期
|
|
|
|
|
WmsOutDetailEntity.ENDBILLINGDATEAP = WmsOutDetailEntity.STARTBILLINGDATEAP.ToString().Trim().IndexOf("0001") > -1 ? DateTime.Parse("0001-01-01 00:00:00") : WmsOutEntity.OLDCUSTFEEDATE;//结束计费日期
|
|
|
|
|
WmsOutDetailEntity.FEEDAYS = feedays;//计费天数iFEEDAYS
|
|
|
|
|
WmsOutDetailEntity.FEEDAYSAP = feedaysap;//计费天数iFEEDAYS
|
|
|
|
|
//
|
|
|
|
|
//bsno = getCodeRuleWmsOutDetail("出库明细单号", "BSNO");
|
|
|
|
|
#region 提取规则编号 getCodeRuleWmsOutDetail
|
|
|
|
|
// <summary>
|
|
|
|
|
// 提取规则编号
|
|
|
|
|
// </summary>
|
|
|
|
|
// <param name="strRULENAME">规则项目名称</param>
|
|
|
|
|
// <param name="strfield">需要加规则的字段</param>
|
|
|
|
|
// <returns></returns>
|
|
|
|
|
//protected String getCodeRuleWmsOutDetail(string strRULENAME, string strfield)
|
|
|
|
|
//{
|
|
|
|
|
//调用编码规则
|
|
|
|
|
string strRULEYEAR = "";
|
|
|
|
|
string strRULECONTENT = "";
|
|
|
|
|
string strCODENAME = "";
|
|
|
|
|
string strDEPTNO = "";
|
|
|
|
|
string strRULENOLENGTH = "";
|
|
|
|
|
int iRULENOLENGTH = 0;
|
|
|
|
|
int inum = 0;
|
|
|
|
|
string strCONTENT = "";
|
|
|
|
|
DataSet ds = T_ALL_DA.GetAllSQL("select *,getdate() DODATE from code_rule where RULENAME='出库明细单号' and RULETYPE=3");
|
|
|
|
|
if (ds != null)
|
|
|
|
|
{
|
|
|
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
if (ds.Tables[0].Rows[0]["ISSTARTUSING"].ToString().Trim().Equals("True"))
|
|
|
|
|
{
|
|
|
|
|
getCodeRuleEnabled("出库明细单号", "BSNO");
|
|
|
|
|
//
|
|
|
|
|
if (ds.Tables[0].Rows[0]["RULEDATE"].ToString().Trim().Equals("业务日期"))
|
|
|
|
|
{
|
|
|
|
|
if (ds.Tables[0].Rows[0]["DODATE"].ToString().Trim() == "")
|
|
|
|
|
{
|
|
|
|
|
//return "";
|
|
|
|
|
bsno = "";
|
|
|
|
|
}
|
|
|
|
|
DateTime dETD = System.Convert.ToDateTime(ds.Tables[0].Rows[0]["DODATE"].ToString().Trim());
|
|
|
|
|
if (ds.Tables[0].Rows[0]["ISCLEAREDINEARLY"].ToString().Trim().Equals("True"))
|
|
|
|
|
{
|
|
|
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = dETD.ToString("yyyy") + dETD.ToString("MM");
|
|
|
|
|
}
|
|
|
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = dETD.ToString("yy") + dETD.ToString("MM");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = dETD.ToString("yyyy");
|
|
|
|
|
}
|
|
|
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = dETD.ToString("yy");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else if (ds.Tables[0].Rows[0]["RULEDATE"].ToString().Trim().Equals("自然月份"))
|
|
|
|
|
{
|
|
|
|
|
DateTime fwqdate = System.Convert.ToDateTime(T_ALL_DA.GetStrSQL("fwqdate", "select fwqdate=getdate()"));
|
|
|
|
|
if (ds.Tables[0].Rows[0]["ISCLEAREDINEARLY"].ToString().Trim().Equals("True"))
|
|
|
|
|
{
|
|
|
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = fwqdate.ToString("yyyy") + fwqdate.ToString("MM");
|
|
|
|
|
}
|
|
|
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = fwqdate.ToString("yy") + fwqdate.ToString("MM");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = fwqdate.ToString("yyyy");
|
|
|
|
|
}
|
|
|
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = fwqdate.ToString("yy");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//
|
|
|
|
|
if (ds.Tables[0].Rows[0]["ISCOMPANY"].ToString().Trim().Equals("True"))
|
|
|
|
|
{
|
|
|
|
|
strCODENAME = T_ALL_DA.GetStrSQL("CODENAME", "select CODENAME from [company] where GID=(select top 1 COMPANYID from user_company where USERID='" + strUserID + "')");
|
|
|
|
|
}
|
|
|
|
|
if (ds.Tables[0].Rows[0]["ISDEPT"].ToString().Trim().Equals("True"))
|
|
|
|
|
{
|
|
|
|
|
strDEPTNO = T_ALL_DA.GetStrSQL("DEPTNO", "select DEPTNO from [sys_dept] where LINKID=(select top 1 COMPANYID from user_company where USERID='" + strUserID + "')");
|
|
|
|
|
}
|
|
|
|
|
strRULECONTENT = ds.Tables[0].Rows[0]["RULECONTENT"].ToString().Trim();
|
|
|
|
|
strRULECONTENT = strRULECONTENT.Replace("《COMPANY》", strCODENAME);
|
|
|
|
|
strRULECONTENT = strRULECONTENT.Replace("《DEPT》", strDEPTNO);
|
|
|
|
|
//
|
|
|
|
|
if (ds.Tables[0].Rows[0]["RULENOLENGTH"].ToString().Trim() == "")
|
|
|
|
|
{
|
|
|
|
|
iRULENOLENGTH = 0;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
iRULENOLENGTH = int.Parse(ds.Tables[0].Rows[0]["RULENOLENGTH"].ToString().Trim());
|
|
|
|
|
}
|
|
|
|
|
strCONTENT = strRULECONTENT + strRULEYEAR;
|
|
|
|
|
//获取分公司的票号头字符
|
|
|
|
|
string tempBANKSHEAD = T_ALL_DA.GetStrSQL("BANKSHEAD", "SELECT TOP 1 BANKSHEAD FROM company WHERE GID='" + strCompanyID.Trim() + "'");
|
|
|
|
|
strCONTENT = tempBANKSHEAD + strCONTENT;
|
|
|
|
|
//
|
|
|
|
|
string strSQL = "select top 1 BSNO from [wms_out_detail] where BSNO like '" + strCONTENT.Trim() + "%' order by BSNO DESC";
|
|
|
|
|
DataSet ds1 = SqlHelper.ExecuteQueryDataset(sqlTran, CommandType.Text, strSQL, null);
|
|
|
|
|
if (ds1 != null)
|
|
|
|
|
{
|
|
|
|
|
if (ds1.Tables[0].Rows.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
strRULENOLENGTH = ds1.Tables[0].Rows[0]["BSNO"].ToString().Trim();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (strRULENOLENGTH == "")
|
|
|
|
|
{
|
|
|
|
|
strRULENOLENGTH = "1";
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
strRULENOLENGTH = strRULENOLENGTH.Replace(strCONTENT.Trim(), "");
|
|
|
|
|
inum = int.Parse(strRULENOLENGTH.Trim());
|
|
|
|
|
inum = inum + 1;
|
|
|
|
|
strRULENOLENGTH = inum.ToString();
|
|
|
|
|
}
|
|
|
|
|
int j = iRULENOLENGTH - strRULENOLENGTH.Length;
|
|
|
|
|
for (int i = 1; i <= j; i++)
|
|
|
|
|
{
|
|
|
|
|
strRULENOLENGTH = "0" + strRULENOLENGTH;
|
|
|
|
|
}
|
|
|
|
|
//
|
|
|
|
|
strCONTENT = strCONTENT + strRULENOLENGTH;
|
|
|
|
|
bsno = strCONTENT;
|
|
|
|
|
//return strCONTENT;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
// return "";
|
|
|
|
|
//}
|
|
|
|
|
#endregion
|
|
|
|
|
//
|
|
|
|
|
//WmsOutDetailEntity.GID = newGID;
|
|
|
|
|
//WmsOutDetailEntity.BSNO = bsno;
|
|
|
|
|
WmsOutDetailEntity.OUTBSNO = this.h_outbsno.Value;
|
|
|
|
|
WmsOutDetailEntity.CORPID = strCompanyID;
|
|
|
|
|
WmsOutDetailEntity.BZTCHNO = WmsOutEntity.BZTCHNO;
|
|
|
|
|
//
|
|
|
|
|
ls = WmsOutDetailEntity.TRUCKNO.ToString().Trim();
|
|
|
|
|
ls = ls.Replace("??", " ");
|
|
|
|
|
ls = ls.Replace("!!", "\r\n");
|
|
|
|
|
//
|
|
|
|
|
//修改入库单wms_in
|
|
|
|
|
Sqlstr = String.Format("update wms set GOODSPACKSTOCK=GOODSPACKSTOCK+(select top 1 GOODSPACKPFSL from wms_out_detail where gid='" + WmsOutDetailEntity.GID.ToString().Trim() + "')-{0},GOODSSTOCK=GOODSSTOCK+(select top 1 GOODSPFSL from wms_out_detail where gid='" + WmsOutDetailEntity.GID.ToString().Trim() + "')-{2} where isnull(ISDELETE,0)=0 and gid='{1}' ", WmsOutDetailEntity.GOODSPACKPFSL, WmsOutDetailEntity.INBSNO, WmsOutDetailEntity.GOODSPFSL);
|
|
|
|
|
iState = SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, Sqlstr, null);
|
|
|
|
|
if (iState != 1)
|
|
|
|
|
{
|
|
|
|
|
sqlTran.Rollback();
|
|
|
|
|
result = -6;
|
|
|
|
|
//Clearh();
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
//
|
|
|
|
|
string strSTARTBILLINGDATE = WmsOutDetailEntity.STARTBILLINGDATE.ToString().IndexOf("0001") > -1 ? "" : "STARTBILLINGDATE='" + WmsOutDetailEntity.STARTBILLINGDATE.ToString() + "',";
|
|
|
|
|
|
|
|
|
|
string strENDBILLINGDATE = WmsOutDetailEntity.STARTBILLINGDATE.ToString().IndexOf("0001") > -1 ? "" : "ENDBILLINGDATE='" + WmsOutEntity.OLDCUSTFEEDATE.ToString() + "',";//如果开始计费日期为空,则结束计费日期也为空,否则为上家承担仓储期限。
|
|
|
|
|
|
|
|
|
|
string strSTARTBILLINGDATEAP = WmsOutDetailEntity.STARTBILLINGDATEAP.ToString().IndexOf("0001") > -1 ? "" : "STARTBILLINGDATEAP='" + WmsOutDetailEntity.STARTBILLINGDATEAP.ToString() + "',";
|
|
|
|
|
|
|
|
|
|
string strENDBILLINGDATEAP = WmsOutDetailEntity.STARTBILLINGDATEAP.ToString().IndexOf("0001") > -1 ? "" : "ENDBILLINGDATEAP='" + WmsOutDetailEntity.DODATE.ToString() + "',";//如果开始计费日期为空,则结束计费日期也为空,否则为出库日期。
|
|
|
|
|
|
|
|
|
|
Sqlstr = String.Format("update wms_out_detail set INBSNO='{1}',OUTBSNO='{2}',BSNO='{3}',CUSTOMERNAME='{4}',DODATE='{5}',STORAGENAME='{6}',GOODSNAME='{7}',GOODSMODEL='{8}',GOODSPFSL='{9}',GOODSOUTFEE='{10}',CREATEUSER='{11}',CREATETIME=getdate(),REMARK='{12}',TRUCKNO='{13}',ASSOCIATEDNO='{14}',GOODSPACKPFSL='{15}',GOODSOUTFEEAP='{16}',ARFEE='{17}',APFEE='{18}',CLIENTNAMEOLD='{19}',OLDCUSTFEEDATE='{20}',{21}{22}FEEDAYS='{23}',{24}{25}FEEDAYSAP='{26}',CORPID='{27}',MARKETVALUE={28},AREANAME='{29}',BZTCHNO='{30}' where GID='{0}'"
|
|
|
|
|
, WmsOutDetailEntity.GID, WmsOutDetailEntity.INBSNO, WmsOutDetailEntity.OUTBSNO, WmsOutDetailEntity.BSNO, WmsOutDetailEntity.CUSTOMERNAME, WmsOutEntity.DODATE, WmsOutDetailEntity.STORAGENAME, WmsOutDetailEntity.GOODSNAME,WmsOutDetailEntity.GOODSMODEL, WmsOutDetailEntity.GOODSPFSL, WmsOutDetailEntity.GOODSOUTFEE, strUserID, WmsOutDetailEntity.REMARK, ls, WmsOutDetailEntity.ASSOCIATEDNO, WmsOutDetailEntity.GOODSPACKPFSL, WmsOutDetailEntity.GOODSOUTFEEAP, WmsOutDetailEntity.ARFEE, WmsOutDetailEntity.APFEE,
|
|
|
|
|
WmsOutDetailEntity.CLIENTNAMEOLD, this.txt_oldcustFeeDate.Value.Trim(), strSTARTBILLINGDATE, strENDBILLINGDATE, WmsOutDetailEntity.FEEDAYS, strSTARTBILLINGDATEAP, strENDBILLINGDATEAP, WmsOutDetailEntity.FEEDAYSAP, strCompanyID, WmsOutDetailEntity.MARKETVALUE, WmsOutDetailEntity.AREANAME, WmsOutDetailEntity.BZTCHNO);
|
|
|
|
|
//
|
|
|
|
|
iState=SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, Sqlstr, null);
|
|
|
|
|
if (iState != 1)
|
|
|
|
|
{
|
|
|
|
|
sqlTran.Rollback();
|
|
|
|
|
result = -5;
|
|
|
|
|
Clearh();
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
}// end 保存出库明细wms_out_detail
|
|
|
|
|
|
|
|
|
|
//修改wms_out的出库量、出库件数、应收应付装卸费
|
|
|
|
|
string lsSQL = "update wms_out set "
|
|
|
|
|
+ "GOODSPFSL=(select isnull(sum(GOODSPFSL),0) from wms_out_detail where OUTBSNO=wms_out.BSNO)"
|
|
|
|
|
+ ",GOODSPACKPFSL=(select isnull(sum(GOODSPACKPFSL),0) from wms_out_detail where OUTBSNO=wms_out.BSNO)"
|
|
|
|
|
+ ",ARFEE=(select isnull(sum(ARFEE),0) from wms_out_detail where OUTBSNO=wms_out.BSNO)"
|
|
|
|
|
+ ",APFEE=(select isnull(sum(APFEE),0) from wms_out_detail where OUTBSNO=wms_out.BSNO)"
|
|
|
|
|
+ " where ISLOCK=0 and GID='" + WmsOutEntity.GID.ToString().Trim() + "'";
|
|
|
|
|
iState = SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, lsSQL, null);
|
|
|
|
|
if (iState != 1)
|
|
|
|
|
{
|
|
|
|
|
sqlTran.Rollback();
|
|
|
|
|
result = -7;
|
|
|
|
|
Clearh();
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//修改wms_out的仓储费wmsOutEntity.GOODSOUTFEE
|
|
|
|
|
h_outfee.Value = totaloutfee.ToString();
|
|
|
|
|
WmsOutEntity.GOODSOUTFEE = decimal.Parse(Round(totaloutfee, 2, "").ToString());
|
|
|
|
|
WmsOutEntity.GOODSOUTFEEAP = decimal.Parse(Round(totaloutfeeap, 2, "").ToString());
|
|
|
|
|
|
|
|
|
|
Sqlstr = String.Format("update wms_out set GOODSOUTFEE={0},GOODSOUTFEEAP={2} where GID='{1}'", WmsOutEntity.GOODSOUTFEE, WmsOutEntity.GID, WmsOutEntity.GOODSOUTFEEAP);
|
|
|
|
|
iState=SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, Sqlstr, null);
|
|
|
|
|
if (iState != 1)
|
|
|
|
|
{
|
|
|
|
|
sqlTran.Rollback();
|
|
|
|
|
result = -7;
|
|
|
|
|
Clearh();
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
//页面赋值
|
|
|
|
|
this.h_wmsoutbsno.Value = WmsOutEntity.BSNO.ToString();
|
|
|
|
|
this.h_goodsmodel.Value = WmsOutEntity.GOODSMODEL.ToString();
|
|
|
|
|
this.h_goodspfsl.Value = WmsOutEntity.GOODSPFSL.ToString();
|
|
|
|
|
this.h_remark.Value = WmsOutEntity.REMARK.ToString();
|
|
|
|
|
|
|
|
|
|
txt_outbsno.Value = h_outbsno.Value;
|
|
|
|
|
txt_outdate.Value = h_outdate.Value;
|
|
|
|
|
string strcustomer = h_customer.Value;
|
|
|
|
|
string goods = h_goods.Value;
|
|
|
|
|
txt_goodsmodel.Value = h_goodsmodel.Value;
|
|
|
|
|
#endregion
|
|
|
|
|
this.h_newcust.Value = "";
|
|
|
|
|
this.h_IsSetRate.Value = "0";//正常出库,不需要设置费率
|
|
|
|
|
|
|
|
|
|
result = 1;//状态为1表示删除成功
|
|
|
|
|
sqlTran.Commit();
|
|
|
|
|
//
|
|
|
|
|
Page.ClientScript.RegisterStartupScript(this.GetType(), "key1", "<script>reloadParentEdit('" + WmsOutEntity.GID.ToString().Trim() + "','edit',0,'" + WmsOutEntity.ASSOCIATEDNO.ToString().Trim() + "');</script>");
|
|
|
|
|
}
|
|
|
|
|
catch (Exception execError)
|
|
|
|
|
{
|
|
|
|
|
result = -10;//有异常,插入失败
|
|
|
|
|
sqlTran.Rollback();
|
|
|
|
|
result = -11;//插入异常,事务已回滚成功
|
|
|
|
|
Clearh();
|
|
|
|
|
throw execError;
|
|
|
|
|
}
|
|
|
|
|
finally
|
|
|
|
|
{
|
|
|
|
|
SqlHelper.CloseConnection();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return result;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 货权转移
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 货权转移
|
|
|
|
|
/// </summary>
|
|
|
|
|
private int CargoRightTransfer()
|
|
|
|
|
{
|
|
|
|
|
int iState = 0;
|
|
|
|
|
int result = 0;
|
|
|
|
|
string Sqlstr = "";
|
|
|
|
|
|
|
|
|
|
Decimal totaloutfee = 0;//出库单的仓储费
|
|
|
|
|
//int prescale = 0;
|
|
|
|
|
//int nowscale = 0;
|
|
|
|
|
//int nowgrade = 0;
|
|
|
|
|
//Decimal price = 0;
|
|
|
|
|
//Decimal gradefee = 0;
|
|
|
|
|
Decimal sumfee = 0;
|
|
|
|
|
string newGID = "";
|
|
|
|
|
string bsno = "";
|
|
|
|
|
|
|
|
|
|
//出库单信息
|
|
|
|
|
WmsOutDA WmsOutDA = new WmsOutDA();
|
|
|
|
|
WmsOutEntity WmsOutEntity = new WmsOutEntity();
|
|
|
|
|
if (!WoJSON.Trim().Equals(""))
|
|
|
|
|
{ //将应收费用信息从前台页面写入费用实体类feeEntities
|
|
|
|
|
WmsOutEntity = ResolveWoJSON(WoJSON.Trim(), WmsOutEntity);
|
|
|
|
|
WoContainer.Value = "";
|
|
|
|
|
}
|
|
|
|
|
//出库单明细信息
|
|
|
|
|
WmsOutDetailDA WmsOutDetailDA = new WmsOutDetailDA();
|
|
|
|
|
IList<WmsOutDetailEntity> WmsOutDetailEntitys = new List<WmsOutDetailEntity>();
|
|
|
|
|
if (!WoDetailJSON.Trim().Equals(""))
|
|
|
|
|
{ //将应收费用信息从前台页面写入费用实体类feeEntities
|
|
|
|
|
WmsOutDetailEntitys = ResolveWoDetailJSON(WoDetailJSON.Trim(), WmsOutDetailEntitys);
|
|
|
|
|
this.WoDetailContainer.Value = "";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Decimal outnums = 0;
|
|
|
|
|
int feedays = 0;
|
|
|
|
|
using (SqlTransaction sqlTran = SqlHelper.BeginTransaction(SqlHelper.ConnectionStringLocalTransaction))
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
#region 生成出库单并计算费用
|
|
|
|
|
#region 保存出库单wms_out 出库单明细wms_out_detail
|
|
|
|
|
//保存出库单wms_out
|
|
|
|
|
//
|
|
|
|
|
string ls = WmsOutEntity.TRUCKNO.ToString().Trim();
|
|
|
|
|
ls = ls.Replace("??", " ");
|
|
|
|
|
ls = ls.Replace("!!", "\r\n");
|
|
|
|
|
string strINGIDNEW = getWMSNO();//货权转移后的入库wmsgid
|
|
|
|
|
WmsOutEntity.ISCHANGE = true;
|
|
|
|
|
WmsOutEntity.CORPID = strCompanyID;
|
|
|
|
|
WmsOutEntity.REMARK = "货权转移" + (WmsOutEntity.REMARK.ToString().Trim() == "" ? "" : ";" + WmsOutEntity.REMARK.ToString().Trim());
|
|
|
|
|
//
|
|
|
|
|
string strVALIDDATE = WmsOutEntity.VALIDDATE.ToString().Trim().IndexOf("0001") > -1 ? "" : ",'" + WmsOutEntity.VALIDDATE.ToString() + "'";
|
|
|
|
|
string strVALIDDATE_name = WmsOutEntity.VALIDDATE.ToString().Trim().IndexOf("0001") > -1 ? "" : ",VALIDDATE";
|
|
|
|
|
//
|
|
|
|
|
Sqlstr = String.Format("insert into wms_out(GID,BSNO,CUSTOMERNAME,DODATE,STORAGENAME,GOODSNAME,GOODSMODEL,GOODSPFSL,REMARK,CREATEUSER,CREATETIME,TRUCKNO,ASSOCIATEDNO,GOODSPACKPFSL,INSPECTIONNO,CUSTOMNO,CLIENTNAMEOLD,OLDCUSTFEEDATE,TRUCKNAME,ARCLIENT,INGIDNEW,CLIENTBSNO,TOTALNO,REMARK2{23},CHARGEUNIT,MBLNONEW,ISCHANGE,CORPID,ARCLIENTWMSOUT,BZTCHNO,ISCOLLECTING)"
|
|
|
|
|
+ " values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}',getdate(),'{10}','{11}','{12}','{13}','{14}','{15}','{16}','{17}','{18}','{19}','{20}','{21}','{22}'{24},'{27}','{25}','{26}','{28}','{29}','{30}','{31}')"
|
|
|
|
|
, WmsOutEntity.GID, WmsOutEntity.BSNO, WmsOutEntity.CUSTOMERNAME, WmsOutEntity.DODATE, WmsOutEntity.STORAGENAME, WmsOutEntity.GOODSNAME, WmsOutEntity.GOODSMODEL, WmsOutEntity.GOODSPFSL, WmsOutEntity.REMARK.ToString().Trim(), strUserID, ls, WmsOutEntity.ASSOCIATEDNO, WmsOutEntity.GOODSPACKPFSL, WmsOutEntity.INSPECTIONNO, WmsOutEntity.CUSTOMNO, WmsOutEntity.CLIENTNAMEOLD, WmsOutEntity.OLDCUSTFEEDATE, WmsOutEntity.TRUCKNAME, WmsOutEntity.ARCLIENT, strINGIDNEW, WmsOutEntity.CLIENTBSNO, WmsOutEntity.TOTALNO, WmsOutEntity.REMARK2, strVALIDDATE_name, strVALIDDATE, WmsOutEntity.MBLNONEW, WmsOutEntity.ISCHANGE, WmsOutEntity.CHARGEUNIT, strCompanyID, WmsOutEntity.ARCLIENTWMSOUT, WmsOutEntity.BZTCHNO, WmsOutEntity.ISCOLLECTING);
|
|
|
|
|
iState = SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, Sqlstr, null);
|
|
|
|
|
if (iState != 1)
|
|
|
|
|
{
|
|
|
|
|
sqlTran.Rollback();
|
|
|
|
|
result = -1;
|
|
|
|
|
Clearh();
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
//保存出库单明细wms_out_detail
|
|
|
|
|
foreach (WmsOutDetailEntity WmsOutDetailEntity in WmsOutDetailEntitys)
|
|
|
|
|
{
|
|
|
|
|
if (DateTime.Parse(WmsOutDetailEntity.DODATE.ToString("yyyy-MM-dd")) > DateTime.Parse(WmsOutEntity.DODATE.ToString("yyyy-MM-dd")))
|
|
|
|
|
{
|
|
|
|
|
sqlTran.Rollback();
|
|
|
|
|
result = -12;
|
|
|
|
|
Page.ClientScript.RegisterStartupScript(this.GetType(), "key10", "<script>alert('出库日期不能小于入库日期!');</script>");
|
|
|
|
|
Clearh();
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
outnums = Decimal.Parse(WmsOutDetailEntity.GOODSPFSL.ToString());
|
|
|
|
|
newGID = Guid.NewGuid().ToString();
|
|
|
|
|
WmsOutDetailEntity.GID = newGID;
|
|
|
|
|
|
|
|
|
|
#region 计算仓储费
|
|
|
|
|
//计算应收仓储费
|
|
|
|
|
string getstr = WmsOutDetailDA.getWmsRate(sqlTran, WmsOutDetailEntity.STARTBILLINGDATE.ToString().Trim(), WmsOutEntity.OLDCUSTFEEDATE.ToString().Trim(), WmsOutDetailEntity.INBSNO.ToString().Trim(), WmsOutEntity.CUSTOMERNAME.ToString().Trim(), outnums, WmsOutDetailEntity.GID.ToString(), 1, strUserID, strShowName, this.txt_outbsno.Value.Trim(), this.ck_jsfee.Checked, false);
|
|
|
|
|
|
|
|
|
|
string[] strls = getstr.Trim().Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
|
|
|
|
|
sumfee = Decimal.Parse(strls[0].ToString());
|
|
|
|
|
totaloutfee += sumfee;//仓储费合计
|
|
|
|
|
feedays += int.Parse(strls[1].ToString());
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
//保存wms_out_detail
|
|
|
|
|
WmsOutDetailEntity.GOODSOUTFEE = (sumfee == 0 ? 0 : decimal.Parse(Round(sumfee, 2, "").ToString()));
|
|
|
|
|
WmsOutDetailEntity.GOODSOUTFEEAP = 0;
|
|
|
|
|
WmsOutDetailEntity.DODATE = WmsOutEntity.DODATE;
|
|
|
|
|
WmsOutDetailEntity.ENDBILLINGDATE = WmsOutDetailEntity.STARTBILLINGDATE.ToString().Trim().IndexOf("0001") > -1 ? DateTime.Parse("0001-01-01 00:00:00") : WmsOutEntity.OLDCUSTFEEDATE;//结束计费日期
|
|
|
|
|
WmsOutDetailEntity.FEEDAYS = feedays;//计费天数 iFEEDAYS
|
|
|
|
|
WmsOutDetailEntity.FEEDAYSAP = 0;//计费天数 iFEEDAYSAP
|
|
|
|
|
//
|
|
|
|
|
#region 提取规则编号 getCodeRuleWmsOutDetail
|
|
|
|
|
// <summary>
|
|
|
|
|
// 提取规则编号
|
|
|
|
|
// </summary>
|
|
|
|
|
// <param name="strRULENAME">规则项目名称</param>
|
|
|
|
|
// <param name="strfield">需要加规则的字段</param>
|
|
|
|
|
// <returns></returns>
|
|
|
|
|
//protected String getCodeRuleWmsOutDetail(string strRULENAME, string strfield)
|
|
|
|
|
//{
|
|
|
|
|
//调用编码规则
|
|
|
|
|
string strRULEYEAR = "";
|
|
|
|
|
string strRULECONTENT = "";
|
|
|
|
|
string strCODENAME = "";
|
|
|
|
|
string strDEPTNO = "";
|
|
|
|
|
string strRULENOLENGTH = "";
|
|
|
|
|
int iRULENOLENGTH = 0;
|
|
|
|
|
int inum = 0;
|
|
|
|
|
string strCONTENT = "";
|
|
|
|
|
DataSet ds = T_ALL_DA.GetAllSQL("select *,getdate() DODATE from code_rule where RULENAME='出库明细单号' and RULETYPE=3");
|
|
|
|
|
if (ds != null)
|
|
|
|
|
{
|
|
|
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
if (ds.Tables[0].Rows[0]["ISSTARTUSING"].ToString().Trim().Equals("True"))
|
|
|
|
|
{
|
|
|
|
|
getCodeRuleEnabled("出库明细单号", "BSNO");
|
|
|
|
|
//
|
|
|
|
|
if (ds.Tables[0].Rows[0]["RULEDATE"].ToString().Trim().Equals("业务日期"))
|
|
|
|
|
{
|
|
|
|
|
if (ds.Tables[0].Rows[0]["DODATE"].ToString().Trim() == "")
|
|
|
|
|
{
|
|
|
|
|
//return "";
|
|
|
|
|
bsno = "";
|
|
|
|
|
}
|
|
|
|
|
DateTime dETD = System.Convert.ToDateTime(ds.Tables[0].Rows[0]["DODATE"].ToString().Trim());
|
|
|
|
|
if (ds.Tables[0].Rows[0]["ISCLEAREDINEARLY"].ToString().Trim().Equals("True"))
|
|
|
|
|
{
|
|
|
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = dETD.ToString("yyyy") + dETD.ToString("MM");
|
|
|
|
|
}
|
|
|
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = dETD.ToString("yy") + dETD.ToString("MM");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = dETD.ToString("yyyy");
|
|
|
|
|
}
|
|
|
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = dETD.ToString("yy");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else if (ds.Tables[0].Rows[0]["RULEDATE"].ToString().Trim().Equals("自然月份"))
|
|
|
|
|
{
|
|
|
|
|
DateTime fwqdate = System.Convert.ToDateTime(T_ALL_DA.GetStrSQL("fwqdate", "select fwqdate=getdate()"));
|
|
|
|
|
if (ds.Tables[0].Rows[0]["ISCLEAREDINEARLY"].ToString().Trim().Equals("True"))
|
|
|
|
|
{
|
|
|
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = fwqdate.ToString("yyyy") + fwqdate.ToString("MM");
|
|
|
|
|
}
|
|
|
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = fwqdate.ToString("yy") + fwqdate.ToString("MM");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = fwqdate.ToString("yyyy");
|
|
|
|
|
}
|
|
|
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = fwqdate.ToString("yy");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//
|
|
|
|
|
if (ds.Tables[0].Rows[0]["ISCOMPANY"].ToString().Trim().Equals("True"))
|
|
|
|
|
{
|
|
|
|
|
strCODENAME = T_ALL_DA.GetStrSQL("CODENAME", "select CODENAME from [company] where GID=(select top 1 COMPANYID from user_company where USERID='" + strUserID + "')");
|
|
|
|
|
}
|
|
|
|
|
if (ds.Tables[0].Rows[0]["ISDEPT"].ToString().Trim().Equals("True"))
|
|
|
|
|
{
|
|
|
|
|
strDEPTNO = T_ALL_DA.GetStrSQL("DEPTNO", "select DEPTNO from [sys_dept] where LINKID=(select top 1 COMPANYID from user_company where USERID='" + strUserID + "')");
|
|
|
|
|
}
|
|
|
|
|
strRULECONTENT = ds.Tables[0].Rows[0]["RULECONTENT"].ToString().Trim();
|
|
|
|
|
strRULECONTENT = strRULECONTENT.Replace("《COMPANY》", strCODENAME);
|
|
|
|
|
strRULECONTENT = strRULECONTENT.Replace("《DEPT》", strDEPTNO);
|
|
|
|
|
//
|
|
|
|
|
if (ds.Tables[0].Rows[0]["RULENOLENGTH"].ToString().Trim() == "")
|
|
|
|
|
{
|
|
|
|
|
iRULENOLENGTH = 0;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
iRULENOLENGTH = int.Parse(ds.Tables[0].Rows[0]["RULENOLENGTH"].ToString().Trim());
|
|
|
|
|
}
|
|
|
|
|
strCONTENT = strRULECONTENT + strRULEYEAR;
|
|
|
|
|
//获取分公司的票号头字符
|
|
|
|
|
string tempBANKSHEAD = T_ALL_DA.GetStrSQL("BANKSHEAD", "SELECT TOP 1 BANKSHEAD FROM company WHERE GID='" + strCompanyID.Trim() + "'");
|
|
|
|
|
strCONTENT = tempBANKSHEAD + strCONTENT;
|
|
|
|
|
//
|
|
|
|
|
string strSQL = "select top 1 BSNO from [wms_out_detail] where BSNO like '" + strCONTENT.Trim() + "%' order by BSNO DESC";
|
|
|
|
|
DataSet ds1 = SqlHelper.ExecuteQueryDataset(sqlTran, CommandType.Text, strSQL, null);
|
|
|
|
|
if (ds1 != null)
|
|
|
|
|
{
|
|
|
|
|
if (ds1.Tables[0].Rows.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
strRULENOLENGTH = ds1.Tables[0].Rows[0]["BSNO"].ToString().Trim();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (strRULENOLENGTH == "")
|
|
|
|
|
{
|
|
|
|
|
strRULENOLENGTH = "1";
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
strRULENOLENGTH = strRULENOLENGTH.Replace(strCONTENT.Trim(), "");
|
|
|
|
|
inum = int.Parse(strRULENOLENGTH.Trim());
|
|
|
|
|
inum = inum + 1;
|
|
|
|
|
strRULENOLENGTH = inum.ToString();
|
|
|
|
|
}
|
|
|
|
|
int j = iRULENOLENGTH - strRULENOLENGTH.Length;
|
|
|
|
|
for (int i = 1; i <= j; i++)
|
|
|
|
|
{
|
|
|
|
|
strRULENOLENGTH = "0" + strRULENOLENGTH;
|
|
|
|
|
}
|
|
|
|
|
//
|
|
|
|
|
strCONTENT = strCONTENT + strRULENOLENGTH;
|
|
|
|
|
bsno = strCONTENT;
|
|
|
|
|
//return strCONTENT;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
// return "";
|
|
|
|
|
//}
|
|
|
|
|
#endregion
|
|
|
|
|
WmsOutDetailEntity.BSNO = bsno;
|
|
|
|
|
//
|
|
|
|
|
WmsOutDetailEntity.OUTBSNO = this.h_outbsno.Value;
|
|
|
|
|
WmsOutDetailEntity.CORPID = strCompanyID;
|
|
|
|
|
WmsOutDetailEntity.BZTCHNO = WmsOutEntity.BZTCHNO;
|
|
|
|
|
//
|
|
|
|
|
ls = WmsOutDetailEntity.TRUCKNO.ToString().Trim();
|
|
|
|
|
ls = ls.Replace("??", " ");
|
|
|
|
|
ls = ls.Replace("!!", "\r\n");
|
|
|
|
|
WmsOutDetailEntity.ISCHANGE = true;
|
|
|
|
|
//
|
|
|
|
|
string strSTARTBILLINGDATE = WmsOutDetailEntity.STARTBILLINGDATE.ToString().IndexOf("0001") > -1 ? "" : "'" + WmsOutDetailEntity.STARTBILLINGDATE.ToString() + "',";
|
|
|
|
|
string strSTARTBILLINGDATE_name = strSTARTBILLINGDATE.Equals("") ? "" : "STARTBILLINGDATE,";
|
|
|
|
|
//
|
|
|
|
|
string strENDBILLINGDATE = WmsOutDetailEntity.STARTBILLINGDATE.ToString().IndexOf("0001") > -1 ? "" : "'" + WmsOutEntity.OLDCUSTFEEDATE.ToString() + "',";//如果开始计费日期为空,则结束计费日期也为空,否则为上家承担仓储期限。
|
|
|
|
|
string strENDBILLINGDATE_name = strENDBILLINGDATE.Equals("") ? "" : "ENDBILLINGDATE,";
|
|
|
|
|
//
|
|
|
|
|
Sqlstr = String.Format("insert into wms_out_detail (GID,INBSNO,OUTBSNO,BSNO,CUSTOMERNAME,DODATE,STORAGENAME,GOODSNAME,GOODSMODEL,GOODSPFSL,GOODSOUTFEE,CREATEUSER,CREATETIME,REMARK,TRUCKNO,ASSOCIATEDNO,GOODSPACKPFSL,GOODSOUTFEEAP,ARFEE,APFEE,CLIENTNAMEOLD,OLDCUSTFEEDATE,{21}{23}FEEDAYS,GOODSSTANDARD,CHARGEUNIT,FEEDAYSAP,ISCHANGE,CORPID,MARKETVALUE,AREANAME,BZTCHNO) "
|
|
|
|
|
+ " values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}',getdate(),'{12}','{13}','{14}','{15}','{16}','{17}','{18}','{19}','{20}',{22}{24}'{25}','{26}','{29}','{27}','{28}','{30}',{31},'{32}','{33}')"
|
|
|
|
|
, WmsOutDetailEntity.GID, WmsOutDetailEntity.INBSNO, WmsOutDetailEntity.OUTBSNO, WmsOutDetailEntity.BSNO, WmsOutDetailEntity.CUSTOMERNAME, WmsOutEntity.DODATE, WmsOutDetailEntity.STORAGENAME, WmsOutDetailEntity.GOODSNAME, WmsOutDetailEntity.GOODSMODEL, WmsOutDetailEntity.GOODSPFSL, WmsOutDetailEntity.GOODSOUTFEE, strUserID, "货权转移", ls, WmsOutDetailEntity.ASSOCIATEDNO, WmsOutDetailEntity.GOODSPACKPFSL, WmsOutDetailEntity.GOODSOUTFEEAP, WmsOutDetailEntity.ARFEE, WmsOutDetailEntity.APFEE,
|
|
|
|
|
WmsOutDetailEntity.CLIENTNAMEOLD, WmsOutEntity.OLDCUSTFEEDATE, strSTARTBILLINGDATE_name, strSTARTBILLINGDATE, strENDBILLINGDATE_name, strENDBILLINGDATE, WmsOutDetailEntity.FEEDAYS, WmsOutDetailEntity.GOODSSTANDARD, WmsOutDetailEntity.FEEDAYSAP, WmsOutEntity.ISCHANGE, WmsOutDetailEntity.CHARGEUNIT, strCompanyID, WmsOutDetailEntity.MARKETVALUE, WmsOutDetailEntity.AREANAME, WmsOutDetailEntity.BZTCHNO);
|
|
|
|
|
//
|
|
|
|
|
WmsOutEntity.GOODSSTANDARD = WmsOutDetailEntity.GOODSSTANDARD;
|
|
|
|
|
//
|
|
|
|
|
iState = SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, Sqlstr, null);
|
|
|
|
|
if (iState != 1)
|
|
|
|
|
{
|
|
|
|
|
sqlTran.Rollback();
|
|
|
|
|
result = -5;
|
|
|
|
|
Clearh();
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
//修改入库单wms_in
|
|
|
|
|
Sqlstr = String.Format("update wms set GOODSSTOCK=GOODSSTOCK-{0},GOODSPACKSTOCK=GOODSPACKSTOCK-{1} where ISDELETE=0 and GID='{2}' ", WmsOutDetailEntity.GOODSPFSL, WmsOutDetailEntity.GOODSPACKPFSL, WmsOutDetailEntity.INBSNO);
|
|
|
|
|
iState = SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, Sqlstr, null);
|
|
|
|
|
if (iState != 1)
|
|
|
|
|
{
|
|
|
|
|
sqlTran.Rollback();
|
|
|
|
|
result = -6;
|
|
|
|
|
Clearh();
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
}// end 保存出库明细wms_out_detail
|
|
|
|
|
|
|
|
|
|
//修改wms_out的出库量、出库件数、应收应付装卸费
|
|
|
|
|
string lsSQL = "update wms_out set "
|
|
|
|
|
+ "GOODSPFSL=(select isnull(sum(GOODSPFSL),0) from wms_out_detail where OUTBSNO=wms_out.BSNO)"
|
|
|
|
|
+ ",GOODSPACKPFSL=(select isnull(sum(GOODSPACKPFSL),0) from wms_out_detail where OUTBSNO=wms_out.BSNO)"
|
|
|
|
|
+ ",ARFEE=(select isnull(sum(ARFEE),0) from wms_out_detail where OUTBSNO=wms_out.BSNO)"
|
|
|
|
|
+ ",APFEE=(select isnull(sum(APFEE),0) from wms_out_detail where OUTBSNO=wms_out.BSNO)"
|
|
|
|
|
+ " where ISLOCK=0 and GID='" + WmsOutEntity.GID.ToString().Trim() + "'";
|
|
|
|
|
iState = SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, lsSQL, null);
|
|
|
|
|
if (iState != 1)
|
|
|
|
|
{
|
|
|
|
|
sqlTran.Rollback();
|
|
|
|
|
result = -7;
|
|
|
|
|
Clearh();
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//修改wms_out的仓储费wmsOutEntity.GOODSOUTFEE
|
|
|
|
|
h_outfee.Value = totaloutfee.ToString();
|
|
|
|
|
WmsOutEntity.GOODSOUTFEE =decimal.Parse( Round(totaloutfee,2,"").ToString());
|
|
|
|
|
WmsOutEntity.GOODSOUTFEEAP = 0;
|
|
|
|
|
|
|
|
|
|
Sqlstr = String.Format("update wms_out set GOODSOUTFEE={0},GOODSOUTFEEAP={2},GOODSSTANDARD='{3}' where GID='{1}'", WmsOutEntity.GOODSOUTFEE, WmsOutEntity.GID, WmsOutEntity.GOODSOUTFEEAP, WmsOutEntity.GOODSSTANDARD);
|
|
|
|
|
iState = SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, Sqlstr, null);
|
|
|
|
|
if (iState != 1)
|
|
|
|
|
{
|
|
|
|
|
sqlTran.Rollback();
|
|
|
|
|
result = -7;
|
|
|
|
|
Clearh();
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
//页面赋值
|
|
|
|
|
this.h_wmsoutbsno.Value = WmsOutEntity.BSNO.ToString();
|
|
|
|
|
this.h_goodsmodel.Value = WmsOutEntity.GOODSMODEL.ToString();
|
|
|
|
|
this.h_goodspfsl.Value = WmsOutEntity.GOODSPFSL.ToString();
|
|
|
|
|
this.h_remark.Value = WmsOutEntity.REMARK.ToString();
|
|
|
|
|
|
|
|
|
|
txt_outbsno.Value = h_outbsno.Value;
|
|
|
|
|
txt_outdate.Value = h_outdate.Value;
|
|
|
|
|
string strcustomer = h_customer.Value;
|
|
|
|
|
string goods = h_goods.Value;
|
|
|
|
|
txt_goodsmodel.Value = h_goodsmodel.Value;
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 货权转移到 outcustomer.value
|
|
|
|
|
WmsInEntity WmsInEntity = new WmsInEntity();
|
|
|
|
|
WmsInDA wmsinDA = new WmsInDA();
|
|
|
|
|
WmsEntity WmsEntity = new WmsEntity();
|
|
|
|
|
WmsDA wmsDA = new WmsDA();
|
|
|
|
|
string Inbsno = "";
|
|
|
|
|
foreach (WmsOutDetailEntity WmsOutDetailEntity in WmsOutDetailEntitys)
|
|
|
|
|
{
|
|
|
|
|
Inbsno = WmsOutDetailEntity.INBSNO;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
//
|
|
|
|
|
#region 插入入库主表
|
|
|
|
|
#region 提取原入库wms数据
|
|
|
|
|
string SQL_SELECT_WMS_GID = "select GID, WMSNO, WMSDATE, CUSTOMERNAME, WMSOP, STOREMAN, MODIFIEDUSER, MODIFIEDTIME, ISDELETE, DELETEUSER, DELETETIME,TRUCKNAME, GOODSPACK, GOODSPACKSTOCK, GOODSRKSL, GOODSSTOCK, ARFEE, APFEE, ASSOCIATEDNO, BLNO, FREESTORAGEPERIOD, CONTRACTNO, GOODSNAME, GOODSMODEL, CLIENTCODEOLD, CLIENTNAMEOLD, STORAGENAME, CHARGEUNIT,GOODSPACKACTUAL,GOODSRKSLACTUAL,TRUCKNAME,FREESTORAGEPERIODAP,STARTBILLINGDATEAP,CORPID,AREANAME,BANKVALUE,MARKETVALUE,BZTCHNO,CREATEUSER,CREATETIME from wms where GID='" + Inbsno.Trim() + "' and ISDELETE=0";
|
|
|
|
|
SqlDataReader sqlRead = SqlHelper.ExecuteQueryReader(sqlTran, CommandType.Text, SQL_SELECT_WMS_GID, null);
|
|
|
|
|
while (sqlRead.Read())
|
|
|
|
|
{
|
|
|
|
|
if (!sqlRead.IsDBNull(0)) { WmsEntity.GID = sqlRead.GetString(0); } // 唯一编码 newid()
|
|
|
|
|
if (!sqlRead.IsDBNull(1)) { WmsEntity.WMSNO = sqlRead.GetString(1); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(2)) { WmsEntity.WMSDATE = sqlRead.GetDateTime(2); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(3)) { WmsEntity.CUSTOMERNAME = sqlRead.GetString(3); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(4)) { WmsEntity.WMSOP = sqlRead.GetString(4); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(5)) { WmsEntity.STOREMAN = sqlRead.GetString(5); }
|
|
|
|
|
if (!sqlRead.IsDBNull(6)) { WmsEntity.MODIFIEDUSER = sqlRead.GetString(6); }
|
|
|
|
|
if (!sqlRead.IsDBNull(7)) { WmsEntity.MODIFIEDTIME = sqlRead.GetDateTime(7); }
|
|
|
|
|
if (!sqlRead.IsDBNull(8)) { WmsEntity.ISDELETE = sqlRead.GetBoolean(8); } // 是否废除
|
|
|
|
|
if (!sqlRead.IsDBNull(9)) { WmsEntity.DELETEUSER = sqlRead.GetString(9); } // 废除操作人
|
|
|
|
|
if (!sqlRead.IsDBNull(10)) { WmsEntity.DELETETIME = sqlRead.GetDateTime(10); } // 废除时间
|
|
|
|
|
if (!sqlRead.IsDBNull(11)) { WmsEntity.TRUCKNAME = sqlRead.GetString(11); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(12)) { WmsEntity.GOODSPACK = sqlRead.GetDecimal(12); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(13)) { WmsEntity.GOODSPACKSTOCK = sqlRead.GetDecimal(13); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(14)) { WmsEntity.GOODSRKSL = sqlRead.GetDecimal(14); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(15)) { WmsEntity.GOODSSTOCK = sqlRead.GetDecimal(15); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(16)) { WmsEntity.ARFEE = sqlRead.GetDecimal(16); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(17)) { WmsEntity.APFEE = sqlRead.GetDecimal(17); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(18)) { WmsEntity.ASSOCIATEDNO = sqlRead.GetString(18); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(19)) { WmsEntity.BLNO = sqlRead.GetString(19); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(20)) { WmsEntity.FREESTORAGEPERIOD = sqlRead.GetInt32(20); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(21)) { WmsEntity.CONTRACTNO = sqlRead.GetString(21); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(22)) { WmsEntity.GOODSNAME = sqlRead.GetString(22); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(23)) { WmsEntity.GOODSMODEL = sqlRead.GetString(23); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(24)) { WmsEntity.CLIENTCODEOLD = sqlRead.GetString(24); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(25)) { WmsEntity.CLIENTNAMEOLD = sqlRead.GetString(25); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(26)) { WmsEntity.STORAGENAME = sqlRead.GetString(26); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(27)) { WmsEntity.CHARGEUNIT = sqlRead.GetString(27); }//
|
|
|
|
|
if (!sqlRead.IsDBNull(28)) { WmsEntity.GOODSPACKACTUAL = sqlRead.GetDecimal(28); }
|
|
|
|
|
if (!sqlRead.IsDBNull(29)) { WmsEntity.GOODSRKSLACTUAL = sqlRead.GetDecimal(29); }
|
|
|
|
|
if (!sqlRead.IsDBNull(30)) { WmsEntity.TRUCKNAME = sqlRead.GetString(30); }
|
|
|
|
|
if (!sqlRead.IsDBNull(31)) { WmsEntity.FREESTORAGEPERIODAP = sqlRead.GetInt32(31); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(32)) { WmsEntity.STARTBILLINGDATEAP = sqlRead.GetDateTime(32); }
|
|
|
|
|
if (!sqlRead.IsDBNull(33)) { WmsEntity.CORPID = sqlRead.GetString(33); }
|
|
|
|
|
if (!sqlRead.IsDBNull(34)) { WmsEntity.AREANAME = sqlRead.GetString(34); }
|
|
|
|
|
if (!sqlRead.IsDBNull(35)) { WmsEntity.BANKVALUE = sqlRead.GetDecimal(35); }
|
|
|
|
|
if (!sqlRead.IsDBNull(36)) { WmsEntity.MARKETVALUE = sqlRead.GetDecimal(36); }
|
|
|
|
|
if (!sqlRead.IsDBNull(37)) { WmsEntity.BZTCHNO = sqlRead.GetString(37); }
|
|
|
|
|
if (!sqlRead.IsDBNull(38)) { WmsEntity.CREATEUSER = sqlRead.GetString(38); }
|
|
|
|
|
if (!sqlRead.IsDBNull(39)) { WmsEntity.CREATETIME = sqlRead.GetDateTime(39); }
|
|
|
|
|
}
|
|
|
|
|
sqlRead.Close();
|
|
|
|
|
sqlRead.Dispose();
|
|
|
|
|
#endregion
|
|
|
|
|
//
|
|
|
|
|
#region 提取货权转移的wms_out的数据
|
|
|
|
|
WmsOutEntity model = new WmsOutEntity();
|
|
|
|
|
StringBuilder strSql = new StringBuilder();
|
|
|
|
|
string SQL_SELECT_WMS_OUT_GID = "select top 1 GID,AssociatedNO,BSNO,CLIENTGID,CLIENTCODE,CUSTOMERNAME,DODATE,STORAGECODE,STORAGENAME,AREACODE,AREANAME,GOODSCODE,GOODSNAME,GOODSTYPE,GOODSMODEL,GOODSSTANDARD,GOODSPACK,GOODSPFSL,GOODSOUTFEE,REMARK,ISDELETE,DELETETIME,DELETEUSER,CREATEUSER,CREATETIME,MODIFIEDUSER,MODIFIEDTIME,GOODSPACKPFSL,GOODSOUTFEEAP,TRUCKNAME,ARCLIENT,CUSTOMNO,MBLNONEW,CORPID,ARCLIENTWMSOUT,BZTCHNO from wms_out where GID='" + WmsOutEntity.GID.ToString().Trim() + "' ";
|
|
|
|
|
SqlDataReader sqlRead1 = SqlHelper.ExecuteQueryReader(sqlTran, CommandType.Text, SQL_SELECT_WMS_OUT_GID, null);
|
|
|
|
|
while (sqlRead1.Read())
|
|
|
|
|
{
|
|
|
|
|
if (sqlRead1["GID"] != null && sqlRead1["GID"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.GID = sqlRead1["GID"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["ASSOCIATEDNO"] != null && sqlRead1["ASSOCIATEDNO"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.ASSOCIATEDNO = sqlRead1["ASSOCIATEDNO"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["BSNO"] != null && sqlRead1["BSNO"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.BSNO = sqlRead1["BSNO"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["CLIENTGID"] != null && sqlRead1["CLIENTGID"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.CLIENTGID = sqlRead1["CLIENTGID"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["CLIENTCODE"] != null && sqlRead1["CLIENTCODE"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.CLIENTCODE = sqlRead1["CLIENTCODE"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["CUSTOMERNAME"] != null && sqlRead1["CUSTOMERNAME"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.CUSTOMERNAME = sqlRead1["CUSTOMERNAME"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["DODATE"] != null && sqlRead1["DODATE"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.DODATE = DateTime.Parse(sqlRead1["DODATE"].ToString());
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["STORAGECODE"] != null && sqlRead1["STORAGECODE"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.STORAGECODE = sqlRead1["STORAGECODE"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["STORAGENAME"] != null && sqlRead1["STORAGENAME"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.STORAGENAME = sqlRead1["STORAGENAME"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["AREACODE"] != null && sqlRead1["AREACODE"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.AREACODE = sqlRead1["AREACODE"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["AREANAME"] != null && sqlRead1["AREANAME"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.AREANAME = sqlRead1["AREANAME"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["GOODSCODE"] != null && sqlRead1["GOODSCODE"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.GOODSCODE = sqlRead1["GOODSCODE"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["GOODSNAME"] != null && sqlRead1["GOODSNAME"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.GOODSNAME = sqlRead1["GOODSNAME"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["GOODSTYPE"] != null && sqlRead1["GOODSTYPE"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.GOODSTYPE = sqlRead1["GOODSTYPE"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["GOODSMODEL"] != null && sqlRead1["GOODSMODEL"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.GOODSMODEL = sqlRead1["GOODSMODEL"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["GOODSSTANDARD"] != null && sqlRead1["GOODSSTANDARD"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.GOODSSTANDARD = sqlRead1["GOODSSTANDARD"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["GOODSPACK"] != null && sqlRead1["GOODSPACK"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.GOODSPACK = sqlRead1["GOODSPACK"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["GOODSPFSL"] != null && sqlRead1["GOODSPFSL"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.GOODSPFSL = decimal.Parse(sqlRead1["GOODSPFSL"].ToString());
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["GOODSOUTFEE"] != null && sqlRead1["GOODSOUTFEE"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.GOODSOUTFEE = decimal.Parse(sqlRead1["GOODSOUTFEE"].ToString());
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["REMARK"] != null && sqlRead1["REMARK"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.REMARK = sqlRead1["REMARK"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["ISDELETE"] != null && sqlRead1["ISDELETE"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
if ((sqlRead1["ISDELETE"].ToString() == "1") || (sqlRead1["ISDELETE"].ToString().ToLower() == "true"))
|
|
|
|
|
{
|
|
|
|
|
model.ISDELETE = true;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
model.ISDELETE = false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["DELETETIME"] != null && sqlRead1["DELETETIME"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.DELETETIME = DateTime.Parse(sqlRead1["DELETETIME"].ToString());
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["DELETEUSER"] != null && sqlRead1["DELETEUSER"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.DELETEUSER = sqlRead1["DELETEUSER"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["CREATEUSER"] != null && sqlRead1["CREATEUSER"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.CREATEUSER = sqlRead1["CREATEUSER"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["CREATETIME"] != null && sqlRead1["CREATETIME"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.CREATETIME = DateTime.Parse(sqlRead1["CREATETIME"].ToString());
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["MODIFIEDUSER"] != null && sqlRead1["MODIFIEDUSER"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.MODIFIEDUSER = sqlRead1["MODIFIEDUSER"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["MODIFIEDTIME"] != null && sqlRead1["MODIFIEDTIME"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.MODIFIEDTIME = DateTime.Parse(sqlRead1["MODIFIEDTIME"].ToString());
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["GOODSPACKPFSL"] != null && sqlRead1["GOODSPACKPFSL"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.GOODSPACKPFSL = decimal.Parse(sqlRead1["GOODSPACKPFSL"].ToString());
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["GOODSOUTFEEAP"] != null && sqlRead1["GOODSOUTFEEAP"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.GOODSOUTFEEAP = decimal.Parse(sqlRead1["GOODSOUTFEEAP"].ToString());
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["TRUCKNAME"] != null && sqlRead1["TRUCKNAME"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.TRUCKNAME = sqlRead1["TRUCKNAME"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["ARCLIENT"] != null && sqlRead1["ARCLIENT"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.ARCLIENT = sqlRead1["ARCLIENT"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["CUSTOMNO"] != null && sqlRead1["CUSTOMNO"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.CUSTOMNO = sqlRead1["CUSTOMNO"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["MBLNONEW"] != null && sqlRead1["MBLNONEW"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.MBLNONEW = sqlRead1["MBLNONEW"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["CORPID"] != null && sqlRead1["CORPID"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.CORPID = sqlRead1["CORPID"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["ARCLIENTWMSOUT"] != null && sqlRead1["ARCLIENTWMSOUT"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.ARCLIENTWMSOUT = sqlRead1["ARCLIENTWMSOUT"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["BZTCHNO"] != null && sqlRead1["BZTCHNO"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.BZTCHNO = sqlRead1["BZTCHNO"].ToString();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
sqlRead1.Close();
|
|
|
|
|
sqlRead1.Dispose();
|
|
|
|
|
#endregion
|
|
|
|
|
//
|
|
|
|
|
WmsEntity.GID = strINGIDNEW;
|
|
|
|
|
//
|
|
|
|
|
#region 提取规则编号 getCodeRule("入库单号", "WMSNO")
|
|
|
|
|
// <summary>
|
|
|
|
|
// 提取规则编号
|
|
|
|
|
// </summary>
|
|
|
|
|
// <param name="strRULENAME">规则项目名称</param>
|
|
|
|
|
// <param name="strfield">需要加规则的字段</param>
|
|
|
|
|
// <returns></returns>
|
|
|
|
|
//protected String getCodeRule(string strRULENAME, string strfield)
|
|
|
|
|
//{
|
|
|
|
|
//调用编码规则
|
|
|
|
|
string tbWMSNO = "";
|
|
|
|
|
string strRULEYEAR1 = "";
|
|
|
|
|
string strRULECONTENT1 = "";
|
|
|
|
|
string strCODENAME1 = "";
|
|
|
|
|
string strDEPTNO1 = "";
|
|
|
|
|
string strRULENOLENGTH1 = "";
|
|
|
|
|
int iRULENOLENGTH1 = 0;
|
|
|
|
|
int inum1 = 0;
|
|
|
|
|
string strCONTENT1 = "";
|
|
|
|
|
DataSet ds2 = T_ALL_DA.GetAllSQL("select *,getdate() DODATE from code_rule where RULENAME='入库单号' and RULETYPE=3");
|
|
|
|
|
if (ds2 != null)
|
|
|
|
|
{
|
|
|
|
|
if (ds2.Tables[0].Rows.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
if (ds2.Tables[0].Rows[0]["ISSTARTUSING"].ToString().Trim().Equals("True"))
|
|
|
|
|
{
|
|
|
|
|
getCodeRuleEnabled("入库单号", "WMSNO");
|
|
|
|
|
//
|
|
|
|
|
if (ds2.Tables[0].Rows[0]["RULEDATE"].ToString().Trim().Equals("业务日期"))
|
|
|
|
|
{
|
|
|
|
|
if (ds2.Tables[0].Rows[0]["DODATE"].ToString().Trim() == "")
|
|
|
|
|
{
|
|
|
|
|
//return "";
|
|
|
|
|
tbWMSNO = "";
|
|
|
|
|
}
|
|
|
|
|
DateTime dETD = System.Convert.ToDateTime(ds2.Tables[0].Rows[0]["DODATE"].ToString().Trim());
|
|
|
|
|
if (ds2.Tables[0].Rows[0]["ISCLEAREDINEARLY"].ToString().Trim().Equals("True"))
|
|
|
|
|
{
|
|
|
|
|
if (ds2.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR1 = dETD.ToString("yyyy") + dETD.ToString("MM");
|
|
|
|
|
}
|
|
|
|
|
else if (ds2.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR1 = dETD.ToString("yy") + dETD.ToString("MM");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (ds2.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR1 = dETD.ToString("yyyy");
|
|
|
|
|
}
|
|
|
|
|
else if (ds2.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR1 = dETD.ToString("yy");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else if (ds2.Tables[0].Rows[0]["RULEDATE"].ToString().Trim().Equals("自然月份"))
|
|
|
|
|
{
|
|
|
|
|
DateTime fwqdate = System.Convert.ToDateTime(T_ALL_DA.GetStrSQL("fwqdate", "select fwqdate=getdate()"));
|
|
|
|
|
if (ds2.Tables[0].Rows[0]["ISCLEAREDINEARLY"].ToString().Trim().Equals("True"))
|
|
|
|
|
{
|
|
|
|
|
if (ds2.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR1 = fwqdate.ToString("yyyy") + fwqdate.ToString("MM");
|
|
|
|
|
}
|
|
|
|
|
else if (ds2.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR1 = fwqdate.ToString("yy") + fwqdate.ToString("MM");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (ds2.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR1 = fwqdate.ToString("yyyy");
|
|
|
|
|
}
|
|
|
|
|
else if (ds2.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR1 = fwqdate.ToString("yy");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//
|
|
|
|
|
if (ds2.Tables[0].Rows[0]["ISCOMPANY"].ToString().Trim().Equals("True"))
|
|
|
|
|
{
|
|
|
|
|
strCODENAME1 = T_ALL_DA.GetStrSQL("CODENAME", "select CODENAME from [company] where GID=(select top 1 COMPANYID from user_company where USERID='" + strUserID + "')");
|
|
|
|
|
}
|
|
|
|
|
if (ds2.Tables[0].Rows[0]["ISDEPT"].ToString().Trim().Equals("True"))
|
|
|
|
|
{
|
|
|
|
|
strDEPTNO1 = T_ALL_DA.GetStrSQL("DEPTNO", "select DEPTNO from [sys_dept] where LINKID=(select top 1 COMPANYID from user_company where USERID='" + strUserID + "')");
|
|
|
|
|
}
|
|
|
|
|
strRULECONTENT1 = ds2.Tables[0].Rows[0]["RULECONTENT"].ToString().Trim();
|
|
|
|
|
strRULECONTENT1 = strRULECONTENT1.Replace("《COMPANY》", strCODENAME1);
|
|
|
|
|
strRULECONTENT1 = strRULECONTENT1.Replace("《DEPT》", strDEPTNO1);
|
|
|
|
|
//
|
|
|
|
|
if (ds2.Tables[0].Rows[0]["RULENOLENGTH"].ToString().Trim() == "")
|
|
|
|
|
{
|
|
|
|
|
iRULENOLENGTH1 = 0;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
iRULENOLENGTH1 = int.Parse(ds2.Tables[0].Rows[0]["RULENOLENGTH"].ToString().Trim());
|
|
|
|
|
}
|
|
|
|
|
strCONTENT1 = strRULECONTENT1 + strRULEYEAR1;
|
|
|
|
|
//
|
|
|
|
|
//获取分公司的票号头字符
|
|
|
|
|
string tempBANKSHEAD = "";
|
|
|
|
|
string strSQL = "SELECT TOP 1 BANKSHEAD FROM company WHERE GID='" + strCompanyID.Trim() + "'";
|
|
|
|
|
DataSet ds21 = SqlHelper.ExecuteQueryDataset(sqlTran, CommandType.Text, strSQL, null);
|
|
|
|
|
if (ds21 != null)
|
|
|
|
|
{
|
|
|
|
|
if (ds21.Tables[0].Rows.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
tempBANKSHEAD = ds21.Tables[0].Rows[0]["BANKSHEAD"].ToString().Trim();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
strCONTENT1 = tempBANKSHEAD + strCONTENT1;
|
|
|
|
|
//
|
|
|
|
|
strSQL = "select top 1 WMSNO from [wms] where WMSNO like '" + strCONTENT1.Trim() + "%' order by WMSNO DESC";
|
|
|
|
|
ds21 = SqlHelper.ExecuteQueryDataset(sqlTran, CommandType.Text, strSQL, null);
|
|
|
|
|
if (ds21 != null)
|
|
|
|
|
{
|
|
|
|
|
if (ds21.Tables[0].Rows.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
strRULENOLENGTH1 = ds21.Tables[0].Rows[0]["WMSNO"].ToString().Trim();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (strRULENOLENGTH1 == "")
|
|
|
|
|
{
|
|
|
|
|
strRULENOLENGTH1 = "1";
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
strRULENOLENGTH1 = strRULENOLENGTH1.Replace(strCONTENT1.Trim(), "");
|
|
|
|
|
inum1 = int.Parse(strRULENOLENGTH1.Trim());
|
|
|
|
|
inum1 = inum1 + 1;
|
|
|
|
|
strRULENOLENGTH1 = inum1.ToString();
|
|
|
|
|
}
|
|
|
|
|
int j = iRULENOLENGTH1 - strRULENOLENGTH1.Length;
|
|
|
|
|
for (int i = 1; i <= j; i++)
|
|
|
|
|
{
|
|
|
|
|
strRULENOLENGTH1 = "0" + strRULENOLENGTH1;
|
|
|
|
|
}
|
|
|
|
|
//
|
|
|
|
|
strCONTENT1 = strCONTENT1 + strRULENOLENGTH1;
|
|
|
|
|
tbWMSNO = strCONTENT1;
|
|
|
|
|
//return strCONTENT1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
// return "";
|
|
|
|
|
//}
|
|
|
|
|
#endregion
|
|
|
|
|
WmsEntity.WMSNO = tbWMSNO;//调用编码规则
|
|
|
|
|
//
|
|
|
|
|
WmsEntity.CUSTOMERNAME = this.h_outcustomer.Value.ToString().Trim();
|
|
|
|
|
WmsEntity.WMSOP = strShowName.Trim();
|
|
|
|
|
WmsEntity.STOREMAN = strShowName.Trim();
|
|
|
|
|
WmsEntity.CREATEUSER = strUserID;
|
|
|
|
|
WmsEntity.MODIFIEDUSER = strUserID;
|
|
|
|
|
//
|
|
|
|
|
WmsEntity.WMSDATE = model.DODATE;
|
|
|
|
|
WmsEntity.STARTBILLINGDATE = DateTime.Parse(this.txt_oldcustFeeDate.Value.Trim()).AddDays(1);
|
|
|
|
|
int iFeeDay = WmsOutDetailDA.GetDaysCount("day", model.DODATE.ToString(), WmsOutEntity.OLDCUSTFEEDATE.ToString().Trim());//WmsOutEntity.DODATE.ToString());
|
|
|
|
|
WmsEntity.FREESTORAGEPERIOD = 0;
|
|
|
|
|
if (iFeeDay > 0)
|
|
|
|
|
{
|
|
|
|
|
WmsEntity.FREESTORAGEPERIOD = iFeeDay;
|
|
|
|
|
}
|
|
|
|
|
//
|
|
|
|
|
WmsEntity.GOODSPACK = model.GOODSPACKPFSL;
|
|
|
|
|
WmsEntity.GOODSPACKSTOCK = model.GOODSPACKPFSL;
|
|
|
|
|
WmsEntity.GOODSPACKACTUAL = model.GOODSPACKPFSL;
|
|
|
|
|
WmsEntity.GOODSRKSL = model.GOODSPFSL;
|
|
|
|
|
WmsEntity.GOODSSTOCK = model.GOODSPFSL;
|
|
|
|
|
WmsEntity.GOODSRKSLACTUAL = model.GOODSPFSL;
|
|
|
|
|
WmsEntity.ARFEE = 0;
|
|
|
|
|
WmsEntity.APFEE = 0;
|
|
|
|
|
WmsEntity.CLIENTNAMEOLD = model.CUSTOMERNAME;// 原客户名称
|
|
|
|
|
WmsEntity.ISLOCK = false;// true;
|
|
|
|
|
WmsEntity.LOCKUSER = strUserID;
|
|
|
|
|
WmsEntity.CUSTOMNO = model.CUSTOMNO;
|
|
|
|
|
WmsEntity.ARCLIENT = "";
|
|
|
|
|
WmsEntity.TRUCKNAME = "";
|
|
|
|
|
WmsEntity.CORPID = strCompanyID;
|
|
|
|
|
WmsEntity.BZTCHNO = model.BZTCHNO;
|
|
|
|
|
//
|
|
|
|
|
string sMBLNONEW = this.h_mblnonew.Value.Trim() == "" ? model.MBLNONEW.ToString().Trim() : this.h_mblnonew.Value.Trim();
|
|
|
|
|
WmsEntity.BLNO = sMBLNONEW;
|
|
|
|
|
WmsEntity.ASSOCIATEDNO = T_ALL_DA.GetStrSQL("bsno", "select top 1 bsno from op_seai where mblno='" + sMBLNONEW + "'");
|
|
|
|
|
WmsEntity.CUSTNO = T_ALL_DA.GetStrSQL("CUSTNO", "select top 1 CUSTNO from op_seai where mblno='" + sMBLNONEW + "'");
|
|
|
|
|
WmsEntity.ISCHANGE = true;
|
|
|
|
|
//
|
|
|
|
|
SqlParameter[] parameters = {
|
|
|
|
|
new SqlParameter("@GID", SqlDbType.VarChar,36) ,
|
|
|
|
|
new SqlParameter("@WMSNO", SqlDbType.VarChar,100) ,
|
|
|
|
|
new SqlParameter("@WMSDATE", SqlDbType.DateTime) ,
|
|
|
|
|
new SqlParameter("@CUSTOMERNAME", SqlDbType.VarChar,20) ,
|
|
|
|
|
new SqlParameter("@WMSOP", SqlDbType.VarChar,10) ,
|
|
|
|
|
new SqlParameter("@STOREMAN", SqlDbType.VarChar,10) ,
|
|
|
|
|
new SqlParameter("@MODIFIEDUSER", SqlDbType.VarChar,36) ,
|
|
|
|
|
new SqlParameter("@TRUCKNAME", SqlDbType.VarChar,20) ,
|
|
|
|
|
new SqlParameter("@GOODSPACK", SqlDbType.Decimal) ,
|
|
|
|
|
new SqlParameter("@GOODSPACKSTOCK", SqlDbType.Decimal) ,
|
|
|
|
|
new SqlParameter("@GOODSRKSL", SqlDbType.Decimal) ,
|
|
|
|
|
new SqlParameter("@GOODSSTOCK", SqlDbType.Decimal) ,
|
|
|
|
|
new SqlParameter("@ARFEE", SqlDbType.Decimal) ,
|
|
|
|
|
new SqlParameter("@APFEE", SqlDbType.Decimal) ,
|
|
|
|
|
new SqlParameter("@ASSOCIATEDNO", SqlDbType.VarChar,100),
|
|
|
|
|
new SqlParameter("@BLNO", SqlDbType.VarChar,100) ,
|
|
|
|
|
new SqlParameter("@FREESTORAGEPERIOD", SqlDbType.Int,4) ,
|
|
|
|
|
new SqlParameter("@CONTRACTNO", SqlDbType.VarChar,100),
|
|
|
|
|
new SqlParameter("@GOODSNAME", SqlDbType.VarChar,100) ,
|
|
|
|
|
new SqlParameter("@GOODSMODEL", SqlDbType.VarChar,100) ,
|
|
|
|
|
new SqlParameter("@CLIENTCODEOLD", SqlDbType.VarChar,20) ,
|
|
|
|
|
new SqlParameter("@CLIENTNAMEOLD", SqlDbType.VarChar,20) ,
|
|
|
|
|
new SqlParameter("@STORAGENAME", SqlDbType.VarChar,20) ,
|
|
|
|
|
new SqlParameter("@CHARGEUNIT", SqlDbType.VarChar,10) ,
|
|
|
|
|
new SqlParameter("@ISLOCK", SqlDbType.Bit) ,
|
|
|
|
|
new SqlParameter("@LOCKUSER", SqlDbType.VarChar,36) ,
|
|
|
|
|
new SqlParameter("@STARTBILLINGDATE", SqlDbType.DateTime) ,
|
|
|
|
|
new SqlParameter("@CUSTOMNO", SqlDbType.VarChar,30) ,
|
|
|
|
|
new SqlParameter("@GOODSPACKACTUAL",SqlDbType.Decimal) ,
|
|
|
|
|
new SqlParameter("@GOODSRKSLACTUAL",SqlDbType.Decimal) ,
|
|
|
|
|
new SqlParameter("@CUSTNO", SqlDbType.VarChar,30) ,
|
|
|
|
|
new SqlParameter("@ARCLIENT", SqlDbType.VarChar,20) ,
|
|
|
|
|
new SqlParameter("@FREESTORAGEPERIODAP", SqlDbType.Int,4) ,
|
|
|
|
|
new SqlParameter("@STARTBILLINGDATEAP", SqlDbType.DateTime) ,
|
|
|
|
|
new SqlParameter("@ISCHANGE", SqlDbType.Bit) ,
|
|
|
|
|
new SqlParameter("@CORPID", SqlDbType.VarChar,36) ,
|
|
|
|
|
new SqlParameter("@AREANAME",SqlDbType.VarChar,100) ,
|
|
|
|
|
new SqlParameter("@BANKVALUE", SqlDbType.Decimal) ,
|
|
|
|
|
new SqlParameter("@MARKETVALUE", SqlDbType.Decimal) ,
|
|
|
|
|
new SqlParameter("@BZTCHNO",SqlDbType.VarChar,100) ,
|
|
|
|
|
new SqlParameter("@CREATEUSER", SqlDbType.VarChar,36)
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
parameters[0].Value = WmsEntity.GID;
|
|
|
|
|
parameters[1].Value = WmsEntity.WMSNO;
|
|
|
|
|
parameters[2].Value = WmsEntity.WMSDATE;
|
|
|
|
|
parameters[3].Value = WmsEntity.CUSTOMERNAME;
|
|
|
|
|
parameters[4].Value = WmsEntity.WMSOP;
|
|
|
|
|
parameters[5].Value = WmsEntity.STOREMAN;
|
|
|
|
|
parameters[6].Value = WmsEntity.MODIFIEDUSER;
|
|
|
|
|
parameters[7].Value = WmsEntity.TRUCKNAME;
|
|
|
|
|
parameters[8].Value = WmsEntity.GOODSPACK;
|
|
|
|
|
parameters[9].Value = WmsEntity.GOODSPACKSTOCK;
|
|
|
|
|
parameters[10].Value = WmsEntity.GOODSRKSL;
|
|
|
|
|
parameters[11].Value = WmsEntity.GOODSSTOCK;
|
|
|
|
|
parameters[12].Value = WmsEntity.ARFEE;
|
|
|
|
|
parameters[13].Value = WmsEntity.APFEE;
|
|
|
|
|
parameters[14].Value = WmsEntity.ASSOCIATEDNO;
|
|
|
|
|
parameters[15].Value = WmsEntity.BLNO;
|
|
|
|
|
parameters[16].Value = WmsEntity.FREESTORAGEPERIOD;
|
|
|
|
|
parameters[17].Value = WmsEntity.CONTRACTNO;
|
|
|
|
|
parameters[18].Value = WmsEntity.GOODSNAME;
|
|
|
|
|
parameters[19].Value = WmsEntity.GOODSMODEL;
|
|
|
|
|
parameters[20].Value = WmsEntity.CLIENTCODEOLD;
|
|
|
|
|
parameters[21].Value = WmsEntity.CLIENTNAMEOLD;
|
|
|
|
|
parameters[22].Value = WmsEntity.STORAGENAME;
|
|
|
|
|
parameters[23].Value = WmsEntity.CHARGEUNIT;
|
|
|
|
|
parameters[24].Value = WmsEntity.ISLOCK;
|
|
|
|
|
parameters[25].Value = WmsEntity.LOCKUSER;
|
|
|
|
|
parameters[26].Value = WmsEntity.STARTBILLINGDATE;
|
|
|
|
|
parameters[27].Value = WmsEntity.CUSTOMNO;
|
|
|
|
|
parameters[28].Value = WmsEntity.GOODSPACKACTUAL;//
|
|
|
|
|
parameters[29].Value = WmsEntity.GOODSRKSLACTUAL;//
|
|
|
|
|
parameters[30].Value = WmsEntity.CUSTNO;//
|
|
|
|
|
parameters[31].Value = WmsEntity.ARCLIENT;//
|
|
|
|
|
parameters[32].Value = WmsEntity.FREESTORAGEPERIODAP;
|
|
|
|
|
parameters[33].Value = WmsEntity.STARTBILLINGDATEAP;
|
|
|
|
|
parameters[34].Value = WmsEntity.ISCHANGE;
|
|
|
|
|
parameters[35].Value = WmsEntity.CORPID;
|
|
|
|
|
parameters[36].Value = WmsEntity.AREANAME;
|
|
|
|
|
parameters[37].Value = WmsEntity.BANKVALUE;
|
|
|
|
|
parameters[38].Value = WmsEntity.MARKETVALUE;
|
|
|
|
|
parameters[39].Value = WmsEntity.BZTCHNO;
|
|
|
|
|
parameters[40].Value = WmsEntity.CREATEUSER;
|
|
|
|
|
|
|
|
|
|
string lsSql = "insert into wms(GID,WMSNO,WMSDATE,CUSTOMERNAME,WMSOP,STOREMAN,MODIFIEDUSER,MODIFIEDTIME,ISDELETE,DELETEUSER,DELETETIME,TRUCKNAME,GOODSPACK,GOODSPACKSTOCK,GOODSRKSL,GOODSSTOCK,ARFEE,APFEE,ASSOCIATEDNO,BLNO,FREESTORAGEPERIOD,CONTRACTNO,GOODSNAME,GOODSMODEL,CLIENTCODEOLD,CLIENTNAMEOLD,STORAGENAME,CHARGEUNIT,ISLOCK,LOCKUSER,LOCKTIME,STARTBILLINGDATE,CUSTOMNO,GOODSPACKACTUAL,GOODSRKSLACTUAL,CUSTNO,ARCLIENT,FREESTORAGEPERIODAP,STARTBILLINGDATEAP,ISCHANGE,CORPID,AREANAME,BANKVALUE,MARKETVALUE,BZTCHNO,CREATEUSER,CREATETIME)"
|
|
|
|
|
+ " values (@GID,@WMSNO,@WMSDATE,@CUSTOMERNAME,@WMSOP,@STOREMAN,@MODIFIEDUSER,getdate(),0,'',getdate(),@TRUCKNAME,@GOODSPACK,@GOODSPACKSTOCK,@GOODSRKSL,@GOODSSTOCK,@ARFEE,@APFEE,@ASSOCIATEDNO,@BLNO,@FREESTORAGEPERIOD,@CONTRACTNO,@GOODSNAME,@GOODSMODEL,@CLIENTCODEOLD,@CLIENTNAMEOLD,@STORAGENAME,@CHARGEUNIT,@ISLOCK,@LOCKUSER,getdate(),@STARTBILLINGDATE,@CUSTOMNO,@GOODSPACKACTUAL,@GOODSRKSLACTUAL,@CUSTNO,@ARCLIENT,@FREESTORAGEPERIODAP,@STARTBILLINGDATEAP,@ISCHANGE,@CORPID,@AREANAME,@BANKVALUE,@MARKETVALUE,@BZTCHNO,@CREATEUSER,getdate())";
|
|
|
|
|
iState = SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, lsSql, parameters);
|
|
|
|
|
if (iState != 1)
|
|
|
|
|
{
|
|
|
|
|
sqlTran.Rollback();
|
|
|
|
|
result = -9;
|
|
|
|
|
Clearh();
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
//
|
|
|
|
|
#region 插入入库明细表
|
|
|
|
|
//
|
|
|
|
|
//插入入库明细表
|
|
|
|
|
int n = 0;
|
|
|
|
|
foreach (WmsOutDetailEntity WmsOutDetailEntity in WmsOutDetailEntitys)
|
|
|
|
|
{
|
|
|
|
|
n = n + 1;
|
|
|
|
|
#region 提取出库相对应的原入库wms_in数据
|
|
|
|
|
string SQL_SELECT_WMS_IN_GID = "select top 1 GID,ASSOCIATEDNO,BLNO,CONTRACTNO,CNTRNO,SEALNO,BSNO,CLIENTCODE,CLIENTNAME,DODATE,STORAGECODE,STORAGENAME,AREACODE,AREANAME,GOODSCODE,GOODSNAME,GOODSTYPE,GOODSMODEL,GOODSSTANDARD,GOODSPACK,CHARGEUNIT,GOODSRKSL,GOODSSTOCK,ISLOCK,LOCKTIME,LOCKUSER,ISDELETE,DELETETIME,DELETEUSER,CREATEUSER,CREATETIME,MODIFIEDUSER,MODIFIEDTIME,REMARK,FREESTORAGEPERIOD,GOODSPACKSTOCK,GOODSKGS,CLIENTCODEOLD,CLIENTNAMEOLD,KINDPKGS,ARFEE,APFEE,CORPID,MARKETVALUE,BANKVALUE,LINENUM from wms_in where ASSOCIATEDNO in (select gid from wms where gid='" + WmsOutDetailEntity.INBSNO.ToString().Trim() + "') and ISDELETE=0";
|
|
|
|
|
sqlRead = SqlHelper.ExecuteQueryReader(sqlTran, CommandType.Text, SQL_SELECT_WMS_IN_GID, null);
|
|
|
|
|
while (sqlRead.Read())
|
|
|
|
|
{
|
|
|
|
|
if (!sqlRead.IsDBNull(0)) { WmsInEntity.GID = sqlRead.GetString(0); }// 惟一编号
|
|
|
|
|
if (!sqlRead.IsDBNull(1)) { WmsInEntity.ASSOCIATEDNO = sqlRead.GetString(1); }// 关联号
|
|
|
|
|
if (!sqlRead.IsDBNull(2)) { WmsInEntity.BLNO = sqlRead.GetString(2); }// 提单号
|
|
|
|
|
if (!sqlRead.IsDBNull(3)) { WmsInEntity.CONTRACTNO = sqlRead.GetString(3); }// 合同号
|
|
|
|
|
if (!sqlRead.IsDBNull(4)) { WmsInEntity.CNTRNO = sqlRead.GetString(4); }// 箱号
|
|
|
|
|
if (!sqlRead.IsDBNull(5)) { WmsInEntity.SEALNO = sqlRead.GetString(5); }// 封号
|
|
|
|
|
if (!sqlRead.IsDBNull(6)) { WmsInEntity.BSNO = sqlRead.GetString(6); }// 仓单明细号
|
|
|
|
|
if (!sqlRead.IsDBNull(7)) { WmsInEntity.CLIENTCODE = sqlRead.GetString(7); }// 客户编码
|
|
|
|
|
if (!sqlRead.IsDBNull(8)) { WmsInEntity.CLIENTNAME = sqlRead.GetString(8); }// 客户名称
|
|
|
|
|
if (!sqlRead.IsDBNull(9)) { WmsInEntity.DODATE = sqlRead.GetDateTime(9); }// 操作时间
|
|
|
|
|
if (!sqlRead.IsDBNull(10)) { WmsInEntity.STORAGECODE = sqlRead.GetString(10); }// 仓库编码
|
|
|
|
|
if (!sqlRead.IsDBNull(11)) { WmsInEntity.STORAGENAME = sqlRead.GetString(11); }// 仓库名称
|
|
|
|
|
if (!sqlRead.IsDBNull(12)) { WmsInEntity.AREACODE = sqlRead.GetString(12); }// 库位编码
|
|
|
|
|
if (!sqlRead.IsDBNull(13)) { WmsInEntity.AREANAME = sqlRead.GetString(13); }// 库位名称
|
|
|
|
|
if (!sqlRead.IsDBNull(14)) { WmsInEntity.GOODSCODE = sqlRead.GetString(14); }// 货物编号
|
|
|
|
|
if (!sqlRead.IsDBNull(15)) { WmsInEntity.GOODSNAME = sqlRead.GetString(15); }// 货物名称
|
|
|
|
|
if (!sqlRead.IsDBNull(16)) { WmsInEntity.GOODSTYPE = sqlRead.GetString(16); }// 货物类型
|
|
|
|
|
if (!sqlRead.IsDBNull(17)) { WmsInEntity.GOODSMODEL = sqlRead.GetString(17); }// 牌号
|
|
|
|
|
if (!sqlRead.IsDBNull(18)) { WmsInEntity.GOODSSTANDARD = sqlRead.GetString(18); }// 规格
|
|
|
|
|
if (!sqlRead.IsDBNull(19)) { WmsInEntity.GOODSPACK = sqlRead.GetDecimal(19); }// 件数
|
|
|
|
|
if (!sqlRead.IsDBNull(20)) { WmsInEntity.CHARGEUNIT = sqlRead.GetString(20); }// 计费单位
|
|
|
|
|
if (!sqlRead.IsDBNull(21)) { WmsInEntity.GOODSRKSL = sqlRead.GetDecimal(21); }// 入库量
|
|
|
|
|
if (!sqlRead.IsDBNull(22)) { WmsInEntity.GOODSSTOCK = sqlRead.GetDecimal(22); }// 库存量
|
|
|
|
|
if (!sqlRead.IsDBNull(23)) { WmsInEntity.ISLOCK = sqlRead.GetBoolean(23); }// 是否锁定
|
|
|
|
|
if (!sqlRead.IsDBNull(24)) { WmsInEntity.LOCKTIME = sqlRead.GetDateTime(24); }// 锁定时间
|
|
|
|
|
if (!sqlRead.IsDBNull(25)) { WmsInEntity.LOCKUSER = sqlRead.GetString(25); }// 锁定操作人
|
|
|
|
|
if (!sqlRead.IsDBNull(26)) { WmsInEntity.ISDELETE = sqlRead.GetBoolean(26); }// 是否废除
|
|
|
|
|
if (!sqlRead.IsDBNull(27)) { WmsInEntity.DELETETIME = sqlRead.GetDateTime(27); }// 废除时间
|
|
|
|
|
if (!sqlRead.IsDBNull(28)) { WmsInEntity.DELETEUSER = sqlRead.GetString(28); }// 废除操作人
|
|
|
|
|
if (!sqlRead.IsDBNull(29)) { WmsInEntity.CREATEUSER = sqlRead.GetString(29); }// 创建人
|
|
|
|
|
if (!sqlRead.IsDBNull(30)) { WmsInEntity.CREATETIME = sqlRead.GetDateTime(30); }// 创建时间
|
|
|
|
|
if (!sqlRead.IsDBNull(31)) { WmsInEntity.MODIFIEDUSER = sqlRead.GetString(31); }// 最后一次更新操作人
|
|
|
|
|
if (!sqlRead.IsDBNull(32)) { WmsInEntity.MODIFIEDTIME = sqlRead.GetDateTime(32); }// 最后一次更新操作时间
|
|
|
|
|
if (!sqlRead.IsDBNull(33)) { WmsInEntity.REMARK = sqlRead.GetString(33); }// 备注
|
|
|
|
|
if (!sqlRead.IsDBNull(34)) { WmsInEntity.FREESTORAGEPERIOD = sqlRead.GetInt32(34); }// 免仓储期
|
|
|
|
|
if (!sqlRead.IsDBNull(35)) { WmsInEntity.GOODSPACKSTOCK = sqlRead.GetDecimal(35); }// 剩余件数
|
|
|
|
|
if (!sqlRead.IsDBNull(36)) { WmsInEntity.GOODSKGS = sqlRead.GetDecimal(36); }// 重量
|
|
|
|
|
if (!sqlRead.IsDBNull(37)) { WmsInEntity.CLIENTCODEOLD = sqlRead.GetString(37); }// 原客户编码
|
|
|
|
|
if (!sqlRead.IsDBNull(38)) { WmsInEntity.CLIENTNAMEOLD = sqlRead.GetString(38); }// 原客户名称
|
|
|
|
|
if (!sqlRead.IsDBNull(39)) { WmsInEntity.KINDPKGS = sqlRead.GetString(39); }//
|
|
|
|
|
if (!sqlRead.IsDBNull(40)) { WmsInEntity.ARFEE = sqlRead.GetDecimal(40); }//
|
|
|
|
|
if (!sqlRead.IsDBNull(41)) { WmsInEntity.APFEE = sqlRead.GetDecimal(41); }//
|
|
|
|
|
if (!sqlRead.IsDBNull(42)) { WmsInEntity.CORPID = sqlRead.GetString(42); }//
|
|
|
|
|
if (!sqlRead.IsDBNull(43)) { WmsInEntity.MARKETVALUE = sqlRead.GetDecimal(43); }//
|
|
|
|
|
if (!sqlRead.IsDBNull(44)) { WmsInEntity.BANKVALUE = sqlRead.GetDecimal(44); }//
|
|
|
|
|
if (!sqlRead.IsDBNull(45)) { WmsInEntity.LINENUM = sqlRead.GetInt32(45); }//
|
|
|
|
|
}
|
|
|
|
|
sqlRead.Close();
|
|
|
|
|
sqlRead.Dispose();
|
|
|
|
|
#endregion
|
|
|
|
|
WmsInEntity.GID = Guid.NewGuid().ToString();
|
|
|
|
|
WmsInEntity.ASSOCIATEDNO = WmsEntity.GID;
|
|
|
|
|
WmsInEntity.BLNO = model.MBLNONEW;
|
|
|
|
|
//
|
|
|
|
|
#region 提取规则编号 getCodeRule("入库明细单号", "BSNO", "wms_in")
|
|
|
|
|
// <summary>
|
|
|
|
|
// 提取规则编号
|
|
|
|
|
// </summary>
|
|
|
|
|
// <param name="strRULENAME">规则项目名称</param>
|
|
|
|
|
// <param name="strfield">需要加规则的字段</param>
|
|
|
|
|
// <returns></returns>
|
|
|
|
|
//protected String getCodeRule(string strRULENAME, string strfield)
|
|
|
|
|
//{
|
|
|
|
|
//调用编码规则
|
|
|
|
|
string tbBSNO = "";
|
|
|
|
|
strRULEYEAR1 = "";
|
|
|
|
|
strRULECONTENT1 = "";
|
|
|
|
|
strCODENAME1 = "";
|
|
|
|
|
strDEPTNO1 = "";
|
|
|
|
|
strRULENOLENGTH1 = "";
|
|
|
|
|
iRULENOLENGTH1 = 0;
|
|
|
|
|
inum1 = 0;
|
|
|
|
|
strCONTENT1 = "";
|
|
|
|
|
ds2 = T_ALL_DA.GetAllSQL("select *,getdate() DODATE from code_rule where RULENAME='入库明细单号' and RULETYPE=3");
|
|
|
|
|
if (ds2 != null)
|
|
|
|
|
{
|
|
|
|
|
if (ds2.Tables[0].Rows.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
if (ds2.Tables[0].Rows[0]["ISSTARTUSING"].ToString().Trim().Equals("True"))
|
|
|
|
|
{
|
|
|
|
|
getCodeRuleEnabled("入库明细单号", "BSNO");
|
|
|
|
|
//
|
|
|
|
|
if (ds2.Tables[0].Rows[0]["RULEDATE"].ToString().Trim().Equals("业务日期"))
|
|
|
|
|
{
|
|
|
|
|
if (ds2.Tables[0].Rows[0]["DODATE"].ToString().Trim() == "")
|
|
|
|
|
{
|
|
|
|
|
//return "";
|
|
|
|
|
tbBSNO = "";
|
|
|
|
|
}
|
|
|
|
|
DateTime dETD = System.Convert.ToDateTime(ds2.Tables[0].Rows[0]["DODATE"].ToString().Trim());
|
|
|
|
|
if (ds2.Tables[0].Rows[0]["ISCLEAREDINEARLY"].ToString().Trim().Equals("True"))
|
|
|
|
|
{
|
|
|
|
|
if (ds2.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR1 = dETD.ToString("yyyy") + dETD.ToString("MM");
|
|
|
|
|
}
|
|
|
|
|
else if (ds2.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR1 = dETD.ToString("yy") + dETD.ToString("MM");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (ds2.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR1 = dETD.ToString("yyyy");
|
|
|
|
|
}
|
|
|
|
|
else if (ds2.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR1 = dETD.ToString("yy");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else if (ds2.Tables[0].Rows[0]["RULEDATE"].ToString().Trim().Equals("自然月份"))
|
|
|
|
|
{
|
|
|
|
|
DateTime fwqdate = System.Convert.ToDateTime(T_ALL_DA.GetStrSQL("fwqdate", "select fwqdate=getdate()"));
|
|
|
|
|
if (ds2.Tables[0].Rows[0]["ISCLEAREDINEARLY"].ToString().Trim().Equals("True"))
|
|
|
|
|
{
|
|
|
|
|
if (ds2.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR1 = fwqdate.ToString("yyyy") + fwqdate.ToString("MM");
|
|
|
|
|
}
|
|
|
|
|
else if (ds2.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR1 = fwqdate.ToString("yy") + fwqdate.ToString("MM");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (ds2.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR1 = fwqdate.ToString("yyyy");
|
|
|
|
|
}
|
|
|
|
|
else if (ds2.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR1 = fwqdate.ToString("yy");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//
|
|
|
|
|
if (ds2.Tables[0].Rows[0]["ISCOMPANY"].ToString().Trim().Equals("True"))
|
|
|
|
|
{
|
|
|
|
|
strCODENAME1 = T_ALL_DA.GetStrSQL("CODENAME", "select CODENAME from [company] where GID=(select top 1 COMPANYID from user_company where USERID='" + strUserID + "')");
|
|
|
|
|
}
|
|
|
|
|
if (ds2.Tables[0].Rows[0]["ISDEPT"].ToString().Trim().Equals("True"))
|
|
|
|
|
{
|
|
|
|
|
strDEPTNO1 = T_ALL_DA.GetStrSQL("DEPTNO", "select DEPTNO from [sys_dept] where LINKID=(select top 1 COMPANYID from user_company where USERID='" + strUserID + "')");
|
|
|
|
|
}
|
|
|
|
|
strRULECONTENT1 = ds2.Tables[0].Rows[0]["RULECONTENT"].ToString().Trim();
|
|
|
|
|
strRULECONTENT1 = strRULECONTENT1.Replace("《COMPANY》", strCODENAME1);
|
|
|
|
|
strRULECONTENT1 = strRULECONTENT1.Replace("《DEPT》", strDEPTNO1);
|
|
|
|
|
//
|
|
|
|
|
if (ds2.Tables[0].Rows[0]["RULENOLENGTH"].ToString().Trim() == "")
|
|
|
|
|
{
|
|
|
|
|
iRULENOLENGTH1 = 0;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
iRULENOLENGTH1 = int.Parse(ds2.Tables[0].Rows[0]["RULENOLENGTH"].ToString().Trim());
|
|
|
|
|
}
|
|
|
|
|
strCONTENT1 = strRULECONTENT1 + strRULEYEAR1;
|
|
|
|
|
//
|
|
|
|
|
//获取分公司的票号头字符
|
|
|
|
|
string tempBANKSHEAD = "";
|
|
|
|
|
string strSQL = "SELECT TOP 1 BANKSHEAD FROM company WHERE GID='" + strCompanyID.Trim() + "'";
|
|
|
|
|
DataSet ds21 = SqlHelper.ExecuteQueryDataset(sqlTran, CommandType.Text, strSQL, null);
|
|
|
|
|
if (ds21 != null)
|
|
|
|
|
{
|
|
|
|
|
if (ds21.Tables[0].Rows.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
tempBANKSHEAD = ds21.Tables[0].Rows[0]["BANKSHEAD"].ToString().Trim();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
strCONTENT1 = tempBANKSHEAD + strCONTENT1;
|
|
|
|
|
//
|
|
|
|
|
strSQL = "select top 1 BSNO from [wms_in] where BSNO like '" + strCONTENT1.Trim() + "%' order by BSNO DESC";
|
|
|
|
|
ds21 = SqlHelper.ExecuteQueryDataset(sqlTran, CommandType.Text, strSQL, null);
|
|
|
|
|
if (ds21 != null)
|
|
|
|
|
{
|
|
|
|
|
if (ds21.Tables[0].Rows.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
strRULENOLENGTH1 = ds21.Tables[0].Rows[0]["BSNO"].ToString().Trim();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (strRULENOLENGTH1 == "")
|
|
|
|
|
{
|
|
|
|
|
strRULENOLENGTH1 = "1";
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
strRULENOLENGTH1 = strRULENOLENGTH1.Replace(strCONTENT1.Trim(), "");
|
|
|
|
|
inum1 = int.Parse(strRULENOLENGTH1.Trim());
|
|
|
|
|
inum1 = inum1 + 1;
|
|
|
|
|
strRULENOLENGTH1 = inum1.ToString();
|
|
|
|
|
}
|
|
|
|
|
int j = iRULENOLENGTH1 - strRULENOLENGTH1.Length;
|
|
|
|
|
for (int i = 1; i <= j; i++)
|
|
|
|
|
{
|
|
|
|
|
strRULENOLENGTH1 = "0" + strRULENOLENGTH1;
|
|
|
|
|
}
|
|
|
|
|
//
|
|
|
|
|
strCONTENT1 = strCONTENT1 + strRULENOLENGTH1;
|
|
|
|
|
tbBSNO = strCONTENT1;
|
|
|
|
|
//return strCONTENT1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
// return "";
|
|
|
|
|
//}
|
|
|
|
|
#endregion
|
|
|
|
|
WmsInEntity.BSNO = tbBSNO;//调用编码规则
|
|
|
|
|
//
|
|
|
|
|
WmsInEntity.DODATE = model.DODATE;
|
|
|
|
|
WmsInEntity.CLIENTNAME = this.h_outcustomer.Value.ToString().Trim();
|
|
|
|
|
WmsInEntity.GOODSRKSL = WmsOutDetailEntity.GOODSPFSL;//入库数量
|
|
|
|
|
WmsInEntity.GOODSSTOCK = WmsOutDetailEntity.GOODSPFSL;//入库数量
|
|
|
|
|
WmsInEntity.GOODSRKSLACTUAL = WmsOutDetailEntity.GOODSPFSL;//入库数量
|
|
|
|
|
WmsInEntity.GOODSPACK = WmsOutDetailEntity.GOODSPACKPFSL;//件数
|
|
|
|
|
WmsInEntity.GOODSPACKSTOCK = WmsOutDetailEntity.GOODSPACKPFSL;//件数
|
|
|
|
|
WmsInEntity.GOODSPACKACTUAL = WmsOutDetailEntity.GOODSPACKPFSL;//件数
|
|
|
|
|
WmsInEntity.REMARK = "货权转移";
|
|
|
|
|
WmsInEntity.CREATEUSER = strUserID;// 创建人
|
|
|
|
|
WmsInEntity.MODIFIEDUSER = strUserID;// 最后一次更新操作人
|
|
|
|
|
WmsInEntity.CLIENTNAMEOLD = WmsOutDetailEntity.CUSTOMERNAME;//货权转移前货主
|
|
|
|
|
WmsInEntity.ARFEE = 0;
|
|
|
|
|
WmsInEntity.APFEE = 0;
|
|
|
|
|
WmsInEntity.ISLOCK = false;// true;
|
|
|
|
|
WmsInEntity.LOCKUSER = strUserID;
|
|
|
|
|
WmsInEntity.ISCHANGE = true;
|
|
|
|
|
WmsInEntity.CORPID = strCompanyID;
|
|
|
|
|
|
|
|
|
|
SqlParameter[] parms = new SqlParameter[]{
|
|
|
|
|
new SqlParameter("@GID",SqlDbType.VarChar,100),//惟一编号
|
|
|
|
|
new SqlParameter("@ASSOCIATEDNO",SqlDbType.VarChar,100),//关联号
|
|
|
|
|
new SqlParameter("@BLNO",SqlDbType.VarChar,30),//提单号
|
|
|
|
|
new SqlParameter("@CONTRACTNO",SqlDbType.VarChar,100),//合同号
|
|
|
|
|
new SqlParameter("@CNTRNO",SqlDbType.VarChar,30),//箱号
|
|
|
|
|
new SqlParameter("@SEALNO",SqlDbType.VarChar,12),//封号
|
|
|
|
|
new SqlParameter("@BSNO",SqlDbType.VarChar,100),//仓单明细号
|
|
|
|
|
new SqlParameter("@CLIENTCODE",SqlDbType.VarChar,20),//客户编码
|
|
|
|
|
new SqlParameter("@CLIENTNAME",SqlDbType.VarChar,20),//客户名称
|
|
|
|
|
new SqlParameter("@STORAGECODE",SqlDbType.VarChar,50),//仓库编码
|
|
|
|
|
new SqlParameter("@STORAGENAME",SqlDbType.VarChar,100),//仓库名称
|
|
|
|
|
new SqlParameter("@AREACODE",SqlDbType.VarChar,50),//库位编码
|
|
|
|
|
new SqlParameter("@AREANAME",SqlDbType.VarChar,100),//库位名称
|
|
|
|
|
new SqlParameter("@GOODSCODE",SqlDbType.VarChar,50),//货物编号
|
|
|
|
|
new SqlParameter("@GOODSNAME",SqlDbType.VarChar,100),//货物名称/品名
|
|
|
|
|
new SqlParameter("@GOODSTYPE",SqlDbType.VarChar,50),//货物类型
|
|
|
|
|
new SqlParameter("@GOODSMODEL",SqlDbType.VarChar,100),//牌号
|
|
|
|
|
new SqlParameter("@GOODSSTANDARD",SqlDbType.VarChar,100),//规格
|
|
|
|
|
new SqlParameter("@GOODSPACK",SqlDbType.Decimal),//件数
|
|
|
|
|
new SqlParameter("@CHARGEUNIT",SqlDbType.VarChar,10),//计费单位
|
|
|
|
|
new SqlParameter("@GOODSRKSL",SqlDbType.Decimal),//入库量
|
|
|
|
|
new SqlParameter("@GOODSSTOCK",SqlDbType.Decimal) ,//库存量
|
|
|
|
|
new SqlParameter("@ISLOCK",SqlDbType.Bit),//是否锁定
|
|
|
|
|
new SqlParameter("@LOCKUSER",SqlDbType.VarChar,36),//锁定操作人
|
|
|
|
|
new SqlParameter("@ISDELETE",SqlDbType.Bit),//是否废除
|
|
|
|
|
new SqlParameter("@DELETEUSER",SqlDbType.VarChar,36),//废除操作人
|
|
|
|
|
new SqlParameter("@CREATEUSER",SqlDbType.VarChar,36),//创建人
|
|
|
|
|
new SqlParameter("@MODIFIEDUSER",SqlDbType.VarChar,36),//最后一次更新操作人
|
|
|
|
|
new SqlParameter("@REMARK",SqlDbType.VarChar,1024),//备注
|
|
|
|
|
new SqlParameter("@FREESTORAGEPERIOD",SqlDbType.Int),//
|
|
|
|
|
new SqlParameter("@GOODSPACKSTOCK",SqlDbType.Decimal),//
|
|
|
|
|
new SqlParameter("@GOODSKGS",SqlDbType.Decimal),//重量
|
|
|
|
|
new SqlParameter("@CLIENTCODEOLD",SqlDbType.VarChar,20),//原客户编码
|
|
|
|
|
new SqlParameter("@CLIENTNAMEOLD",SqlDbType.VarChar,20),//原客户名称
|
|
|
|
|
new SqlParameter("@KINDPKGS",SqlDbType.VarChar,20),//
|
|
|
|
|
new SqlParameter("@ARFEE",SqlDbType.Decimal),//
|
|
|
|
|
new SqlParameter("@APFEE",SqlDbType.Decimal),
|
|
|
|
|
new SqlParameter("@GOODSPACKACTUAL",SqlDbType.Decimal),
|
|
|
|
|
new SqlParameter("@GOODSRKSLACTUAL",SqlDbType.Decimal),
|
|
|
|
|
new SqlParameter("@ISCHANGE",SqlDbType.Bit),//
|
|
|
|
|
new SqlParameter("@CORPID",SqlDbType.VarChar,36) ,
|
|
|
|
|
new SqlParameter("@MARKETVALUE", SqlDbType.Decimal) ,
|
|
|
|
|
new SqlParameter("@BANKVALUE", SqlDbType.Decimal)
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
parms[0].Value = WmsInEntity.GID;// 惟一编号
|
|
|
|
|
parms[1].Value = WmsInEntity.ASSOCIATEDNO;// 关联号
|
|
|
|
|
parms[2].Value = WmsInEntity.BLNO;// 提单号
|
|
|
|
|
parms[3].Value = WmsInEntity.CONTRACTNO;// 合同号
|
|
|
|
|
parms[4].Value = WmsInEntity.CNTRNO;// 箱号
|
|
|
|
|
parms[5].Value = WmsInEntity.SEALNO;// 封号
|
|
|
|
|
parms[6].Value = WmsInEntity.BSNO;// 仓单明细号
|
|
|
|
|
parms[7].Value = WmsInEntity.CLIENTCODE;// 客户编码
|
|
|
|
|
parms[8].Value = WmsInEntity.CLIENTNAME;// 客户名称
|
|
|
|
|
parms[9].Value = WmsInEntity.STORAGECODE;// 仓库编码
|
|
|
|
|
parms[10].Value = WmsInEntity.STORAGENAME;// 仓库名称
|
|
|
|
|
parms[11].Value = WmsInEntity.AREACODE;// 库位编码
|
|
|
|
|
parms[12].Value = WmsInEntity.AREANAME;// 库位名称
|
|
|
|
|
parms[13].Value = WmsInEntity.GOODSCODE;// 货物编号
|
|
|
|
|
parms[14].Value = WmsInEntity.GOODSNAME;// 货物名称
|
|
|
|
|
parms[15].Value = WmsInEntity.GOODSTYPE;// 货物类型
|
|
|
|
|
parms[16].Value = WmsInEntity.GOODSMODEL;// 牌号
|
|
|
|
|
parms[17].Value = WmsInEntity.GOODSSTANDARD;// 规格
|
|
|
|
|
parms[18].Value = WmsInEntity.GOODSPACK;// 件数
|
|
|
|
|
parms[19].Value = WmsInEntity.CHARGEUNIT;// 计费单位
|
|
|
|
|
parms[20].Value = WmsInEntity.GOODSRKSL;// 入库量
|
|
|
|
|
parms[21].Value = WmsInEntity.GOODSSTOCK;// 库存量
|
|
|
|
|
parms[22].Value = WmsInEntity.ISLOCK;// 是否锁定
|
|
|
|
|
parms[23].Value = WmsInEntity.LOCKUSER;// 锁定操作人
|
|
|
|
|
parms[24].Value = WmsInEntity.ISDELETE;// 是否废除
|
|
|
|
|
parms[25].Value = WmsInEntity.DELETEUSER;// 废除操作人
|
|
|
|
|
parms[26].Value = WmsInEntity.CREATEUSER;// 创建人
|
|
|
|
|
parms[27].Value = WmsInEntity.MODIFIEDUSER;// 最后一次更新操作人
|
|
|
|
|
parms[28].Value = WmsInEntity.REMARK;// 备注
|
|
|
|
|
parms[29].Value = WmsInEntity.FREESTORAGEPERIOD;//
|
|
|
|
|
parms[30].Value = WmsInEntity.GOODSPACKSTOCK;//
|
|
|
|
|
parms[31].Value = WmsInEntity.GOODSKGS;// 重量
|
|
|
|
|
parms[32].Value = WmsInEntity.CLIENTCODEOLD;// 客户编码
|
|
|
|
|
parms[33].Value = WmsInEntity.CLIENTNAMEOLD;// 客户名称
|
|
|
|
|
parms[34].Value = WmsInEntity.KINDPKGS;//
|
|
|
|
|
parms[35].Value = WmsInEntity.ARFEE;//
|
|
|
|
|
parms[36].Value = WmsInEntity.APFEE;//
|
|
|
|
|
parms[37].Value = WmsInEntity.GOODSPACKACTUAL;//
|
|
|
|
|
parms[38].Value = WmsInEntity.GOODSRKSLACTUAL;//
|
|
|
|
|
parms[39].Value = WmsInEntity.ISCHANGE;//
|
|
|
|
|
parms[40].Value = WmsInEntity.CORPID;//
|
|
|
|
|
parms[41].Value = WmsInEntity.MARKETVALUE;
|
|
|
|
|
parms[42].Value = WmsInEntity.BANKVALUE;
|
|
|
|
|
//
|
|
|
|
|
lsSql = "insert into wms_in(GID,ASSOCIATEDNO,BLNO,CONTRACTNO,CNTRNO,SEALNO,BSNO,CLIENTCODE,CLIENTNAME,{0}STORAGECODE,STORAGENAME,AREACODE,AREANAME,GOODSCODE,GOODSNAME,GOODSTYPE,GOODSMODEL,GOODSSTANDARD,GOODSPACK,CHARGEUNIT,GOODSRKSL,GOODSSTOCK,ISLOCK,LOCKUSER,ISDELETE,DELETEUSER,CREATEUSER,CREATETIME,MODIFIEDUSER,MODIFIEDTIME,REMARK,FREESTORAGEPERIOD,GOODSPACKSTOCK,GOODSKGS,CLIENTCODEOLD,CLIENTNAMEOLD,KINDPKGS,ARFEE,APFEE,LOCKTIME,GOODSPACKACTUAL,GOODSRKSLACTUAL,ISCHANGE,CORPID,MARKETVALUE,BANKVALUE,LINENUM) "
|
|
|
|
|
+ " values(@GID,@ASSOCIATEDNO,@BLNO,@CONTRACTNO,@CNTRNO,@SEALNO,@BSNO,@CLIENTCODE,@CLIENTNAME,{1}@STORAGECODE,@STORAGENAME,@AREACODE,@AREANAME,@GOODSCODE,@GOODSNAME,@GOODSTYPE,@GOODSMODEL,@GOODSSTANDARD,@GOODSPACK,@CHARGEUNIT,@GOODSRKSL,@GOODSSTOCK,@ISLOCK,@LOCKUSER,@ISDELETE,@DELETEUSER,@CREATEUSER,getdate(),@MODIFIEDUSER,getdate(),@REMARK,@FREESTORAGEPERIOD,@GOODSPACKSTOCK,@GOODSKGS,@CLIENTCODEOLD,@CLIENTNAMEOLD,@KINDPKGS,@ARFEE,@APFEE,getdate(),@GOODSPACKACTUAL,@GOODSRKSLACTUAL,@ISCHANGE,@CORPID,@MARKETVALUE,@BANKVALUE," + n + ")";
|
|
|
|
|
//
|
|
|
|
|
string strDODATE = model.DODATE.ToString().IndexOf("0001") > -1 ? "" : "'" + model.DODATE.ToString() + "',";
|
|
|
|
|
string strDODATE_name = strDODATE.Equals("") ? "" : "DODATE,";
|
|
|
|
|
lsSql = String.Format(lsSql, strDODATE_name, strDODATE);
|
|
|
|
|
//
|
|
|
|
|
iState = SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, lsSql, parms);
|
|
|
|
|
if (iState != 1)
|
|
|
|
|
{
|
|
|
|
|
sqlTran.Rollback();
|
|
|
|
|
result = -9;
|
|
|
|
|
Clearh();
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
//
|
|
|
|
|
#region 依据原入库的费率,插入货权转移的仓储应付费率设置wms_rate
|
|
|
|
|
lsSql = "insert into wms_rate([GID],[FEEGRADE],[FEESCALE],[FEEPRICE],[FEEUNIT],[CREATEUSER],[CREATETIME],[MODIFIEDUSER],[MODIFIEDTIME],[REMARK],[BSNO],[CUSTOMERNAME],[FEETYPE],[ENDBILLINGDATE],[ADDPRICE],[RATETYPE],[FEENAME],[ISCHANGE],[CAPPRICE]) "
|
|
|
|
|
+ " select newid(),1,[FEESCALE],[FEEPRICE],[FEEUNIT],[CREATEUSER],getdate(),[MODIFIEDUSER],getdate(),[REMARK],'" + strINGIDNEW.Trim() + "','" + WmsEntity.CUSTOMERNAME.ToString().Trim() + "',[FEETYPE],[ENDBILLINGDATE],[ADDPRICE],[RATETYPE],[FEENAME],'True',CAPPRICE from wms_rate where FEETYPE=2 and BSNO='" + Inbsno.Trim() + "'";
|
|
|
|
|
iState = SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, lsSql, parameters);
|
|
|
|
|
if (iState < 0)
|
|
|
|
|
{
|
|
|
|
|
sqlTran.Rollback();
|
|
|
|
|
result = -9;
|
|
|
|
|
Clearh();
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
//
|
|
|
|
|
#endregion
|
|
|
|
|
//
|
|
|
|
|
this.h_newcust.Value = WmsInEntity.CLIENTNAME;
|
|
|
|
|
this.h_IsSetRate.Value = "1"; //货权转移,可以设置费率
|
|
|
|
|
|
|
|
|
|
result = 1;//状态为1表示删除成功
|
|
|
|
|
sqlTran.Commit();
|
|
|
|
|
Page.ClientScript.RegisterStartupScript(this.GetType(), "key1", "<script>reloadParent('" + WmsOutEntity.GID.ToString().Trim() + "','addwmsout','" + WmsEntity.GID.ToString().Trim() + "','" + WmsEntity.ASSOCIATEDNO.ToString().Trim() + "','0');</script>");
|
|
|
|
|
}
|
|
|
|
|
catch (Exception execError)
|
|
|
|
|
{
|
|
|
|
|
result = -1;//有异常,插入失败
|
|
|
|
|
sqlTran.Rollback();
|
|
|
|
|
result = -2;//插入异常,事务已回滚成功
|
|
|
|
|
Clearh();
|
|
|
|
|
throw execError;
|
|
|
|
|
}
|
|
|
|
|
finally
|
|
|
|
|
{
|
|
|
|
|
SqlHelper.CloseConnection();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return result;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 更改货权转移
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 更改货权转移
|
|
|
|
|
/// </summary>
|
|
|
|
|
private int CargoRightTransferEdit()
|
|
|
|
|
{
|
|
|
|
|
int iState = 0;
|
|
|
|
|
int result = 0;
|
|
|
|
|
string Sqlstr = "";
|
|
|
|
|
|
|
|
|
|
Decimal totaloutfee = 0;//出库单的仓储费
|
|
|
|
|
//int prescale = 0;
|
|
|
|
|
//int nowscale = 0;
|
|
|
|
|
//int nowgrade = 0;
|
|
|
|
|
//Decimal price = 0;
|
|
|
|
|
//Decimal gradefee = 0;
|
|
|
|
|
//string newGID = "";
|
|
|
|
|
Decimal sumfee = 0;
|
|
|
|
|
string bsno = "";
|
|
|
|
|
|
|
|
|
|
//出库单信息
|
|
|
|
|
WmsOutDA WmsOutDA = new WmsOutDA();
|
|
|
|
|
WmsOutEntity WmsOutEntity = new WmsOutEntity();
|
|
|
|
|
if (!WoJSON.Trim().Equals(""))
|
|
|
|
|
{ //将应收费用信息从前台页面写入费用实体类feeEntities
|
|
|
|
|
WmsOutEntity = ResolveWoJSON(WoJSON.Trim(), WmsOutEntity);
|
|
|
|
|
WoContainer.Value = "";
|
|
|
|
|
}
|
|
|
|
|
//出库单明细信息
|
|
|
|
|
WmsOutDetailDA WmsOutDetailDA = new WmsOutDetailDA();
|
|
|
|
|
IList<WmsOutDetailEntity> WmsOutDetailEntitys = new List<WmsOutDetailEntity>();
|
|
|
|
|
if (!WoDetailJSON.Trim().Equals(""))
|
|
|
|
|
{ //将应收费用信息从前台页面写入费用实体类feeEntities
|
|
|
|
|
WmsOutDetailEntitys = ResolveWoDetailJSON(WoDetailJSON.Trim(), WmsOutDetailEntitys);
|
|
|
|
|
this.WoDetailContainer.Value = "";
|
|
|
|
|
}
|
|
|
|
|
Decimal outnums = 0;
|
|
|
|
|
int feedays = 0;
|
|
|
|
|
using (SqlTransaction sqlTran = SqlHelper.BeginTransaction(SqlHelper.ConnectionStringLocalTransaction))
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
#region 生成出库单并计算费用
|
|
|
|
|
#region 保存出库单wms_out 出库单明细wms_out_detail
|
|
|
|
|
//保存出库单wms_out
|
|
|
|
|
string ls = WmsOutEntity.TRUCKNO.ToString().Trim();
|
|
|
|
|
ls = ls.Replace("??", " ");
|
|
|
|
|
ls = ls.Replace("!!", "\r\n");
|
|
|
|
|
//
|
|
|
|
|
string strVALIDDATE = WmsOutEntity.VALIDDATE.ToString().Trim().IndexOf("0001") > -1 ? "" : ",VALIDDATE='" + WmsOutEntity.VALIDDATE.ToString() + "'";
|
|
|
|
|
//
|
|
|
|
|
Sqlstr = String.Format("update wms_out set BSNO='{1}',CUSTOMERNAME='{2}',DODATE='{3}',STORAGENAME='{4}',GOODSNAME='{5}',GOODSMODEL='{6}',GOODSPFSL='{7}',REMARK='{8}',CREATEUSER='{9}',CREATETIME=getdate(),TRUCKNO='{10}',ASSOCIATEDNO='{11}',GOODSPACKPFSL='{12}',INSPECTIONNO='{13}',CUSTOMNO='{14}',CLIENTNAMEOLD='{15}',OLDCUSTFEEDATE='{16}',TRUCKNAME='{17}',ARCLIENT='{18}',CLIENTBSNO='{19}',TOTALNO='{20}',REMARK2='{21}'{22},MBLNONEW='{23}',CORPID='{24}',ARCLIENTWMSOUT='{25}',BZTCHNO='{26}',ISCOLLECTING='{27}' where GID='{0}'"
|
|
|
|
|
, WmsOutEntity.GID, WmsOutEntity.BSNO, WmsOutEntity.CUSTOMERNAME, WmsOutEntity.DODATE, WmsOutEntity.STORAGENAME, WmsOutEntity.GOODSNAME, WmsOutEntity.GOODSMODEL, WmsOutEntity.GOODSPFSL, WmsOutEntity.REMARK, strUserID, ls, WmsOutEntity.ASSOCIATEDNO, WmsOutEntity.GOODSPACKPFSL, WmsOutEntity.INSPECTIONNO, WmsOutEntity.CUSTOMNO, WmsOutEntity.CLIENTNAMEOLD, WmsOutEntity.OLDCUSTFEEDATE, WmsOutEntity.TRUCKNAME, WmsOutEntity.ARCLIENT, WmsOutEntity.CLIENTBSNO, WmsOutEntity.TOTALNO, WmsOutEntity.REMARK2, strVALIDDATE, WmsOutEntity.MBLNONEW, strCompanyID, WmsOutEntity.ARCLIENTWMSOUT, WmsOutEntity.BZTCHNO, WmsOutEntity.ISCOLLECTING);
|
|
|
|
|
iState = SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, Sqlstr, null);
|
|
|
|
|
if (iState != 1)
|
|
|
|
|
{
|
|
|
|
|
sqlTran.Rollback();
|
|
|
|
|
result = -1;
|
|
|
|
|
Clearh();
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
//保存出库单明细wms_out_detail
|
|
|
|
|
foreach (WmsOutDetailEntity WmsOutDetailEntity in WmsOutDetailEntitys)
|
|
|
|
|
{
|
|
|
|
|
if (DateTime.Parse(WmsOutDetailEntity.DODATE.ToString("yyyy-MM-dd")) > DateTime.Parse(WmsOutEntity.DODATE.ToString("yyyy-MM-dd")))
|
|
|
|
|
{
|
|
|
|
|
sqlTran.Rollback();
|
|
|
|
|
result = -12;
|
|
|
|
|
Page.ClientScript.RegisterStartupScript(this.GetType(), "key10", "<script>alert('出库日期不能小于入库日期!');</script>");
|
|
|
|
|
Clearh();
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
//
|
|
|
|
|
WmsOutDetailEntity.OUTBSNO = WmsOutEntity.BSNO;
|
|
|
|
|
outnums = Decimal.Parse(WmsOutDetailEntity.GOODSPFSL.ToString());//出库量
|
|
|
|
|
|
|
|
|
|
#region 计算仓储费
|
|
|
|
|
//计算应收仓储费
|
|
|
|
|
string getstr = WmsOutDetailDA.getWmsRate(sqlTran, WmsOutDetailEntity.STARTBILLINGDATE.ToString().Trim(), WmsOutEntity.OLDCUSTFEEDATE.ToString().Trim(), WmsOutDetailEntity.INBSNO.ToString().Trim(), WmsOutEntity.CUSTOMERNAME.ToString().Trim(), outnums, WmsOutDetailEntity.GID.ToString(), 1, strUserID, strShowName, this.txt_outbsno.Value.Trim(), this.ck_jsfee.Checked, false);
|
|
|
|
|
|
|
|
|
|
string[] strls = getstr.Trim().Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
|
|
|
|
|
sumfee = Decimal.Parse(strls[0].ToString());
|
|
|
|
|
totaloutfee += sumfee;//仓储费合计
|
|
|
|
|
feedays += int.Parse(strls[1].ToString());
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
//保存wms_out_detail
|
|
|
|
|
WmsOutDetailEntity.DODATE = WmsOutEntity.DODATE;
|
|
|
|
|
WmsOutDetailEntity.GOODSOUTFEE = (sumfee == 0 ? 0 : decimal.Parse(Round(sumfee, 2, "").ToString()));
|
|
|
|
|
WmsOutDetailEntity.GOODSOUTFEEAP = 0;
|
|
|
|
|
WmsOutDetailEntity.ENDBILLINGDATE = WmsOutDetailEntity.STARTBILLINGDATE.ToString().Trim().IndexOf("0001") > -1 ? DateTime.Parse("0001-01-01 00:00:00") : WmsOutEntity.OLDCUSTFEEDATE;//结束计费日期
|
|
|
|
|
WmsOutDetailEntity.FEEDAYS = feedays;//计费天数iFEEDAYS
|
|
|
|
|
WmsOutDetailEntity.FEEDAYSAP = 0;//计费天数iFEEDAYS
|
|
|
|
|
//
|
|
|
|
|
//bsno = getCodeRuleWmsOutDetail("出库明细单号", "BSNO");
|
|
|
|
|
#region 提取规则编号 getCodeRuleWmsOutDetail
|
|
|
|
|
// <summary>
|
|
|
|
|
// 提取规则编号
|
|
|
|
|
// </summary>
|
|
|
|
|
// <param name="strRULENAME">规则项目名称</param>
|
|
|
|
|
// <param name="strfield">需要加规则的字段</param>
|
|
|
|
|
// <returns></returns>
|
|
|
|
|
//protected String getCodeRuleWmsOutDetail(string strRULENAME, string strfield)
|
|
|
|
|
//{
|
|
|
|
|
//调用编码规则
|
|
|
|
|
string strRULEYEAR = "";
|
|
|
|
|
string strRULECONTENT = "";
|
|
|
|
|
string strCODENAME = "";
|
|
|
|
|
string strDEPTNO = "";
|
|
|
|
|
string strRULENOLENGTH = "";
|
|
|
|
|
int iRULENOLENGTH = 0;
|
|
|
|
|
int inum = 0;
|
|
|
|
|
string strCONTENT = "";
|
|
|
|
|
DataSet ds = T_ALL_DA.GetAllSQL("select *,getdate() DODATE from code_rule where RULENAME='出库明细单号' and RULETYPE=3");
|
|
|
|
|
if (ds != null)
|
|
|
|
|
{
|
|
|
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
if (ds.Tables[0].Rows[0]["ISSTARTUSING"].ToString().Trim().Equals("True"))
|
|
|
|
|
{
|
|
|
|
|
getCodeRuleEnabled("出库明细单号", "BSNO");
|
|
|
|
|
//
|
|
|
|
|
if (ds.Tables[0].Rows[0]["RULEDATE"].ToString().Trim().Equals("业务日期"))
|
|
|
|
|
{
|
|
|
|
|
if (ds.Tables[0].Rows[0]["DODATE"].ToString().Trim() == "")
|
|
|
|
|
{
|
|
|
|
|
//return "";
|
|
|
|
|
bsno = "";
|
|
|
|
|
}
|
|
|
|
|
DateTime dETD = System.Convert.ToDateTime(ds.Tables[0].Rows[0]["DODATE"].ToString().Trim());
|
|
|
|
|
if (ds.Tables[0].Rows[0]["ISCLEAREDINEARLY"].ToString().Trim().Equals("True"))
|
|
|
|
|
{
|
|
|
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = dETD.ToString("yyyy") + dETD.ToString("MM");
|
|
|
|
|
}
|
|
|
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = dETD.ToString("yy") + dETD.ToString("MM");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = dETD.ToString("yyyy");
|
|
|
|
|
}
|
|
|
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = dETD.ToString("yy");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else if (ds.Tables[0].Rows[0]["RULEDATE"].ToString().Trim().Equals("自然月份"))
|
|
|
|
|
{
|
|
|
|
|
DateTime fwqdate = System.Convert.ToDateTime(T_ALL_DA.GetStrSQL("fwqdate", "select fwqdate=getdate()"));
|
|
|
|
|
if (ds.Tables[0].Rows[0]["ISCLEAREDINEARLY"].ToString().Trim().Equals("True"))
|
|
|
|
|
{
|
|
|
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = fwqdate.ToString("yyyy") + fwqdate.ToString("MM");
|
|
|
|
|
}
|
|
|
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = fwqdate.ToString("yy") + fwqdate.ToString("MM");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = fwqdate.ToString("yyyy");
|
|
|
|
|
}
|
|
|
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = fwqdate.ToString("yy");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//
|
|
|
|
|
if (ds.Tables[0].Rows[0]["ISCOMPANY"].ToString().Trim().Equals("True"))
|
|
|
|
|
{
|
|
|
|
|
strCODENAME = T_ALL_DA.GetStrSQL("CODENAME", "select CODENAME from [company] where GID=(select top 1 COMPANYID from user_company where USERID='" + strUserID + "')");
|
|
|
|
|
}
|
|
|
|
|
if (ds.Tables[0].Rows[0]["ISDEPT"].ToString().Trim().Equals("True"))
|
|
|
|
|
{
|
|
|
|
|
strDEPTNO = T_ALL_DA.GetStrSQL("DEPTNO", "select DEPTNO from [sys_dept] where LINKID=(select top 1 COMPANYID from user_company where USERID='" + strUserID + "')");
|
|
|
|
|
}
|
|
|
|
|
strRULECONTENT = ds.Tables[0].Rows[0]["RULECONTENT"].ToString().Trim();
|
|
|
|
|
strRULECONTENT = strRULECONTENT.Replace("《COMPANY》", strCODENAME);
|
|
|
|
|
strRULECONTENT = strRULECONTENT.Replace("《DEPT》", strDEPTNO);
|
|
|
|
|
//
|
|
|
|
|
if (ds.Tables[0].Rows[0]["RULENOLENGTH"].ToString().Trim() == "")
|
|
|
|
|
{
|
|
|
|
|
iRULENOLENGTH = 0;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
iRULENOLENGTH = int.Parse(ds.Tables[0].Rows[0]["RULENOLENGTH"].ToString().Trim());
|
|
|
|
|
}
|
|
|
|
|
strCONTENT = strRULECONTENT + strRULEYEAR;
|
|
|
|
|
//获取分公司的票号头字符
|
|
|
|
|
string tempBANKSHEAD = T_ALL_DA.GetStrSQL("BANKSHEAD", "SELECT TOP 1 BANKSHEAD FROM company WHERE GID='" + strCompanyID.Trim() + "'");
|
|
|
|
|
strCONTENT = tempBANKSHEAD + strCONTENT;
|
|
|
|
|
//
|
|
|
|
|
string strSQL = "select top 1 BSNO from [wms_out_detail] where BSNO like '" + strCONTENT.Trim() + "%' order by BSNO DESC";
|
|
|
|
|
DataSet ds1 = SqlHelper.ExecuteQueryDataset(sqlTran, CommandType.Text, strSQL, null);
|
|
|
|
|
if (ds1 != null)
|
|
|
|
|
{
|
|
|
|
|
if (ds1.Tables[0].Rows.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
strRULENOLENGTH = ds1.Tables[0].Rows[0]["BSNO"].ToString().Trim();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (strRULENOLENGTH == "")
|
|
|
|
|
{
|
|
|
|
|
strRULENOLENGTH = "1";
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
strRULENOLENGTH = strRULENOLENGTH.Replace(strCONTENT.Trim(), "");
|
|
|
|
|
inum = int.Parse(strRULENOLENGTH.Trim());
|
|
|
|
|
inum = inum + 1;
|
|
|
|
|
strRULENOLENGTH = inum.ToString();
|
|
|
|
|
}
|
|
|
|
|
int j = iRULENOLENGTH - strRULENOLENGTH.Length;
|
|
|
|
|
for (int i = 1; i <= j; i++)
|
|
|
|
|
{
|
|
|
|
|
strRULENOLENGTH = "0" + strRULENOLENGTH;
|
|
|
|
|
}
|
|
|
|
|
//
|
|
|
|
|
strCONTENT = strCONTENT + strRULENOLENGTH;
|
|
|
|
|
bsno = strCONTENT;
|
|
|
|
|
//return strCONTENT;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
// return "";
|
|
|
|
|
//}
|
|
|
|
|
#endregion
|
|
|
|
|
//
|
|
|
|
|
//newGID = Guid.NewGuid().ToString();
|
|
|
|
|
//WmsOutDetailEntity.GID = newGID;
|
|
|
|
|
//WmsOutDetailEntity.BSNO = bsno;
|
|
|
|
|
WmsOutDetailEntity.OUTBSNO = this.h_outbsno.Value;
|
|
|
|
|
WmsOutDetailEntity.CORPID = strCompanyID;
|
|
|
|
|
//
|
|
|
|
|
ls = WmsOutDetailEntity.TRUCKNO.ToString().Trim();
|
|
|
|
|
ls = ls.Replace("??", " ");
|
|
|
|
|
ls = ls.Replace("!!", "\r\n");
|
|
|
|
|
//
|
|
|
|
|
string strSTARTBILLINGDATE = WmsOutDetailEntity.STARTBILLINGDATE.ToString().IndexOf("0001") > -1 ? "" : "STARTBILLINGDATE='" + WmsOutDetailEntity.STARTBILLINGDATE.ToString() + "',";
|
|
|
|
|
//
|
|
|
|
|
string strENDBILLINGDATE = WmsOutDetailEntity.STARTBILLINGDATE.ToString().IndexOf("0001") > -1 ? "" : "ENDBILLINGDATE='" + WmsOutEntity.OLDCUSTFEEDATE.ToString() + "',";//如果开始计费日期为空,则结束计费日期也为空,否则为上家承担仓储期限。
|
|
|
|
|
//
|
|
|
|
|
//修改入库单wms_in
|
|
|
|
|
Sqlstr = String.Format("update wms set GOODSPACKSTOCK=GOODSPACKSTOCK+(select top 1 GOODSPACKPFSL from wms_out_detail where gid='" + WmsOutDetailEntity.GID.ToString().Trim() + "')-{0},GOODSSTOCK=GOODSSTOCK+(select top 1 GOODSPFSL from wms_out_detail where gid='" + WmsOutDetailEntity.GID.ToString().Trim() + "')-{2} where isnull(ISDELETE,0)=0 and gid='{1}' ", WmsOutDetailEntity.GOODSPACKPFSL, WmsOutDetailEntity.INBSNO, WmsOutDetailEntity.GOODSPFSL);
|
|
|
|
|
iState = SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, Sqlstr, null);
|
|
|
|
|
if (iState != 1)
|
|
|
|
|
{
|
|
|
|
|
sqlTran.Rollback();
|
|
|
|
|
result = -6;
|
|
|
|
|
//Clearh();
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
//
|
|
|
|
|
Sqlstr = String.Format("update wms_out_detail set INBSNO='{1}',OUTBSNO='{2}',BSNO='{3}',CUSTOMERNAME='{4}',DODATE='{5}',STORAGENAME='{6}',GOODSNAME='{7}',GOODSMODEL='{8}',GOODSPFSL='{9}',GOODSOUTFEE='{10}',CREATEUSER='{11}',CREATETIME=getdate(),REMARK='{12}',TRUCKNO='{13}',ASSOCIATEDNO='{14}',GOODSPACKPFSL='{15}',GOODSOUTFEEAP='{16}',ARFEE='{17}',APFEE='{18}',CLIENTNAMEOLD='{19}',OLDCUSTFEEDATE='{20}',{21}{22}FEEDAYS='{23}',FEEDAYSAP='{24}',CORPID='{25}',MARKETVALUE={26},AREANAME='{27}',BZTCHNO='{28}' where GID='{0}'"
|
|
|
|
|
, WmsOutDetailEntity.GID, WmsOutDetailEntity.INBSNO, WmsOutDetailEntity.OUTBSNO, WmsOutDetailEntity.BSNO, WmsOutDetailEntity.CUSTOMERNAME, WmsOutEntity.DODATE, WmsOutDetailEntity.STORAGENAME, WmsOutDetailEntity.GOODSNAME, WmsOutDetailEntity.GOODSMODEL, WmsOutDetailEntity.GOODSPFSL, WmsOutDetailEntity.GOODSOUTFEE, strUserID, WmsOutDetailEntity.REMARK, ls, WmsOutDetailEntity.ASSOCIATEDNO, WmsOutDetailEntity.GOODSPACKPFSL, WmsOutDetailEntity.GOODSOUTFEEAP, WmsOutDetailEntity.ARFEE, WmsOutDetailEntity.APFEE,
|
|
|
|
|
WmsOutDetailEntity.CLIENTNAMEOLD, this.txt_oldcustFeeDate.Value.Trim(), strSTARTBILLINGDATE, strENDBILLINGDATE, WmsOutDetailEntity.FEEDAYS, WmsOutDetailEntity.FEEDAYSAP, strCompanyID, WmsOutDetailEntity.MARKETVALUE, WmsOutDetailEntity.AREANAME, WmsOutDetailEntity.BZTCHNO);
|
|
|
|
|
//
|
|
|
|
|
iState = SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, Sqlstr, null);
|
|
|
|
|
if (iState != 1)
|
|
|
|
|
{
|
|
|
|
|
sqlTran.Rollback();
|
|
|
|
|
result = -5;
|
|
|
|
|
Clearh();
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
}// end 保存出库明细wms_out_detail
|
|
|
|
|
|
|
|
|
|
//修改wms_out的出库量、出库件数、应收应付装卸费
|
|
|
|
|
string lsSQL = "update wms_out set "
|
|
|
|
|
+ "GOODSPFSL=(select isnull(sum(GOODSPFSL),0) from wms_out_detail where OUTBSNO=wms_out.BSNO)"
|
|
|
|
|
+ ",GOODSPACKPFSL=(select isnull(sum(GOODSPACKPFSL),0) from wms_out_detail where OUTBSNO=wms_out.BSNO)"
|
|
|
|
|
+ ",ARFEE=(select isnull(sum(ARFEE),0) from wms_out_detail where OUTBSNO=wms_out.BSNO)"
|
|
|
|
|
+ ",APFEE=(select isnull(sum(APFEE),0) from wms_out_detail where OUTBSNO=wms_out.BSNO)"
|
|
|
|
|
+ " where GID='" + WmsOutEntity.GID.ToString().Trim() + "'";// ISLOCK=0 and
|
|
|
|
|
iState = SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, lsSQL, null);
|
|
|
|
|
if (iState != 1)
|
|
|
|
|
{
|
|
|
|
|
sqlTran.Rollback();
|
|
|
|
|
result = -7;
|
|
|
|
|
Clearh();
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//修改wms_out的仓储费wmsOutEntity.GOODSOUTFEE
|
|
|
|
|
h_outfee.Value = totaloutfee.ToString();
|
|
|
|
|
WmsOutEntity.GOODSOUTFEE = decimal.Parse(Round(totaloutfee, 2, "").ToString());
|
|
|
|
|
WmsOutEntity.GOODSOUTFEEAP = 0;
|
|
|
|
|
|
|
|
|
|
Sqlstr = String.Format("update wms_out set GOODSOUTFEE={0},GOODSOUTFEEAP={2} where GID='{1}'", WmsOutEntity.GOODSOUTFEE, WmsOutEntity.GID, WmsOutEntity.GOODSOUTFEEAP);
|
|
|
|
|
iState = SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, Sqlstr, null);
|
|
|
|
|
if (iState != 1)
|
|
|
|
|
{
|
|
|
|
|
sqlTran.Rollback();
|
|
|
|
|
result = -7;
|
|
|
|
|
Clearh();
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
//页面赋值
|
|
|
|
|
this.h_wmsoutbsno.Value = WmsOutEntity.BSNO.ToString();
|
|
|
|
|
this.h_goodsmodel.Value = WmsOutEntity.GOODSMODEL.ToString();
|
|
|
|
|
this.h_goodspfsl.Value = WmsOutEntity.GOODSPFSL.ToString();
|
|
|
|
|
this.h_remark.Value = WmsOutEntity.REMARK.ToString();
|
|
|
|
|
|
|
|
|
|
txt_outbsno.Value = h_outbsno.Value;
|
|
|
|
|
txt_outdate.Value = h_outdate.Value;
|
|
|
|
|
string strcustomer = h_customer.Value;
|
|
|
|
|
string goods = h_goods.Value;
|
|
|
|
|
txt_goodsmodel.Value = h_goodsmodel.Value;
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 货权转移到 outcustomer.value 时,判断是否是更改结束计费日期的操作
|
|
|
|
|
//更改结束计费日期
|
|
|
|
|
if (this.h_isOldCustFeeDateEnter.Value == "1")
|
|
|
|
|
{
|
|
|
|
|
#region 提取货权转移的wms_out的数据
|
|
|
|
|
WmsOutEntity model = new WmsOutEntity();
|
|
|
|
|
StringBuilder strSql = new StringBuilder();
|
|
|
|
|
string SQL_SELECT_WMS_OUT_GID = "select top 1 GID,AssociatedNO,BSNO,CLIENTGID,CLIENTCODE,CUSTOMERNAME,DODATE,STORAGECODE,STORAGENAME,AREACODE,AREANAME,GOODSCODE,GOODSNAME,GOODSTYPE,GOODSMODEL,GOODSSTANDARD,GOODSPACK,GOODSPFSL,GOODSOUTFEE,REMARK,ISDELETE,DELETETIME,DELETEUSER,CREATEUSER,CREATETIME,MODIFIEDUSER,MODIFIEDTIME,GOODSPACKPFSL,GOODSOUTFEEAP,TRUCKNAME,ARCLIENT,INGIDNEW,CUSTOMNO,MBLNONEW,CORPID,ARCLIENTWMSOUT,BZTCHNO from wms_out where GID='" + WmsOutEntity.GID.ToString().Trim() + "' ";
|
|
|
|
|
SqlDataReader sqlRead1 = SqlHelper.ExecuteQueryReader(sqlTran, CommandType.Text, SQL_SELECT_WMS_OUT_GID, null);
|
|
|
|
|
while (sqlRead1.Read())
|
|
|
|
|
{
|
|
|
|
|
if (sqlRead1["GID"] != null && sqlRead1["GID"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.GID = sqlRead1["GID"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["ASSOCIATEDNO"] != null && sqlRead1["ASSOCIATEDNO"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.ASSOCIATEDNO = sqlRead1["ASSOCIATEDNO"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["BSNO"] != null && sqlRead1["BSNO"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.BSNO = sqlRead1["BSNO"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["CLIENTGID"] != null && sqlRead1["CLIENTGID"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.CLIENTGID = sqlRead1["CLIENTGID"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["CLIENTCODE"] != null && sqlRead1["CLIENTCODE"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.CLIENTCODE = sqlRead1["CLIENTCODE"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["CUSTOMERNAME"] != null && sqlRead1["CUSTOMERNAME"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.CUSTOMERNAME = sqlRead1["CUSTOMERNAME"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["DODATE"] != null && sqlRead1["DODATE"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.DODATE = DateTime.Parse(sqlRead1["DODATE"].ToString());
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["STORAGECODE"] != null && sqlRead1["STORAGECODE"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.STORAGECODE = sqlRead1["STORAGECODE"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["STORAGENAME"] != null && sqlRead1["STORAGENAME"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.STORAGENAME = sqlRead1["STORAGENAME"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["AREACODE"] != null && sqlRead1["AREACODE"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.AREACODE = sqlRead1["AREACODE"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["AREANAME"] != null && sqlRead1["AREANAME"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.AREANAME = sqlRead1["AREANAME"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["GOODSCODE"] != null && sqlRead1["GOODSCODE"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.GOODSCODE = sqlRead1["GOODSCODE"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["GOODSNAME"] != null && sqlRead1["GOODSNAME"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.GOODSNAME = sqlRead1["GOODSNAME"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["GOODSTYPE"] != null && sqlRead1["GOODSTYPE"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.GOODSTYPE = sqlRead1["GOODSTYPE"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["GOODSMODEL"] != null && sqlRead1["GOODSMODEL"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.GOODSMODEL = sqlRead1["GOODSMODEL"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["GOODSSTANDARD"] != null && sqlRead1["GOODSSTANDARD"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.GOODSSTANDARD = sqlRead1["GOODSSTANDARD"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["GOODSPACK"] != null && sqlRead1["GOODSPACK"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.GOODSPACK = sqlRead1["GOODSPACK"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["GOODSPFSL"] != null && sqlRead1["GOODSPFSL"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.GOODSPFSL = decimal.Parse(sqlRead1["GOODSPFSL"].ToString());
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["GOODSOUTFEE"] != null && sqlRead1["GOODSOUTFEE"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.GOODSOUTFEE = decimal.Parse(sqlRead1["GOODSOUTFEE"].ToString());
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["REMARK"] != null && sqlRead1["REMARK"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.REMARK = sqlRead1["REMARK"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["ISDELETE"] != null && sqlRead1["ISDELETE"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
if ((sqlRead1["ISDELETE"].ToString() == "1") || (sqlRead1["ISDELETE"].ToString().ToLower() == "true"))
|
|
|
|
|
{
|
|
|
|
|
model.ISDELETE = true;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
model.ISDELETE = false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["DELETETIME"] != null && sqlRead1["DELETETIME"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.DELETETIME = DateTime.Parse(sqlRead1["DELETETIME"].ToString());
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["DELETEUSER"] != null && sqlRead1["DELETEUSER"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.DELETEUSER = sqlRead1["DELETEUSER"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["CREATEUSER"] != null && sqlRead1["CREATEUSER"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.CREATEUSER = sqlRead1["CREATEUSER"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["CREATETIME"] != null && sqlRead1["CREATETIME"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.CREATETIME = DateTime.Parse(sqlRead1["CREATETIME"].ToString());
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["MODIFIEDUSER"] != null && sqlRead1["MODIFIEDUSER"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.MODIFIEDUSER = sqlRead1["MODIFIEDUSER"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["MODIFIEDTIME"] != null && sqlRead1["MODIFIEDTIME"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.MODIFIEDTIME = DateTime.Parse(sqlRead1["MODIFIEDTIME"].ToString());
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["GOODSPACKPFSL"] != null && sqlRead1["GOODSPACKPFSL"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.GOODSPACKPFSL = decimal.Parse(sqlRead1["GOODSPACKPFSL"].ToString());
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["GOODSOUTFEEAP"] != null && sqlRead1["GOODSOUTFEEAP"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.GOODSOUTFEEAP = decimal.Parse(sqlRead1["GOODSOUTFEEAP"].ToString());
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["TRUCKNAME"] != null && sqlRead1["TRUCKNAME"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.TRUCKNAME = sqlRead1["TRUCKNAME"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["ARCLIENT"] != null && sqlRead1["ARCLIENT"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.ARCLIENT = sqlRead1["ARCLIENT"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["INGIDNEW"] != null && sqlRead1["INGIDNEW"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.INGIDNEW = sqlRead1["INGIDNEW"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["CUSTOMNO"] != null && sqlRead1["CUSTOMNO"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.CUSTOMNO = sqlRead1["CUSTOMNO"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["MBLNONEW"] != null && sqlRead1["MBLNONEW"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.MBLNONEW = sqlRead1["MBLNONEW"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["CORPID"] != null && sqlRead1["CORPID"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.CORPID = sqlRead1["CORPID"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["ARCLIENTWMSOUT"] != null && sqlRead1["ARCLIENTWMSOUT"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.ARCLIENTWMSOUT = sqlRead1["ARCLIENTWMSOUT"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["BZTCHNO"] != null && sqlRead1["BZTCHNO"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.BZTCHNO = sqlRead1["BZTCHNO"].ToString();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
sqlRead1.Close();
|
|
|
|
|
sqlRead1.Dispose();
|
|
|
|
|
#endregion
|
|
|
|
|
//
|
|
|
|
|
#region 提取原入库wms数据
|
|
|
|
|
WmsEntity WmsEntity = new WmsEntity();
|
|
|
|
|
string strINGIDNEW = model.INGIDNEW.ToString().Trim();//货权转移后的入库wmsgid
|
|
|
|
|
string SQL_SELECT_WMS_GID = "select GID, WMSNO, WMSDATE, CUSTOMERNAME, WMSOP, STOREMAN, MODIFIEDUSER, MODIFIEDTIME, ISDELETE, DELETEUSER, DELETETIME,TRUCKNAME, GOODSPACK, GOODSPACKSTOCK, GOODSRKSL, GOODSSTOCK, ARFEE, APFEE, ASSOCIATEDNO, BLNO, FREESTORAGEPERIOD, CONTRACTNO, GOODSNAME, GOODSMODEL, CLIENTCODEOLD, CLIENTNAMEOLD, STORAGENAME, CHARGEUNIT,ARCLIENT,FREESTORAGEPERIODAP,STARTBILLINGDATEAP,CORPID,AREANAME,BANKVALUE,MARKETVALUE,BZTCHNO,CREATEUSER,CREATETIME from wms where GID='" + strINGIDNEW.Trim() + "' and ISDELETE=0";
|
|
|
|
|
SqlDataReader sqlRead = SqlHelper.ExecuteQueryReader(sqlTran, CommandType.Text, SQL_SELECT_WMS_GID, null);
|
|
|
|
|
while (sqlRead.Read())
|
|
|
|
|
{
|
|
|
|
|
if (!sqlRead.IsDBNull(0)) { WmsEntity.GID = sqlRead.GetString(0); } // 唯一编码 newid()
|
|
|
|
|
if (!sqlRead.IsDBNull(1)) { WmsEntity.WMSNO = sqlRead.GetString(1); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(2)) { WmsEntity.WMSDATE = sqlRead.GetDateTime(2); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(3)) { WmsEntity.CUSTOMERNAME = sqlRead.GetString(3); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(4)) { WmsEntity.WMSOP = sqlRead.GetString(4); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(5)) { WmsEntity.STOREMAN = sqlRead.GetString(5); }
|
|
|
|
|
if (!sqlRead.IsDBNull(6)) { WmsEntity.MODIFIEDUSER = sqlRead.GetString(6); }
|
|
|
|
|
if (!sqlRead.IsDBNull(7)) { WmsEntity.MODIFIEDTIME = sqlRead.GetDateTime(7); }
|
|
|
|
|
if (!sqlRead.IsDBNull(8)) { WmsEntity.ISDELETE = sqlRead.GetBoolean(8); } // 是否废除
|
|
|
|
|
if (!sqlRead.IsDBNull(9)) { WmsEntity.DELETEUSER = sqlRead.GetString(9); } // 废除操作人
|
|
|
|
|
if (!sqlRead.IsDBNull(10)) { WmsEntity.DELETETIME = sqlRead.GetDateTime(10); } // 废除时间
|
|
|
|
|
if (!sqlRead.IsDBNull(11)) { WmsEntity.TRUCKNAME = sqlRead.GetString(11); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(12)) { WmsEntity.GOODSPACK = sqlRead.GetDecimal(12); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(13)) { WmsEntity.GOODSPACKSTOCK = sqlRead.GetDecimal(13); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(14)) { WmsEntity.GOODSRKSL = sqlRead.GetDecimal(14); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(15)) { WmsEntity.GOODSSTOCK = sqlRead.GetDecimal(15); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(16)) { WmsEntity.ARFEE = sqlRead.GetDecimal(16); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(17)) { WmsEntity.APFEE = sqlRead.GetDecimal(17); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(18)) { WmsEntity.ASSOCIATEDNO = sqlRead.GetString(18); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(19)) { WmsEntity.BLNO = sqlRead.GetString(19); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(20)) { WmsEntity.FREESTORAGEPERIOD = sqlRead.GetInt32(20); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(21)) { WmsEntity.CONTRACTNO = sqlRead.GetString(21); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(22)) { WmsEntity.GOODSNAME = sqlRead.GetString(22); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(23)) { WmsEntity.GOODSMODEL = sqlRead.GetString(23); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(24)) { WmsEntity.CLIENTCODEOLD = sqlRead.GetString(24); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(25)) { WmsEntity.CLIENTNAMEOLD = sqlRead.GetString(25); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(26)) { WmsEntity.STORAGENAME = sqlRead.GetString(26); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(27)) { WmsEntity.CHARGEUNIT = sqlRead.GetString(27); }//
|
|
|
|
|
if (!sqlRead.IsDBNull(28)) { WmsEntity.ARCLIENT = sqlRead.GetString(28); }//
|
|
|
|
|
if (!sqlRead.IsDBNull(29)) { WmsEntity.FREESTORAGEPERIODAP = sqlRead.GetInt32(29); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(30)) { WmsEntity.STARTBILLINGDATEAP = sqlRead.GetDateTime(30); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(31)) { WmsEntity.CORPID = sqlRead.GetString(31); }//
|
|
|
|
|
if (!sqlRead.IsDBNull(32)) { WmsEntity.AREANAME = sqlRead.GetString(32); }
|
|
|
|
|
if (!sqlRead.IsDBNull(33)) { WmsEntity.BANKVALUE = sqlRead.GetDecimal(33); }
|
|
|
|
|
if (!sqlRead.IsDBNull(34)) { WmsEntity.MARKETVALUE = sqlRead.GetDecimal(34); }
|
|
|
|
|
if (!sqlRead.IsDBNull(35)) { WmsEntity.BZTCHNO = sqlRead.GetString(35); }
|
|
|
|
|
if (!sqlRead.IsDBNull(36)) { WmsEntity.CREATEUSER = sqlRead.GetString(36); }
|
|
|
|
|
if (!sqlRead.IsDBNull(37)) { WmsEntity.CREATETIME = sqlRead.GetDateTime(37); }
|
|
|
|
|
}
|
|
|
|
|
sqlRead.Close();
|
|
|
|
|
sqlRead.Dispose();
|
|
|
|
|
#endregion
|
|
|
|
|
//
|
|
|
|
|
this.h_newcust.Value = WmsEntity.CUSTOMERNAME;
|
|
|
|
|
this.h_IsSetRate.Value = "1"; //货权转移,可以设置费率
|
|
|
|
|
result = 1;//状态为1表示删除成功
|
|
|
|
|
sqlTran.Commit();
|
|
|
|
|
Page.ClientScript.RegisterStartupScript(this.GetType(), "key1", "<script>reloadParent('" + WmsOutEntity.GID.ToString().Trim() + "','edit','" + WmsEntity.GID.ToString().Trim() + "','" + WmsEntity.ASSOCIATEDNO.ToString().Trim() + "','" + this.h_isOldCustFeeDateEnter.Value.Trim() + "');</script>");
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
#region 货权转移到 outcustomer.value
|
|
|
|
|
WmsInEntity WmsInEntity = new WmsInEntity();
|
|
|
|
|
WmsInDA wmsinDA = new WmsInDA();
|
|
|
|
|
WmsEntity WmsEntity = new WmsEntity();
|
|
|
|
|
WmsDA wmsDA = new WmsDA();
|
|
|
|
|
//
|
|
|
|
|
#region 提取货权转移的wms_out的数据
|
|
|
|
|
WmsOutEntity model = new WmsOutEntity();
|
|
|
|
|
StringBuilder strSql = new StringBuilder();
|
|
|
|
|
string SQL_SELECT_WMS_OUT_GID = "select top 1 GID,AssociatedNO,BSNO,CLIENTGID,CLIENTCODE,CUSTOMERNAME,DODATE,STORAGECODE,STORAGENAME,AREACODE,AREANAME,GOODSCODE,GOODSNAME,GOODSTYPE,GOODSMODEL,GOODSSTANDARD,GOODSPACK,GOODSPFSL,GOODSOUTFEE,REMARK,ISDELETE,DELETETIME,DELETEUSER,CREATEUSER,CREATETIME,MODIFIEDUSER,MODIFIEDTIME,GOODSPACKPFSL,GOODSOUTFEEAP,TRUCKNAME,ARCLIENT,INGIDNEW,CUSTOMNO,MBLNONEW,CORPID,ARCLIENTWMSOUT,BZTCHNO from wms_out where GID='" + WmsOutEntity.GID.ToString().Trim() + "' ";
|
|
|
|
|
SqlDataReader sqlRead1 = SqlHelper.ExecuteQueryReader(sqlTran, CommandType.Text, SQL_SELECT_WMS_OUT_GID, null);
|
|
|
|
|
while (sqlRead1.Read())
|
|
|
|
|
{
|
|
|
|
|
if (sqlRead1["GID"] != null && sqlRead1["GID"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.GID = sqlRead1["GID"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["ASSOCIATEDNO"] != null && sqlRead1["ASSOCIATEDNO"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.ASSOCIATEDNO = sqlRead1["ASSOCIATEDNO"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["BSNO"] != null && sqlRead1["BSNO"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.BSNO = sqlRead1["BSNO"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["CLIENTGID"] != null && sqlRead1["CLIENTGID"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.CLIENTGID = sqlRead1["CLIENTGID"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["CLIENTCODE"] != null && sqlRead1["CLIENTCODE"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.CLIENTCODE = sqlRead1["CLIENTCODE"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["CUSTOMERNAME"] != null && sqlRead1["CUSTOMERNAME"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.CUSTOMERNAME = sqlRead1["CUSTOMERNAME"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["DODATE"] != null && sqlRead1["DODATE"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.DODATE = DateTime.Parse(sqlRead1["DODATE"].ToString());
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["STORAGECODE"] != null && sqlRead1["STORAGECODE"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.STORAGECODE = sqlRead1["STORAGECODE"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["STORAGENAME"] != null && sqlRead1["STORAGENAME"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.STORAGENAME = sqlRead1["STORAGENAME"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["AREACODE"] != null && sqlRead1["AREACODE"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.AREACODE = sqlRead1["AREACODE"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["AREANAME"] != null && sqlRead1["AREANAME"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.AREANAME = sqlRead1["AREANAME"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["GOODSCODE"] != null && sqlRead1["GOODSCODE"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.GOODSCODE = sqlRead1["GOODSCODE"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["GOODSNAME"] != null && sqlRead1["GOODSNAME"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.GOODSNAME = sqlRead1["GOODSNAME"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["GOODSTYPE"] != null && sqlRead1["GOODSTYPE"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.GOODSTYPE = sqlRead1["GOODSTYPE"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["GOODSMODEL"] != null && sqlRead1["GOODSMODEL"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.GOODSMODEL = sqlRead1["GOODSMODEL"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["GOODSSTANDARD"] != null && sqlRead1["GOODSSTANDARD"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.GOODSSTANDARD = sqlRead1["GOODSSTANDARD"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["GOODSPACK"] != null && sqlRead1["GOODSPACK"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.GOODSPACK = sqlRead1["GOODSPACK"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["GOODSPFSL"] != null && sqlRead1["GOODSPFSL"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.GOODSPFSL = decimal.Parse(sqlRead1["GOODSPFSL"].ToString());
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["GOODSOUTFEE"] != null && sqlRead1["GOODSOUTFEE"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.GOODSOUTFEE = decimal.Parse(sqlRead1["GOODSOUTFEE"].ToString());
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["REMARK"] != null && sqlRead1["REMARK"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.REMARK = sqlRead1["REMARK"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["ISDELETE"] != null && sqlRead1["ISDELETE"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
if ((sqlRead1["ISDELETE"].ToString() == "1") || (sqlRead1["ISDELETE"].ToString().ToLower() == "true"))
|
|
|
|
|
{
|
|
|
|
|
model.ISDELETE = true;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
model.ISDELETE = false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["DELETETIME"] != null && sqlRead1["DELETETIME"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.DELETETIME = DateTime.Parse(sqlRead1["DELETETIME"].ToString());
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["DELETEUSER"] != null && sqlRead1["DELETEUSER"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.DELETEUSER = sqlRead1["DELETEUSER"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["CREATEUSER"] != null && sqlRead1["CREATEUSER"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.CREATEUSER = sqlRead1["CREATEUSER"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["CREATETIME"] != null && sqlRead1["CREATETIME"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.CREATETIME = DateTime.Parse(sqlRead1["CREATETIME"].ToString());
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["MODIFIEDUSER"] != null && sqlRead1["MODIFIEDUSER"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.MODIFIEDUSER = sqlRead1["MODIFIEDUSER"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["MODIFIEDTIME"] != null && sqlRead1["MODIFIEDTIME"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.MODIFIEDTIME = DateTime.Parse(sqlRead1["MODIFIEDTIME"].ToString());
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["GOODSPACKPFSL"] != null && sqlRead1["GOODSPACKPFSL"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.GOODSPACKPFSL = decimal.Parse(sqlRead1["GOODSPACKPFSL"].ToString());
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["GOODSOUTFEEAP"] != null && sqlRead1["GOODSOUTFEEAP"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.GOODSOUTFEEAP = decimal.Parse(sqlRead1["GOODSOUTFEEAP"].ToString());
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["TRUCKNAME"] != null && sqlRead1["TRUCKNAME"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.TRUCKNAME = sqlRead1["TRUCKNAME"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["ARCLIENT"] != null && sqlRead1["ARCLIENT"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.ARCLIENT = sqlRead1["ARCLIENT"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["INGIDNEW"] != null && sqlRead1["INGIDNEW"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.INGIDNEW = sqlRead1["INGIDNEW"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["CUSTOMNO"] != null && sqlRead1["CUSTOMNO"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.CUSTOMNO = sqlRead1["CUSTOMNO"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["MBLNONEW"] != null && sqlRead1["MBLNONEW"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.MBLNONEW = sqlRead1["MBLNONEW"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["CORPID"] != null && sqlRead1["CORPID"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.CORPID = sqlRead1["CORPID"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["ARCLIENTWMSOUT"] != null && sqlRead1["ARCLIENTWMSOUT"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.ARCLIENTWMSOUT = sqlRead1["ARCLIENTWMSOUT"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (sqlRead1["BZTCHNO"] != null && sqlRead1["BZTCHNO"].ToString() != "")
|
|
|
|
|
{
|
|
|
|
|
model.BZTCHNO = sqlRead1["BZTCHNO"].ToString();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
sqlRead1.Close();
|
|
|
|
|
sqlRead1.Dispose();
|
|
|
|
|
#endregion
|
|
|
|
|
//
|
|
|
|
|
#region 插入入库主表
|
|
|
|
|
string strINGIDNEW = model.INGIDNEW.ToString().Trim();//货权转移后的入库wmsgid
|
|
|
|
|
#region 提取原入库wms数据
|
|
|
|
|
string SQL_SELECT_WMS_GID = "select GID, WMSNO, WMSDATE, CUSTOMERNAME, WMSOP, STOREMAN, MODIFIEDUSER, MODIFIEDTIME, ISDELETE, DELETEUSER, DELETETIME,TRUCKNAME, GOODSPACK, GOODSPACKSTOCK, GOODSRKSL, GOODSSTOCK, ARFEE, APFEE, ASSOCIATEDNO, BLNO, FREESTORAGEPERIOD, CONTRACTNO, GOODSNAME, GOODSMODEL, CLIENTCODEOLD, CLIENTNAMEOLD, STORAGENAME, CHARGEUNIT,ARCLIENT,FREESTORAGEPERIODAP,STARTBILLINGDATEAP,CORPID,AREANAME,BANKVALUE,MARKETVALUE,BZTCHNO,CREATEUSER,CREATETIME from wms where GID='" + strINGIDNEW.Trim() + "' and ISDELETE=0";
|
|
|
|
|
SqlDataReader sqlRead = SqlHelper.ExecuteQueryReader(sqlTran, CommandType.Text, SQL_SELECT_WMS_GID, null);
|
|
|
|
|
while (sqlRead.Read())
|
|
|
|
|
{
|
|
|
|
|
if (!sqlRead.IsDBNull(0)) { WmsEntity.GID = sqlRead.GetString(0); } // 唯一编码 newid()
|
|
|
|
|
if (!sqlRead.IsDBNull(1)) { WmsEntity.WMSNO = sqlRead.GetString(1); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(2)) { WmsEntity.WMSDATE = sqlRead.GetDateTime(2); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(3)) { WmsEntity.CUSTOMERNAME = sqlRead.GetString(3); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(4)) { WmsEntity.WMSOP = sqlRead.GetString(4); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(5)) { WmsEntity.STOREMAN = sqlRead.GetString(5); }
|
|
|
|
|
if (!sqlRead.IsDBNull(6)) { WmsEntity.MODIFIEDUSER = sqlRead.GetString(6); }
|
|
|
|
|
if (!sqlRead.IsDBNull(7)) { WmsEntity.MODIFIEDTIME = sqlRead.GetDateTime(7); }
|
|
|
|
|
if (!sqlRead.IsDBNull(8)) { WmsEntity.ISDELETE = sqlRead.GetBoolean(8); } // 是否废除
|
|
|
|
|
if (!sqlRead.IsDBNull(9)) { WmsEntity.DELETEUSER = sqlRead.GetString(9); } // 废除操作人
|
|
|
|
|
if (!sqlRead.IsDBNull(10)) { WmsEntity.DELETETIME = sqlRead.GetDateTime(10); } // 废除时间
|
|
|
|
|
if (!sqlRead.IsDBNull(11)) { WmsEntity.TRUCKNAME = sqlRead.GetString(11); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(12)) { WmsEntity.GOODSPACK = sqlRead.GetDecimal(12); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(13)) { WmsEntity.GOODSPACKSTOCK = sqlRead.GetDecimal(13); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(14)) { WmsEntity.GOODSRKSL = sqlRead.GetDecimal(14); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(15)) { WmsEntity.GOODSSTOCK = sqlRead.GetDecimal(15); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(16)) { WmsEntity.ARFEE = sqlRead.GetDecimal(16); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(17)) { WmsEntity.APFEE = sqlRead.GetDecimal(17); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(18)) { WmsEntity.ASSOCIATEDNO = sqlRead.GetString(18); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(19)) { WmsEntity.BLNO = sqlRead.GetString(19); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(20)) { WmsEntity.FREESTORAGEPERIOD = sqlRead.GetInt32(20); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(21)) { WmsEntity.CONTRACTNO = sqlRead.GetString(21); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(22)) { WmsEntity.GOODSNAME = sqlRead.GetString(22); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(23)) { WmsEntity.GOODSMODEL = sqlRead.GetString(23); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(24)) { WmsEntity.CLIENTCODEOLD = sqlRead.GetString(24); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(25)) { WmsEntity.CLIENTNAMEOLD = sqlRead.GetString(25); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(26)) { WmsEntity.STORAGENAME = sqlRead.GetString(26); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(27)) { WmsEntity.CHARGEUNIT = sqlRead.GetString(27); }//
|
|
|
|
|
if (!sqlRead.IsDBNull(28)) { WmsEntity.ARCLIENT = sqlRead.GetString(28); }//
|
|
|
|
|
if (!sqlRead.IsDBNull(29)) { WmsEntity.FREESTORAGEPERIODAP = sqlRead.GetInt32(29); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(30)) { WmsEntity.STARTBILLINGDATEAP = sqlRead.GetDateTime(30); } //
|
|
|
|
|
if (!sqlRead.IsDBNull(31)) { WmsEntity.CORPID = sqlRead.GetString(31); }//
|
|
|
|
|
if (!sqlRead.IsDBNull(32)) { WmsEntity.AREANAME = sqlRead.GetString(32); }
|
|
|
|
|
if (!sqlRead.IsDBNull(33)) { WmsEntity.BANKVALUE = sqlRead.GetDecimal(33); }
|
|
|
|
|
if (!sqlRead.IsDBNull(34)) { WmsEntity.MARKETVALUE = sqlRead.GetDecimal(34); }
|
|
|
|
|
if (!sqlRead.IsDBNull(35)) { WmsEntity.BZTCHNO = sqlRead.GetString(35); }
|
|
|
|
|
if (!sqlRead.IsDBNull(36)) { WmsEntity.CREATEUSER = sqlRead.GetString(36); }
|
|
|
|
|
if (!sqlRead.IsDBNull(37)) { WmsEntity.CREATETIME = sqlRead.GetDateTime(37); }
|
|
|
|
|
}
|
|
|
|
|
sqlRead.Close();
|
|
|
|
|
sqlRead.Dispose();
|
|
|
|
|
#endregion
|
|
|
|
|
//
|
|
|
|
|
//WmsEntity.GID = strINGIDNEW;
|
|
|
|
|
//WmsEntity.WMSNO = tbWMSNO;//调用编码规则
|
|
|
|
|
//
|
|
|
|
|
WmsEntity.CUSTOMERNAME = this.h_outcustomer.Value.ToString().Trim();
|
|
|
|
|
WmsEntity.WMSOP = strShowName.Trim();
|
|
|
|
|
WmsEntity.STOREMAN = strShowName.Trim();
|
|
|
|
|
WmsEntity.MODIFIEDUSER = strUserID;
|
|
|
|
|
//
|
|
|
|
|
WmsEntity.WMSDATE = model.DODATE;
|
|
|
|
|
WmsEntity.STARTBILLINGDATE = DateTime.Parse(this.txt_oldcustFeeDate.Value.Trim()).AddDays(1);
|
|
|
|
|
int iFeeDay = WmsOutDetailDA.GetDaysCount("day", model.DODATE.ToString(), WmsOutEntity.OLDCUSTFEEDATE.ToString().Trim());//WmsOutEntity.DODATE.ToString());
|
|
|
|
|
WmsEntity.FREESTORAGEPERIOD = 0;
|
|
|
|
|
if (iFeeDay > 0)
|
|
|
|
|
{
|
|
|
|
|
WmsEntity.FREESTORAGEPERIOD = iFeeDay;
|
|
|
|
|
}
|
|
|
|
|
//
|
|
|
|
|
WmsEntity.GOODSPACK = model.GOODSPACKPFSL;
|
|
|
|
|
WmsEntity.GOODSPACKSTOCK = model.GOODSPACKPFSL;
|
|
|
|
|
WmsEntity.GOODSRKSL = model.GOODSPFSL;
|
|
|
|
|
WmsEntity.GOODSSTOCK = model.GOODSPFSL;
|
|
|
|
|
WmsEntity.ARFEE = 0;
|
|
|
|
|
WmsEntity.APFEE = 0;
|
|
|
|
|
WmsEntity.CLIENTNAMEOLD = model.CUSTOMERNAME;// 原客户名称
|
|
|
|
|
WmsEntity.ISLOCK = false;// true;
|
|
|
|
|
WmsEntity.LOCKUSER = strUserID;
|
|
|
|
|
WmsEntity.CORPID = strCompanyID;
|
|
|
|
|
WmsEntity.CUSTOMNO = model.CUSTOMNO;
|
|
|
|
|
WmsEntity.BZTCHNO = model.BZTCHNO;
|
|
|
|
|
//
|
|
|
|
|
string sMBLNONEW = this.h_mblnonew.Value.Trim() == "" ? model.MBLNONEW.ToString().Trim() : this.h_mblnonew.Value.Trim();
|
|
|
|
|
WmsEntity.BLNO = sMBLNONEW;
|
|
|
|
|
WmsEntity.ASSOCIATEDNO = T_ALL_DA.GetStrSQL("bsno", "select top 1 bsno from op_seai where mblno='" + sMBLNONEW + "'");
|
|
|
|
|
WmsEntity.CUSTNO = T_ALL_DA.GetStrSQL("CUSTNO", "select top 1 CUSTNO from op_seai where mblno='" + sMBLNONEW + "'");
|
|
|
|
|
|
|
|
|
|
SqlParameter[] parameters = {
|
|
|
|
|
new SqlParameter("@GID", SqlDbType.VarChar,36) ,
|
|
|
|
|
new SqlParameter("@WMSNO", SqlDbType.VarChar,100) ,
|
|
|
|
|
new SqlParameter("@WMSDATE", SqlDbType.DateTime) ,
|
|
|
|
|
new SqlParameter("@CUSTOMERNAME", SqlDbType.VarChar,20) ,
|
|
|
|
|
new SqlParameter("@WMSOP", SqlDbType.VarChar,10) ,
|
|
|
|
|
new SqlParameter("@STOREMAN", SqlDbType.VarChar,10) ,
|
|
|
|
|
new SqlParameter("@MODIFIEDUSER", SqlDbType.VarChar,36) ,
|
|
|
|
|
new SqlParameter("@GOODSPACK", SqlDbType.Decimal) ,
|
|
|
|
|
new SqlParameter("@GOODSPACKSTOCK", SqlDbType.Decimal) ,
|
|
|
|
|
new SqlParameter("@GOODSRKSL", SqlDbType.Decimal) ,
|
|
|
|
|
new SqlParameter("@GOODSSTOCK", SqlDbType.Decimal) ,
|
|
|
|
|
new SqlParameter("@ARFEE", SqlDbType.Decimal) ,
|
|
|
|
|
new SqlParameter("@APFEE", SqlDbType.Decimal) ,
|
|
|
|
|
new SqlParameter("@ASSOCIATEDNO", SqlDbType.VarChar,100),
|
|
|
|
|
new SqlParameter("@BLNO", SqlDbType.VarChar,100) ,
|
|
|
|
|
new SqlParameter("@FREESTORAGEPERIOD", SqlDbType.Int,4) ,
|
|
|
|
|
new SqlParameter("@CONTRACTNO", SqlDbType.VarChar,100),
|
|
|
|
|
new SqlParameter("@GOODSNAME", SqlDbType.VarChar,100) ,
|
|
|
|
|
new SqlParameter("@GOODSMODEL", SqlDbType.VarChar,100) ,
|
|
|
|
|
new SqlParameter("@CLIENTCODEOLD", SqlDbType.VarChar,20) ,
|
|
|
|
|
new SqlParameter("@CLIENTNAMEOLD", SqlDbType.VarChar,20) ,
|
|
|
|
|
new SqlParameter("@STORAGENAME", SqlDbType.VarChar,20) ,
|
|
|
|
|
new SqlParameter("@CHARGEUNIT", SqlDbType.VarChar,10) ,
|
|
|
|
|
//new SqlParameter("@ISLOCK", SqlDbType.Bit) ,
|
|
|
|
|
//new SqlParameter("@LOCKUSER", SqlDbType.VarChar,36) ,
|
|
|
|
|
new SqlParameter("@STARTBILLINGDATE", SqlDbType.DateTime) ,
|
|
|
|
|
new SqlParameter("@CUSTOMNO", SqlDbType.VarChar,30) ,
|
|
|
|
|
new SqlParameter("@CUSTNO", SqlDbType.VarChar,30) ,
|
|
|
|
|
new SqlParameter("@CORPID", SqlDbType.VarChar,36) ,
|
|
|
|
|
new SqlParameter("@AREANAME",SqlDbType.VarChar,100) ,
|
|
|
|
|
new SqlParameter("@BANKVALUE", SqlDbType.Decimal) ,
|
|
|
|
|
new SqlParameter("@MARKETVALUE", SqlDbType.Decimal),
|
|
|
|
|
new SqlParameter("@BZTCHNO",SqlDbType.VarChar,100)
|
|
|
|
|
//new SqlParameter("@FREESTORAGEPERIODAP", SqlDbType.Int,4) ,
|
|
|
|
|
//new SqlParameter("@STARTBILLINGDATEAP", SqlDbType.DateTime)
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
parameters[0].Value = WmsEntity.GID;
|
|
|
|
|
parameters[1].Value = WmsEntity.WMSNO;
|
|
|
|
|
parameters[2].Value = WmsEntity.WMSDATE;
|
|
|
|
|
parameters[3].Value = WmsEntity.CUSTOMERNAME;
|
|
|
|
|
parameters[4].Value = WmsEntity.WMSOP;
|
|
|
|
|
parameters[5].Value = WmsEntity.STOREMAN;
|
|
|
|
|
parameters[6].Value = WmsEntity.MODIFIEDUSER;
|
|
|
|
|
parameters[7].Value = WmsEntity.GOODSPACK;
|
|
|
|
|
parameters[8].Value = WmsEntity.GOODSPACKSTOCK;
|
|
|
|
|
parameters[9].Value = WmsEntity.GOODSRKSL;
|
|
|
|
|
parameters[10].Value = WmsEntity.GOODSSTOCK;
|
|
|
|
|
parameters[11].Value = WmsEntity.ARFEE;
|
|
|
|
|
parameters[12].Value = WmsEntity.APFEE;
|
|
|
|
|
parameters[13].Value = WmsEntity.ASSOCIATEDNO;
|
|
|
|
|
parameters[14].Value = WmsEntity.BLNO;
|
|
|
|
|
parameters[15].Value = WmsEntity.FREESTORAGEPERIOD;
|
|
|
|
|
parameters[16].Value = WmsEntity.CONTRACTNO;
|
|
|
|
|
parameters[17].Value = WmsEntity.GOODSNAME;
|
|
|
|
|
parameters[18].Value = WmsEntity.GOODSMODEL;
|
|
|
|
|
parameters[19].Value = WmsEntity.CLIENTCODEOLD;
|
|
|
|
|
parameters[20].Value = WmsEntity.CLIENTNAMEOLD;
|
|
|
|
|
parameters[21].Value = WmsEntity.STORAGENAME;
|
|
|
|
|
parameters[22].Value = WmsEntity.CHARGEUNIT;
|
|
|
|
|
//parameters[23].Value = WmsEntity.ISLOCK;
|
|
|
|
|
//parameters[24].Value = WmsEntity.LOCKUSER;
|
|
|
|
|
parameters[23].Value = WmsEntity.STARTBILLINGDATE;
|
|
|
|
|
parameters[24].Value = WmsEntity.CUSTOMNO;
|
|
|
|
|
parameters[25].Value = WmsEntity.CUSTNO;
|
|
|
|
|
parameters[26].Value = WmsEntity.CORPID;
|
|
|
|
|
parameters[27].Value = WmsEntity.AREANAME;
|
|
|
|
|
parameters[28].Value = WmsEntity.BANKVALUE;
|
|
|
|
|
parameters[29].Value = WmsEntity.MARKETVALUE;
|
|
|
|
|
parameters[30].Value = WmsEntity.BZTCHNO;
|
|
|
|
|
|
|
|
|
|
//parameters[28].Value = WmsEntity.FREESTORAGEPERIODAP;
|
|
|
|
|
//parameters[29].Value = WmsEntity.STARTBILLINGDATEAP;
|
|
|
|
|
|
|
|
|
|
string lsSql = "update wms set WMSNO=@WMSNO,WMSDATE=@WMSDATE,CUSTOMERNAME=@CUSTOMERNAME,WMSOP=@WMSOP,STOREMAN=@STOREMAN,MODIFIEDUSER=@MODIFIEDUSER,MODIFIEDTIME=getdate(),ISDELETE=0,DELETEUSER='',DELETETIME=getdate(),GOODSPACK=@GOODSPACK,GOODSPACKSTOCK=@GOODSPACKSTOCK,GOODSRKSL=@GOODSRKSL,GOODSSTOCK=@GOODSSTOCK,ARFEE=@ARFEE,APFEE=@APFEE,ASSOCIATEDNO=@ASSOCIATEDNO,BLNO=@BLNO,FREESTORAGEPERIOD=@FREESTORAGEPERIOD,CONTRACTNO=@CONTRACTNO,GOODSNAME=@GOODSNAME,GOODSMODEL=@GOODSMODEL,CLIENTCODEOLD=@CLIENTCODEOLD,CLIENTNAMEOLD=@CLIENTNAMEOLD,STORAGENAME=@STORAGENAME,CHARGEUNIT=@CHARGEUNIT,STARTBILLINGDATE=@STARTBILLINGDATE,CUSTOMNO=@CUSTOMNO,CUSTNO=@CUSTNO,CORPID=@CORPID,AREANAME = @AREANAME,BANKVALUE = @BANKVALUE,MARKETVALUE = @MARKETVALUE,BZTCHNO = @BZTCHNO where GID=@GID ";//,ISLOCK=@ISLOCK,LOCKUSER=@LOCKUSER,LOCKTIME=getdate(),FREESTORAGEPERIODAP=@FREESTORAGEPERIODAP,STARTBILLINGDATEAP=@STARTBILLINGDATEAP
|
|
|
|
|
iState = SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, lsSql, parameters);
|
|
|
|
|
if (iState != 1)
|
|
|
|
|
{
|
|
|
|
|
sqlTran.Rollback();
|
|
|
|
|
result = -9;
|
|
|
|
|
Clearh();
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
//
|
|
|
|
|
#region 插入入库明细表
|
|
|
|
|
//删除wms_in当前的数据
|
|
|
|
|
lsSql = "delete from wms_in where ASSOCIATEDNO = '" + WmsEntity.GID.ToString().Trim() + "' ";
|
|
|
|
|
iState = SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, lsSql, null);
|
|
|
|
|
if (iState != 1)
|
|
|
|
|
{
|
|
|
|
|
sqlTran.Rollback();
|
|
|
|
|
result = -9;
|
|
|
|
|
Clearh();
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//插入入库明细表
|
|
|
|
|
int n = 0;
|
|
|
|
|
foreach (WmsOutDetailEntity WmsOutDetailEntity in WmsOutDetailEntitys)
|
|
|
|
|
{
|
|
|
|
|
n = n + 1;
|
|
|
|
|
#region 提取出库相对应的原入库wms_in数据
|
|
|
|
|
string SQL_SELECT_WMS_IN_GID = "select top 1 GID,ASSOCIATEDNO,BLNO,CONTRACTNO,CNTRNO,SEALNO,BSNO,CLIENTCODE,CLIENTNAME,DODATE,STORAGECODE,STORAGENAME,AREACODE,AREANAME,GOODSCODE,GOODSNAME,GOODSTYPE,GOODSMODEL,GOODSSTANDARD,GOODSPACK,CHARGEUNIT,GOODSRKSL,GOODSSTOCK,ISLOCK,LOCKTIME,LOCKUSER,ISDELETE,DELETETIME,DELETEUSER,CREATEUSER,CREATETIME,MODIFIEDUSER,MODIFIEDTIME,REMARK,FREESTORAGEPERIOD,GOODSPACKSTOCK,GOODSKGS,CLIENTCODEOLD,CLIENTNAMEOLD,KINDPKGS,ARFEE,APFEE,CORPID,MARKETVALUE,BANKVALUE,LINENUM from wms_in where ASSOCIATEDNO in (select gid from wms where gid='" + WmsOutDetailEntity.INBSNO.ToString().Trim() + "') and ISDELETE=0";
|
|
|
|
|
sqlRead = SqlHelper.ExecuteQueryReader(sqlTran, CommandType.Text, SQL_SELECT_WMS_IN_GID, null);
|
|
|
|
|
while (sqlRead.Read())
|
|
|
|
|
{
|
|
|
|
|
if (!sqlRead.IsDBNull(0)) { WmsInEntity.GID = sqlRead.GetString(0); }// 惟一编号
|
|
|
|
|
if (!sqlRead.IsDBNull(1)) { WmsInEntity.ASSOCIATEDNO = sqlRead.GetString(1); }// 关联号
|
|
|
|
|
if (!sqlRead.IsDBNull(2)) { WmsInEntity.BLNO = sqlRead.GetString(2); }// 提单号
|
|
|
|
|
if (!sqlRead.IsDBNull(3)) { WmsInEntity.CONTRACTNO = sqlRead.GetString(3); }// 合同号
|
|
|
|
|
if (!sqlRead.IsDBNull(4)) { WmsInEntity.CNTRNO = sqlRead.GetString(4); }// 箱号
|
|
|
|
|
if (!sqlRead.IsDBNull(5)) { WmsInEntity.SEALNO = sqlRead.GetString(5); }// 封号
|
|
|
|
|
if (!sqlRead.IsDBNull(6)) { WmsInEntity.BSNO = sqlRead.GetString(6); }// 仓单明细号
|
|
|
|
|
if (!sqlRead.IsDBNull(7)) { WmsInEntity.CLIENTCODE = sqlRead.GetString(7); }// 客户编码
|
|
|
|
|
if (!sqlRead.IsDBNull(8)) { WmsInEntity.CLIENTNAME = sqlRead.GetString(8); }// 客户名称
|
|
|
|
|
if (!sqlRead.IsDBNull(9)) { WmsInEntity.DODATE = sqlRead.GetDateTime(9); }// 操作时间
|
|
|
|
|
if (!sqlRead.IsDBNull(10)) { WmsInEntity.STORAGECODE = sqlRead.GetString(10); }// 仓库编码
|
|
|
|
|
if (!sqlRead.IsDBNull(11)) { WmsInEntity.STORAGENAME = sqlRead.GetString(11); }// 仓库名称
|
|
|
|
|
if (!sqlRead.IsDBNull(12)) { WmsInEntity.AREACODE = sqlRead.GetString(12); }// 库位编码
|
|
|
|
|
if (!sqlRead.IsDBNull(13)) { WmsInEntity.AREANAME = sqlRead.GetString(13); }// 库位名称
|
|
|
|
|
if (!sqlRead.IsDBNull(14)) { WmsInEntity.GOODSCODE = sqlRead.GetString(14); }// 货物编号
|
|
|
|
|
if (!sqlRead.IsDBNull(15)) { WmsInEntity.GOODSNAME = sqlRead.GetString(15); }// 货物名称
|
|
|
|
|
if (!sqlRead.IsDBNull(16)) { WmsInEntity.GOODSTYPE = sqlRead.GetString(16); }// 货物类型
|
|
|
|
|
if (!sqlRead.IsDBNull(17)) { WmsInEntity.GOODSMODEL = sqlRead.GetString(17); }// 牌号
|
|
|
|
|
if (!sqlRead.IsDBNull(18)) { WmsInEntity.GOODSSTANDARD = sqlRead.GetString(18); }// 规格
|
|
|
|
|
if (!sqlRead.IsDBNull(19)) { WmsInEntity.GOODSPACK = sqlRead.GetDecimal(19); }// 件数
|
|
|
|
|
if (!sqlRead.IsDBNull(20)) { WmsInEntity.CHARGEUNIT = sqlRead.GetString(20); }// 计费单位
|
|
|
|
|
if (!sqlRead.IsDBNull(21)) { WmsInEntity.GOODSRKSL = sqlRead.GetDecimal(21); }// 入库量
|
|
|
|
|
if (!sqlRead.IsDBNull(22)) { WmsInEntity.GOODSSTOCK = sqlRead.GetDecimal(22); }// 库存量
|
|
|
|
|
if (!sqlRead.IsDBNull(23)) { WmsInEntity.ISLOCK = sqlRead.GetBoolean(23); }// 是否锁定
|
|
|
|
|
if (!sqlRead.IsDBNull(24)) { WmsInEntity.LOCKTIME = sqlRead.GetDateTime(24); }// 锁定时间
|
|
|
|
|
if (!sqlRead.IsDBNull(25)) { WmsInEntity.LOCKUSER = sqlRead.GetString(25); }// 锁定操作人
|
|
|
|
|
if (!sqlRead.IsDBNull(26)) { WmsInEntity.ISDELETE = sqlRead.GetBoolean(26); }// 是否废除
|
|
|
|
|
if (!sqlRead.IsDBNull(27)) { WmsInEntity.DELETETIME = sqlRead.GetDateTime(27); }// 废除时间
|
|
|
|
|
if (!sqlRead.IsDBNull(28)) { WmsInEntity.DELETEUSER = sqlRead.GetString(28); }// 废除操作人
|
|
|
|
|
if (!sqlRead.IsDBNull(29)) { WmsInEntity.CREATEUSER = sqlRead.GetString(29); }// 创建人
|
|
|
|
|
if (!sqlRead.IsDBNull(30)) { WmsInEntity.CREATETIME = sqlRead.GetDateTime(30); }// 创建时间
|
|
|
|
|
if (!sqlRead.IsDBNull(31)) { WmsInEntity.MODIFIEDUSER = sqlRead.GetString(31); }// 最后一次更新操作人
|
|
|
|
|
if (!sqlRead.IsDBNull(32)) { WmsInEntity.MODIFIEDTIME = sqlRead.GetDateTime(32); }// 最后一次更新操作时间
|
|
|
|
|
if (!sqlRead.IsDBNull(33)) { WmsInEntity.REMARK = sqlRead.GetString(33); }// 备注
|
|
|
|
|
if (!sqlRead.IsDBNull(34)) { WmsInEntity.FREESTORAGEPERIOD = sqlRead.GetInt32(34); }// 免仓储期
|
|
|
|
|
if (!sqlRead.IsDBNull(35)) { WmsInEntity.GOODSPACKSTOCK = sqlRead.GetDecimal(35); }// 剩余件数
|
|
|
|
|
if (!sqlRead.IsDBNull(36)) { WmsInEntity.GOODSKGS = sqlRead.GetDecimal(36); }// 重量
|
|
|
|
|
if (!sqlRead.IsDBNull(37)) { WmsInEntity.CLIENTCODEOLD = sqlRead.GetString(37); }// 原客户编码
|
|
|
|
|
if (!sqlRead.IsDBNull(38)) { WmsInEntity.CLIENTNAMEOLD = sqlRead.GetString(38); }// 原客户名称
|
|
|
|
|
if (!sqlRead.IsDBNull(39)) { WmsInEntity.KINDPKGS = sqlRead.GetString(39); }//
|
|
|
|
|
if (!sqlRead.IsDBNull(40)) { WmsInEntity.ARFEE = sqlRead.GetDecimal(40); }//
|
|
|
|
|
if (!sqlRead.IsDBNull(41)) { WmsInEntity.APFEE = sqlRead.GetDecimal(41); }//
|
|
|
|
|
if (!sqlRead.IsDBNull(42)) { WmsInEntity.CORPID = sqlRead.GetString(42); }//
|
|
|
|
|
if (!sqlRead.IsDBNull(43)) { WmsInEntity.MARKETVALUE = sqlRead.GetDecimal(43); }//
|
|
|
|
|
if (!sqlRead.IsDBNull(44)) { WmsInEntity.BANKVALUE = sqlRead.GetDecimal(44); }//
|
|
|
|
|
if (!sqlRead.IsDBNull(45)) { WmsInEntity.LINENUM = sqlRead.GetInt32(45); }//
|
|
|
|
|
}
|
|
|
|
|
sqlRead.Close();
|
|
|
|
|
sqlRead.Dispose();
|
|
|
|
|
#endregion
|
|
|
|
|
WmsInEntity.GID = Guid.NewGuid().ToString();
|
|
|
|
|
WmsInEntity.ASSOCIATEDNO = WmsEntity.GID;
|
|
|
|
|
WmsInEntity.BLNO = model.MBLNONEW;
|
|
|
|
|
//
|
|
|
|
|
#region 提取规则编号 getCodeRule("入库明细单号", "BSNO", "wms_in")
|
|
|
|
|
// <summary>
|
|
|
|
|
// 提取规则编号
|
|
|
|
|
// </summary>
|
|
|
|
|
// <param name="strRULENAME">规则项目名称</param>
|
|
|
|
|
// <param name="strfield">需要加规则的字段</param>
|
|
|
|
|
// <returns></returns>
|
|
|
|
|
//protected String getCodeRule(string strRULENAME, string strfield)
|
|
|
|
|
//{
|
|
|
|
|
//调用编码规则
|
|
|
|
|
string tbBSNO = "";
|
|
|
|
|
string strRULEYEAR1 = "";
|
|
|
|
|
string strRULECONTENT1 = "";
|
|
|
|
|
string strCODENAME1 = "";
|
|
|
|
|
string strDEPTNO1 = "";
|
|
|
|
|
string strRULENOLENGTH1 = "";
|
|
|
|
|
int iRULENOLENGTH1 = 0;
|
|
|
|
|
int inum1 = 0;
|
|
|
|
|
string strCONTENT1 = "";
|
|
|
|
|
DataSet ds2 = T_ALL_DA.GetAllSQL("select *,getdate() DODATE from code_rule where RULENAME='入库明细单号' and RULETYPE=3");
|
|
|
|
|
if (ds2 != null)
|
|
|
|
|
{
|
|
|
|
|
if (ds2.Tables[0].Rows.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
if (ds2.Tables[0].Rows[0]["ISSTARTUSING"].ToString().Trim().Equals("True"))
|
|
|
|
|
{
|
|
|
|
|
getCodeRuleEnabled("入库明细单号", "BSNO");
|
|
|
|
|
//
|
|
|
|
|
if (ds2.Tables[0].Rows[0]["RULEDATE"].ToString().Trim().Equals("业务日期"))
|
|
|
|
|
{
|
|
|
|
|
if (ds2.Tables[0].Rows[0]["DODATE"].ToString().Trim() == "")
|
|
|
|
|
{
|
|
|
|
|
//return "";
|
|
|
|
|
tbBSNO = "";
|
|
|
|
|
}
|
|
|
|
|
DateTime dETD = System.Convert.ToDateTime(ds2.Tables[0].Rows[0]["DODATE"].ToString().Trim());
|
|
|
|
|
if (ds2.Tables[0].Rows[0]["ISCLEAREDINEARLY"].ToString().Trim().Equals("True"))
|
|
|
|
|
{
|
|
|
|
|
if (ds2.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR1 = dETD.ToString("yyyy") + dETD.ToString("MM");
|
|
|
|
|
}
|
|
|
|
|
else if (ds2.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR1 = dETD.ToString("yy") + dETD.ToString("MM");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (ds2.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR1 = dETD.ToString("yyyy");
|
|
|
|
|
}
|
|
|
|
|
else if (ds2.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR1 = dETD.ToString("yy");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else if (ds2.Tables[0].Rows[0]["RULEDATE"].ToString().Trim().Equals("自然月份"))
|
|
|
|
|
{
|
|
|
|
|
DateTime fwqdate = System.Convert.ToDateTime(T_ALL_DA.GetStrSQL("fwqdate", "select fwqdate=getdate()"));
|
|
|
|
|
if (ds2.Tables[0].Rows[0]["ISCLEAREDINEARLY"].ToString().Trim().Equals("True"))
|
|
|
|
|
{
|
|
|
|
|
if (ds2.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR1 = fwqdate.ToString("yyyy") + fwqdate.ToString("MM");
|
|
|
|
|
}
|
|
|
|
|
else if (ds2.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR1 = fwqdate.ToString("yy") + fwqdate.ToString("MM");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (ds2.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR1 = fwqdate.ToString("yyyy");
|
|
|
|
|
}
|
|
|
|
|
else if (ds2.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR1 = fwqdate.ToString("yy");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//
|
|
|
|
|
if (ds2.Tables[0].Rows[0]["ISCOMPANY"].ToString().Trim().Equals("True"))
|
|
|
|
|
{
|
|
|
|
|
strCODENAME1 = T_ALL_DA.GetStrSQL("CODENAME", "select CODENAME from [company] where GID=(select top 1 COMPANYID from user_company where USERID='" + strUserID + "')");
|
|
|
|
|
}
|
|
|
|
|
if (ds2.Tables[0].Rows[0]["ISDEPT"].ToString().Trim().Equals("True"))
|
|
|
|
|
{
|
|
|
|
|
strDEPTNO1 = T_ALL_DA.GetStrSQL("DEPTNO", "select DEPTNO from [sys_dept] where LINKID=(select top 1 COMPANYID from user_company where USERID='" + strUserID + "')");
|
|
|
|
|
}
|
|
|
|
|
strRULECONTENT1 = ds2.Tables[0].Rows[0]["RULECONTENT"].ToString().Trim();
|
|
|
|
|
strRULECONTENT1 = strRULECONTENT1.Replace("《COMPANY》", strCODENAME1);
|
|
|
|
|
strRULECONTENT1 = strRULECONTENT1.Replace("《DEPT》", strDEPTNO1);
|
|
|
|
|
//
|
|
|
|
|
if (ds2.Tables[0].Rows[0]["RULENOLENGTH"].ToString().Trim() == "")
|
|
|
|
|
{
|
|
|
|
|
iRULENOLENGTH1 = 0;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
iRULENOLENGTH1 = int.Parse(ds2.Tables[0].Rows[0]["RULENOLENGTH"].ToString().Trim());
|
|
|
|
|
}
|
|
|
|
|
strCONTENT1 = strRULECONTENT1 + strRULEYEAR1;
|
|
|
|
|
//
|
|
|
|
|
//获取分公司的票号头字符
|
|
|
|
|
string tempBANKSHEAD = "";
|
|
|
|
|
string strSQL = "SELECT TOP 1 BANKSHEAD FROM company WHERE GID='" + strCompanyID.Trim() + "'";
|
|
|
|
|
DataSet ds21 = SqlHelper.ExecuteQueryDataset(sqlTran, CommandType.Text, strSQL, null);
|
|
|
|
|
if (ds21 != null)
|
|
|
|
|
{
|
|
|
|
|
if (ds21.Tables[0].Rows.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
tempBANKSHEAD = ds21.Tables[0].Rows[0]["BANKSHEAD"].ToString().Trim();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
strCONTENT1 = tempBANKSHEAD + strCONTENT1;
|
|
|
|
|
//
|
|
|
|
|
strSQL = "select top 1 BSNO from [wms_in] where BSNO like '" + strCONTENT1.Trim() + "%' order by BSNO DESC";
|
|
|
|
|
ds21 = SqlHelper.ExecuteQueryDataset(sqlTran, CommandType.Text, strSQL, null);
|
|
|
|
|
if (ds21 != null)
|
|
|
|
|
{
|
|
|
|
|
if (ds21.Tables[0].Rows.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
strRULENOLENGTH1 = ds21.Tables[0].Rows[0]["BSNO"].ToString().Trim();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (strRULENOLENGTH1 == "")
|
|
|
|
|
{
|
|
|
|
|
strRULENOLENGTH1 = "1";
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
strRULENOLENGTH1 = strRULENOLENGTH1.Replace(strCONTENT1.Trim(), "");
|
|
|
|
|
inum1 = int.Parse(strRULENOLENGTH1.Trim());
|
|
|
|
|
inum1 = inum1 + 1;
|
|
|
|
|
strRULENOLENGTH1 = inum1.ToString();
|
|
|
|
|
}
|
|
|
|
|
int j = iRULENOLENGTH1 - strRULENOLENGTH1.Length;
|
|
|
|
|
for (int i = 1; i <= j; i++)
|
|
|
|
|
{
|
|
|
|
|
strRULENOLENGTH1 = "0" + strRULENOLENGTH1;
|
|
|
|
|
}
|
|
|
|
|
//
|
|
|
|
|
strCONTENT1 = strCONTENT1 + strRULENOLENGTH1;
|
|
|
|
|
tbBSNO = strCONTENT1;
|
|
|
|
|
//return strCONTENT1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
// return "";
|
|
|
|
|
//}
|
|
|
|
|
#endregion
|
|
|
|
|
WmsInEntity.BSNO = tbBSNO;//调用编码规则
|
|
|
|
|
//
|
|
|
|
|
WmsInEntity.DODATE = model.DODATE;
|
|
|
|
|
WmsInEntity.CLIENTNAME = this.h_outcustomer.Value.ToString().Trim();
|
|
|
|
|
WmsInEntity.GOODSRKSL = WmsOutDetailEntity.GOODSPFSL;//入库数量
|
|
|
|
|
WmsInEntity.GOODSSTOCK = WmsOutDetailEntity.GOODSPFSL;//入库数量
|
|
|
|
|
WmsInEntity.GOODSPACK = WmsOutDetailEntity.GOODSPACKPFSL;//件数
|
|
|
|
|
WmsInEntity.GOODSPACKSTOCK = WmsOutDetailEntity.GOODSPACKPFSL;//件数
|
|
|
|
|
WmsInEntity.REMARK = "货权转移";
|
|
|
|
|
WmsInEntity.CREATEUSER = strUserID;// 创建人
|
|
|
|
|
WmsInEntity.MODIFIEDUSER = strUserID;// 最后一次更新操作人
|
|
|
|
|
WmsInEntity.CLIENTNAMEOLD = WmsOutDetailEntity.CUSTOMERNAME;//货权转移前货主
|
|
|
|
|
WmsInEntity.ARFEE = 0;
|
|
|
|
|
WmsInEntity.APFEE = 0;
|
|
|
|
|
WmsInEntity.ISLOCK = WmsEntity.ISLOCK;// true;
|
|
|
|
|
WmsInEntity.LOCKUSER = WmsEntity.LOCKUSER;
|
|
|
|
|
WmsInEntity.CORPID = strCompanyID;
|
|
|
|
|
|
|
|
|
|
SqlParameter[] parms = new SqlParameter[]{
|
|
|
|
|
new SqlParameter("@GID",SqlDbType.VarChar,100),//惟一编号
|
|
|
|
|
new SqlParameter("@ASSOCIATEDNO",SqlDbType.VarChar,100),//关联号
|
|
|
|
|
new SqlParameter("@BLNO",SqlDbType.VarChar,30),//提单号
|
|
|
|
|
new SqlParameter("@CONTRACTNO",SqlDbType.VarChar,100),//合同号
|
|
|
|
|
new SqlParameter("@CNTRNO",SqlDbType.VarChar,30),//箱号
|
|
|
|
|
new SqlParameter("@SEALNO",SqlDbType.VarChar,12),//封号
|
|
|
|
|
new SqlParameter("@BSNO",SqlDbType.VarChar,100),//仓单明细号
|
|
|
|
|
new SqlParameter("@CLIENTCODE",SqlDbType.VarChar,20),//客户编码
|
|
|
|
|
new SqlParameter("@CLIENTNAME",SqlDbType.VarChar,20),//客户名称
|
|
|
|
|
new SqlParameter("@STORAGECODE",SqlDbType.VarChar,50),//仓库编码
|
|
|
|
|
new SqlParameter("@STORAGENAME",SqlDbType.VarChar,100),//仓库名称
|
|
|
|
|
new SqlParameter("@AREACODE",SqlDbType.VarChar,50),//库位编码
|
|
|
|
|
new SqlParameter("@AREANAME",SqlDbType.VarChar,100),//库位名称
|
|
|
|
|
new SqlParameter("@GOODSCODE",SqlDbType.VarChar,50),//货物编号
|
|
|
|
|
new SqlParameter("@GOODSNAME",SqlDbType.VarChar,100),//货物名称/品名
|
|
|
|
|
new SqlParameter("@GOODSTYPE",SqlDbType.VarChar,50),//货物类型
|
|
|
|
|
new SqlParameter("@GOODSMODEL",SqlDbType.VarChar,100),//牌号
|
|
|
|
|
new SqlParameter("@GOODSSTANDARD",SqlDbType.VarChar,100),//规格
|
|
|
|
|
new SqlParameter("@GOODSPACK",SqlDbType.Decimal),//件数
|
|
|
|
|
new SqlParameter("@CHARGEUNIT",SqlDbType.VarChar,10),//计费单位
|
|
|
|
|
new SqlParameter("@GOODSRKSL",SqlDbType.Decimal),//入库量
|
|
|
|
|
new SqlParameter("@GOODSSTOCK",SqlDbType.Decimal) ,//库存量
|
|
|
|
|
new SqlParameter("@ISLOCK",SqlDbType.Bit),//是否锁定
|
|
|
|
|
new SqlParameter("@LOCKUSER",SqlDbType.VarChar,36),//锁定操作人
|
|
|
|
|
new SqlParameter("@ISDELETE",SqlDbType.Bit),//是否废除
|
|
|
|
|
new SqlParameter("@DELETEUSER",SqlDbType.VarChar,36),//废除操作人
|
|
|
|
|
new SqlParameter("@CREATEUSER",SqlDbType.VarChar,36),//创建人
|
|
|
|
|
new SqlParameter("@MODIFIEDUSER",SqlDbType.VarChar,36),//最后一次更新操作人
|
|
|
|
|
new SqlParameter("@REMARK",SqlDbType.VarChar,1024),//备注
|
|
|
|
|
new SqlParameter("@FREESTORAGEPERIOD",SqlDbType.Int),//
|
|
|
|
|
new SqlParameter("@GOODSPACKSTOCK",SqlDbType.Decimal),//
|
|
|
|
|
new SqlParameter("@GOODSKGS",SqlDbType.Decimal),//重量
|
|
|
|
|
new SqlParameter("@CLIENTCODEOLD",SqlDbType.VarChar,20),//原客户编码
|
|
|
|
|
new SqlParameter("@CLIENTNAMEOLD",SqlDbType.VarChar,20),//原客户名称
|
|
|
|
|
new SqlParameter("@KINDPKGS",SqlDbType.VarChar,20),//
|
|
|
|
|
new SqlParameter("@ARFEE",SqlDbType.Decimal),//
|
|
|
|
|
new SqlParameter("@APFEE",SqlDbType.Decimal),//
|
|
|
|
|
new SqlParameter("@CORPID",SqlDbType.VarChar,36),
|
|
|
|
|
new SqlParameter("@MARKETVALUE", SqlDbType.Decimal) ,
|
|
|
|
|
new SqlParameter("@BANKVALUE", SqlDbType.Decimal)
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
parms[0].Value = WmsInEntity.GID;// 惟一编号
|
|
|
|
|
parms[1].Value = WmsInEntity.ASSOCIATEDNO;// 关联号
|
|
|
|
|
parms[2].Value = WmsInEntity.BLNO;// 提单号
|
|
|
|
|
parms[3].Value = WmsInEntity.CONTRACTNO;// 合同号
|
|
|
|
|
parms[4].Value = WmsInEntity.CNTRNO;// 箱号
|
|
|
|
|
parms[5].Value = WmsInEntity.SEALNO;// 封号
|
|
|
|
|
parms[6].Value = WmsInEntity.BSNO;// 仓单明细号
|
|
|
|
|
parms[7].Value = WmsInEntity.CLIENTCODE;// 客户编码
|
|
|
|
|
parms[8].Value = WmsInEntity.CLIENTNAME;// 客户名称
|
|
|
|
|
parms[9].Value = WmsInEntity.STORAGECODE;// 仓库编码
|
|
|
|
|
parms[10].Value = WmsInEntity.STORAGENAME;// 仓库名称
|
|
|
|
|
parms[11].Value = WmsInEntity.AREACODE;// 库位编码
|
|
|
|
|
parms[12].Value = WmsInEntity.AREANAME;// 库位名称
|
|
|
|
|
parms[13].Value = WmsInEntity.GOODSCODE;// 货物编号
|
|
|
|
|
parms[14].Value = WmsInEntity.GOODSNAME;// 货物名称
|
|
|
|
|
parms[15].Value = WmsInEntity.GOODSTYPE;// 货物类型
|
|
|
|
|
parms[16].Value = WmsInEntity.GOODSMODEL;// 牌号
|
|
|
|
|
parms[17].Value = WmsInEntity.GOODSSTANDARD;// 规格
|
|
|
|
|
parms[18].Value = WmsInEntity.GOODSPACK;// 件数
|
|
|
|
|
parms[19].Value = WmsInEntity.CHARGEUNIT;// 计费单位
|
|
|
|
|
parms[20].Value = WmsInEntity.GOODSRKSL;// 入库量
|
|
|
|
|
parms[21].Value = WmsInEntity.GOODSSTOCK;// 库存量
|
|
|
|
|
parms[22].Value = WmsInEntity.ISLOCK;// 是否锁定
|
|
|
|
|
parms[23].Value = WmsInEntity.LOCKUSER;// 锁定操作人
|
|
|
|
|
parms[24].Value = WmsInEntity.ISDELETE;// 是否废除
|
|
|
|
|
parms[25].Value = WmsInEntity.DELETEUSER;// 废除操作人
|
|
|
|
|
parms[26].Value = WmsInEntity.CREATEUSER;// 创建人
|
|
|
|
|
parms[27].Value = WmsInEntity.MODIFIEDUSER;// 最后一次更新操作人
|
|
|
|
|
parms[28].Value = WmsInEntity.REMARK;// 备注
|
|
|
|
|
parms[29].Value = WmsInEntity.FREESTORAGEPERIOD;//
|
|
|
|
|
parms[30].Value = WmsInEntity.GOODSPACKSTOCK;//
|
|
|
|
|
parms[31].Value = WmsInEntity.GOODSKGS;// 重量
|
|
|
|
|
parms[32].Value = WmsInEntity.CLIENTCODEOLD;// 客户编码
|
|
|
|
|
parms[33].Value = WmsInEntity.CLIENTNAMEOLD;// 客户名称
|
|
|
|
|
parms[34].Value = WmsInEntity.KINDPKGS;//
|
|
|
|
|
parms[35].Value = WmsInEntity.ARFEE;//
|
|
|
|
|
parms[36].Value = WmsInEntity.APFEE;//
|
|
|
|
|
parms[37].Value = WmsInEntity.CORPID;//
|
|
|
|
|
parms[38].Value = WmsInEntity.MARKETVALUE;
|
|
|
|
|
parms[39].Value = WmsInEntity.BANKVALUE;
|
|
|
|
|
//
|
|
|
|
|
lsSql = "insert into wms_in(GID,ASSOCIATEDNO,BLNO,CONTRACTNO,CNTRNO,SEALNO,BSNO,CLIENTCODE,CLIENTNAME,{0}STORAGECODE,STORAGENAME,AREACODE,AREANAME,GOODSCODE,GOODSNAME,GOODSTYPE,GOODSMODEL,GOODSSTANDARD,GOODSPACK,CHARGEUNIT,GOODSRKSL,GOODSSTOCK,ISLOCK,LOCKUSER,ISDELETE,DELETEUSER,CREATEUSER,CREATETIME,MODIFIEDUSER,MODIFIEDTIME,REMARK,FREESTORAGEPERIOD,GOODSPACKSTOCK,GOODSKGS,CLIENTCODEOLD,CLIENTNAMEOLD,KINDPKGS,ARFEE,APFEE,LOCKTIME,CORPID,MARKETVALUE,BANKVALUE,LINENUM) "
|
|
|
|
|
+ " values(@GID,@ASSOCIATEDNO,@BLNO,@CONTRACTNO,@CNTRNO,@SEALNO,@BSNO,@CLIENTCODE,@CLIENTNAME,{1}@STORAGECODE,@STORAGENAME,@AREACODE,@AREANAME,@GOODSCODE,@GOODSNAME,@GOODSTYPE,@GOODSMODEL,@GOODSSTANDARD,@GOODSPACK,@CHARGEUNIT,@GOODSRKSL,@GOODSSTOCK,@ISLOCK,@LOCKUSER,@ISDELETE,@DELETEUSER,@CREATEUSER,getdate(),@MODIFIEDUSER,getdate(),@REMARK,@FREESTORAGEPERIOD,@GOODSPACKSTOCK,@GOODSKGS,@CLIENTCODEOLD,@CLIENTNAMEOLD,@KINDPKGS,@ARFEE,@APFEE,getdate(),@CORPID,@MARKETVALUE,@BANKVALUE," + n + ")";
|
|
|
|
|
//
|
|
|
|
|
string strDODATE = model.DODATE.ToString().IndexOf("0001") > -1 ? "" : "'" + model.DODATE.ToString() + "',";
|
|
|
|
|
string strDODATE_name = strDODATE.Equals("") ? "" : "DODATE,";
|
|
|
|
|
lsSql = String.Format(lsSql, strDODATE_name, strDODATE);
|
|
|
|
|
//
|
|
|
|
|
iState = SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, lsSql, parms);
|
|
|
|
|
if (iState != 1)
|
|
|
|
|
{
|
|
|
|
|
sqlTran.Rollback();
|
|
|
|
|
result = -9;
|
|
|
|
|
Clearh();
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
//
|
|
|
|
|
#endregion
|
|
|
|
|
//
|
|
|
|
|
this.h_newcust.Value = WmsInEntity.CLIENTNAME;
|
|
|
|
|
this.h_IsSetRate.Value = "1"; //货权转移,可以设置费率
|
|
|
|
|
|
|
|
|
|
result = 1;//状态为1表示删除成功
|
|
|
|
|
sqlTran.Commit();
|
|
|
|
|
Page.ClientScript.RegisterStartupScript(this.GetType(), "key1", "<script>reloadParent('" + WmsOutEntity.GID.ToString().Trim() + "','edit','" + WmsEntity.GID.ToString().Trim() + "','" + WmsEntity.ASSOCIATEDNO.ToString().Trim() + "','0');</script>");
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
}
|
|
|
|
|
catch (Exception execError)
|
|
|
|
|
{
|
|
|
|
|
result = -1;//有异常,插入失败
|
|
|
|
|
sqlTran.Rollback();
|
|
|
|
|
result = -2;//插入异常,事务已回滚成功
|
|
|
|
|
Clearh();
|
|
|
|
|
throw execError;
|
|
|
|
|
}
|
|
|
|
|
finally
|
|
|
|
|
{
|
|
|
|
|
SqlHelper.CloseConnection();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return result;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 将页面post获取的出库信息读入到实体类中
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 将页面post获取的出库信息读入到实体类中
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="tempJSON"></param>
|
|
|
|
|
/// <param name="tempFeeEntities"></param>
|
|
|
|
|
/// <returns>将页面post获取的出库信息读入到实体类中</returns>
|
|
|
|
|
private WmsOutEntity ResolveWoJSON(string tempJSON, WmsOutEntity tempWoEntity)
|
|
|
|
|
{
|
|
|
|
|
string OutGid = "";
|
|
|
|
|
string OutBsno = "";
|
|
|
|
|
DateTime OutDate = new DateTime();
|
|
|
|
|
string strFilter = "";
|
|
|
|
|
WmsOutEntity WmsOutEntity = new WmsOutEntity();
|
|
|
|
|
if (tempJSON.IndexOf("[") >= 0 && tempJSON.IndexOf("]") > 0)
|
|
|
|
|
{
|
|
|
|
|
strFilter = tempJSON.Substring(tempJSON.IndexOf("[") + 1, tempJSON.IndexOf("]") - tempJSON.IndexOf("[") - 1);
|
|
|
|
|
|
|
|
|
|
string[] strFees = strFilter.Split(new string[] { "},{" }, System.StringSplitOptions.RemoveEmptyEntries);
|
|
|
|
|
if (strFees.Length > 0)
|
|
|
|
|
{
|
|
|
|
|
for (int i = 0; i < strFees.Length; i++)
|
|
|
|
|
{
|
|
|
|
|
strFees[i] = strFees[i].ToString().Replace("{", "");
|
|
|
|
|
strFees[i] = strFees[i].ToString().Replace("}", "");
|
|
|
|
|
string[] strCell = strFees[i].Split(new char[] { ',' });
|
|
|
|
|
|
|
|
|
|
if (strCell.Length > 0)
|
|
|
|
|
{
|
|
|
|
|
for (int j = 0; j < strCell.Length; j++)
|
|
|
|
|
{
|
|
|
|
|
string[] strArg = strCell[j].Split(new char[] { ':' });
|
|
|
|
|
switch (strArg[0].Replace("\"", ""))
|
|
|
|
|
{
|
|
|
|
|
case "cust":
|
|
|
|
|
//WmsOutEntity.CUSTOMERNAME = UnicodeToGB(strArg[1].ToString().Replace("\"", ""));
|
|
|
|
|
WmsOutEntity.CUSTOMERNAME = unicode.GetString(unicode.GetBytes(Regex.Unescape(strArg[1].ToString().Replace("\"", "").Trim())));
|
|
|
|
|
h_customer.Value = WmsOutEntity.CUSTOMERNAME;
|
|
|
|
|
break;
|
|
|
|
|
case "outcus":
|
|
|
|
|
WmsOutEntity.CLIENTNAMEOLD = UnicodeToGB(strArg[1].ToString().Replace("\"", ""));
|
|
|
|
|
h_outcustomer.Value = WmsOutEntity.CLIENTNAMEOLD;
|
|
|
|
|
break;
|
|
|
|
|
//case "cusold":
|
|
|
|
|
// cusold = UnicodeToGB(strArg[1].ToString().Replace("\"", ""));
|
|
|
|
|
// break;
|
|
|
|
|
case "outdate":
|
|
|
|
|
WmsOutEntity.DODATE =DateTime.Parse(strArg[1].ToString().Replace("\"", ""));
|
|
|
|
|
OutDate = WmsOutEntity.DODATE;
|
|
|
|
|
h_outdate.Value = WmsOutEntity.DODATE.ToString();
|
|
|
|
|
break;
|
|
|
|
|
case "goodsname":
|
|
|
|
|
//WmsOutEntity.GOODSNAME = UnicodeToGB(strArg[1].ToString().Replace("\"", "").Trim());
|
|
|
|
|
WmsOutEntity.GOODSNAME = unicode.GetString(unicode.GetBytes(Regex.Unescape(strArg[1].ToString().Replace("\"", "").Trim())));
|
|
|
|
|
h_goods.Value = WmsOutEntity.GOODSNAME;
|
|
|
|
|
break;
|
|
|
|
|
case "goodsmodel":
|
|
|
|
|
//WmsOutEntity.GOODSMODEL = UnicodeToGB(strArg[1].ToString().Replace("\"", "").Trim());
|
|
|
|
|
WmsOutEntity.GOODSMODEL = unicode.GetString(unicode.GetBytes(Regex.Unescape(strArg[1].ToString().Replace("\"", "").Trim())));
|
|
|
|
|
this.h_goodsmodel.Value = WmsOutEntity.GOODSMODEL;
|
|
|
|
|
txt_goodsmodel.Value = h_goodsmodel.Value;
|
|
|
|
|
break;
|
|
|
|
|
case "outnum":
|
|
|
|
|
Decimal tmpoutnum = Decimal.Parse(strArg[1].ToString().Replace("\"", "").Trim());
|
|
|
|
|
WmsOutEntity.GOODSPFSL =decimal.Parse( Round(tmpoutnum, 4).ToString());
|
|
|
|
|
this.h_goodspfsl.Value = WmsOutEntity.GOODSPFSL.ToString();
|
|
|
|
|
//this.txt_goodspfsl.Value = this.h_goodspfsl.Value;
|
|
|
|
|
break;
|
|
|
|
|
case "outpacknum":
|
|
|
|
|
decimal outpacknum= decimal.Parse(strArg[1].ToString().Replace("\"", ""));
|
|
|
|
|
WmsOutEntity.GOODSPACKPFSL =Convert.ToInt16( Math.Round(outpacknum,0));
|
|
|
|
|
this.h_packnum.Value = WmsOutEntity.GOODSPACKPFSL.ToString();
|
|
|
|
|
//this.txt_packnum.Value = this.h_packnum.Value;
|
|
|
|
|
break;
|
|
|
|
|
case "remark":
|
|
|
|
|
//WmsOutEntity.REMARK = UnicodeToGB(strArg[1].ToString().Replace("\"", "").Trim());
|
|
|
|
|
WmsOutEntity.REMARK = unicode.GetString(unicode.GetBytes(Regex.Unescape(strArg[1].ToString().Replace("\"", "").Trim())));
|
|
|
|
|
this.h_remark.Value = WmsOutEntity.REMARK.ToString().Trim();
|
|
|
|
|
this.txt_remark.Value = WmsOutEntity.REMARK.ToString().Trim();
|
|
|
|
|
break;
|
|
|
|
|
case "inspectionno":
|
|
|
|
|
WmsOutEntity.INSPECTIONNO = UnicodeToGB(strArg[1].ToString().Replace("\"", "").Trim());
|
|
|
|
|
this.txt_inspectionno.Value = WmsOutEntity.INSPECTIONNO;
|
|
|
|
|
break;
|
|
|
|
|
case "validdate":
|
|
|
|
|
WmsOutEntity.VALIDDATE = DateTime.Parse(strArg[1].ToString().Replace("\"", "").Trim() == "" ? "0001-01-01 00:00:00" : strArg[1].ToString().Replace("\"", "").Trim());
|
|
|
|
|
this.txt_inspectionno.Value = strArg[1].ToString().Replace("\"", "").Trim();
|
|
|
|
|
break;
|
|
|
|
|
case "remark2":
|
|
|
|
|
//WmsOutEntity.REMARK2 = UnicodeToGB(strArg[1].ToString().Replace("\"", "").Trim());
|
|
|
|
|
WmsOutEntity.REMARK2 = unicode.GetString(unicode.GetBytes(Regex.Unescape(strArg[1].ToString().Replace("\"", "").Trim())));
|
|
|
|
|
this.txt_inspectionno.Value = WmsOutEntity.REMARK2;
|
|
|
|
|
break;
|
|
|
|
|
case "totalno":
|
|
|
|
|
//WmsOutEntity.TOTALNO = UnicodeToGB(strArg[1].ToString().Replace("\"", "").Trim());
|
|
|
|
|
WmsOutEntity.TOTALNO = unicode.GetString(unicode.GetBytes(Regex.Unescape(strArg[1].ToString().Replace("\"", "").Trim())));
|
|
|
|
|
this.txt_totalno.Value = WmsOutEntity.TOTALNO;
|
|
|
|
|
break;
|
|
|
|
|
case "clientbsno":
|
|
|
|
|
WmsOutEntity.CLIENTBSNO = UnicodeToGB(strArg[1].ToString().Replace("\"", "").Trim());
|
|
|
|
|
this.txt_clientbsno.Value = WmsOutEntity.CLIENTBSNO;
|
|
|
|
|
break;
|
|
|
|
|
case "customno":
|
|
|
|
|
WmsOutEntity.CUSTOMNO = UnicodeToGB(strArg[1].ToString().Replace("\"", "").Trim());
|
|
|
|
|
this.txt_customno.Value = WmsOutEntity.CUSTOMNO;
|
|
|
|
|
break;
|
|
|
|
|
case "truckno":
|
|
|
|
|
//WmsOutEntity.TRUCKNO = UnicodeToGB(strArg[1].ToString().Replace("\"", "").Trim());
|
|
|
|
|
WmsOutEntity.TRUCKNO = unicode.GetString(unicode.GetBytes(Regex.Unescape(strArg[1].ToString().Replace("\"", "").Trim())));
|
|
|
|
|
this.h_truckno.Value = WmsOutEntity.TRUCKNO.ToString().Trim();
|
|
|
|
|
break;
|
|
|
|
|
case "storage":
|
|
|
|
|
//WmsOutEntity.STORAGENAME = UnicodeToGB(strArg[1].ToString().Replace("\"", "").Trim());
|
|
|
|
|
WmsOutEntity.STORAGENAME = unicode.GetString(unicode.GetBytes(Regex.Unescape(strArg[1].ToString().Replace("\"", "").Trim())));
|
|
|
|
|
this.h_storage.Value = WmsOutEntity.STORAGENAME;
|
|
|
|
|
break;
|
|
|
|
|
case "arclient"://应收
|
|
|
|
|
WmsOutEntity.ARCLIENT = UnicodeToGB(strArg[1].ToString().Replace("\"", ""));
|
|
|
|
|
hd_comboARCLIENT.Value = WmsOutEntity.ARCLIENT;
|
|
|
|
|
//if (hd_comboARCLIENT.Value.Trim() == "" && this.h_storage.Value.Trim() != "")
|
|
|
|
|
//{
|
|
|
|
|
// WmsOutEntity.ARCLIENT = this.h_storage.Value.Trim();
|
|
|
|
|
// hd_comboARCLIENT.Value = this.h_storage.Value.Trim();
|
|
|
|
|
//}
|
|
|
|
|
break;
|
|
|
|
|
case "arclientwmsout"://应收
|
|
|
|
|
WmsOutEntity.ARCLIENTWMSOUT = UnicodeToGB(strArg[1].ToString().Replace("\"", ""));
|
|
|
|
|
hd_comboARCLIENTWMSOUT.Value = WmsOutEntity.ARCLIENTWMSOUT;
|
|
|
|
|
break;
|
|
|
|
|
case "truckname"://应付
|
|
|
|
|
WmsOutEntity.TRUCKNAME = UnicodeToGB(strArg[1].ToString().Replace("\"", ""));
|
|
|
|
|
hd_comboTRUCKNAME.Value = WmsOutEntity.TRUCKNAME;
|
|
|
|
|
//if (hd_comboTRUCKNAME.Value.Trim() == "" && this.h_storage.Value.Trim() != "")
|
|
|
|
|
//{
|
|
|
|
|
// WmsOutEntity.TRUCKNAME = this.h_storage.Value.Trim();
|
|
|
|
|
// hd_comboTRUCKNAME.Value = this.h_storage.Value.Trim();
|
|
|
|
|
//}
|
|
|
|
|
break;
|
|
|
|
|
case "opseaibsno":
|
|
|
|
|
WmsOutEntity.ASSOCIATEDNO = strArg[1].ToString().Replace("\"", "").Trim();
|
|
|
|
|
this.h_opseaibsno.Value = WmsOutEntity.ASSOCIATEDNO;
|
|
|
|
|
this.h_associatedno.Value = WmsOutEntity.ASSOCIATEDNO;
|
|
|
|
|
this.h_bsno.Value = WmsOutEntity.ASSOCIATEDNO;
|
|
|
|
|
break;
|
|
|
|
|
case "isJsFee":
|
|
|
|
|
this.ck_jsfee.Checked = bool.Parse(strArg[1].ToString().Replace("\"", ""));
|
|
|
|
|
break;
|
|
|
|
|
case "oldcustfeedate":
|
|
|
|
|
this.txt_oldcustFeeDate.Value = strArg[1].ToString().Replace("\"", "");
|
|
|
|
|
WmsOutEntity.OLDCUSTFEEDATE = this.txt_oldcustFeeDate.Value.Trim() == "0001-01-01 00:00:00" ? DateTime.Parse("") : DateTime.Parse(this.txt_oldcustFeeDate.Value.Trim());
|
|
|
|
|
break;
|
|
|
|
|
case "mblnonew":
|
|
|
|
|
//string ls = UnicodeToGB(strArg[1].ToString().Replace("\"", ""));
|
|
|
|
|
string ls = unicode.GetString(unicode.GetBytes(Regex.Unescape(strArg[1].ToString().Replace("\"", ""))));
|
|
|
|
|
ls = ls.Replace("·","/");
|
|
|
|
|
this.h_mblnonew.Value = ls;
|
|
|
|
|
WmsOutEntity.MBLNONEW = this.h_mblnonew.Value.Trim();
|
|
|
|
|
break;
|
|
|
|
|
case "chargeunit":
|
|
|
|
|
WmsOutEntity.CHARGEUNIT = unicode.GetString(unicode.GetBytes(Regex.Unescape(strArg[1].ToString().Replace("\"", ""))));
|
|
|
|
|
break;
|
|
|
|
|
case "bztchno":
|
|
|
|
|
WmsOutEntity.BZTCHNO = unicode.GetString(unicode.GetBytes(Regex.Unescape(strArg[1].ToString().Replace("\"", ""))));
|
|
|
|
|
break;
|
|
|
|
|
case "iscollecting":
|
|
|
|
|
WmsOutEntity.ISCOLLECTING = Boolean.Parse(strArg[1].ToString().Replace("\"", ""));
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (this.h_storage.Value.Equals(null) || this.h_storage.Value.Trim().Equals(""))
|
|
|
|
|
{
|
|
|
|
|
WmsOutEntity.STORAGENAME = "";
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
WmsOutEntity.STORAGENAME = this.h_storage.Value.Trim();
|
|
|
|
|
}
|
|
|
|
|
WmsOutEntity.CREATEUSER = strShowName;
|
|
|
|
|
//if ((this.txt_outbsno.Value.Trim().Equals("") || this.txt_outbsno.Value.Equals(null)) || this.h_addmode.Value.Equals("1"))
|
|
|
|
|
if (this.h_Handle.Value.Trim().Equals("edit"))
|
|
|
|
|
{
|
|
|
|
|
OutBsno = this.txt_outbsno.Value.Trim();
|
|
|
|
|
this.h_outbsno.Value = OutBsno;
|
|
|
|
|
OutGid = this.h_outgid.Value.Trim();
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
OutGid= getBSNO();
|
|
|
|
|
OutBsno = getCodeRuleWmsOut("出库单号", "BSNO");
|
|
|
|
|
this.h_outgid.Value = OutGid;
|
|
|
|
|
this.h_outbsno.Value = OutBsno;
|
|
|
|
|
this.txt_outbsno.Value = OutBsno;
|
|
|
|
|
}
|
|
|
|
|
WmsOutEntity.GID = OutGid;
|
|
|
|
|
WmsOutEntity.BSNO = OutBsno;
|
|
|
|
|
|
|
|
|
|
//WmsOutEntity.STORAGENAME = h_storage.Value;
|
|
|
|
|
//WmsOutEntity.TRUCKNO = h_truckno.Value;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return WmsOutEntity;
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 将页面post获取的出库明细信息读入到实体类中
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 将页面post获取的出库明细信息读入到实体类中
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="tempJSON"></param>
|
|
|
|
|
/// <param name="tempFeeEntities"></param>
|
|
|
|
|
/// <returns>将页面post获取的出库信息读入到实体类中</returns>
|
|
|
|
|
private IList<WmsOutDetailEntity> ResolveWoDetailJSON(string tempJSON, IList<WmsOutDetailEntity> tempWoDetailEntities)
|
|
|
|
|
{
|
|
|
|
|
string strFilter = "";
|
|
|
|
|
if (tempJSON.IndexOf("[") >= 0 && tempJSON.IndexOf("]") > 0)
|
|
|
|
|
{
|
|
|
|
|
strFilter = tempJSON.Substring(tempJSON.IndexOf("[") + 1, tempJSON.IndexOf("]") - tempJSON.IndexOf("[") - 1);
|
|
|
|
|
|
|
|
|
|
string[] strFees = strFilter.Split(new string[] { "},{" }, System.StringSplitOptions.RemoveEmptyEntries);
|
|
|
|
|
if (strFees.Length > 0)
|
|
|
|
|
{
|
|
|
|
|
for (int i = 0; i < strFees.Length; i++)
|
|
|
|
|
{
|
|
|
|
|
strFees[i] = strFees[i].ToString().Replace("{", "");
|
|
|
|
|
strFees[i] = strFees[i].ToString().Replace("}", "");
|
|
|
|
|
string[] strCell = strFees[i].Split(new char[] { ',' });
|
|
|
|
|
|
|
|
|
|
if (strCell.Length > 0)
|
|
|
|
|
{
|
|
|
|
|
WmsOutDetailEntity WmsOutDetailEntity = new WmsOutDetailEntity();
|
|
|
|
|
|
|
|
|
|
for (int j = 0; j < strCell.Length; j++)
|
|
|
|
|
{
|
|
|
|
|
string[] strArg = strCell[j].Split(new char[] { ':' });
|
|
|
|
|
|
|
|
|
|
switch (strArg[0].Replace("\"", ""))
|
|
|
|
|
{
|
|
|
|
|
case "cust":
|
|
|
|
|
//WmsOutDetailEntity.CUSTOMERNAME = UnicodeToGB(strArg[1].ToString().Replace("\"", ""));
|
|
|
|
|
WmsOutDetailEntity.CUSTOMERNAME = unicode.GetString(unicode.GetBytes(Regex.Unescape(strArg[1].ToString().Replace("\"", "").Trim())));
|
|
|
|
|
break;
|
|
|
|
|
case "outcus":
|
|
|
|
|
WmsOutDetailEntity.CLIENTNAMEOLD = UnicodeToGB(strArg[1].ToString().Replace("\"", ""));
|
|
|
|
|
break;
|
|
|
|
|
case "inbsno":
|
|
|
|
|
WmsOutDetailEntity.INBSNO =strArg[1].ToString().Replace("\"", "");
|
|
|
|
|
WmsOutDetailEntity.GOODSSTANDARD = T_ALL_DA.GetStrSQL("GOODSSTANDARD", "select top 1 GOODSSTANDARD from wms where gid='" + WmsOutDetailEntity.INBSNO.ToString() + "'");
|
|
|
|
|
WmsOutDetailEntity.BZTCHNO = T_ALL_DA.GetStrSQL("BZTCHNO", "select top 1 BZTCHNO from wms where gid='" + WmsOutDetailEntity.INBSNO.ToString() + "'");
|
|
|
|
|
break;
|
|
|
|
|
case "wmsoutdetailgid":
|
|
|
|
|
string wmsoutdetailgid = strArg[1].ToString().Replace("\"", "");
|
|
|
|
|
if(wmsoutdetailgid.Trim()!="")
|
|
|
|
|
{
|
|
|
|
|
WmsOutDetailEntity.GID = wmsoutdetailgid;
|
|
|
|
|
WmsOutDetailEntity.BSNO = T_ALL_DA.GetStrSQL("BSNO", "select top 1 BSNO from wms_out_detail where gid='" + wmsoutdetailgid + "'");
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case "indate":
|
|
|
|
|
WmsOutDetailEntity.DODATE =DateTime.Parse(strArg[1].ToString().Replace("\"", ""));
|
|
|
|
|
break;
|
|
|
|
|
case "goodsname":
|
|
|
|
|
//WmsOutDetailEntity.GOODSNAME = UnicodeToGB(strArg[1].ToString().Replace("\"", "").Trim());
|
|
|
|
|
WmsOutDetailEntity.GOODSNAME = unicode.GetString(unicode.GetBytes(Regex.Unescape(strArg[1].ToString().Replace("\"", "").Trim())));
|
|
|
|
|
break;
|
|
|
|
|
case "goodsmodel":
|
|
|
|
|
//WmsOutDetailEntity.GOODSMODEL = UnicodeToGB(strArg[1].ToString().Replace("\"", "").Trim());
|
|
|
|
|
WmsOutDetailEntity.GOODSMODEL = unicode.GetString(unicode.GetBytes(Regex.Unescape(strArg[1].ToString().Replace("\"", "").Trim())));
|
|
|
|
|
break;
|
|
|
|
|
case "truckno":
|
|
|
|
|
//WmsOutDetailEntity.TRUCKNO = UnicodeToGB(strArg[1].ToString().Replace("\"", ""));
|
|
|
|
|
WmsOutDetailEntity.TRUCKNO = unicode.GetString(unicode.GetBytes(Regex.Unescape(strArg[1].ToString().Replace("\"", "").Trim())));
|
|
|
|
|
break;
|
|
|
|
|
case "storage":
|
|
|
|
|
WmsOutDetailEntity.STORAGENAME = UnicodeToGB(strArg[1].ToString().Replace("\"", "").Trim());
|
|
|
|
|
break;
|
|
|
|
|
case "opseaibsno":
|
|
|
|
|
WmsOutDetailEntity.ASSOCIATEDNO = strArg[1].ToString().Replace("\"", "").Trim();
|
|
|
|
|
break;
|
|
|
|
|
case "outnum":
|
|
|
|
|
Decimal tmpoutnum = strArg[1].ToString().Replace("\"", "").ToString().Trim() == "" ? 0 : Decimal.Parse(strArg[1].ToString().Replace("\"", "").Trim());
|
|
|
|
|
WmsOutDetailEntity.GOODSPFSL = decimal.Parse( Round(tmpoutnum, 4).ToString());
|
|
|
|
|
break;
|
|
|
|
|
case "outpacknum":
|
|
|
|
|
WmsOutDetailEntity.GOODSPACKPFSL = strArg[1].ToString().Replace("\"", "").ToString().Trim() == "" ? 0 : decimal.Parse(strArg[1].ToString().Replace("\"", "").ToString());
|
|
|
|
|
break;
|
|
|
|
|
case "remark":
|
|
|
|
|
//WmsOutDetailEntity.REMARK = UnicodeToGB(strArg[1].ToString().Replace("\"", "").Trim());
|
|
|
|
|
WmsOutDetailEntity.REMARK = unicode.GetString(unicode.GetBytes(Regex.Unescape(strArg[1].ToString().Replace("\"", "").Trim())));
|
|
|
|
|
break;
|
|
|
|
|
case "custparent":
|
|
|
|
|
WmsOutDetailEntity.CUSTOMERNAMEPARENT=strArg[1].ToString().Replace("\"", "").Trim();
|
|
|
|
|
//CustParent.Add(WmsOutDetailEntity.CUSTOMERNAMEPARENT);
|
|
|
|
|
break;
|
|
|
|
|
case "arfee":
|
|
|
|
|
WmsOutDetailEntity.ARFEE = strArg[1].ToString().Replace("\"", "").ToString().Trim() == "" ? 0 : decimal.Parse(strArg[1].ToString().Replace("\"", "").ToString());
|
|
|
|
|
break;
|
|
|
|
|
case "apfee":
|
|
|
|
|
WmsOutDetailEntity.APFEE = strArg[1].ToString().Replace("\"", "").ToString().Trim() == "" ? 0 : decimal.Parse(strArg[1].ToString().Replace("\"", "").ToString());
|
|
|
|
|
break;
|
|
|
|
|
case "startbillingdate":
|
|
|
|
|
WmsOutDetailEntity.STARTBILLINGDATE = strArg[1].ToString().Replace("\"", "") == "" ? DateTime.Parse("0001-01-01 00:00:00") : DateTime.Parse(strArg[1].ToString().Replace("\"", ""));//应收开始计费日期
|
|
|
|
|
if (this.h_isUpdateSTARTBILLINGDATE.Value.Trim() == "1" && WmsOutDetailEntity.INBSNO.ToString().Trim() != "")
|
|
|
|
|
{
|
|
|
|
|
WmsOutDetailEntity.STARTBILLINGDATE = DateTime.Parse(T_ALL_DA.GetStrSQL("STARTBILLINGDATE", "select top 1 convert(char(10),STARTBILLINGDATE,120) as STARTBILLINGDATE from wms where gid='" + WmsOutDetailEntity.INBSNO.ToString().Trim() + "'"));
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case "startbillingdateap":
|
|
|
|
|
WmsOutDetailEntity.STARTBILLINGDATEAP = strArg[1].ToString().Replace("\"", "") == "" ? DateTime.Parse("0001-01-01 00:00:00") : DateTime.Parse(strArg[1].ToString().Replace("\"", ""));//应付开始计费日期
|
|
|
|
|
break;
|
|
|
|
|
case "chargeunit":
|
|
|
|
|
WmsOutDetailEntity.CHARGEUNIT = unicode.GetString(unicode.GetBytes(Regex.Unescape(strArg[1].ToString().Replace("\"", ""))));
|
|
|
|
|
break;
|
|
|
|
|
case "marketvalue":
|
|
|
|
|
WmsOutDetailEntity.MARKETVALUE = strArg[1].ToString().Replace("\"", "").ToString().Trim() == "" ? 0 : decimal.Parse(strArg[1].ToString().Replace("\"", "").ToString());
|
|
|
|
|
break;
|
|
|
|
|
case "areaname":
|
|
|
|
|
//WmsOutDetailEntity.AREANAME = UnicodeToGB(strArg[1].ToString().Replace("\"", "").Trim());
|
|
|
|
|
WmsOutDetailEntity.AREANAME = unicode.GetString(unicode.GetBytes(Regex.Unescape(strArg[1].ToString().Replace("\"", "").Trim())));
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (!this.h_storage.Value.ToString().Equals("") && !this.h_storage.Value.Equals(null))
|
|
|
|
|
{
|
|
|
|
|
WmsOutDetailEntity.STORAGENAME = this.h_storage.Value.ToString();
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
WmsOutDetailEntity.STORAGENAME = " ";
|
|
|
|
|
}
|
|
|
|
|
WmsOutDetailEntity.CREATEUSER =strShowName;
|
|
|
|
|
|
|
|
|
|
tempWoDetailEntities.Add(WmsOutDetailEntity);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return tempWoDetailEntities;
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 统计合计数
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 统计合计数
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="strSearch"></param>
|
|
|
|
|
public void getHJ()
|
|
|
|
|
{
|
|
|
|
|
if (this.h_outgid.Value.Trim() != "")
|
|
|
|
|
{
|
|
|
|
|
this.h_outbsno.Value = T_ALL_DA.GetStrSQL("bsno", "select top 1 bsno from wms_out where gid='" + this.h_outgid.Value.Trim() + "'");
|
|
|
|
|
txt_outbsno.Value = this.h_outbsno.Value;
|
|
|
|
|
this.h_wmsoutbsno.Value = this.h_outbsno.Value;
|
|
|
|
|
//
|
|
|
|
|
DataSet ds = T_ALL_DA.GetAllSQL("select GOODSPACKPFSL=isnull(sum(GOODSPACKPFSL),0),GOODSPFSL=isnull(sum(GOODSPFSL),0),ARFEE=isnull(sum(ARFEE),0),APFEE=isnull(sum(APFEE),0),GOODSOUTFEE=isnull(sum(GOODSOUTFEE),0),GOODSOUTFEEAP=isnull(sum(GOODSOUTFEEAP),0) from wms_out_detail where OUTBSNO='" + this.h_outbsno.Value.Trim() + "'");
|
|
|
|
|
if (ds != null)
|
|
|
|
|
{
|
|
|
|
|
//件数
|
|
|
|
|
this.dvGOODSPACKVal.InnerText = ds.Tables[0].Rows[0]["GOODSPACKPFSL"].ToString().Trim();
|
|
|
|
|
//this.txt_packnum.Value = ds.Tables[0].Rows[0]["GOODSPACKPFSL"].ToString().Trim();
|
|
|
|
|
this.h_packnum.Value = ds.Tables[0].Rows[0]["GOODSPACKPFSL"].ToString().Trim();
|
|
|
|
|
//计费数量
|
|
|
|
|
this.dvProfitTotalVal.InnerText = ds.Tables[0].Rows[0]["GOODSPFSL"].ToString().Trim();
|
|
|
|
|
this.h_outnum.Value = ds.Tables[0].Rows[0]["GOODSPFSL"].ToString().Trim();
|
|
|
|
|
this.h_goodspfsl.Value = this.h_outnum.Value.Trim();
|
|
|
|
|
//this.txt_goodspfsl.Value = this.h_outnum.Value.Trim();
|
|
|
|
|
//出库应收
|
|
|
|
|
this.dvRecvTotalVal.InnerText = ds.Tables[0].Rows[0]["ARFEE"].ToString().Trim();
|
|
|
|
|
//出库应付
|
|
|
|
|
this.dvPaySumVal.InnerText = ds.Tables[0].Rows[0]["APFEE"].ToString().Trim();
|
|
|
|
|
//仓储费应收
|
|
|
|
|
this.dvRVal.InnerText = ds.Tables[0].Rows[0]["GOODSOUTFEE"].ToString().Trim();
|
|
|
|
|
this.h_outfee.Value = ds.Tables[0].Rows[0]["GOODSOUTFEE"].ToString().Trim();
|
|
|
|
|
//仓储费应付
|
|
|
|
|
this.dvPVal.InnerText = ds.Tables[0].Rows[0]["GOODSOUTFEEAP"].ToString().Trim();
|
|
|
|
|
}
|
|
|
|
|
//
|
|
|
|
|
ds = T_ALL_DA.GetAllSQL("select *,convert(char(10),DODATE,20) as DODATE2,convert(char(10),OLDCUSTFEEDATE,20) as OLDCUSTFEEDATE2,(case when isnull(VALIDDATE,'')='' then '' else convert(char(10),VALIDDATE,20) end) as VALIDDATE2 from wms_out where gid='" + this.h_outgid.Value.Trim() + "'");
|
|
|
|
|
if (ds != null)
|
|
|
|
|
{
|
|
|
|
|
this.h_customer.Value = ds.Tables[0].Rows[0]["CUSTOMERNAME"].ToString().Trim();
|
|
|
|
|
this.txt_customer.Value = this.h_customer.Value;
|
|
|
|
|
this.h_outdate.Value = ds.Tables[0].Rows[0]["DODATE2"].ToString().Trim();
|
|
|
|
|
this.txt_outdate.Value = h_outdate.Value;
|
|
|
|
|
this.h_storage.Value = ds.Tables[0].Rows[0]["STORAGENAME"].ToString().Trim();
|
|
|
|
|
this.txt_storage.Value = this.h_storage.Value;
|
|
|
|
|
this.h_goods.Value = ds.Tables[0].Rows[0]["GOODSNAME"].ToString().Trim();
|
|
|
|
|
this.txt_goods.Value = this.h_goods.Value;
|
|
|
|
|
this.h_goodsmodel.Value = ds.Tables[0].Rows[0]["GOODSMODEL"].ToString().Trim();
|
|
|
|
|
this.txt_goodsmodel.Value = h_goodsmodel.Value;
|
|
|
|
|
this.h_storage.Value = ds.Tables[0].Rows[0]["STORAGENAME"].ToString().Trim();
|
|
|
|
|
this.h_remark.Value = ds.Tables[0].Rows[0]["REMARK"].ToString().Trim();
|
|
|
|
|
this.txt_remark.Value = this.h_remark.Value.Trim();
|
|
|
|
|
this.h_associatedno.Value = ds.Tables[0].Rows[0]["ASSOCIATEDNO"].ToString().Trim();
|
|
|
|
|
this.h_opseaibsno.Value = h_associatedno.Value;
|
|
|
|
|
this.h_bsno.Value = h_associatedno.Value;
|
|
|
|
|
if (this.h_opseaibsno.Value.Trim() == "")
|
|
|
|
|
{
|
|
|
|
|
this.txt_blno.Value = T_ALL_DA.GetStrSQL("BLNO", "select top 1 BLNO from wms where gid in (select inbsno from wms_out_detail where outbsno='" + ds.Tables[0].Rows[0]["bsno"].ToString().Trim() + "')");
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
this.txt_blno.Value = T_ALL_DA.GetStrSQL("MBLNO", "select top 1 MBLNO from VW_Settlement where bsno='" + this.h_opseaibsno.Value.Trim() + "'");
|
|
|
|
|
}
|
|
|
|
|
this.h_outcustomer.Value = ds.Tables[0].Rows[0]["CLIENTNAMEOLD"].ToString().Trim();
|
|
|
|
|
this.h_newcust.Value = this.h_outcustomer.Value;
|
|
|
|
|
this.sel_outcustomer.Value = this.h_outcustomer.Value;
|
|
|
|
|
this.h_mblnonew.Value = ds.Tables[0].Rows[0]["MBLNONEW"].ToString().Trim();
|
|
|
|
|
this.hd_comboARCLIENT.Value = ds.Tables[0].Rows[0]["ARCLIENT"].ToString().Trim();
|
|
|
|
|
this.hd_comboARCLIENTWMSOUT.Value = ds.Tables[0].Rows[0]["ARCLIENTWMSOUT"].ToString().Trim();
|
|
|
|
|
this.hd_comboTRUCKNAME.Value = ds.Tables[0].Rows[0]["TRUCKNAME"].ToString().Trim();
|
|
|
|
|
this.txt_customno.Value = ds.Tables[0].Rows[0]["CUSTOMNO"].ToString().Trim();
|
|
|
|
|
this.txt_inspectionno.Value = ds.Tables[0].Rows[0]["INSPECTIONNO"].ToString().Trim();
|
|
|
|
|
this.txt_validdate.Value = ds.Tables[0].Rows[0]["VALIDDATE2"].ToString().Trim();
|
|
|
|
|
this.txt_remark2.Value = ds.Tables[0].Rows[0]["REMARK2"].ToString().Trim();
|
|
|
|
|
this.txt_totalno.Value = ds.Tables[0].Rows[0]["TOTALNO"].ToString().Trim();
|
|
|
|
|
this.txt_clientbsno.Value = ds.Tables[0].Rows[0]["CLIENTBSNO"].ToString().Trim();
|
|
|
|
|
this.txt_oldcustFeeDate.Value = ds.Tables[0].Rows[0]["OLDCUSTFEEDATE2"].ToString().Trim();
|
|
|
|
|
this.txt_outdate.Value = ds.Tables[0].Rows[0]["DODATE2"].ToString().Trim();
|
|
|
|
|
this.txt_bztchno.Value = ds.Tables[0].Rows[0]["BZTCHNO"].ToString().Trim();
|
|
|
|
|
this.cbISCOLLECTING.Checked = Boolean.Parse(ds.Tables[0].Rows[0]["ISCOLLECTING"].ToString().Trim());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 是否允许改
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 是否允许改
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="strSearch"></param>
|
|
|
|
|
public void setIsDisabled(bool isdisabled, bool ishdRangeO, bool islock)
|
|
|
|
|
{
|
|
|
|
|
this.h_isdisabled.Value = isdisabled.ToString();
|
|
|
|
|
//
|
|
|
|
|
Div7.Disabled = isdisabled;
|
|
|
|
|
Div8.Disabled = isdisabled;
|
|
|
|
|
btn_Out.Disabled = isdisabled;
|
|
|
|
|
ck_jsfee.Disabled = isdisabled;
|
|
|
|
|
mygrid_container_wmsin.Disabled = isdisabled;
|
|
|
|
|
btislock.Disabled = isdisabled;
|
|
|
|
|
btnotislock.Disabled = isdisabled;
|
|
|
|
|
//
|
|
|
|
|
//货主名称
|
|
|
|
|
sel_customer.Visible = false;
|
|
|
|
|
txt_customer.Visible = true;
|
|
|
|
|
txt_customer.Disabled = true;
|
|
|
|
|
//提单号
|
|
|
|
|
txt_blno.Disabled = true;
|
|
|
|
|
//仓库名称
|
|
|
|
|
sel_storage.Visible = false;
|
|
|
|
|
txt_storage.Visible = true;
|
|
|
|
|
txt_storage.Disabled = true;
|
|
|
|
|
//出库单号
|
|
|
|
|
txt_outbsno.Disabled = true;
|
|
|
|
|
//品名
|
|
|
|
|
sel_goods.Visible = false;
|
|
|
|
|
txt_goods.Visible = true;
|
|
|
|
|
txt_goods.Disabled = true;
|
|
|
|
|
//牌号
|
|
|
|
|
txt_goodsmodel.Disabled = true;
|
|
|
|
|
//
|
|
|
|
|
//应收仓储客户
|
|
|
|
|
ddlARCLIENTWMSOUT.Disabled = isdisabled;
|
|
|
|
|
//应收出库客户
|
|
|
|
|
ddlARCLIENT.Disabled = isdisabled;
|
|
|
|
|
//应付客户
|
|
|
|
|
ddlTRUCKNAME.Disabled = isdisabled;
|
|
|
|
|
//出库日期
|
|
|
|
|
txt_outdate.Disabled = isdisabled;
|
|
|
|
|
//结束计费日期
|
|
|
|
|
txt_oldcustFeeDate.Disabled = isdisabled;
|
|
|
|
|
//转移对象
|
|
|
|
|
sel_outcustomer.Disabled = isdisabled;
|
|
|
|
|
//转移单号
|
|
|
|
|
sel_mblnonew.Disabled = isdisabled;
|
|
|
|
|
//备案清单号
|
|
|
|
|
txt_customno.Disabled = isdisabled;
|
|
|
|
|
//重量
|
|
|
|
|
//txt_goodspfsl.Disabled = isdisabled;
|
|
|
|
|
//件数
|
|
|
|
|
//txt_packnum.Disabled = isdisabled;
|
|
|
|
|
//审批单号
|
|
|
|
|
txt_inspectionno.Disabled = isdisabled;
|
|
|
|
|
//有效期
|
|
|
|
|
txt_validdate.Disabled = isdisabled;
|
|
|
|
|
//备注2
|
|
|
|
|
txt_remark2.Disabled = isdisabled;
|
|
|
|
|
//重量大写
|
|
|
|
|
txt_totalno.Disabled = isdisabled;
|
|
|
|
|
//客户仓单号
|
|
|
|
|
txt_clientbsno.Disabled = isdisabled;
|
|
|
|
|
//备注
|
|
|
|
|
txt_remark.Disabled = isdisabled;
|
|
|
|
|
//批次号
|
|
|
|
|
txt_bztchno.Disabled = isdisabled;
|
|
|
|
|
//是否代收费
|
|
|
|
|
this.cbISCOLLECTING.Disabled = isdisabled;
|
|
|
|
|
//
|
|
|
|
|
if (this.h_Handle.Value.Trim() == "edit")
|
|
|
|
|
{
|
|
|
|
|
//刷新
|
|
|
|
|
divrefresh2.Disabled = isdisabled;
|
|
|
|
|
//列表
|
|
|
|
|
mygrid_recv_2.Disabled = isdisabled;
|
|
|
|
|
//更改结束计费日期
|
|
|
|
|
btOldCustFeeDate.Disabled = (!isdisabled);
|
|
|
|
|
if (islock == true)
|
|
|
|
|
{
|
|
|
|
|
btOldCustFeeDate.Disabled = islock;
|
|
|
|
|
btUpdateGOODSOUTFEE.Disabled = islock;
|
|
|
|
|
}
|
|
|
|
|
if (ishdRangeO == true)
|
|
|
|
|
{
|
|
|
|
|
btOldCustFeeDate.Disabled = isdisabled;
|
|
|
|
|
btUpdateGOODSOUTFEE.Disabled = isdisabled;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 仓储操作
|
|
|
|
|
#region 将页面post获取的仓储费率信息保存或更新“仓储费率明细表”wms_rate_detail,并返回操作结果
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 将页面post获取的仓储费率信息保存或更新“仓储费率明细表”wms_rate_detail,并返回操作结果
|
|
|
|
|
/// </summary>
|
|
|
|
|
private void SaveRateAction()
|
|
|
|
|
{
|
|
|
|
|
IList<WmsRateDetailEntity> rateEntities = new List<WmsRateDetailEntity>();
|
|
|
|
|
|
|
|
|
|
if (!recvJSON_2.Trim().Equals(""))
|
|
|
|
|
{
|
|
|
|
|
rateEntities = ResolverecvJSON_2(recvJSON_2.Trim(), rateEntities);
|
|
|
|
|
this.recvContainer_2.Value = "";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
WmsRateDetailDA rateDA = new WmsRateDetailDA();
|
|
|
|
|
foreach (WmsRateDetailEntity rateentity in rateEntities)
|
|
|
|
|
{
|
|
|
|
|
string strwhere = String.Format(" GID='{0}' ", rateentity.GID);
|
|
|
|
|
int strExists = rateDA.GetRecordCount(strwhere);
|
|
|
|
|
if (strExists == 1)
|
|
|
|
|
{
|
|
|
|
|
int iRecvState = rateDA.Update(rateentity, strShowName, this.txt_outbsno.Value.Trim());
|
|
|
|
|
}
|
|
|
|
|
else if (strExists == 0)
|
|
|
|
|
{
|
|
|
|
|
int iRecvState = rateDA.Add(rateentity, strShowName, this.txt_outbsno.Value.Trim());
|
|
|
|
|
}
|
|
|
|
|
//更新出库wms_out、wms_out的仓储费???
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 将页面post获取的仓储费率明细读入到仓储费率明细表实体类wms_rate_detail中
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 将页面post获取的仓储费率明细读入到仓储费率明细表实体类wms_rate_detail中
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="tempJSON"></param>
|
|
|
|
|
/// <param name="tempFeeEntities"></param>
|
|
|
|
|
private IList<WmsRateDetailEntity> ResolverecvJSON_2(string tempJSON, IList<WmsRateDetailEntity> tempRateEntities)
|
|
|
|
|
{
|
|
|
|
|
string strFilter = "";
|
|
|
|
|
if (tempJSON.IndexOf("[") >= 0 && tempJSON.IndexOf("]") > 0)
|
|
|
|
|
{
|
|
|
|
|
strFilter = tempJSON.Substring(tempJSON.IndexOf("[") + 1, tempJSON.IndexOf("]") - tempJSON.IndexOf("[") - 1);
|
|
|
|
|
|
|
|
|
|
string[] strFees = strFilter.Split(new string[] { "},{" }, System.StringSplitOptions.RemoveEmptyEntries);
|
|
|
|
|
if (strFees.Length > 0)
|
|
|
|
|
{
|
|
|
|
|
for (int i = 0; i < strFees.Length; i++)
|
|
|
|
|
{
|
|
|
|
|
strFees[i] = strFees[i].ToString().Replace("{", "");
|
|
|
|
|
strFees[i] = strFees[i].ToString().Replace("}", "");
|
|
|
|
|
string[] strCell = strFees[i].Split(new char[] { ',' });
|
|
|
|
|
|
|
|
|
|
if (strCell.Length > 0)
|
|
|
|
|
{
|
|
|
|
|
WmsRateDetailEntity RateEntity = new WmsRateDetailEntity();
|
|
|
|
|
|
|
|
|
|
for (int j = 0; j < strCell.Length; j++)
|
|
|
|
|
{
|
|
|
|
|
string[] strArg = strCell[j].Split(new char[] { ':' });
|
|
|
|
|
|
|
|
|
|
switch (strArg[0].Replace("\"", ""))
|
|
|
|
|
{
|
|
|
|
|
case "id":
|
|
|
|
|
RateEntity.GID = strArg[1].ToString().Replace("\"", "").Trim();
|
|
|
|
|
break;
|
|
|
|
|
case "cus":
|
|
|
|
|
RateEntity.CUSTOMERNAME = UnicodeToGB(strArg[1].ToString().Replace("\"", ""));
|
|
|
|
|
break;
|
|
|
|
|
case "fgrade":
|
|
|
|
|
RateEntity.FEEGRADE = int.Parse(strArg[1].ToString().Replace("\"", ""));
|
|
|
|
|
break;
|
|
|
|
|
case "feetype":
|
|
|
|
|
RateEntity.FEETYPE = int.Parse(strArg[1].ToString().Replace("\"", ""));
|
|
|
|
|
break;
|
|
|
|
|
case "startbillingdate":
|
|
|
|
|
RateEntity.STARTBILLINGDATE = DateTime.Parse(strArg[1].ToString().Replace("\"", "") == "" ? "0001-01-01" : strArg[1].ToString().Replace("\"", ""));
|
|
|
|
|
break;
|
|
|
|
|
case "endbillingdate":
|
|
|
|
|
RateEntity.ENDBILLINGDATE = DateTime.Parse(strArg[1].ToString().Replace("\"", "") == "" ? "0001-01-01" : strArg[1].ToString().Replace("\"", ""));
|
|
|
|
|
break;
|
|
|
|
|
case "fscale":
|
|
|
|
|
RateEntity.FEESCALE = int.Parse(strArg[1].ToString().Replace("\"", ""));
|
|
|
|
|
break;
|
|
|
|
|
case "funit":
|
|
|
|
|
RateEntity.FEEUNIT = UnicodeToGB(strArg[1].ToString().Replace("\"", ""));
|
|
|
|
|
break;
|
|
|
|
|
case "fprice":
|
|
|
|
|
RateEntity.FEEPRICE = decimal.Parse(strArg[1].ToString().Replace("\"", ""));
|
|
|
|
|
break;
|
|
|
|
|
case "goodspfsl":
|
|
|
|
|
RateEntity.GOODSPFSL = decimal.Parse(strArg[1].ToString().Replace("\"", ""));
|
|
|
|
|
break;
|
|
|
|
|
case "outfee":
|
|
|
|
|
RateEntity.OUTFEE = decimal.Parse(strArg[1].ToString().Replace("\"", ""));
|
|
|
|
|
break;
|
|
|
|
|
case "remark":
|
|
|
|
|
RateEntity.REMARK = UnicodeToGB(strArg[1].ToString().Replace("\"", ""));
|
|
|
|
|
break;
|
|
|
|
|
case "associatedno":
|
|
|
|
|
RateEntity.ASSOCIATEDNO = strArg[1].ToString().Replace("\"", "");
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
RateEntity.CREATEUSER = this.strUserID;
|
|
|
|
|
RateEntity.MODIFIEDUSER = this.strUserID;
|
|
|
|
|
tempRateEntities.Add(RateEntity);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return tempRateEntities;
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 基本信息
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 正数四舍五入,负数是五舍六入。(个人以为第一种方法合适处置货泉盘算)
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="value">四舍五入的数</param>
|
|
|
|
|
/// <param name="decimals">表示要保存的小数点后为数</param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
private Decimal Round(Decimal value, int decimals, string money)
|
|
|
|
|
{
|
|
|
|
|
if (value < 0)
|
|
|
|
|
{
|
|
|
|
|
return Math.Round(value + (Decimal)(5 / Math.Pow(10, decimals + 1)), decimals, MidpointRounding.AwayFromZero);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
return Math.Round(value, decimals, MidpointRounding.AwayFromZero);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 正负数都四舍五入(适合数据统计的显示)
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="d">四舍五入的数</param>
|
|
|
|
|
/// <param name="i">表示要保存的小数点后为数</param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
private Decimal Round(Decimal d, int i)
|
|
|
|
|
{
|
|
|
|
|
if (d >= 0)
|
|
|
|
|
{
|
|
|
|
|
d += (Decimal)(5 * Math.Pow(10, -(i + 1)));
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
d += (Decimal)(-5 * Math.Pow(10, -(i + 1)));
|
|
|
|
|
}
|
|
|
|
|
string str = d.ToString();
|
|
|
|
|
string[] strs = str.Split('.');
|
|
|
|
|
int idot = str.IndexOf('.');
|
|
|
|
|
string prestr = strs[0];
|
|
|
|
|
string poststr = strs[1];
|
|
|
|
|
if (poststr.Length > i)
|
|
|
|
|
{
|
|
|
|
|
poststr = str.Substring(idot + 1, i);
|
|
|
|
|
}
|
|
|
|
|
string strd = prestr + "." + poststr;
|
|
|
|
|
d = Decimal.Parse(strd);
|
|
|
|
|
return d;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void Clearh()
|
|
|
|
|
{
|
|
|
|
|
this.h_post_2.Value = "";
|
|
|
|
|
|
|
|
|
|
this.h_associatedno.Value = "";
|
|
|
|
|
this.h_opseaibsno.Value = "";
|
|
|
|
|
this.h_bsno.Value = "";
|
|
|
|
|
|
|
|
|
|
this.h_wmsoutbsno.Value = "";
|
|
|
|
|
this.h_outgid.Value = "";
|
|
|
|
|
this.h_outbsno.Value = "";
|
|
|
|
|
txt_outbsno.Value = "";
|
|
|
|
|
//txt_packnum.Value = "";
|
|
|
|
|
h_packnum.Value = "";
|
|
|
|
|
//txt_goodspfsl.Value = "";
|
|
|
|
|
h_goodspfsl.Value = "";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#region Unicode-GB Code转换
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Unicode-GB Code转换
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="text">将Unicode编码字符转换成GB编码字符</param>
|
|
|
|
|
/// <returns>GB Code字符串</returns>
|
|
|
|
|
public string UnicodeToGB(string text)
|
|
|
|
|
{
|
|
|
|
|
UnicodeEncoding unicode = new UnicodeEncoding();
|
|
|
|
|
text = unicode.GetString(unicode.GetBytes(Regex.Unescape(text.Trim())));
|
|
|
|
|
return text;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Unicode-GB Code转换
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="text">将Unicode编码字符转换成GB编码字符</param>
|
|
|
|
|
/// <returns>GB Code字符串</returns>
|
|
|
|
|
public string UnicodeToGB_Old(string text)
|
|
|
|
|
{
|
|
|
|
|
MatchCollection mc = Regex.Matches(text, "([\\w]+)|(\\\\u([\\w]{4}))");
|
|
|
|
|
if (mc != null && mc.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
StringBuilder sb = new StringBuilder();
|
|
|
|
|
foreach (Match m2 in mc)
|
|
|
|
|
{
|
|
|
|
|
string v = m2.Value;
|
|
|
|
|
if (v.IndexOf("\\") >= 0)
|
|
|
|
|
{
|
|
|
|
|
string word = v.Substring(2);
|
|
|
|
|
byte[] codes = new byte[2];
|
|
|
|
|
int code = Convert.ToInt32(word.Substring(0, 2), 16);
|
|
|
|
|
int code2 = Convert.ToInt32(word.Substring(2), 16);
|
|
|
|
|
codes[0] = (byte)code2;
|
|
|
|
|
codes[1] = (byte)code;
|
|
|
|
|
sb.Append(Encoding.Unicode.GetString(codes));
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
sb.Append(v);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return sb.ToString();
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
return text;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region getBSNO
|
|
|
|
|
protected String getBSNO()
|
|
|
|
|
{
|
|
|
|
|
string strBSNO = Guid.NewGuid().ToString();
|
|
|
|
|
strBSNO = strBSNO.Replace("-", "");
|
|
|
|
|
strBSNO = "WmsOut" + strBSNO;
|
|
|
|
|
return strBSNO;
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 提取规则编号 getCodeRuleWmsOutDetail
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 提取规则编号
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="strRULENAME">规则项目名称</param>
|
|
|
|
|
/// <param name="strfield">需要加规则的字段</param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
protected String getCodeRuleWmsOutDetail(string strRULENAME, string strfield)
|
|
|
|
|
{
|
|
|
|
|
//调用编码规则
|
|
|
|
|
string strRULEYEAR = "";
|
|
|
|
|
string strRULECONTENT = "";
|
|
|
|
|
string strCODENAME = "";
|
|
|
|
|
string strDEPTNO = "";
|
|
|
|
|
string strRULENOLENGTH = "";
|
|
|
|
|
int iRULENOLENGTH = 0;
|
|
|
|
|
int inum = 0;
|
|
|
|
|
string strCONTENT = "";
|
|
|
|
|
DataSet ds = T_ALL_DA.GetAllSQL("select *,getdate() DODATE from code_rule where RULENAME='" + strRULENAME.Trim() + "' and RULETYPE=3");
|
|
|
|
|
if (ds != null)
|
|
|
|
|
{
|
|
|
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
if (ds.Tables[0].Rows[0]["ISSTARTUSING"].ToString().Trim().Equals("True"))
|
|
|
|
|
{
|
|
|
|
|
getCodeRuleEnabled(strRULENAME, strfield);
|
|
|
|
|
//
|
|
|
|
|
if (ds.Tables[0].Rows[0]["RULEDATE"].ToString().Trim().Equals("业务日期"))
|
|
|
|
|
{
|
|
|
|
|
if (ds.Tables[0].Rows[0]["DODATE"].ToString().Trim() == "")
|
|
|
|
|
{
|
|
|
|
|
return "";
|
|
|
|
|
}
|
|
|
|
|
DateTime dETD = System.Convert.ToDateTime(ds.Tables[0].Rows[0]["DODATE"].ToString().Trim());
|
|
|
|
|
if (ds.Tables[0].Rows[0]["ISCLEAREDINEARLY"].ToString().Trim().Equals("True"))
|
|
|
|
|
{
|
|
|
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = dETD.ToString("yyyy") + dETD.ToString("MM");
|
|
|
|
|
}
|
|
|
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = dETD.ToString("yy") + dETD.ToString("MM");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = dETD.ToString("yyyy");
|
|
|
|
|
}
|
|
|
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = dETD.ToString("yy");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else if (ds.Tables[0].Rows[0]["RULEDATE"].ToString().Trim().Equals("自然月份"))
|
|
|
|
|
{
|
|
|
|
|
DateTime fwqdate = System.Convert.ToDateTime(T_ALL_DA.GetStrSQL("fwqdate", "select fwqdate=getdate()"));
|
|
|
|
|
if (ds.Tables[0].Rows[0]["ISCLEAREDINEARLY"].ToString().Trim().Equals("True"))
|
|
|
|
|
{
|
|
|
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = fwqdate.ToString("yyyy") + fwqdate.ToString("MM");
|
|
|
|
|
}
|
|
|
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = fwqdate.ToString("yy") + fwqdate.ToString("MM");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = fwqdate.ToString("yyyy");
|
|
|
|
|
}
|
|
|
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = fwqdate.ToString("yy");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//
|
|
|
|
|
if (ds.Tables[0].Rows[0]["ISCOMPANY"].ToString().Trim().Equals("True"))
|
|
|
|
|
{
|
|
|
|
|
strCODENAME = T_ALL_DA.GetStrSQL("CODENAME", "select CODENAME from [company] where GID=(select top 1 COMPANYID from user_company where USERID='" + strUserID + "')");
|
|
|
|
|
}
|
|
|
|
|
if (ds.Tables[0].Rows[0]["ISDEPT"].ToString().Trim().Equals("True"))
|
|
|
|
|
{
|
|
|
|
|
strDEPTNO = T_ALL_DA.GetStrSQL("DEPTNO", "select DEPTNO from [sys_dept] where LINKID=(select top 1 COMPANYID from user_company where USERID='" + strUserID + "')");
|
|
|
|
|
}
|
|
|
|
|
strRULECONTENT = ds.Tables[0].Rows[0]["RULECONTENT"].ToString().Trim();
|
|
|
|
|
strRULECONTENT = strRULECONTENT.Replace("《COMPANY》", strCODENAME);
|
|
|
|
|
strRULECONTENT = strRULECONTENT.Replace("《DEPT》", strDEPTNO);
|
|
|
|
|
//
|
|
|
|
|
if (ds.Tables[0].Rows[0]["RULENOLENGTH"].ToString().Trim() == "")
|
|
|
|
|
{
|
|
|
|
|
iRULENOLENGTH = 0;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
iRULENOLENGTH = int.Parse(ds.Tables[0].Rows[0]["RULENOLENGTH"].ToString().Trim());
|
|
|
|
|
}
|
|
|
|
|
strCONTENT = strRULECONTENT + strRULEYEAR;
|
|
|
|
|
//获取分公司的票号头字符
|
|
|
|
|
string tempBANKSHEAD = T_ALL_DA.GetStrSQL("BANKSHEAD", "SELECT TOP 1 BANKSHEAD FROM company WHERE GID='" + strCompanyID.Trim() + "'");
|
|
|
|
|
strCONTENT = tempBANKSHEAD + strCONTENT;
|
|
|
|
|
//
|
|
|
|
|
//DataSet ds1 = T_ALL_DA.GetAllSQL("select top 1 " + strfield + " from [wms_out_detail] where " + strfield + " like '" + strCONTENT.Trim() + "%' order by " + strfield + " DESC");
|
|
|
|
|
//if (ds1 != null)
|
|
|
|
|
//{
|
|
|
|
|
// if (ds.Tables[0].Rows.Count > 0)
|
|
|
|
|
// {
|
|
|
|
|
// strRULENOLENGTH = ds1.Tables[0].Rows[0][0].ToString().Trim();
|
|
|
|
|
// }
|
|
|
|
|
//}
|
|
|
|
|
T_ALL_DA.GetStrSQL(strfield, "select top 1 " + strfield + " from [wms_out_detail] where " + strfield + " like '" + strCONTENT.Trim() + "%' order by " + strfield + " DESC");// and isnull(ISDELETE,0)=0
|
|
|
|
|
if (strRULENOLENGTH == "")
|
|
|
|
|
{
|
|
|
|
|
strRULENOLENGTH = "1";
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
strRULENOLENGTH = strRULENOLENGTH.Replace(strCONTENT.Trim(), "");
|
|
|
|
|
inum = int.Parse(strRULENOLENGTH.Trim());
|
|
|
|
|
inum = inum + 1;
|
|
|
|
|
strRULENOLENGTH = inum.ToString();
|
|
|
|
|
}
|
|
|
|
|
int j = iRULENOLENGTH - strRULENOLENGTH.Length;
|
|
|
|
|
for (int i = 1; i <= j; i++)
|
|
|
|
|
{
|
|
|
|
|
strRULENOLENGTH = "0" + strRULENOLENGTH;
|
|
|
|
|
}
|
|
|
|
|
//
|
|
|
|
|
strCONTENT = strCONTENT + strRULENOLENGTH;
|
|
|
|
|
return strCONTENT;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return "";
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 提取规则编号 getCodeRuleWmsOut
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 提取规则编号
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="strRULENAME">规则项目名称</param>
|
|
|
|
|
/// <param name="strfield">需要加规则的字段</param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
protected String getCodeRuleWmsOut(string strRULENAME, string strfield)
|
|
|
|
|
{
|
|
|
|
|
//调用编码规则
|
|
|
|
|
string strRULEYEAR = "";
|
|
|
|
|
string strRULECONTENT = "";
|
|
|
|
|
string strCODENAME = "";
|
|
|
|
|
string strDEPTNO = "";
|
|
|
|
|
string strRULENOLENGTH = "";
|
|
|
|
|
int iRULENOLENGTH = 0;
|
|
|
|
|
int inum = 0;
|
|
|
|
|
string strCONTENT = "";
|
|
|
|
|
DataSet ds = T_ALL_DA.GetAllSQL("select *,getdate() DODATE from code_rule where RULENAME='" + strRULENAME.Trim() + "' and RULETYPE=3");
|
|
|
|
|
if (ds != null)
|
|
|
|
|
{
|
|
|
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
if (ds.Tables[0].Rows[0]["ISSTARTUSING"].ToString().Trim().Equals("True"))
|
|
|
|
|
{
|
|
|
|
|
getCodeRuleEnabled(strRULENAME, strfield);
|
|
|
|
|
//
|
|
|
|
|
if (ds.Tables[0].Rows[0]["RULEDATE"].ToString().Trim().Equals("业务日期"))
|
|
|
|
|
{
|
|
|
|
|
if (ds.Tables[0].Rows[0]["DODATE"].ToString().Trim() == "")
|
|
|
|
|
{
|
|
|
|
|
return "";
|
|
|
|
|
}
|
|
|
|
|
DateTime dETD = System.Convert.ToDateTime(ds.Tables[0].Rows[0]["DODATE"].ToString().Trim());
|
|
|
|
|
if (ds.Tables[0].Rows[0]["ISCLEAREDINEARLY"].ToString().Trim().Equals("True"))
|
|
|
|
|
{
|
|
|
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = dETD.ToString("yyyy") + dETD.ToString("MM");
|
|
|
|
|
}
|
|
|
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = dETD.ToString("yy") + dETD.ToString("MM");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = dETD.ToString("yyyy");
|
|
|
|
|
}
|
|
|
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = dETD.ToString("yy");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else if (ds.Tables[0].Rows[0]["RULEDATE"].ToString().Trim().Equals("自然月份"))
|
|
|
|
|
{
|
|
|
|
|
DateTime fwqdate = System.Convert.ToDateTime(T_ALL_DA.GetStrSQL("fwqdate", "select fwqdate=getdate()"));
|
|
|
|
|
if (ds.Tables[0].Rows[0]["ISCLEAREDINEARLY"].ToString().Trim().Equals("True"))
|
|
|
|
|
{
|
|
|
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = fwqdate.ToString("yyyy") + fwqdate.ToString("MM");
|
|
|
|
|
}
|
|
|
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = fwqdate.ToString("yy") + fwqdate.ToString("MM");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = fwqdate.ToString("yyyy");
|
|
|
|
|
}
|
|
|
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = fwqdate.ToString("yy");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//
|
|
|
|
|
if (ds.Tables[0].Rows[0]["ISCOMPANY"].ToString().Trim().Equals("True"))
|
|
|
|
|
{
|
|
|
|
|
strCODENAME = T_ALL_DA.GetStrSQL("CODENAME", "select CODENAME from [company] where GID=(select top 1 COMPANYID from user_company where USERID='" + strUserID + "')");
|
|
|
|
|
}
|
|
|
|
|
if (ds.Tables[0].Rows[0]["ISDEPT"].ToString().Trim().Equals("True"))
|
|
|
|
|
{
|
|
|
|
|
strDEPTNO = T_ALL_DA.GetStrSQL("DEPTNO", "select DEPTNO from [sys_dept] where LINKID=(select top 1 COMPANYID from user_company where USERID='" + strUserID + "')");
|
|
|
|
|
}
|
|
|
|
|
strRULECONTENT = ds.Tables[0].Rows[0]["RULECONTENT"].ToString().Trim();
|
|
|
|
|
strRULECONTENT = strRULECONTENT.Replace("《COMPANY》", strCODENAME);
|
|
|
|
|
strRULECONTENT = strRULECONTENT.Replace("《DEPT》", strDEPTNO);
|
|
|
|
|
//
|
|
|
|
|
if (ds.Tables[0].Rows[0]["RULENOLENGTH"].ToString().Trim() == "")
|
|
|
|
|
{
|
|
|
|
|
iRULENOLENGTH = 0;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
iRULENOLENGTH = int.Parse(ds.Tables[0].Rows[0]["RULENOLENGTH"].ToString().Trim());
|
|
|
|
|
}
|
|
|
|
|
strCONTENT = strRULECONTENT + strRULEYEAR;
|
|
|
|
|
//获取分公司的票号头字符
|
|
|
|
|
string tempBANKSHEAD = T_ALL_DA.GetStrSQL("BANKSHEAD", "SELECT TOP 1 BANKSHEAD FROM company WHERE GID='" + strCompanyID.Trim() + "'");
|
|
|
|
|
strCONTENT = tempBANKSHEAD + strCONTENT;
|
|
|
|
|
//
|
|
|
|
|
strRULENOLENGTH = T_ALL_DA.GetStrSQL(strfield, "select top 1 " + strfield + " from [wms_out] where " + strfield + " like '" + strCONTENT.Trim() + "%' and isnull(ISDELETE,0)=0 order by " + strfield + " DESC");
|
|
|
|
|
if (strRULENOLENGTH == "")
|
|
|
|
|
{
|
|
|
|
|
strRULENOLENGTH = "1";
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
strRULENOLENGTH = strRULENOLENGTH.Replace(strCONTENT.Trim(), "");
|
|
|
|
|
inum = int.Parse(strRULENOLENGTH.Trim());
|
|
|
|
|
inum = inum + 1;
|
|
|
|
|
strRULENOLENGTH = inum.ToString();
|
|
|
|
|
}
|
|
|
|
|
int j = iRULENOLENGTH - strRULENOLENGTH.Length;
|
|
|
|
|
for (int i = 1; i <= j; i++)
|
|
|
|
|
{
|
|
|
|
|
strRULENOLENGTH = "0" + strRULENOLENGTH;
|
|
|
|
|
}
|
|
|
|
|
//
|
|
|
|
|
strCONTENT = strCONTENT + strRULENOLENGTH;
|
|
|
|
|
return strCONTENT;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return "";
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 提取规则编号 getCodeRuleEnabled
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 提取规则编号
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="strRULENAME">规则项目名称</param>
|
|
|
|
|
/// <param name="strfield">需要加规则的字段</param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
protected void getCodeRuleEnabled(string strRULENAME, string strfield)
|
|
|
|
|
{
|
|
|
|
|
//是否生成之后允许编辑
|
|
|
|
|
DataSet ds = T_ALL_DA.GetAllSQL("select * from code_rule where RULENAME='" + strRULENAME.Trim() + "' and RULETYPE=3");
|
|
|
|
|
if (ds != null)
|
|
|
|
|
{
|
|
|
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
if (ds.Tables[0].Rows[0]["ISSTARTUSING"].ToString().Trim().Equals("True"))
|
|
|
|
|
{
|
|
|
|
|
if (strfield == "BSNO")
|
|
|
|
|
{
|
|
|
|
|
if (ds.Tables[0].Rows[0]["ISALLOWEDITS"].ToString().Trim().Equals("True"))
|
|
|
|
|
{
|
|
|
|
|
txt_outbsno.Disabled=false;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
txt_outbsno.Disabled=true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 提取规则编号
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 提取规则编号
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="strRULENAME">规则项目名称</param>
|
|
|
|
|
/// <param name="strfield">需要加规则的字段</param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
protected String getCodeRuleWmsIn(string strRULENAME, string strfield, SqlTransaction trans)
|
|
|
|
|
{
|
|
|
|
|
//调用编码规则
|
|
|
|
|
string strRULEYEAR = "";
|
|
|
|
|
string strRULECONTENT = "";
|
|
|
|
|
string strCODENAME = "";
|
|
|
|
|
string strDEPTNO = "";
|
|
|
|
|
string strRULENOLENGTH = "";
|
|
|
|
|
int iRULENOLENGTH = 0;
|
|
|
|
|
int inum = 0;
|
|
|
|
|
string strCONTENT = "";
|
|
|
|
|
DataSet ds = new DataSet();
|
|
|
|
|
//DataSet ds = T_ALL_DA.GetAllSQL("select *,getdate() DODATE from code_rule where RULENAME='" + strRULENAME.Trim() + "' and RULETYPE=3");
|
|
|
|
|
SqlParameter parm = new SqlParameter("@RULENAME", SqlDbType.VarChar, 100);
|
|
|
|
|
parm.Value=strRULENAME.Trim();
|
|
|
|
|
string ststt="select *,getdate() DODATE from code_rule where RULENAME=@RULENAME and RULETYPE=3 ";
|
|
|
|
|
ds = SqlHelper.ExecuteQueryDataset(trans, CommandType.Text, ststt, parm);
|
|
|
|
|
if (ds != null)
|
|
|
|
|
{
|
|
|
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
if (ds.Tables[0].Rows[0]["ISSTARTUSING"].ToString().Trim().Equals("True"))
|
|
|
|
|
{
|
|
|
|
|
getCodeRuleEnabled(strRULENAME, strfield);
|
|
|
|
|
//
|
|
|
|
|
if (ds.Tables[0].Rows[0]["RULEDATE"].ToString().Trim().Equals("业务日期"))
|
|
|
|
|
{
|
|
|
|
|
//if (tbDODATE.Text.Trim() == "")
|
|
|
|
|
//{
|
|
|
|
|
// return "";
|
|
|
|
|
//}
|
|
|
|
|
if (ds.Tables[0].Rows[0]["DODATE"].ToString().Trim() == "")
|
|
|
|
|
{
|
|
|
|
|
return "";
|
|
|
|
|
}
|
|
|
|
|
DateTime dETD = System.Convert.ToDateTime(ds.Tables[0].Rows[0]["DODATE"].ToString().Trim());
|
|
|
|
|
if (ds.Tables[0].Rows[0]["ISCLEAREDINEARLY"].ToString().Trim().Equals("True"))
|
|
|
|
|
{
|
|
|
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = dETD.ToString("yyyy") + dETD.ToString("MM");
|
|
|
|
|
}
|
|
|
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = dETD.ToString("yy") + dETD.ToString("MM");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = dETD.ToString("yyyy");
|
|
|
|
|
}
|
|
|
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = dETD.ToString("yy");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else if (ds.Tables[0].Rows[0]["RULEDATE"].ToString().Trim().Equals("自然月份"))
|
|
|
|
|
{
|
|
|
|
|
DateTime fwqdate = System.Convert.ToDateTime(T_ALL_DA.GetStrSQL("fwqdate", "select fwqdate=getdate()"));
|
|
|
|
|
if (ds.Tables[0].Rows[0]["ISCLEAREDINEARLY"].ToString().Trim().Equals("True"))
|
|
|
|
|
{
|
|
|
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = fwqdate.ToString("yyyy") + fwqdate.ToString("MM");
|
|
|
|
|
}
|
|
|
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = fwqdate.ToString("yy") + fwqdate.ToString("MM");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = fwqdate.ToString("yyyy");
|
|
|
|
|
}
|
|
|
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
|
|
{
|
|
|
|
|
strRULEYEAR = fwqdate.ToString("yy");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//
|
|
|
|
|
if (ds.Tables[0].Rows[0]["ISCOMPANY"].ToString().Trim().Equals("True"))
|
|
|
|
|
{
|
|
|
|
|
//strCODENAME = T_ALL_DA.GetStrSQL("CODENAME", "select CODENAME from [company] where GID=(select top 1 COMPANYID from user_company where USERID='" + strUserID + "')");
|
|
|
|
|
SqlParameter parm1 = new SqlParameter("@USERID", SqlDbType.VarChar, 100);
|
|
|
|
|
parm1.Value = strUserID;
|
|
|
|
|
ststt = "select CODENAME from [company] where GID=(select top 1 COMPANYID from user_company where USERID=@USERID)";
|
|
|
|
|
ds = SqlHelper.ExecuteQueryDataset(trans, CommandType.Text, ststt, parm1);
|
|
|
|
|
strCODENAME = ds.Tables[0].Rows[0]["CODENAME"].ToString().Equals(null) ? "" : ds.Tables[0].Rows[0]["CODENAME"].ToString();
|
|
|
|
|
}
|
|
|
|
|
if (ds.Tables[0].Rows[0]["ISDEPT"].ToString().Trim().Equals("True"))
|
|
|
|
|
{
|
|
|
|
|
//strDEPTNO = T_ALL_DA.GetStrSQL("DEPTNO", "select DEPTNO from [sys_dept] where LINKID=(select top 1 COMPANYID from user_company where USERID='" + strUserID + "')");
|
|
|
|
|
SqlParameter parm2 = new SqlParameter("@USERID", SqlDbType.VarChar, 100);
|
|
|
|
|
parm2.Value = strUserID;
|
|
|
|
|
ststt = "select DEPTNO from [sys_dept] where LINKID=(select top 1 COMPANYID from user_company where USERID=@USERID";
|
|
|
|
|
ds = SqlHelper.ExecuteQueryDataset(trans, CommandType.Text, ststt, parm2);
|
|
|
|
|
strDEPTNO = ds.Tables[0].Rows[0]["DEPTNO"].ToString().Equals(null) ? "" : ds.Tables[0].Rows[0]["DEPTNO"].ToString();
|
|
|
|
|
}
|
|
|
|
|
strRULECONTENT = ds.Tables[0].Rows[0]["RULECONTENT"].ToString().Trim();
|
|
|
|
|
strRULECONTENT = strRULECONTENT.Replace("《COMPANY》", strCODENAME);
|
|
|
|
|
strRULECONTENT = strRULECONTENT.Replace("《DEPT》", strDEPTNO);
|
|
|
|
|
//
|
|
|
|
|
if (ds.Tables[0].Rows[0]["RULENOLENGTH"].ToString().Trim() == "")
|
|
|
|
|
{
|
|
|
|
|
iRULENOLENGTH = 0;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
iRULENOLENGTH = int.Parse(ds.Tables[0].Rows[0]["RULENOLENGTH"].ToString().Trim());
|
|
|
|
|
}
|
|
|
|
|
strCONTENT = strRULECONTENT + strRULEYEAR;
|
|
|
|
|
//获取分公司的票号头字符
|
|
|
|
|
string tempBANKSHEAD = T_ALL_DA.GetStrSQL("BANKSHEAD", "SELECT TOP 1 BANKSHEAD FROM company WHERE GID='" + strCompanyID.Trim() + "'");
|
|
|
|
|
strCONTENT = tempBANKSHEAD + strCONTENT;
|
|
|
|
|
//
|
|
|
|
|
//strRULENOLENGTH = T_ALL_DA.GetStrSQL(strfield, "select top 1 " + strfield + " from [wms_in] where " + strfield + " like '" + strCONTENT.Trim() + "%' and ISDELETE=0 order by " + strfield + " DESC");
|
|
|
|
|
SqlParameter parm3 = new SqlParameter("@BSNO", SqlDbType.VarChar, 100);
|
|
|
|
|
parm3.Value = strCONTENT.Trim();
|
|
|
|
|
ststt = "select top 1 BSNO from [wms_in] where BSNO like '"+strCONTENT.Trim()+ "%' and ISDELETE=0 order by BSNO DESC";
|
|
|
|
|
ds = SqlHelper.ExecuteQueryDataset(trans, CommandType.Text, ststt, parm3);
|
|
|
|
|
if (!ds.Equals(null) && !ds.Tables[0].Equals(null) && ds.Tables[0].Rows.Count>0 )
|
|
|
|
|
{
|
|
|
|
|
strRULENOLENGTH = ds.Tables[0].Rows[0]["BSNO"].ToString().Equals(null) ? "" : ds.Tables[0].Rows[0]["BSNO"].ToString();
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
strRULENOLENGTH = "";
|
|
|
|
|
}
|
|
|
|
|
if (strRULENOLENGTH == "")
|
|
|
|
|
{
|
|
|
|
|
strRULENOLENGTH = "1";
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
strRULENOLENGTH = strRULENOLENGTH.Replace(strCONTENT.Trim(), "");
|
|
|
|
|
inum = int.Parse(strRULENOLENGTH.Trim());
|
|
|
|
|
inum = inum + 1;
|
|
|
|
|
strRULENOLENGTH = inum.ToString();
|
|
|
|
|
}
|
|
|
|
|
int j = iRULENOLENGTH - strRULENOLENGTH.Length;
|
|
|
|
|
for (int i = 1; i <= j; i++)
|
|
|
|
|
{
|
|
|
|
|
strRULENOLENGTH = "0" + strRULENOLENGTH;
|
|
|
|
|
}
|
|
|
|
|
//
|
|
|
|
|
strCONTENT = strCONTENT + strRULENOLENGTH;
|
|
|
|
|
return strCONTENT;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return "";
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
protected String getBSNOWmsIn()
|
|
|
|
|
{
|
|
|
|
|
string strBSNO = Guid.NewGuid().ToString();
|
|
|
|
|
strBSNO = strBSNO.Replace("-", "");
|
|
|
|
|
strBSNO = "WmsIn" + strBSNO;
|
|
|
|
|
return strBSNO;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
protected String getWMSNO()
|
|
|
|
|
{
|
|
|
|
|
string strWMSNO = Guid.NewGuid().ToString();
|
|
|
|
|
strWMSNO = strWMSNO.Replace("-", "");
|
|
|
|
|
strWMSNO = "Wms" + strWMSNO;
|
|
|
|
|
return strWMSNO;
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
}
|
|
|
|
|
}
|