|
|
using System;
|
|
|
using System.IO;
|
|
|
using System.Data;
|
|
|
using System.Linq;
|
|
|
using System.Web.Mvc;
|
|
|
using DSWeb.MvcShipping.DAL.WMSOUT_GuiGeDAL;
|
|
|
using DSWeb.MvcShipping.Models.WMSOUT_GuiGe;
|
|
|
|
|
|
using DSWeb.MvcShipping.Models.MsCwVouchersGl;
|
|
|
using DSWeb.MvcShipping.Models.MsCwVouitemsGl;
|
|
|
using DSWeb.MvcShipping.Models.MsCwGenlegAccitems;
|
|
|
using DSWeb.MvcShipping.DAL.MsSysBillNoSet;
|
|
|
using DSWeb.MvcShipping.DAL.MsBaseInfoDAL;
|
|
|
|
|
|
using DSWeb.MvcShipping.Helper;
|
|
|
using DSWeb.MvcShipping.Comm.Cookie;
|
|
|
using HcUtility.Comm;
|
|
|
using HcUtility.Core;
|
|
|
using System.Collections.Generic;
|
|
|
using DSWeb.EntityDA;
|
|
|
using DSWeb.Areas.CommMng.DAL;
|
|
|
|
|
|
namespace DSWeb.MvcShipping.Controllers
|
|
|
{
|
|
|
[JsonRequestBehavior]
|
|
|
public class WMSOUT_GuiGeController : Controller
|
|
|
{
|
|
|
public ActionResult Index()
|
|
|
{
|
|
|
return View();
|
|
|
}
|
|
|
|
|
|
public ActionResult Edit()
|
|
|
{
|
|
|
return View();
|
|
|
}
|
|
|
|
|
|
#region 主表查询
|
|
|
public ContentResult GetDataListHJ(int start, int limit, string sort, string condition)
|
|
|
{
|
|
|
var dataList = WMSOUT_GuiGeDAL.GetDataListHJ(condition, Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]), sort);
|
|
|
var list = dataList.Skip(start).Take(limit);
|
|
|
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = list.ToList() });
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 明细表查询
|
|
|
public ContentResult GetDetailList(string opStatus, string condition)
|
|
|
{
|
|
|
var dataList = WMSOUT_GuiGeDAL.GetDetailList(opStatus, condition, Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]));
|
|
|
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = dataList.ToList() });
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
|
|
|
public ContentResult GetData(string condition)
|
|
|
{
|
|
|
VwWmsDetailModels head = null;
|
|
|
head = WMSOUT_GuiGeDAL.GetData(condition, Convert.ToString(Session["COMPANYID"]), Convert.ToString(Session["USERID"]));
|
|
|
var json = JsonConvert.Serialize(
|
|
|
new { Success = true, Message = "查询成功", data = head });
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
|
|
|
//打印明细列表
|
|
|
public ContentResult GetDataListStr(string condition)
|
|
|
{
|
|
|
var dataListStr = WMSOUT_GuiGeDAL.GetDataListStr(condition);
|
|
|
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", data = dataListStr });
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 仓储费列表查询//需求编号:SR2017073000001
|
|
|
public ContentResult GetWmsRateDetailList(string condition)
|
|
|
{
|
|
|
var dataList = WMSOUT_GuiGeDAL.GetWmsRateDetailList(condition, Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]));
|
|
|
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = dataList.ToList() });
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 保存
|
|
|
public ContentResult SaveEdit(string opStatus, string data, string body, string outType)
|
|
|
{
|
|
|
if (Convert.ToString(Session["COMPANYID"]).Trim() == "" || Convert.ToString(Session["USERID"]).Trim() == "" || Convert.ToString(Session["CODENAME"]).Trim() == "" || Convert.ToString(Session["SHOWNAME"]).Trim() == "" || Convert.ToString(Session["DEPTNAME"]).Trim() == "")
|
|
|
{
|
|
|
var jsonRespose2 = new JsonResponse { Success = false, Message = "登录超时,请退出系统重新登录!" };
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose2) };
|
|
|
}
|
|
|
//
|
|
|
T_ALL_DA T_ALL_DA = new EntityDA.T_ALL_DA();
|
|
|
var headData = JsonConvert.Deserialize<VwWmsDetailModels>(data);
|
|
|
var bodyList = JsonConvert.Deserialize<List<VwWmsDetailModels>>(body);
|
|
|
var errorstr = "";
|
|
|
|
|
|
#region 保存
|
|
|
if (bodyList != null)
|
|
|
{
|
|
|
#region 基本变量
|
|
|
int n = 1;
|
|
|
string sOutBsno = headData.OUTBSNO_OUT == null ? "" : headData.OUTBSNO_OUT.ToString().Trim();
|
|
|
if (sOutBsno == "")
|
|
|
{
|
|
|
sOutBsno = WMSOUT_GuiGeDAL.getCodeRuleWmsOut("出库单号", "BSNO", 1, Convert.ToString(Session["USERID"]).Trim(), Convert.ToString(Session["COMPANYID"]).Trim());
|
|
|
}
|
|
|
Decimal dlGOODSPFSL_OUT = 0;//出库量
|
|
|
Decimal dlGOODSPACKPFSL_OUT = 0;//出库件数
|
|
|
Decimal dlARFEE_OUT = 0;//铅封费
|
|
|
Decimal dlARFEE_2_OUT = 0;//过磅费
|
|
|
#endregion
|
|
|
|
|
|
foreach (var enumValue in bodyList)
|
|
|
{
|
|
|
#region 明细表保存
|
|
|
WmsOutDetailModels headRow = new WmsOutDetailModels();
|
|
|
#region 默认值
|
|
|
headRow.INBSNO = enumValue.GID == null ? "" : enumValue.GID.ToString().Trim();//关联入库单wms_in的BSNO
|
|
|
headRow.OUTBSNO = sOutBsno;//OUTBSNO
|
|
|
headRow.BSNO = sOutBsno;//提单号
|
|
|
//headRow.BSNO = enumValue.BSNO_OUT == null ? "" : enumValue.BSNO_OUT.ToString().Trim();//提单号
|
|
|
//if (headRow.BSNO.ToString().Trim() == "")
|
|
|
//{
|
|
|
// headRow.BSNO = WMSOUT_GuiGeDAL.getCodeRuleWmsOut("出库明细单号", "BSNO", n, Convert.ToString(Session["USERID"]).Trim(), Convert.ToString(Session["COMPANYID"]).Trim());//提单号
|
|
|
//}
|
|
|
headRow.CLIENTGID = "";//CLIENTGID
|
|
|
headRow.CLIENTCODE = "";//客户编码
|
|
|
headRow.CUSTOMERNAME = enumValue.CUSTOMERNAME == null ? "" : enumValue.CUSTOMERNAME.ToString().Trim();//客户名称
|
|
|
headRow.DODATE = headData.DODATE_OUT == null ? DateTime.Now : DateTime.Parse(headData.DODATE_OUT.ToString().Trim());//操作时间
|
|
|
headRow.STORAGECODE = "";//仓库编码
|
|
|
headRow.STORAGENAME = enumValue.STORAGENAME == null ? "" : enumValue.STORAGENAME.ToString().Trim();//仓库名称
|
|
|
headRow.AREACODE = "";//储位编码
|
|
|
headRow.AREANAME = enumValue.AREANAME == null ? "" : enumValue.AREANAME.ToString().Trim();//储位名称
|
|
|
headRow.GOODSCODE = "";//货物编号
|
|
|
headRow.GOODSNAME = enumValue.GOODSNAME == null ? "" : enumValue.GOODSNAME.ToString().Trim();//货物名称
|
|
|
headRow.GOODSTYPE = "";//货物类型
|
|
|
headRow.GOODSMODEL = enumValue.GOODSMODEL == null ? "" : enumValue.GOODSMODEL.ToString().Trim();//型号//单位//品牌
|
|
|
headRow.GOODSSTANDARD = enumValue.GOODSSTANDARD == null ? "" : enumValue.GOODSSTANDARD.ToString().Trim();//规格
|
|
|
headRow.GOODSPACK = "";//包装
|
|
|
headRow.CHARGEUNIT = enumValue.CHARGEUNIT == null ? "" : enumValue.CHARGEUNIT.ToString().Trim();//CHARGEUNIT
|
|
|
headRow.GOODSPFSL = Decimal.Parse(enumValue.GOODSPFSL_OUT.ToString().Trim());//出库量
|
|
|
dlGOODSPFSL_OUT = dlGOODSPFSL_OUT + headRow.GOODSPFSL;
|
|
|
headRow.GOODSOUTFEE = 0;//仓储费
|
|
|
headRow.TRUCKNO = enumValue.TRUCKNO_OUT == null ? "" : enumValue.TRUCKNO_OUT.ToString().Trim();//TRUCKNO
|
|
|
headRow.CREATEUSER = Convert.ToString(Session["USERID"]);//创建人
|
|
|
headRow.CREATETIME = DateTime.Now;//创建时间
|
|
|
headRow.REMARK = enumValue.REMARK_OUT == null ? "" : enumValue.REMARK_OUT.ToString().Trim();//备注
|
|
|
headRow.ASSOCIATEDNO = enumValue.ASSOCIATEDNO == null ? "" : enumValue.ASSOCIATEDNO.ToString().Trim();//ASSOCIATEDNO
|
|
|
headRow.GOODSPACKPFSL = Decimal.Parse(enumValue.GOODSPACKPFSL_OUT.ToString().Trim());//出库件数
|
|
|
dlGOODSPACKPFSL_OUT = dlGOODSPACKPFSL_OUT + headRow.GOODSPACKPFSL;
|
|
|
headRow.ARFEE = enumValue.ARFEE_OUT;//铅封费,需求编号:SR2017073000001
|
|
|
headRow.ARFEE_2 = enumValue.ARFEE_2_OUT;//过磅费,需求编号:SR2017073000001
|
|
|
dlARFEE_OUT += headRow.ARFEE;//铅封费
|
|
|
dlARFEE_2_OUT += headRow.ARFEE_2;//过磅费
|
|
|
headRow.APFEE = 0;//APFEE
|
|
|
headRow.ISLOCK = false;//ISLOCK
|
|
|
headRow.LOCKUSER = Convert.ToString(Session["USERID"]);//LOCKUSER
|
|
|
headRow.LOCKTIME = DateTime.Now;//LOCKTIME
|
|
|
headRow.GOODSOUTFEEAP = 0;//应付仓储费
|
|
|
headRow.CORPID = Convert.ToString(Session["COMPANYID"]).Trim();//CORPID
|
|
|
headRow.CLIENTNAMEOLD = headData.CLIENTNAMEOLD == null ? headRow.CUSTOMERNAME.ToString().Trim() : headData.CLIENTNAMEOLD.ToString().Trim();//CLIENTNAMEOLD
|
|
|
headRow.OLDCUSTFEEDATE = headData.OLDCUSTFEEDATE == null ? DateTime.Now : DateTime.Parse(headData.OLDCUSTFEEDATE.ToString().Trim());//上家承担仓储期限
|
|
|
headRow.STARTBILLINGDATE = DateTime.Now;//应收开始计费日期
|
|
|
headRow.ENDBILLINGDATE = headData.DODATE_OUT == null ? headRow.DODATE : DateTime.Parse(headData.DODATE_OUT.ToString().Trim());//应收结束计费日期
|
|
|
headRow.FEEDAYS = 0;//FEEDAYS
|
|
|
|
|
|
if (headRow.GOODSSTANDARD == null)
|
|
|
{
|
|
|
headRow.GOODSSLICE = 0;//片数/包装件数//需求编号:SR2017061800001-7,SR2017071100001
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (headRow.GOODSSTANDARD.ToString().Trim() == "")
|
|
|
{
|
|
|
headRow.GOODSSLICE = 0;//片数/包装件数//需求编号:SR2017061800001-7,SR2017071100001
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
Decimal dl1 = Decimal.Parse(headRow.GOODSSTANDARD.ToString());
|
|
|
int i1 = (int)dl1;
|
|
|
int i2 = (int)headRow.GOODSPACKPFSL;
|
|
|
if (i1 != 0)
|
|
|
{
|
|
|
int i3 = i2 / i1;
|
|
|
headRow.GOODSSLICE = i3;//片数/包装件数//需求编号:SR2017061800001-7,SR2017071100001
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
headRow.GOODSGRADE = "";//品名的等级
|
|
|
headRow.STARTBILLINGDATEAP = DateTime.Now;//应付开始计费日期
|
|
|
headRow.ENDBILLINGDATEAP = headData.DODATE_OUT == null ? headRow.DODATE : DateTime.Parse(headData.DODATE_OUT.ToString().Trim());//应付结束计费日期
|
|
|
headRow.FEEDAYSAP = 0;//FEEDAYSAP
|
|
|
headRow.ISCHANGE = false;//是否是货权转移
|
|
|
if (outType == "货权转移")
|
|
|
{
|
|
|
headRow.ISCHANGE = true;//是否是货权转移
|
|
|
}
|
|
|
headRow.MARKETVALUE = 0;//市场货值
|
|
|
headRow.BZTCHNO = enumValue.BZTCHNO == null ? "" : enumValue.BZTCHNO.ToString().Trim();//电子账册号
|
|
|
headRow.WHS_CODE = enumValue.WHS_CODE == null ? "" : enumValue.WHS_CODE.ToString().Trim();//库别
|
|
|
headRow.GOODSNAMEID = enumValue.GOODSNAMEID == null ? "" : enumValue.GOODSNAMEID.ToString().Trim();//品名gid
|
|
|
headRow.TRUCKTYPE = enumValue.TRUCKTYPE_OUT == null ? "" : enumValue.TRUCKTYPE_OUT.ToString().Trim();//需求编号:SR2017073000001
|
|
|
headRow.ZHUANGXIEGONGID = enumValue.ZHUANGXIEGONGID_OUT == null ? "" : enumValue.ZHUANGXIEGONGID_OUT.ToString().Trim();//需求编号:SR2017073000001
|
|
|
headRow.TRUCKKGS = Decimal.Parse(enumValue.TRUCKKGS_OUT.ToString().Trim());//需求编号:SR2017073000001
|
|
|
headRow.QianFengNO = enumValue.QianFengNO == null ? "" : enumValue.QianFengNO.ToString().Trim();//需求编号:SR2017073000001
|
|
|
#endregion
|
|
|
//
|
|
|
if (opStatus == "add" && enumValue.GID_OUT.ToString().Trim() == "")//"add"
|
|
|
{
|
|
|
headRow.GID = Guid.NewGuid().ToString();//唯一编码 newid() varchar (36)
|
|
|
headRow.DbOperationType = DbOperationType.DbotIns;
|
|
|
}
|
|
|
else//"edit"
|
|
|
{
|
|
|
headRow.GID = enumValue.GID_OUT.ToString().Trim();//唯一编码
|
|
|
headRow.DbOperationType = DbOperationType.DbotUpd;
|
|
|
headRow.ModelUIStatus = "E";
|
|
|
}
|
|
|
var modb = new ModelObjectDB();
|
|
|
DBResult result = modb.Save(headRow);
|
|
|
if (result.Message.ToString().IndexOf("插入重复键") > -1)
|
|
|
{
|
|
|
errorstr += "重复数据不再重复插入!";
|
|
|
//var jsonRespose = new JsonResponse { Success = false, Message = "重复,不允许保存!" };
|
|
|
//return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
if (result.Success == true)
|
|
|
{
|
|
|
#region 出库后锁定 op_apply报关业务 BSSTATUS字段
|
|
|
if (enumValue.CHARGEUNIT.ToString().Trim() == "CBM" && enumValue.ISBONDED == 1)
|
|
|
{
|
|
|
string sSQL = "update op_apply set BSSTATUS=1 where WMSIN_GID='" + enumValue.GID.ToString().Trim() + "'";
|
|
|
bool bl = T_ALL_DA.GetExecuteSqlCommand(sSQL);
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
n++;
|
|
|
#endregion
|
|
|
}
|
|
|
|
|
|
#region 主表保存
|
|
|
WMSOUT_GuiGe headRow2 = new WMSOUT_GuiGe();
|
|
|
#region 默认值
|
|
|
headRow2.ASSOCIATEDNO = bodyList[0].ASSOCIATEDNO.ToString();//关联号
|
|
|
headRow2.BSNO = sOutBsno;//仓单明细号
|
|
|
headRow2.CLIENTGID = "";//CLIENTGID
|
|
|
headRow2.CLIENTCODE = "";//客户编码
|
|
|
headRow2.CUSTOMERNAME = bodyList[0].CUSTOMERNAME.ToString().Trim();//客户名称
|
|
|
headRow2.DODATE = headData.DODATE_OUT == null ? DateTime.Now : DateTime.Parse(headData.DODATE_OUT.ToString().Trim());//操作时间
|
|
|
headRow2.STORAGECODE = "";//仓库编码
|
|
|
headRow2.STORAGENAME = bodyList[0].STORAGENAME.ToString().Trim();//仓库名称
|
|
|
headRow2.AREACODE = "";//储位编码
|
|
|
headRow2.AREANAME = bodyList[0].AREANAME.ToString().Trim();//储位名称
|
|
|
headRow2.GOODSCODE = "";//货物编号
|
|
|
headRow2.GOODSNAME = bodyList[0].GOODSNAME.ToString().Trim();//货物名称
|
|
|
headRow2.GOODSTYPE = "";//货物类型
|
|
|
headRow2.GOODSMODEL = bodyList[0].GOODSMODEL.ToString().Trim();//型号//单位//品牌
|
|
|
headRow2.GOODSSTANDARD = bodyList[0].GOODSSTANDARD.ToString().Trim();//规格
|
|
|
headRow2.GOODSPACK = "";//包装
|
|
|
headRow2.GOODSPFSL = dlGOODSPFSL_OUT;//出库量
|
|
|
headRow2.GOODSOUTFEE = 0;//仓储费用
|
|
|
headRow2.TRUCKNO = "";//TRUCKNO
|
|
|
headRow2.REMARK = headData.OUTREMARK == null ? "" : headData.OUTREMARK.ToString().Trim();//备注
|
|
|
headRow2.ISDELETE = false;//是否废除
|
|
|
headRow2.DELETETIME = DateTime.Now;//废除时间
|
|
|
headRow2.DELETEUSER = Convert.ToString(Session["USERID"]);//废除操作人
|
|
|
headRow2.CREATEUSER = Convert.ToString(Session["USERID"]);//创建人
|
|
|
headRow2.CREATETIME = DateTime.Now;//创建时间
|
|
|
headRow2.MODIFIEDUSER = Convert.ToString(Session["USERID"]);//最后一次更新操作人
|
|
|
headRow2.MODIFIEDTIME = DateTime.Now;//最后一次更新操作时间
|
|
|
headRow2.GOODSPACKPFSL = dlGOODSPACKPFSL_OUT;//出库件数
|
|
|
headRow2.TRUCKNAME = headData.TRUCKNAME_OUT == null ? "" : headData.TRUCKNAME_OUT.ToString().Trim();//TRUCKNAME
|
|
|
headRow2.WMSOP = Convert.ToString(Session["SHOWNAME"]).Trim();//WMSOP
|
|
|
headRow2.STOREMAN = "";//STOREMAN
|
|
|
headRow2.ISLOCK = false;//ISLOCK
|
|
|
headRow2.LOCKUSER = "";//LOCKUSER
|
|
|
headRow2.LOCKTIME = DateTime.Now;//LOCKTIME
|
|
|
headRow2.GOODSOUTFEEAP = 0;//GOODSOUTFEEAP
|
|
|
headRow2.ARFEE = dlARFEE_OUT;//ARFEE,需求编号:SR2017073000001
|
|
|
headRow2.ARFEE_2 = dlARFEE_2_OUT;//ARFEE,需求编号:SR2017073000001
|
|
|
headRow2.APFEE = 0;//APFEE
|
|
|
headRow2.INSPECTIONNO = "";//INSPECTIONNO
|
|
|
headRow2.CUSTOMNO = bodyList[0].CUSTOMNO.ToString().Trim();//CUSTOMNO
|
|
|
headRow2.CORPID = Convert.ToString(Session["COMPANYID"]).Trim();//CORPID
|
|
|
headRow2.CLIENTNAMEOLD = headData.CLIENTNAMEOLD == null ? headRow2.CUSTOMERNAME.ToString().Trim() : headData.CLIENTNAMEOLD.ToString().Trim();//CLIENTNAMEOLD
|
|
|
headRow2.OLDCUSTFEEDATE = headData.OLDCUSTFEEDATE == null ? DateTime.Now : DateTime.Parse(headData.OLDCUSTFEEDATE.ToString().Trim());//OLDCUSTFEEDATE
|
|
|
headRow2.CLIENTBSNO = "";//CLIENTBSNO
|
|
|
headRow2.ARCLIENT = headData.ARCLIENT == null ? headRow2.CUSTOMERNAME.ToString().Trim() : headData.ARCLIENT.ToString().Trim();//ARCLIENT
|
|
|
headRow2.INGIDNEW = "";//INGIDNEW
|
|
|
headRow2.TOTALNO = "";//TOTALNO
|
|
|
headRow2.REMARK2 = "";//REMARK2
|
|
|
headRow2.VALIDDATE = DateTime.Now;//VALIDDATE
|
|
|
headRow2.CHARGEUNIT = bodyList[0].CHARGEUNIT.ToString().Trim();//CHARGEUNIT
|
|
|
headRow2.MBLNONEW = "";//MBLNONEW
|
|
|
headRow2.ISCHANGE = false;//ISCHANGE
|
|
|
if (outType == "货权转移")
|
|
|
{
|
|
|
headRow2.ISCHANGE = true;//是否是货权转移
|
|
|
}
|
|
|
headRow2.MARKETVALUE = 0;//MARKETVALUE
|
|
|
headRow2.ARCLIENTWMSOUT = headData.ARCLIENTWMSOUT == null ? headRow2.CUSTOMERNAME.ToString().Trim() : headData.ARCLIENTWMSOUT.ToString().Trim();//ARCLIENTWMSOUT
|
|
|
headRow2.ISCOLLECTING = false;//ISCOLLECTING
|
|
|
headRow2.WMSOUTSTATUS = 0;//WMSOUTSTATUS
|
|
|
headRow2.BZTCHNO = bodyList[0].BZTCHNO.ToString().Trim();//电子账册号
|
|
|
headRow2.WHS_CODE = bodyList[0].WHS_CODE.ToString().Trim();//库别
|
|
|
headRow2.GOODSNAMEID = bodyList[0].GOODSNAMEID.ToString().Trim();//品名gid
|
|
|
headRow2.ACCDATE = headData.ACCDATE_OUT == null ? "" : headData.ACCDATE_OUT.ToString().Trim();//会计期间
|
|
|
headRow2.FEESTATUS = headData.FEESTATUSREF_OUT.ToString().Trim() == "锁定" ? true : false;//费用状态
|
|
|
#endregion
|
|
|
//
|
|
|
if (opStatus == "add" && headData.OUTGID.ToString().Trim()=="")//"add"
|
|
|
{
|
|
|
headRow2.GID = Guid.NewGuid().ToString();//唯一编码 newid() varchar (36)
|
|
|
headRow2.DbOperationType = DbOperationType.DbotIns;
|
|
|
}
|
|
|
else//"edit"
|
|
|
{
|
|
|
headRow2.GID = headData.OUTGID.ToString().Trim();// bodyList[0].OUTGID.ToString();//唯一编码
|
|
|
headRow2.DbOperationType = DbOperationType.DbotUpd;
|
|
|
headRow2.ModelUIStatus = "E";
|
|
|
}
|
|
|
//
|
|
|
var modb2 = new ModelObjectDB();
|
|
|
DBResult result2 = modb2.Save(headRow2);
|
|
|
if (result2.Message.ToString().IndexOf("插入重复键") > -1)
|
|
|
{
|
|
|
errorstr += "重复数据不再重复插入!";
|
|
|
//var jsonRespose = new JsonResponse { Success = false, Message = "重复,不允许保存!" };
|
|
|
//return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (result2.Success == true)
|
|
|
{
|
|
|
#region 出库件数 返 入库库存//需求编号:SR2017073000001
|
|
|
foreach (var enumValue in bodyList)
|
|
|
{
|
|
|
if(enumValue.CHARGEUNIT.ToString().Trim() == "CBM")
|
|
|
{
|
|
|
string sSQL = "update wms_in set GOODSPACKSTOCK=GOODSPACK-isnull((select sum(GOODSPACKPFSL_OUT) as GOODSPACKPFSL_OUT from VW_WMS_DETAIL where GID='" + enumValue.GID.ToString().Trim() + "'),0),GOODSSTOCK=GOODSRKSL-isnull((select sum(GOODSPFSL_OUT) as GOODSPFSL_OUT from VW_WMS_DETAIL where GID='" + enumValue.GID.ToString().Trim() + "'),0) where GID='" + enumValue.GID.ToString().Trim() + "'";
|
|
|
bool bl = T_ALL_DA.GetExecuteSqlCommand(sSQL);
|
|
|
|
|
|
sSQL = "update wms set GOODSPACKSTOCK=isnull((select sum(GOODSPACKSTOCK) as GOODSPACKSTOCK from wms_in where ASSOCIATEDNO='" + enumValue.WMSGID.ToString().Trim() + "'),0),GOODSSTOCK=isnull((select sum(GOODSSTOCK) as GOODSSTOCK from wms_in where ASSOCIATEDNO='" + enumValue.WMSGID.ToString().Trim() + "'),0) where gid='" + enumValue.WMSGID.ToString().Trim() + "'";
|
|
|
bl = T_ALL_DA.GetExecuteSqlCommand(sSQL);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
string sSQL = "update wms set GOODSPACKSTOCK=GOODSPACK-isnull((select sum(GOODSPACKPFSL_OUT) as GOODSPACKPFSL_OUT from VW_WMS_DETAIL where GID='" + enumValue.GID.ToString().Trim() + "'),0),GOODSSTOCK=GOODSRKSL-isnull((select sum(GOODSPFSL_OUT) as GOODSPFSL_OUT from VW_WMS_DETAIL where GID='" + enumValue.GID.ToString().Trim() + "'),0) where GID='" + enumValue.GID.ToString().Trim() + "'";
|
|
|
bool bl = T_ALL_DA.GetExecuteSqlCommand(sSQL);
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 出库后锁定op_apply报关业务BSSTATUS字段
|
|
|
foreach (var enumValue in bodyList)
|
|
|
{
|
|
|
if (enumValue.CHARGEUNIT.ToString().Trim() == "CBM" && enumValue.ISBONDED == 1)
|
|
|
{
|
|
|
string sSQL = "update op_apply set BSSTATUS=1 where WMSIN_GID='" + enumValue.GID.ToString().Trim() + "' and ISCLEAR='1' and CUSTOMTYPE='出区报关'";
|
|
|
bool bl = T_ALL_DA.GetExecuteSqlCommand(sSQL);
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 计算仓储费
|
|
|
Decimal totaloutfee = 0;//应收出库单的仓储费
|
|
|
Decimal totaloutfeeap = 0;//应付出库单的仓储费
|
|
|
|
|
|
var dataList = WMSOUT_GuiGeDAL.GetDetailList("edit", "outgid='" + headRow2.GID.ToString() + "'", Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]));
|
|
|
foreach (var enumValue in dataList)
|
|
|
{
|
|
|
// <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>
|
|
|
|
|
|
int feedays = 0;//应收仓储天数
|
|
|
int feedaysap = 0;//应付仓储天数
|
|
|
Decimal sumfee = 0;//应收出库明细的仓储费
|
|
|
Decimal sumfeeap = 0;//应付出库明细的仓储费
|
|
|
|
|
|
#region 应收
|
|
|
if (enumValue.ARCLIENTWMSOUT.ToString().Trim() != "")
|
|
|
{
|
|
|
string getstr = WMSOUT_GuiGeDAL.getWmsRate(enumValue.STARTBILLINGDATE.ToString().Trim(), headData.OLDCUSTFEEDATE.ToString().Trim(), enumValue.INBSNO_OUT.ToString().Trim(), enumValue.ARCLIENTWMSOUT.ToString().Trim(), Decimal.Parse(enumValue.GOODSPFSL_OUT.ToString().Trim()), enumValue.GID_OUT.ToString(), 1, Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), enumValue.OUTBSNO_OUT.ToString().Trim(), headRow2.GID.ToString().Trim(), headData.cbCCF, false);
|
|
|
|
|
|
string[] strls = getstr.Trim().Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
|
|
|
sumfee = Decimal.Parse(strls[0].ToString());
|
|
|
totaloutfee += sumfee;//仓储费合计
|
|
|
feedays += int.Parse(strls[1].ToString());
|
|
|
|
|
|
#region 更新出库明细表的仓储费信息
|
|
|
string sSQL = "update wms_out_detail set GOODSOUTFEE=" + sumfee //应收仓储费
|
|
|
+ ",STARTBILLINGDATE='" + enumValue.STARTBILLINGDATE.ToString().Trim() + "'"//应收开始计费日期
|
|
|
+ ",ENDBILLINGDATE='" + headData.OLDCUSTFEEDATE.ToString().Trim() + "'"//应收结束计费日期
|
|
|
+ ",FEEDAYS=" + feedays//应收计费天数
|
|
|
+ " where GID='" + enumValue.GID_OUT.ToString() + "'";
|
|
|
bool bl = T_ALL_DA.GetExecuteSqlCommand(sSQL);
|
|
|
#endregion
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 应付
|
|
|
if (enumValue.TRUCKNAME.ToString().Trim()!="")
|
|
|
{
|
|
|
string getstr = WMSOUT_GuiGeDAL.getWmsRate(enumValue.STARTBILLINGDATEAP.ToString().Trim(), headData.OLDCUSTFEEDATE.ToString().Trim(), enumValue.INBSNO_OUT.ToString().Trim(), enumValue.TRUCKNAME.ToString().Trim(), Decimal.Parse(enumValue.GOODSPFSL_OUT.ToString().Trim()), enumValue.GID_OUT.ToString(), 2, Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), enumValue.OUTBSNO_OUT.ToString().Trim(), headRow2.GID.ToString().Trim(), headData.cbCCF, false);
|
|
|
string[] strls = getstr.Trim().Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
|
|
|
sumfeeap = Decimal.Parse(strls[0].ToString());
|
|
|
totaloutfeeap += sumfeeap;//仓储费合计
|
|
|
feedaysap += int.Parse(strls[1].ToString());
|
|
|
|
|
|
#region 更新出库明细表的仓储费信息
|
|
|
string sSQL = "update wms_out_detail set GOODSOUTFEEAP=" + sumfeeap //应付仓储费
|
|
|
+ ",STARTBILLINGDATEAP='" + enumValue.STARTBILLINGDATE.ToString().Trim() + "'"//应付开始计费日期
|
|
|
+ ",ENDBILLINGDATEAP='" + headData.OLDCUSTFEEDATE.ToString().Trim() + "'"//应付结束计费日期
|
|
|
+ ",FEEDAYSAP=" + feedaysap//应付计费天数
|
|
|
+ " where GID='" + enumValue.GID_OUT.ToString() + "'";
|
|
|
bool bl = T_ALL_DA.GetExecuteSqlCommand(sSQL);
|
|
|
#endregion
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
|
|
|
#region 更新出库主表的仓储费信息
|
|
|
string sSQL2 = "update wms_out set GOODSOUTFEE=" + totaloutfee //应收仓储费
|
|
|
+ ",GOODSOUTFEEAP=" + totaloutfeeap//应付仓储费
|
|
|
+ " where GID='" + headRow2.GID.ToString().Trim() + "'";
|
|
|
bool bl2 = T_ALL_DA.GetExecuteSqlCommand(sSQL2);
|
|
|
#endregion
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 货权转移
|
|
|
if (outType == "货权转移")
|
|
|
{
|
|
|
string sSQL = "";
|
|
|
string newWmsGid = "Wms" + Guid.NewGuid().ToString().Replace("-", "");
|
|
|
if (opStatus == "edit")
|
|
|
{
|
|
|
#region 提取货权转移后的入库主表GID
|
|
|
sSQL = "select top 1 INGIDNEW from wms_out where gid='" + headData.OUTGID.ToString() + "'";
|
|
|
string sINGIDNEW = T_ALL_DA.GetStrSQL("INGIDNEW", sSQL);
|
|
|
if (sINGIDNEW.Trim() != "")
|
|
|
{
|
|
|
newWmsGid = sINGIDNEW;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 删除入库明细
|
|
|
sSQL = "delete from wms_in where ASSOCIATEDNO='" + newWmsGid + "'";
|
|
|
#endregion
|
|
|
bool bl = T_ALL_DA.GetExecuteSqlCommand(sSQL);
|
|
|
|
|
|
#region 删除主表信息
|
|
|
sSQL = "delete from wms where gid='" + newWmsGid + "'";
|
|
|
#endregion
|
|
|
bool bl3 = T_ALL_DA.GetExecuteSqlCommand(sSQL);
|
|
|
|
|
|
#region 删除入库仓储费率表
|
|
|
sSQL = "delete from wms_rate where BSNO='" + newWmsGid + "'";
|
|
|
#endregion
|
|
|
bool bl4 = T_ALL_DA.GetExecuteSqlCommand(sSQL);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
#region 更新现出库货权转移的入库wmsgid(INGIDNEW)
|
|
|
sSQL = "update wms_out set INGIDNEW='" + newWmsGid + "' where gid='" + headRow2.GID.ToString() + "'";
|
|
|
#endregion
|
|
|
bool bl5 = T_ALL_DA.GetExecuteSqlCommand(sSQL);
|
|
|
}
|
|
|
|
|
|
#region 基本变量
|
|
|
var billnoset = MsSysBillNoSetDAL.GetData("OPLBNAME='仓储入库'", Convert.ToString(Session["COMPANYID"]));
|
|
|
string newWMSNO = MsSysBillNoSetDAL.GetBillNo(billnoset, headData.DODATE_OUT.ToString(), headData.ACCDATE_OUT.ToString());
|
|
|
int feedays = WMSOUT_GuiGeDAL.GetDaysCount("day", headData.DODATE_OUT.ToString(), headData.OLDCUSTFEEDATE.ToString());//出库-开始计费日期+1
|
|
|
string WMSGID = "";
|
|
|
dlGOODSPACKPFSL_OUT = 0;
|
|
|
dlGOODSPFSL_OUT = 0;
|
|
|
#endregion
|
|
|
|
|
|
#region 入库明细
|
|
|
foreach (var enumValue in dataList)
|
|
|
{
|
|
|
WMSGID = enumValue.WMSGID.ToString();
|
|
|
dlGOODSPACKPFSL_OUT += enumValue.GOODSPACKPFSL_OUT;
|
|
|
dlGOODSPFSL_OUT += enumValue.GOODSPFSL_OUT;
|
|
|
|
|
|
if (enumValue.CHARGEUNIT.ToString().Trim() == "CBM")
|
|
|
{
|
|
|
#region 提取原入库明细信息插入
|
|
|
sSQL = "insert into wms_in (GID,ASSOCIATEDNO,BLNO,CONTRACTNO,CTNALL,CNTRNO,SEALNO,BSNO,CLIENTCODE,CLIENTNAME,DODATE,STORAGECODE,STORAGENAME,AREACODE,AREANAME,GOODSCODE,GOODSNAME,GOODSTYPE,GOODSMODEL,GOODSSTANDARD,GOODSPACK,GOODSPACKSTOCK,GOODSKGS,CHARGEUNIT,GOODSRKSL,GOODSSTOCK,FREESTORAGEPERIOD,ISLOCK,LOCKTIME,LOCKUSER,ISDELETE,DELETETIME,DELETEUSER,CREATEUSER,CREATETIME,MODIFIEDUSER,MODIFIEDTIME,REMARK,CLIENTCODEOLD,CLIENTNAMEOLD,KINDPKGS,ARFEE,APFEE,CORPID,GOODSTHICKNESS,GOODSWIDTH,GOODSLENGTH,GOODSSLICE,GOODSGRADE,STACKLOCATION,GOODSPACKACTUAL,GOODSRKSLACTUAL,ISCHANGE,MARKETVALUE,BANKVALUE,LINENUM,GOODSNAMEID,ISLOCK2,XIANGHAO2,JIANSHU2,ZHUANGXIEGONGID,TRUCKNO,CHIMA1,CHIMA2,ZHONGLIANG2,SHIJIZHONGLIANG,SHIJICHIMA,JIANSHU1)"
|
|
|
+ " select"
|
|
|
+ " newid() as GID" //惟一编号" //Varchar(100)
|
|
|
+ ",'" + newWmsGid + "' as ASSOCIATEDNO" //关联号" //Varchar(100)
|
|
|
+ ",BLNO" //提单号" //Varchar(30)
|
|
|
+ ",CONTRACTNO" //合同号" //Varchar(100)
|
|
|
+ ",CTNALL" //箱型" //Varchar(10)
|
|
|
+ ",CNTRNO" //箱号" //Varchar(30)
|
|
|
+ ",SEALNO" //封号" //Varchar(12)
|
|
|
+ ",'" + newWMSNO + "' as BSNO" //入库单号" //Varchar(100)
|
|
|
+ ",CLIENTCODE" //客户编码" //varchar(20)
|
|
|
+ ",'" + headData.CLIENTNAMEOLD.ToString() + "' as CLIENTNAME" //客户名称" //varchar(20)
|
|
|
+ ",'" + headData.DODATE_OUT.ToString() + "' as DODATE" //入库日期" //Datetime
|
|
|
+ ",STORAGECODE" //仓库编码" //Varchar(50)
|
|
|
+ ",STORAGENAME" //仓库名称" //Varchar(100)
|
|
|
+ ",AREACODE" //库位编码" //Varchar(50)
|
|
|
+ ",AREANAME" //库位名称/储位" //Varchar(100)
|
|
|
+ ",GOODSCODE" //货物编号" //Varchar(50)
|
|
|
+ ",GOODSNAME" //货物名称/品名" //Varchar(100)
|
|
|
+ ",GOODSTYPE" //货物类型" //Varchar(50)
|
|
|
+ ",GOODSMODEL" //型号/品牌" //Varchar(100)
|
|
|
+ ",GOODSSTANDARD" //规格" //Varchar(100)
|
|
|
+ "," + enumValue.GOODSPACKPFSL_OUT + " as GOODSPACK" //入库件数" //Numeric(18,4)
|
|
|
+ "," + enumValue.GOODSPACKPFSL_OUT + " as GOODSPACKSTOCK" //剩余件数" //Numeric(18,4)
|
|
|
+ ",0 as GOODSKGS" //单位重量" //Numeric(18,4)
|
|
|
+ ",CHARGEUNIT" //计费单位" //Varchar(10)
|
|
|
+ "," + enumValue.GOODSPFSL_OUT + " as GOODSRKSL" //入库量" //Numeric(18,4)
|
|
|
+ "," + enumValue.GOODSPFSL_OUT + " as GOODSSTOCK" //库存量" //Numeric(18,4)
|
|
|
+ "," + feedays + " as FREESTORAGEPERIOD" //免仓储期" //int
|
|
|
+ ",0 as ISLOCK" //是否锁定" //bit
|
|
|
+ ",getdate() as LOCKTIME" //锁定时间" //Datetime
|
|
|
+ ",LOCKUSER" //锁定操作人" //Varchar(36)
|
|
|
+ ",0 as ISDELETE" //是否废除" //bit
|
|
|
+ ",getdate() as DELETETIME" //废除时间" //Datetime
|
|
|
+ ",DELETEUSER" //废除操作人" //Varchar(36)
|
|
|
+ ",'" + Convert.ToString(Session["USERID"]).Trim() + "' as CREATEUSER" //创建人" //Varchar(36)
|
|
|
+ ",getdate() as CREATETIME" //创建时间" //Datetime
|
|
|
+ ",'" + Convert.ToString(Session["USERID"]).Trim() + "' as MODIFIEDUSER" //最后一次更新操作人" //Varchar(36)
|
|
|
+ ",getdate() as MODIFIEDTIME" //最后一次更新操作时间" //Datetime
|
|
|
+ ",'货权转移' as REMARK" //备注" //Varchar(1024)
|
|
|
+ ",CLIENTCODEOLD" //原客户编码" //varchar(20)
|
|
|
+ ",CLIENTNAME as CLIENTNAMEOLD" //原客户名称" //varchar(20)
|
|
|
+ ",KINDPKGS" //包装" //varchar(20)
|
|
|
+ ",0 as ARFEE" //应收账款 account receivable" //Numeric(18,2)
|
|
|
+ ",0 as APFEE" //应付账款 account payable" //Numeric(18,2)
|
|
|
+ ",'" + Convert.ToString(Session["COMPANYID"]).Trim() + "' as CORPID" //分公司代码" //Varchar(36)" //" //
|
|
|
+ ",0 as GOODSTHICKNESS" //厚度" //Numeric(18,4)
|
|
|
+ ",0 as GOODSWIDTH" //宽度" //Numeric(18,4)
|
|
|
+ ",0 as GOODSLENGTH" //长度" //Numeric(18,4)
|
|
|
+ ",0 as GOODSSLICE" //片数/件/包装件数" //Numeric(18,4)
|
|
|
+ ",GOODSGRADE" //品名的等级" //Varchar(50)
|
|
|
+ ",STACKLOCATION" //码放位置" //Varchar(50)
|
|
|
+ "," + enumValue.GOODSPACKPFSL_OUT + " as GOODSPACKACTUAL" //实际件数" //Numeric(18,4)
|
|
|
+ "," + enumValue.GOODSPFSL_OUT + " as GOODSRKSLACTUAL" //实际数量" //Numeric(18,4)
|
|
|
+ ",1 as ISCHANGE" //是否是货权转移" //bit
|
|
|
+ ",0 as MARKETVALUE" //市场货值" //Numeric(18,2)
|
|
|
+ ",0 as BANKVALUE" //银行货值" //Numeric(18,2)
|
|
|
+ ",LINENUM=(select top 1 LINENUM=isnull((select top 1 LINENUM from wms_in WITH(NOLOCK) where ASSOCIATEDNO='" + newWmsGid + "' order by LINENUM desc),0)+1)" //单个grid的行号" //Int" //" //
|
|
|
+ ",GOODSNAMEID" //品名id" //Varchar(50)" //" //
|
|
|
+ ",0 as ISLOCK2" //是否锁定" //Bit
|
|
|
+ ",XIANGHAO2" //箱号2" //varchar(100)
|
|
|
+ ",0 as JIANSHU2" //件数2" //numeric(18, 4)
|
|
|
+ ",ZHUANGXIEGONGID" //装卸工ID" //varchar(100)
|
|
|
+ ",TRUCKNO" //车牌号" //varchar(100)
|
|
|
+ ",0 as CHIMA1" //尺码1" //Float
|
|
|
+ ",0 as CHIMA2" //尺码2" //Float
|
|
|
+ ",0 as ZHONGLIANG2" //重量2" //numeric(18, 4)
|
|
|
+ ",0 as SHIJIZHONGLIANG" //实际重量" //float
|
|
|
+ ",0 as SHIJICHIMA" //实际尺码" //Float
|
|
|
+ ",0 as JIANSHU1" //件数1" //numeric(18, 4)
|
|
|
+ " from wms_in where GID='" + enumValue.GID.ToString() + "'";
|
|
|
#endregion
|
|
|
bool bl = T_ALL_DA.GetExecuteSqlCommand(sSQL);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
#region 提取原入库主表信息插入
|
|
|
sSQL = "insert into wms_in (GID,ASSOCIATEDNO,BLNO,CONTRACTNO,CTNALL,CNTRNO,SEALNO,BSNO,CLIENTCODE,CLIENTNAME,DODATE,STORAGECODE,STORAGENAME,AREACODE,AREANAME,GOODSCODE,GOODSNAME,GOODSTYPE,GOODSMODEL,GOODSSTANDARD,GOODSPACK,GOODSPACKSTOCK,GOODSKGS,CHARGEUNIT,GOODSRKSL,GOODSSTOCK,FREESTORAGEPERIOD,ISLOCK,LOCKTIME,LOCKUSER,ISDELETE,DELETETIME,DELETEUSER,CREATEUSER,CREATETIME,MODIFIEDUSER,MODIFIEDTIME,REMARK,CLIENTCODEOLD,CLIENTNAMEOLD,KINDPKGS,ARFEE,APFEE,CORPID,GOODSTHICKNESS,GOODSWIDTH,GOODSLENGTH,GOODSSLICE,GOODSGRADE,STACKLOCATION,GOODSPACKACTUAL,GOODSRKSLACTUAL,ISCHANGE,MARKETVALUE,BANKVALUE,LINENUM,GOODSNAMEID,ISLOCK2,XIANGHAO2,JIANSHU2,ZHUANGXIEGONGID,TRUCKNO,CHIMA1,CHIMA2,ZHONGLIANG2,SHIJIZHONGLIANG,SHIJICHIMA,JIANSHU1)" //应付仓储费
|
|
|
+ " select top 1"
|
|
|
+ " newid() as GID" //惟一编号" //Varchar(100)
|
|
|
+ ",'" + newWmsGid + "' as ASSOCIATEDNO" //关联号" //Varchar(100)
|
|
|
+ ",BLNO" //提单号" //Varchar(30)
|
|
|
+ ",CONTRACTNO" //合同号" //Varchar(100)
|
|
|
+ ",CTNALL" //箱型" //Varchar(10)
|
|
|
+ ",CNTRNO" //箱号" //Varchar(30)
|
|
|
+ ",SEALNO" //封号" //Varchar(12)
|
|
|
+ ",'" + newWMSNO + "' as BSNO" //入库单号" //Varchar(100)
|
|
|
+ ",CLIENTCODE" //客户编码" //varchar(20)
|
|
|
+ ",'" + headData.CLIENTNAMEOLD.ToString() + "' as CLIENTNAME" //客户名称" //varchar(20)
|
|
|
+ ",'" + headData.DODATE_OUT.ToString() + "' as DODATE" //入库日期" //Datetime
|
|
|
+ ",STORAGECODE" //仓库编码" //Varchar(50)
|
|
|
+ ",STORAGENAME" //仓库名称" //Varchar(100)
|
|
|
+ ",AREACODE" //库位编码" //Varchar(50)
|
|
|
+ ",AREANAME" //库位名称/储位" //Varchar(100)
|
|
|
+ ",GOODSCODE" //货物编号" //Varchar(50)
|
|
|
+ ",GOODSNAME" //货物名称/品名" //Varchar(100)
|
|
|
+ ",GOODSTYPE" //货物类型" //Varchar(50)
|
|
|
+ ",GOODSMODEL" //型号/品牌" //Varchar(100)
|
|
|
+ ",GOODSSTANDARD" //规格" //Varchar(100)
|
|
|
+ "," + enumValue.GOODSPACKPFSL_OUT + " as GOODSPACK" //入库件数" //Numeric(18,4)
|
|
|
+ "," + enumValue.GOODSPACKPFSL_OUT + " as GOODSPACKSTOCK" //剩余件数" //Numeric(18,4)
|
|
|
+ ",0 as GOODSKGS" //单位重量" //Numeric(18,4)
|
|
|
+ ",CHARGEUNIT" //计费单位" //Varchar(10)
|
|
|
+ "," + enumValue.GOODSPFSL_OUT + " as GOODSRKSL" //入库量" //Numeric(18,4)
|
|
|
+ "," + enumValue.GOODSPFSL_OUT + " as GOODSSTOCK" //库存量" //Numeric(18,4)
|
|
|
+ "," + feedays + " as FREESTORAGEPERIOD" //免仓储期" //int
|
|
|
+ ",0 as ISLOCK" //是否锁定" //bit
|
|
|
+ ",LOCKTIME" //锁定时间" //Datetime
|
|
|
+ ",LOCKUSER" //锁定操作人" //Varchar(36)
|
|
|
+ ",0 as ISDELETE" //是否废除" //bit
|
|
|
+ ",DELETETIME" //废除时间" //Datetime
|
|
|
+ ",DELETEUSER" //废除操作人" //Varchar(36)
|
|
|
+ ",'" + Convert.ToString(Session["USERID"]).Trim() + "' as CREATEUSER" //创建人" //Varchar(36)
|
|
|
+ ",getdate() as CREATETIME" //创建时间" //Datetime
|
|
|
+ ",'" + Convert.ToString(Session["USERID"]).Trim() + "' as MODIFIEDUSER" //最后一次更新操作人" //Varchar(36)
|
|
|
+ ",getdate() as MODIFIEDTIME" //最后一次更新操作时间" //Datetime
|
|
|
+ ",'货权转移' as REMARK" //备注" //Varchar(1024)
|
|
|
+ ",CLIENTCODEOLD" //原客户编码" //varchar(20)
|
|
|
+ ",CLIENTNAME as CLIENTNAMEOLD" //原客户名称" //varchar(20)
|
|
|
+ ",KINDPKGS" //包装" //varchar(20)
|
|
|
+ ",0 as ARFEE" //应收账款 account receivable" //Numeric(18,2)
|
|
|
+ ",0 as APFEE" //应付账款 account payable" //Numeric(18,2)
|
|
|
+ ",'" + Convert.ToString(Session["COMPANYID"]).Trim() + "' as CORPID" //分公司代码" //Varchar(36)" //" //
|
|
|
+ ",0 as GOODSTHICKNESS" //厚度" //Numeric(18,4)
|
|
|
+ ",0 as GOODSWIDTH" //宽度" //Numeric(18,4)
|
|
|
+ ",0 as GOODSLENGTH" //长度" //Numeric(18,4)
|
|
|
+ ",0 as GOODSSLICE" //片数/件/包装件数" //Numeric(18,4)
|
|
|
+ ",GOODSGRADE" //品名的等级" //Varchar(50)
|
|
|
+ ",STACKLOCATION" //码放位置" //Varchar(50)
|
|
|
+ "," + enumValue.GOODSPACKPFSL_OUT + " as GOODSPACKACTUAL" //实际件数" //Numeric(18,4)
|
|
|
+ "," + enumValue.GOODSPFSL_OUT + " as GOODSRKSLACTUAL" //实际数量" //Numeric(18,4)
|
|
|
+ ",1 as ISCHANGE" //是否是货权转移" //bit
|
|
|
+ ",0 as MARKETVALUE" //市场货值" //Numeric(18,2)
|
|
|
+ ",0 as BANKVALUE" //银行货值" //Numeric(18,2)
|
|
|
+ ",LINENUM=(select top 1 LINENUM=isnull((select top 1 LINENUM from wms_in WITH(NOLOCK) where ASSOCIATEDNO='" + newWmsGid + "' order by LINENUM desc),0)+1)" //单个grid的行号" //Int" //" //
|
|
|
+ ",GOODSNAMEID" //品名id" //Varchar(50)" //" //
|
|
|
+ ",0 as ISLOCK2" //是否锁定" //Bit
|
|
|
+ ",XIANGHAO2" //箱号2" //varchar(100)
|
|
|
+ ",0 as JIANSHU2" //件数2" //numeric(18, 4)
|
|
|
+ ",ZHUANGXIEGONGID" //装卸工ID" //varchar(100)
|
|
|
+ ",TRUCKNO" //车牌号" //varchar(100)
|
|
|
+ ",0 as CHIMA1" //尺码1" //Float
|
|
|
+ ",0 as CHIMA2" //尺码2" //Float
|
|
|
+ ",0 as ZHONGLIANG2" //重量2" //numeric(18, 4)
|
|
|
+ ",0 as SHIJIZHONGLIANG" //实际重量" //float
|
|
|
+ ",0 as SHIJICHIMA" //实际尺码" //Float
|
|
|
+ ",0 as JIANSHU1" //件数1" //numeric(18, 4)
|
|
|
+ " from wms_in where ASSOCIATEDNO='" + enumValue.GID.ToString() + "'";
|
|
|
#endregion
|
|
|
bool bl = T_ALL_DA.GetExecuteSqlCommand(sSQL);
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 提取原入库主表信息插入
|
|
|
sSQL = "insert into wms (GID,WMSNO,WMSDATE,CUSTOMERNAME,WMSOP,STOREMAN,CREATEUSER,CREATETIME,MODIFIEDUSER,MODIFIEDTIME,ISDELETE,DELETEUSER,DELETETIME,ARCLIENT,TRUCKNAME,ISLOCK,LOCKTIME,LOCKUSER,GOODSNAME,GOODSMODEL,CHARGEUNIT,GOODSPACK,GOODSPACKSTOCK,GOODSRKSL,GOODSSTOCK,ARFEE,APFEE,FREESTORAGEPERIOD,ASSOCIATEDNO,BLNO,CONTRACTNO,CLIENTCODEOLD,CLIENTNAMEOLD,STORAGENAME,CORPID,STARTBILLINGDATE,CUSTOMNO,CUSTNO,GOODSSTANDARD,GOODSPACKACTUAL,GOODSRKSLACTUAL,FREESTORAGEPERIODAP,STARTBILLINGDATEAP,ISCHANGE,AREANAME,MARKETVALUE,BANKVALUE,BZTCHNO,CLIENTBSNO,WHS_CODE,GOODSNAMEID,ACCDATE,FEESTATUS,ISLOCK2)"
|
|
|
+ " select "
|
|
|
+ " '" + newWmsGid + "' as GID" //惟一编号 Varchar(36)
|
|
|
+ ",'" + newWMSNO + "' as WMSNO" //入库单号 Varchar(100)
|
|
|
+ ",'" + headData.DODATE_OUT.ToString() + "' as WMSDATE" //入库时间 Datetime
|
|
|
+ ",'" + headData.CLIENTNAMEOLD.ToString() + "' as CUSTOMERNAME" //客户名称 Varchar(20)
|
|
|
+ ",'" + Convert.ToString(Session["SHOWNAME"]).Trim() + "' as WMSOP" //制表人 Varchar(10)
|
|
|
+ ",'" + Convert.ToString(Session["SHOWNAME"]).Trim() + "' as STOREMAN" //保管人 Varchar(10)
|
|
|
+ ",'" + Convert.ToString(Session["USERID"]).Trim() + "' as CREATEUSER" //创建人 Varchar(36)
|
|
|
+ ",getdate() as CREATETIME" //创建时间 Datetime
|
|
|
+ ",'" + Convert.ToString(Session["USERID"]).Trim() + "' as MODIFIEDUSER" //最后一次更新操作人 Varchar(36)
|
|
|
+ ",getdate() as MODIFIEDTIME" //最后一次更新操作时间 Datetime
|
|
|
+ ",0 as ISDELETE" //是否废除 Bit
|
|
|
+ ",DELETEUSER" //废除人 Varchar(36)
|
|
|
+ ",getdate() as DELETETIME" //废除时间 Datetime
|
|
|
+ ",'" + headData.CLIENTNAMEOLD.ToString() + "' as ARCLIENT" //应收账款客户名称/仓库或客户 Varchar(20)
|
|
|
+ ",'" + headData.CLIENTNAMEOLD.ToString() + "' as TRUCKNAME" //装卸队名称 /应付账款客户名称 Varchar(20)
|
|
|
+ ",0 as ISLOCK" //是否锁定 Bit/新协行tinyint
|
|
|
+ ",getdate() as LOCKTIME" //锁定时间 Datetime
|
|
|
+ ",LOCKUSER" //锁定操作人 Varchar(36)
|
|
|
+ ",GOODSNAME" //货物名称/品名 Varchar(100)
|
|
|
+ ",GOODSMODEL" //型号 Varchar(100)
|
|
|
+ ",CHARGEUNIT" //计费单位 Varchar(10)
|
|
|
+ "," + dlGOODSPACKPFSL_OUT + " as GOODSPACK" //入库件数 Numeric(18,4)
|
|
|
+ "," + dlGOODSPACKPFSL_OUT + " as GOODSPACKSTOCK" //*剩余件数(出货时减) Numeric(18,4)
|
|
|
+ "," + dlGOODSPFSL_OUT + " as GOODSRKSL" //入库量 Numeric(18,4)
|
|
|
+ "," + dlGOODSPFSL_OUT + " as GOODSSTOCK" //*库存量(出货时减) Numeric(18,4)
|
|
|
+ ",0 as ARFEE" //应收账款 account receivable Numeric(18,2)
|
|
|
+ ",0 as APFEE" //应付账款 account payable Numeric(18,2)
|
|
|
+ "," + feedays + " as FREESTORAGEPERIOD" //应收免仓储期 int
|
|
|
+ ",ASSOCIATEDNO" //关联号 Varchar(100)
|
|
|
+ ",BLNO" //提单号 Varchar(30)
|
|
|
+ ",CONTRACTNO" //合同号 Varchar(100)
|
|
|
+ ",CLIENTCODEOLD" //原客户编码 Varchar(20)
|
|
|
+ ",CUSTOMERNAME as CLIENTNAMEOLD" //原客户名称 Varchar(20)
|
|
|
+ ",STORAGENAME" //仓库名称 Varchar(100)
|
|
|
+ ",'" + Convert.ToString(Session["COMPANYID"]).Trim() + "' as CORPID" //分公司代码 Varchar(36)
|
|
|
+ ",'" + headData.OLDCUSTFEEDATE.AddDays(1) + "' as STARTBILLINGDATE" //应收开始计费日期 Datetime
|
|
|
+ ",CUSTOMNO" //报关单号/备案清单号 Varchar(20)
|
|
|
+ ",CUSTNO" //委托编号 Varchar(30)
|
|
|
+ ",GOODSSTANDARD" //规格 Varchar(100)
|
|
|
+ "," + dlGOODSPACKPFSL_OUT + " as GOODSPACKACTUAL" //实际件数 Numeric(18,4)
|
|
|
+ "," + dlGOODSPFSL_OUT + " as GOODSRKSLACTUAL" //实际数量 Numeric(18,4)
|
|
|
+ "," + feedays + " as FREESTORAGEPERIODAP" //应付免仓储期 int
|
|
|
+ ",'" + headData.OLDCUSTFEEDATE.AddDays(1) + "' as STARTBILLINGDATEAP" //应付开始计费日期 Datetime
|
|
|
+ ",1 as ISCHANGE" //是否是货权转移 Bit
|
|
|
+ ",AREANAME" //库位名称/储位 Varchar(100)
|
|
|
+ ",0 as MARKETVALUE" //市场货值 Numeric(18,2)
|
|
|
+ ",0 as BANKVALUE" //银行货值 Numeric(18,2)
|
|
|
+ ",BZTCHNO" //批次号/电子账册号 Varchar(100)
|
|
|
+ ",CLIENTBSNO" //不同客户的重复的出库单/客户出库仓单号 Varchar(100)
|
|
|
+ ",WHS_CODE" //库别 Varchar(20)
|
|
|
+ ",GOODSNAMEID" //品名id Varchar(50)
|
|
|
+ ",ACCDATE" //会计期间 Varchar(7)
|
|
|
+ ",0 as FEESTATUS" //费用状态 Bit
|
|
|
+ ",0 as ISLOCK2" //是否锁定 Bit
|
|
|
+ " from wms where GID='" + WMSGID + "'";
|
|
|
#endregion
|
|
|
bool bl6 = T_ALL_DA.GetExecuteSqlCommand(sSQL);
|
|
|
|
|
|
#region 入库仓储费率表
|
|
|
sSQL = "insert into wms_rate (GID,CUSTOMERNAME,FEETYPE,FEEGRADE,FEESCALE,FEEPRICE,FEEUNIT,CREATEUSER,CREATETIME,MODIFIEDUSER,MODIFIEDTIME,REMARK,BSNO,ADDPRICE,ENDBILLINGDATE,RATETYPE,FEENAME,ISCHANGE,CAPPRICE)"
|
|
|
+ " select newid() as GID" //惟一编号" //Varchar(36)
|
|
|
+ ",'" + headData.CLIENTNAMEOLD.ToString() + "' as CUSTOMERNAME" //客户名称" //varchar(20)
|
|
|
+ ",FEETYPE" //费用类别" //Int
|
|
|
+ ",FEEGRADE" //计费等级" //Int
|
|
|
+ ",FEESCALE" //计费区间" //Int
|
|
|
+ ",FEEPRICE" //计费单价" //Numeric(18,2)
|
|
|
+ ",FEEUNIT" //计费单位" //Varchar(10)
|
|
|
+ ",'" + Convert.ToString(Session["USERID"]).Trim() + "' as CREATEUSER" //创建人" //Varchar(20)
|
|
|
+ ",getdate() as CREATETIME" //创建时间" //Datetime
|
|
|
+ ",'" + Convert.ToString(Session["SHOWNAME"]).Trim() + "' as MODIFIEDUSER" //最后一次操作人" //Varchar(20)
|
|
|
+ ",getdate() as MODIFIEDTIME" //最后一次操作时间" //Datetime
|
|
|
+ ",'货权转移' as REMARK" //备注" //varchar(100)
|
|
|
+ ",'" + newWmsGid + "' as BSNO" //关联GID" //varchar(100)
|
|
|
+ ",ADDPRICE" //增值价" //Numeric(18,2)
|
|
|
+ ",ENDBILLINGDATE" //结束计费日期" //Datetime
|
|
|
+ ",RATETYPE" //费率类型" //int
|
|
|
+ ",FEENAME" //费用中文名称" //varchar(100)
|
|
|
+ ",1 as ISCHANGE" //是否是货权转移" //bit
|
|
|
+ ",CAPPRICE" //封顶价" //Numeric(18,2)
|
|
|
+ " from wms_rate where bsno='" + WMSGID + "'";
|
|
|
#endregion
|
|
|
bool bl7 = T_ALL_DA.GetExecuteSqlCommand(sSQL);
|
|
|
}
|
|
|
#endregion
|
|
|
//
|
|
|
var jsonRespose = new JsonResponse
|
|
|
{
|
|
|
Success = result2.Success,
|
|
|
Message = result2.Message,
|
|
|
Data = WMSOUT_GuiGeDAL.GetData("outgid='" + headRow2.GID.ToString() + "'", Convert.ToString(Session["COMPANYID"]), Convert.ToString(Session["USERID"]))
|
|
|
};
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
var jsonRespose = new JsonResponse
|
|
|
{
|
|
|
Success = false,
|
|
|
Message = "数据出错,不允许保存,请重试...",
|
|
|
Data = WMSOUT_GuiGeDAL.GetData("1<0", Convert.ToString(Session["COMPANYID"]), Convert.ToString(Session["USERID"]))
|
|
|
};
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 删除
|
|
|
public ContentResult Delete(string gids)
|
|
|
{
|
|
|
if (Convert.ToString(Session["COMPANYID"]).Trim() == "" || Convert.ToString(Session["USERID"]).Trim() == "" || Convert.ToString(Session["CODENAME"]).Trim() == "" || Convert.ToString(Session["SHOWNAME"]).Trim() == "" || Convert.ToString(Session["DEPTNAME"]).Trim() == "")
|
|
|
{
|
|
|
var jsonRespose2 = new JsonResponse { Success = false, Message = "登录超时,请退出系统重新登录!" };
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose2) };
|
|
|
}
|
|
|
//
|
|
|
DBResult result = WMSOUT_GuiGeDAL.Delete(gids, Convert.ToString(Session["USERID"]).Trim());
|
|
|
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 费用入账
|
|
|
public ContentResult setislock(string sOUTGID)
|
|
|
{
|
|
|
if (Convert.ToString(Session["COMPANYID"]).ToString().Trim() == "" || Convert.ToString(Session["USERID"]).ToString().Trim() == "" || Convert.ToString(Session["CODENAME"]).ToString().Trim() == "" || Convert.ToString(Session["SHOWNAME"]).ToString().Trim() == "" || Convert.ToString(Session["DEPTNAME"]).ToString().Trim() == "")
|
|
|
{
|
|
|
var jsonRespose2 = new JsonResponse { Success = false, Message = "登录超时,请退出系统重新登录!" };
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose2) };
|
|
|
}
|
|
|
//
|
|
|
DBResult result = WMSOUT_GuiGeDAL.setislock(sOUTGID, Convert.ToString(Session["USERID"]), Convert.ToString(Session["COMPANYID"]), Convert.ToString(Session["DEPTNAME"]), Convert.ToString(Session["SHOWNAME"]).ToString().Trim());
|
|
|
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 取消入账
|
|
|
public ContentResult setnotlock(string sOUTGID)
|
|
|
{
|
|
|
if (Convert.ToString(Session["COMPANYID"]).ToString().Trim() == "" || Convert.ToString(Session["USERID"]).ToString().Trim() == "" || Convert.ToString(Session["CODENAME"]).ToString().Trim() == "" || Convert.ToString(Session["SHOWNAME"]).ToString().Trim() == "" || Convert.ToString(Session["DEPTNAME"]).ToString().Trim() == "")
|
|
|
{
|
|
|
var jsonRespose2 = new JsonResponse { Success = false, Message = "登录超时,请退出系统重新登录!" };
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose2) };
|
|
|
}
|
|
|
//
|
|
|
DBResult result = WMSOUT_GuiGeDAL.setnotlock(sOUTGID, Convert.ToString(Session["USERID"]), Convert.ToString(Session["COMPANYID"]), Convert.ToString(Session["DEPTNAME"]));
|
|
|
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
|
|
#region 良通捷运 保存
|
|
|
|
|
|
public ContentResult SaveEdit_Box(string opStatus, string data, string body, string outType)
|
|
|
{
|
|
|
if (Convert.ToString(Session["COMPANYID"]).Trim() == "" || Convert.ToString(Session["USERID"]).Trim() == "" || Convert.ToString(Session["CODENAME"]).Trim() == "" || Convert.ToString(Session["SHOWNAME"]).Trim() == "" || Convert.ToString(Session["DEPTNAME"]).Trim() == "")
|
|
|
{
|
|
|
var jsonRespose2 = new JsonResponse { Success = false, Message = "登录超时,请退出系统重新登录!" };
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose2) };
|
|
|
}
|
|
|
//
|
|
|
T_ALL_DA T_ALL_DA = new EntityDA.T_ALL_DA();
|
|
|
var headData = JsonConvert.Deserialize<VwWmsDetailModels>(data);
|
|
|
var bodyList = JsonConvert.Deserialize<List<VwWmsDetailModels>>(body);
|
|
|
var errorstr = "";
|
|
|
|
|
|
//headData.FEESTATUS = false;
|
|
|
#region 保存
|
|
|
if (bodyList != null)
|
|
|
{
|
|
|
#region 基本变量
|
|
|
int n = 1;
|
|
|
string sOutBsno = headData.OUTBSNO_OUT == null ? "" : headData.OUTBSNO_OUT.ToString().Trim();
|
|
|
if (sOutBsno == "")
|
|
|
{
|
|
|
sOutBsno = WMSOUT_GuiGeDAL.getCodeRuleWmsOut("出库单号", "BSNO", 1, Convert.ToString(Session["USERID"]).Trim(), Convert.ToString(Session["COMPANYID"]).Trim());
|
|
|
}
|
|
|
Decimal dlGOODSPFSL_OUT = 0;//出库量
|
|
|
Decimal dlGOODSPACKPFSL_OUT = 0;//出库件数
|
|
|
Decimal dlARFEE_OUT = 0;//铅封费
|
|
|
Decimal dlARFEE_2_OUT = 0;//过磅费
|
|
|
#endregion
|
|
|
|
|
|
foreach (var enumValue in bodyList)
|
|
|
{
|
|
|
#region 明细表保存
|
|
|
WmsOutDetailModels headRow = new WmsOutDetailModels();
|
|
|
#region 默认值
|
|
|
headRow.INBSNO = enumValue.GID == null ? "" : enumValue.GID.ToString().Trim();//关联入库单wms_in的BSNO
|
|
|
headRow.OUTBSNO = sOutBsno;//OUTBSNO
|
|
|
headRow.BSNO = sOutBsno;//提单号
|
|
|
//headRow.BSNO = enumValue.BSNO_OUT == null ? "" : enumValue.BSNO_OUT.ToString().Trim();//提单号
|
|
|
//if (headRow.BSNO.ToString().Trim() == "")
|
|
|
//{
|
|
|
// headRow.BSNO = WMSOUT_GuiGeDAL.getCodeRuleWmsOut("出库明细单号", "BSNO", n, Convert.ToString(Session["USERID"]).Trim(), Convert.ToString(Session["COMPANYID"]).Trim());//提单号
|
|
|
//}
|
|
|
headRow.CLIENTGID = "";//CLIENTGID
|
|
|
headRow.CLIENTCODE = "";//客户编码
|
|
|
headRow.CUSTOMERNAME = enumValue.CUSTOMERNAME == null ? "" : enumValue.CUSTOMERNAME.ToString().Trim();//客户名称
|
|
|
headRow.DODATE = headData.DODATE_OUT == null ? DateTime.Now : DateTime.Parse(headData.DODATE_OUT.ToString().Trim());//操作时间
|
|
|
headRow.STORAGECODE = "";//仓库编码
|
|
|
headRow.STORAGENAME = enumValue.STORAGENAME == null ? "" : enumValue.STORAGENAME.ToString().Trim();//仓库名称
|
|
|
headRow.AREACODE = "";//储位编码
|
|
|
headRow.AREANAME = enumValue.AREANAME == null ? "" : enumValue.AREANAME.ToString().Trim();//储位名称
|
|
|
headRow.GOODSCODE = "";//货物编号
|
|
|
headRow.GOODSNAME = enumValue.GOODSNAME == null ? "" : enumValue.GOODSNAME.ToString().Trim();//货物名称
|
|
|
headRow.GOODSTYPE = "";//货物类型
|
|
|
headRow.GOODSMODEL = enumValue.GOODSMODEL == null ? "" : enumValue.GOODSMODEL.ToString().Trim();//型号//单位//品牌
|
|
|
headRow.GOODSSTANDARD = enumValue.GOODSSTANDARD == null ? "" : enumValue.GOODSSTANDARD.ToString().Trim();//规格
|
|
|
headRow.GOODSPACK = "";//包装
|
|
|
headRow.CHARGEUNIT = enumValue.CHARGEUNIT == null ? "" : enumValue.CHARGEUNIT.ToString().Trim();//CHARGEUNIT
|
|
|
headRow.GOODSPFSL = Decimal.Parse(enumValue.GOODSPFSL_OUT.ToString().Trim());//出库量
|
|
|
dlGOODSPFSL_OUT = dlGOODSPFSL_OUT + headRow.GOODSPFSL;
|
|
|
headRow.GOODSOUTFEE = 0;//仓储费
|
|
|
headRow.TRUCKNO = enumValue.TRUCKNO_OUT == null ? "" : enumValue.TRUCKNO_OUT.ToString().Trim();//TRUCKNO
|
|
|
headRow.CREATEUSER = Convert.ToString(Session["USERID"]);//创建人
|
|
|
headRow.CREATETIME = DateTime.Now;//创建时间
|
|
|
headRow.REMARK = enumValue.REMARK_OUT == null ? "" : enumValue.REMARK_OUT.ToString().Trim();//备注
|
|
|
headRow.ASSOCIATEDNO = enumValue.ASSOCIATEDNO == null ? "" : enumValue.ASSOCIATEDNO.ToString().Trim();//ASSOCIATEDNO
|
|
|
headRow.GOODSPACKPFSL = Decimal.Parse(enumValue.GOODSPACKPFSL_OUT.ToString().Trim());//出库件数
|
|
|
dlGOODSPACKPFSL_OUT = dlGOODSPACKPFSL_OUT + headRow.GOODSPACKPFSL;
|
|
|
headRow.ARFEE = enumValue.ARFEE_OUT;//铅封费,需求编号:SR2017073000001
|
|
|
headRow.ARFEE_2 = enumValue.ARFEE_2_OUT;//过磅费,需求编号:SR2017073000001
|
|
|
dlARFEE_OUT += headRow.ARFEE;//铅封费
|
|
|
dlARFEE_2_OUT += headRow.ARFEE_2;//过磅费
|
|
|
headRow.APFEE = 0;//APFEE
|
|
|
headRow.ISLOCK = false;//ISLOCK
|
|
|
headRow.LOCKUSER = Convert.ToString(Session["USERID"]);//LOCKUSER
|
|
|
headRow.LOCKTIME = DateTime.Now;//LOCKTIME
|
|
|
headRow.GOODSOUTFEEAP = 0;//应付仓储费
|
|
|
headRow.CORPID = Convert.ToString(Session["COMPANYID"]).Trim();//CORPID
|
|
|
headRow.CLIENTNAMEOLD = headData.CLIENTNAMEOLD == null ? headRow.CUSTOMERNAME.ToString().Trim() : headData.CLIENTNAMEOLD.ToString().Trim();//CLIENTNAMEOLD
|
|
|
headRow.OLDCUSTFEEDATE = headData.OLDCUSTFEEDATE == null ? DateTime.Now : DateTime.Parse(headData.OLDCUSTFEEDATE.ToString().Trim());//上家承担仓储期限
|
|
|
headRow.STARTBILLINGDATE = DateTime.Now;//应收开始计费日期
|
|
|
headRow.ENDBILLINGDATE = headData.DODATE_OUT == null ? headRow.DODATE : DateTime.Parse(headData.DODATE_OUT.ToString().Trim());//应收结束计费日期
|
|
|
headRow.FEEDAYS = 0;//FEEDAYS
|
|
|
|
|
|
if (headRow.GOODSSTANDARD == null)
|
|
|
{
|
|
|
headRow.GOODSSLICE = 0;//片数/包装件数//需求编号:SR2017061800001-7,SR2017071100001
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (headRow.GOODSSTANDARD.ToString().Trim() == "")
|
|
|
{
|
|
|
headRow.GOODSSLICE = 0;//片数/包装件数//需求编号:SR2017061800001-7,SR2017071100001
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
Decimal dl1 = Decimal.Parse(headRow.GOODSSTANDARD.ToString());
|
|
|
int i1 = (int)dl1;
|
|
|
int i2 = (int)headRow.GOODSPACKPFSL;
|
|
|
int i3 = i2 / i1;
|
|
|
headRow.GOODSSLICE = i3;//片数/包装件数//需求编号:SR2017061800001-7,SR2017071100001
|
|
|
}
|
|
|
}
|
|
|
|
|
|
headRow.GOODSGRADE = "";//品名的等级
|
|
|
headRow.STARTBILLINGDATEAP = DateTime.Now;//应付开始计费日期
|
|
|
headRow.ENDBILLINGDATEAP = headData.DODATE_OUT == null ? headRow.DODATE : DateTime.Parse(headData.DODATE_OUT.ToString().Trim());//应付结束计费日期
|
|
|
headRow.FEEDAYSAP = 0;//FEEDAYSAP
|
|
|
headRow.ISCHANGE = false;//是否是货权转移
|
|
|
if (outType == "货权转移")
|
|
|
{
|
|
|
headRow.ISCHANGE = true;//是否是货权转移
|
|
|
}
|
|
|
headRow.MARKETVALUE = 0;//市场货值
|
|
|
headRow.BZTCHNO = enumValue.BZTCHNO == null ? "" : enumValue.BZTCHNO.ToString().Trim();//电子账册号
|
|
|
headRow.WHS_CODE = enumValue.WHS_CODE == null ? "" : enumValue.WHS_CODE.ToString().Trim();//库别
|
|
|
headRow.GOODSNAMEID = enumValue.GOODSNAMEID == null ? "" : enumValue.GOODSNAMEID.ToString().Trim();//品名gid
|
|
|
headRow.TRUCKTYPE = enumValue.TRUCKTYPE_OUT == null ? "" : enumValue.TRUCKTYPE_OUT.ToString().Trim();//需求编号:SR2017073000001
|
|
|
headRow.ZHUANGXIEGONGID = enumValue.ZHUANGXIEGONGID_OUT == null ? "" : enumValue.ZHUANGXIEGONGID_OUT.ToString().Trim();//需求编号:SR2017073000001
|
|
|
headRow.TRUCKKGS = Decimal.Parse(enumValue.TRUCKKGS_OUT.ToString().Trim());//需求编号:SR2017073000001
|
|
|
headRow.QianFengNO = enumValue.QianFengNO == null ? "" : enumValue.QianFengNO.ToString().Trim();//需求编号:SR2017073000001
|
|
|
#endregion
|
|
|
//
|
|
|
if (opStatus == "add" && enumValue.GID_OUT.ToString().Trim() == "")//"add"
|
|
|
{
|
|
|
headRow.GID = Guid.NewGuid().ToString();//唯一编码 newid() varchar (36)
|
|
|
headRow.DbOperationType = DbOperationType.DbotIns;
|
|
|
}
|
|
|
else//"edit"
|
|
|
{
|
|
|
headRow.GID = enumValue.GID_OUT.ToString().Trim();//唯一编码
|
|
|
headRow.DbOperationType = DbOperationType.DbotUpd;
|
|
|
headRow.ModelUIStatus = "E";
|
|
|
}
|
|
|
var modb = new ModelObjectDB();
|
|
|
DBResult result = modb.Save(headRow);
|
|
|
if (result.Message.ToString().IndexOf("插入重复键") > -1)
|
|
|
{
|
|
|
errorstr += "重复数据不再重复插入!";
|
|
|
//var jsonRespose = new JsonResponse { Success = false, Message = "重复,不允许保存!" };
|
|
|
//return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
if (result.Success == true)
|
|
|
{
|
|
|
#region 出库后锁定 op_apply报关业务 BSSTATUS字段
|
|
|
if (enumValue.CHARGEUNIT.ToString().Trim() == "CBM" && enumValue.ISBONDED == 1)
|
|
|
{
|
|
|
string sSQL = "update op_apply set BSSTATUS=1 where WMSIN_GID='" + enumValue.GID.ToString().Trim() + "'";
|
|
|
bool bl = T_ALL_DA.GetExecuteSqlCommand(sSQL);
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
n++;
|
|
|
#endregion
|
|
|
}
|
|
|
|
|
|
#region 主表保存
|
|
|
WMSOUT_GuiGe headRow2 = new WMSOUT_GuiGe();
|
|
|
#region 默认值
|
|
|
headRow2.ASSOCIATEDNO = bodyList[0].ASSOCIATEDNO.ToString();//关联号
|
|
|
headRow2.BSNO = sOutBsno;//仓单明细号
|
|
|
headRow2.CLIENTGID = "";//CLIENTGID
|
|
|
headRow2.CLIENTCODE = "";//客户编码
|
|
|
headRow2.CUSTOMERNAME = bodyList[0].CUSTOMERNAME.ToString().Trim();//客户名称
|
|
|
headRow2.DODATE = headData.DODATE_OUT == null ? DateTime.Now : DateTime.Parse(headData.DODATE_OUT.ToString().Trim());//操作时间
|
|
|
headRow2.STORAGECODE = "";//仓库编码
|
|
|
headRow2.STORAGENAME = bodyList[0].STORAGENAME.ToString().Trim();//仓库名称
|
|
|
headRow2.AREACODE = "";//储位编码
|
|
|
headRow2.AREANAME = bodyList[0].AREANAME.ToString().Trim();//储位名称
|
|
|
headRow2.GOODSCODE = "";//货物编号
|
|
|
headRow2.GOODSNAME = bodyList[0].GOODSNAME.ToString().Trim();//货物名称
|
|
|
headRow2.GOODSTYPE = "";//货物类型
|
|
|
headRow2.GOODSMODEL = bodyList[0].GOODSMODEL.ToString().Trim();//型号//单位//品牌
|
|
|
headRow2.GOODSSTANDARD = bodyList[0].GOODSSTANDARD.ToString().Trim();//规格
|
|
|
headRow2.GOODSPACK = "";//包装
|
|
|
headRow2.GOODSPFSL = dlGOODSPFSL_OUT;//出库量
|
|
|
headRow2.GOODSOUTFEE = 0;//仓储费用
|
|
|
headRow2.TRUCKNO = "";//TRUCKNO
|
|
|
headRow2.REMARK = headData.OUTREMARK == null ? "" : headData.OUTREMARK.ToString().Trim();//备注
|
|
|
headRow2.ISDELETE = false;//是否废除
|
|
|
headRow2.DELETETIME = DateTime.Now;//废除时间
|
|
|
headRow2.DELETEUSER = Convert.ToString(Session["USERID"]);//废除操作人
|
|
|
headRow2.CREATEUSER = Convert.ToString(Session["USERID"]);//创建人
|
|
|
headRow2.CREATETIME = DateTime.Now;//创建时间
|
|
|
headRow2.MODIFIEDUSER = Convert.ToString(Session["USERID"]);//最后一次更新操作人
|
|
|
headRow2.MODIFIEDTIME = DateTime.Now;//最后一次更新操作时间
|
|
|
headRow2.GOODSPACKPFSL = dlGOODSPACKPFSL_OUT;//出库件数
|
|
|
headRow2.TRUCKNAME = headData.TRUCKNAME_OUT == null ? "" : headData.TRUCKNAME_OUT.ToString().Trim();//TRUCKNAME
|
|
|
headRow2.WMSOP = Convert.ToString(Session["SHOWNAME"]).Trim();//WMSOP
|
|
|
headRow2.STOREMAN = "";//STOREMAN
|
|
|
headRow2.ISLOCK = false;//ISLOCK
|
|
|
headRow2.LOCKUSER = "";//LOCKUSER
|
|
|
headRow2.LOCKTIME = DateTime.Now;//LOCKTIME
|
|
|
headRow2.GOODSOUTFEEAP = 0;//GOODSOUTFEEAP
|
|
|
headRow2.ARFEE = dlARFEE_OUT;//ARFEE,需求编号:SR2017073000001
|
|
|
headRow2.ARFEE_2 = dlARFEE_2_OUT;//ARFEE,需求编号:SR2017073000001
|
|
|
headRow2.APFEE = 0;//APFEE
|
|
|
headRow2.INSPECTIONNO = "";//INSPECTIONNO
|
|
|
headRow2.CUSTOMNO = bodyList[0].CUSTOMNO.ToString().Trim();//CUSTOMNO
|
|
|
headRow2.CORPID = Convert.ToString(Session["COMPANYID"]).Trim();//CORPID
|
|
|
headRow2.CLIENTNAMEOLD = headData.CLIENTNAMEOLD == null ? headRow2.CUSTOMERNAME.ToString().Trim() : headData.CLIENTNAMEOLD.ToString().Trim();//CLIENTNAMEOLD
|
|
|
headRow2.OLDCUSTFEEDATE = headData.OLDCUSTFEEDATE == null ? DateTime.Now : DateTime.Parse(headData.OLDCUSTFEEDATE.ToString().Trim());//OLDCUSTFEEDATE
|
|
|
headRow2.CLIENTBSNO = "";//CLIENTBSNO
|
|
|
headRow2.ARCLIENT = headData.ARCLIENT == null ? headRow2.CUSTOMERNAME.ToString().Trim() : headData.ARCLIENT.ToString().Trim();//ARCLIENT
|
|
|
headRow2.INGIDNEW = "";//INGIDNEW
|
|
|
headRow2.TOTALNO = "";//TOTALNO
|
|
|
headRow2.REMARK2 = "";//REMARK2
|
|
|
headRow2.VALIDDATE = DateTime.Now;//VALIDDATE
|
|
|
headRow2.CHARGEUNIT = bodyList[0].CHARGEUNIT.ToString().Trim();//CHARGEUNIT
|
|
|
headRow2.MBLNONEW = "";//MBLNONEW
|
|
|
headRow2.ISCHANGE = false;//ISCHANGE
|
|
|
if (outType == "货权转移")
|
|
|
{
|
|
|
headRow2.ISCHANGE = true;//是否是货权转移
|
|
|
}
|
|
|
headRow2.MARKETVALUE = 0;//MARKETVALUE
|
|
|
headRow2.ARCLIENTWMSOUT = headData.ARCLIENTWMSOUT == null ? headRow2.CUSTOMERNAME.ToString().Trim() : headData.ARCLIENTWMSOUT.ToString().Trim();//ARCLIENTWMSOUT
|
|
|
headRow2.ISCOLLECTING = false;//ISCOLLECTING
|
|
|
headRow2.WMSOUTSTATUS = 0;//WMSOUTSTATUS
|
|
|
headRow2.BZTCHNO = bodyList[0].BZTCHNO.ToString().Trim();//电子账册号
|
|
|
headRow2.WHS_CODE = bodyList[0].WHS_CODE.ToString().Trim();//库别
|
|
|
headRow2.GOODSNAMEID = bodyList[0].GOODSNAMEID.ToString().Trim();//品名gid
|
|
|
headRow2.ACCDATE = headData.ACCDATE_OUT == null ? "" : headData.ACCDATE_OUT.ToString().Trim();//会计期间
|
|
|
headRow2.FEESTATUS = headData.FEESTATUSREF_OUT.ToString().Trim() == "锁定" ? true : false;//费用状态
|
|
|
#endregion
|
|
|
//
|
|
|
if (opStatus == "add" && headData.OUTGID.ToString().Trim() == "")//"add"
|
|
|
{
|
|
|
headRow2.GID = Guid.NewGuid().ToString();//唯一编码 newid() varchar (36)
|
|
|
headRow2.DbOperationType = DbOperationType.DbotIns;
|
|
|
}
|
|
|
else//"edit"
|
|
|
{
|
|
|
headRow2.GID = headData.OUTGID.ToString().Trim();// bodyList[0].OUTGID.ToString();//唯一编码
|
|
|
headRow2.DbOperationType = DbOperationType.DbotUpd;
|
|
|
headRow2.ModelUIStatus = "E";
|
|
|
}
|
|
|
//
|
|
|
var modb2 = new ModelObjectDB();
|
|
|
DBResult result2 = modb2.Save(headRow2);
|
|
|
if (result2.Message.ToString().IndexOf("插入重复键") > -1)
|
|
|
{
|
|
|
errorstr += "重复数据不再重复插入!";
|
|
|
//var jsonRespose = new JsonResponse { Success = false, Message = "重复,不允许保存!" };
|
|
|
//return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (result2.Success == true)
|
|
|
{
|
|
|
#region 出库件数 返 入库库存//需求编号:SR2017073000001
|
|
|
foreach (var enumValue in bodyList)
|
|
|
{
|
|
|
if (enumValue.CHARGEUNIT.ToString().Trim() == "箱")
|
|
|
{
|
|
|
string sSQL = "update wms_in set GOODSPACKSTOCK=GOODSPACK-isnull((select sum(GOODSPACKPFSL_OUT) as GOODSPACKPFSL_OUT from VW_WMS_DETAIL where GID='" + enumValue.GID.ToString().Trim() + "'),0),GOODSSTOCK=GOODSRKSL-isnull((select sum(GOODSPFSL_OUT) as GOODSPFSL_OUT from VW_WMS_DETAIL where GID='" + enumValue.GID.ToString().Trim() + "'),0) where GID='" + enumValue.GID.ToString().Trim() + "'";
|
|
|
bool bl = T_ALL_DA.GetExecuteSqlCommand(sSQL);
|
|
|
|
|
|
sSQL = "update wms set GOODSPACKSTOCK=isnull((select sum(GOODSPACKSTOCK) as GOODSPACKSTOCK from wms_in where ASSOCIATEDNO='" + enumValue.WMSGID.ToString().Trim() + "'),0),GOODSSTOCK=isnull((select sum(GOODSSTOCK) as GOODSSTOCK from wms_in where ASSOCIATEDNO='" + enumValue.WMSGID.ToString().Trim() + "'),0) where gid='" + enumValue.WMSGID.ToString().Trim() + "'";
|
|
|
bl = T_ALL_DA.GetExecuteSqlCommand(sSQL);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
string sSQL = "update wms set GOODSPACKSTOCK=GOODSPACK-isnull((select sum(GOODSPACKPFSL_OUT) as GOODSPACKPFSL_OUT from VW_WMS_DETAIL where GID='" + enumValue.GID.ToString().Trim() + "'),0),GOODSSTOCK=GOODSRKSL-isnull((select sum(GOODSPFSL_OUT) as GOODSPFSL_OUT from VW_WMS_DETAIL where GID='" + enumValue.GID.ToString().Trim() + "'),0) where GID='" + enumValue.GID.ToString().Trim() + "'";
|
|
|
bool bl = T_ALL_DA.GetExecuteSqlCommand(sSQL);
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 出库后锁定op_apply报关业务BSSTATUS字段
|
|
|
//foreach (var enumValue in bodyList)
|
|
|
//{
|
|
|
// if (enumValue.CHARGEUNIT.ToString().Trim() == "CBM" && enumValue.ISBONDED == 1)
|
|
|
// {
|
|
|
// string sSQL = "update op_apply set BSSTATUS=1 where WMSIN_GID='" + enumValue.GID.ToString().Trim() + "' and ISCLEAR='1' and CUSTOMTYPE='出区报关'";
|
|
|
// bool bl = T_ALL_DA.GetExecuteSqlCommand(sSQL);
|
|
|
// }
|
|
|
//}
|
|
|
#endregion
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
//
|
|
|
var jsonRespose = new JsonResponse
|
|
|
{
|
|
|
Success = result2.Success,
|
|
|
Message = result2.Message,
|
|
|
Data = WMSOUT_GuiGeDAL.GetData_Box("outgid='" + headRow2.GID.ToString() + "'", Convert.ToString(Session["COMPANYID"]), Convert.ToString(Session["USERID"]))
|
|
|
};
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
var jsonRespose = new JsonResponse
|
|
|
{
|
|
|
Success = false,
|
|
|
Message = "数据出错,不允许保存,请重试...",
|
|
|
Data = WMSOUT_GuiGeDAL.GetData_Box("1<0", Convert.ToString(Session["COMPANYID"]), Convert.ToString(Session["USERID"]))
|
|
|
};
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 出库明细表查询 包含两部分 已保存的和待出库的。用于良通捷运的按箱出入逻辑
|
|
|
public ContentResult GetDetailList_Box(string opStatus, string condition)
|
|
|
{
|
|
|
var dataList = WMSOUT_GuiGeDAL.GetDetailList_Box(opStatus, condition, Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]));
|
|
|
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = dataList.ToList() });
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
|
|
|
public ContentResult GetData_Box(string condition)
|
|
|
{
|
|
|
VwWmsDetailModels head = null;
|
|
|
head = WMSOUT_GuiGeDAL.GetData_Box(condition, Convert.ToString(Session["COMPANYID"]), Convert.ToString(Session["USERID"]));
|
|
|
var json = JsonConvert.Serialize(
|
|
|
new { Success = true, Message = "查询成功", data = head });
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
|
|
|
//打印明细列表
|
|
|
public ContentResult GetDataListStr_Box(string condition)
|
|
|
{
|
|
|
var dataListStr = WMSOUT_GuiGeDAL.GetDataListStr_Box(condition);
|
|
|
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", data = dataListStr });
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
}
|
|
|
|