using System ;
using System.Collections.Generic ;
using System.Linq ;
using System.Web.Mvc ;
using DSWeb.Areas.Import.Models.Comm ;
using DSWeb.Areas.CommMng.DAL ;
using DSWeb.MvcShipping.DAL.WMS ;
using DSWeb.MvcShipping.Models.WMS ;
using DSWeb.TruckMng.Comm.Cookie ;
using DSWeb.TruckMng.Helper ;
using DSWeb.TruckMng.Helper.Repository ;
using DSWeb.Areas.Import.DAL.Comm ;
using HcUtility.Comm ;
using HcUtility.Core ;
using DSWeb.Areas.CommMng.Models ;
using DSWeb.EntityDA ;
using System.Data ;
using DSWeb.DataAccess ;
using System.Data.SqlClient ;
using DSWeb.Areas.Import.DAL.ImportSales ;
using DSWeb.MvcShipping.Models.MsChFee ;
using Microsoft.Practices.EnterpriseLibrary.Data ;
using DSWeb.Areas.MvcShipping.Helper ;
namespace DSWeb.MvcShipping.Controllers
{
[JsonRequestBehavior]
public class WMSController : Controller
{
public ActionResult Index ( )
{
return View ( ) ;
}
/ /
// GET: /MvcShipping/WareHouse/Edit
public ActionResult Edit ( )
{
return View ( ) ;
}
public ContentResult GetDataList ( int start , int limit , string sort , string condition )
{
var dataList = WMSDAL . GetDataList ( condition , 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 } ;
}
public ContentResult GetDataList_Import ( int start , int limit , string sort , string condition )
{
var dataList = WMSDAL . GetDataList_Import ( condition , 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 } ;
}
public ContentResult GetWMSOUTList ( int start , int limit , string sort , string condition )
{
var dataList = WMSDAL . GetWMSOUTList ( condition , 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 } ;
}
public ContentResult GetWMSOUTList_Import ( int start , int limit , string sort , string condition )
{
var dataList = WMSDAL . GetWMSOUTList_Import ( condition , 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 } ;
}
public ContentResult GetData ( string handle , string condition )
{
WMSmb head = null ;
if ( handle = = "edit" )
{
var list = WMSDAL . GetDataList ( condition , "" ) ;
if ( list . Count > 0 )
head = list [ 0 ] ;
}
if ( head = = null )
{
head = new WMSmb ( ) ;
}
var json = JsonConvert . Serialize (
new { Success = true , Message = "查询成功" , data = head } ) ;
return new ContentResult ( ) { Content = json } ;
}
public ContentResult GetData_Import ( string handle , string condition )
{
WMSmb_ImportTrade head = null ;
if ( handle = = "edit" )
{
var list = WMSDAL . GetDataList_Import ( condition , "" ) ;
if ( list . Count > 0 )
head = list [ 0 ] ;
}
if ( head = = null )
{
head = new WMSmb_ImportTrade ( ) ;
}
var json = JsonConvert . Serialize (
new { Success = true , Message = "查询成功" , data = head } ) ;
return new ContentResult ( ) { Content = json } ;
}
public ContentResult GetWMSOUTData ( string handle , string condition )
{
WMSOUTmb head = null ;
if ( handle = = "edit" )
{
var list = WMSDAL . GetWMSOUTList ( condition , "" ) ;
if ( list . Count > 0 )
head = list [ 0 ] ;
}
if ( head = = null )
{
head = new WMSOUTmb ( ) ;
}
var json = JsonConvert . Serialize (
new { Success = true , Message = "查询成功" , data = head } ) ;
return new ContentResult ( ) { Content = json } ;
}
public ContentResult GetWMSINList ( int start , int limit , string sort , string condition )
{
var dataList = WMSDAL . GetWMSINList ( condition , 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 } ;
}
public WMSmb GetWMS ( string condition )
{
WMSmb head = null ;
var list = WMSDAL . GetDataList ( condition , "" ) ;
if ( list . Count > 0 )
head = list [ 0 ] ;
if ( head = = null )
{
head = new WMSmb ( ) ;
}
return head ;
}
public ContentResult GetWMSOUTDetailList ( int start , int limit , string sort , string WMSOUTBSNO , string ASSOCIATEDNO , string condition , string ONLYINWMSOUT )
{
var USERID = Session [ "USERID" ] . ToString ( ) ;
var _ONLYINWMSOUT = "" ;
if ( ! string . IsNullOrEmpty ( ONLYINWMSOUT ) )
{
_ONLYINWMSOUT = ONLYINWMSOUT ;
}
var dataList = WMSDAL . GetWMSOUTDetailList ( USERID , WMSOUTBSNO . Trim ( ) , ASSOCIATEDNO . Trim ( ) , condition , sort . Trim ( ) , _ONLYINWMSOUT ) ;
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 } ;
}
public ContentResult GetWMSRATE ( int start , int limit , string sort , string condition )
{
var dataList = WMSDAL . GetWMSRATE ( condition , 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 } ;
}
public ContentResult GetWMSRATEDetailList ( int start , int limit , string sort , string condition )
{
var dataList = WMSDAL . GetWMSRATEDetailList ( condition , 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 } ;
}
public ContentResult Save ( string opstatus , string data , string WMSINBody , string WMSINBodyDel
, string WMSRATEBody , string WMSRATEBodyDel )
{
var head = JsonConvert . Deserialize < WMSmb > ( data ) ;
var WMSINBodyList = JsonConvert . Deserialize < List < WMSINmb > > ( WMSINBody ) ;
var WMSINBodyDelList = JsonConvert . Deserialize < List < WMSINmb > > ( WMSINBodyDel ) ;
var WMSRATEBodyList = JsonConvert . Deserialize < List < WMSRATEmb > > ( WMSRATEBody ) ;
var WMSRATEBodyDelList = JsonConvert . Deserialize < List < WMSRATEmb > > ( WMSRATEBodyDel ) ;
if ( opstatus = = "add" )
{
head . DbOperationType = DbOperationType . DbotIns ;
head . ModelUIStatus = "I" ;
head . GID = "Wms" + Guid . NewGuid ( ) . ToString ( ) . Replace ( "-" , "" ) ; ; //获取管理费单号
head . WMSOP = CookieConfig . GetCookie_UserName ( Request ) ;
//head.CORPID = CookieConfig.GetCookie_OrgName(Request);
head . WMSNO = getCodeRule ( "入库单号" , "WMSNO" , "WMS" , head . WMSDATE ) ; //调用编码规则
if ( head . ASSOCIATEDNO = = "" ) {
head . ASSOCIATEDNO = head . GID ;
}
}
else if ( opstatus = = "edit" )
{
head . DbOperationType = DbOperationType . DbotUpd ;
head . ModelUIStatus = "E" ;
head . MODIFIEDTIME = DateTime . Now . ToString ( ) ;
head . MODIFIEDUSER = CookieConfig . GetCookie_UserId ( Request ) ;
}
else
{
head . DbOperationType = DbOperationType . DbotDel ;
}
var modb = new ModelObjectRepository ( ) ;
DBResult result = modb . Save ( head ,
ModelObjectConvert < WMSINmb > . ToModelObjectList ( WMSINBodyList ) ,
ModelObjectConvert < WMSINmb > . ToModelObjectList ( WMSINBodyDelList ) ,
ModelObjectConvert < WMSRATEmb > . ToModelObjectList ( WMSRATEBodyList ) ,
ModelObjectConvert < WMSRATEmb > . ToModelObjectList ( WMSRATEBodyDelList )
) ;
//刷新父窗口上的父节点
/ *
if ( result . Success = = true & & feeUnUnionList ! = null )
{
var _count = BaoxiaoDAL . FeeUnUnion ( feeUnUnionList ) ;
} * /
var jsonRespose = new JsonResponse
{
Success = result . Success ,
Message = result . Message ,
Data = WMSDAL . GetData ( " GID='" + head . GID + "'" )
} ;
//p_op_gain(head.BXGID);
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
//暂时无用
public ContentResult Save_Import ( string opstatus , string data , string WMSINBody , string WMSINBodyDel
, string WMSRATEBody , string WMSRATEBodyDel )
{
var head = JsonConvert . Deserialize < WMSmb_ImportTrade > ( data ) ;
var WMSINBodyList = JsonConvert . Deserialize < List < WMSINmb > > ( WMSINBody ) ;
var WMSINBodyDelList = JsonConvert . Deserialize < List < WMSINmb > > ( WMSINBodyDel ) ;
var WMSRATEBodyList = JsonConvert . Deserialize < List < WMSRATEmb > > ( WMSRATEBody ) ;
var WMSRATEBodyDelList = JsonConvert . Deserialize < List < WMSRATEmb > > ( WMSRATEBodyDel ) ;
if ( opstatus = = "add" )
{
head . DbOperationType = DbOperationType . DbotIns ;
head . ModelUIStatus = "I" ;
head . GID = "Wms" + Guid . NewGuid ( ) . ToString ( ) . Replace ( "-" , "" ) ; ; //获取管理费单号
head . WMSOP = CookieConfig . GetCookie_UserName ( Request ) ;
//head.CORPID = CookieConfig.GetCookie_OrgName(Request);
head . WMSNO = getCodeRule ( "入库单号" , "WMSNO" , "WMS" , head . WMSDATE ) ; //调用编码规则
if ( head . ASSOCIATEDNO = = "" )
{
head . ASSOCIATEDNO = head . GID ;
}
}
else if ( opstatus = = "edit" )
{
head . DbOperationType = DbOperationType . DbotUpd ;
head . ModelUIStatus = "E" ;
head . MODIFIEDTIME = DateTime . Now . ToString ( ) ;
head . MODIFIEDUSER = CookieConfig . GetCookie_UserId ( Request ) ;
}
else
{
head . DbOperationType = DbOperationType . DbotDel ;
}
var modb = new ModelObjectRepository ( ) ;
DBResult result = modb . Save ( head ,
ModelObjectConvert < WMSINmb > . ToModelObjectList ( WMSINBodyList ) ,
ModelObjectConvert < WMSINmb > . ToModelObjectList ( WMSINBodyDelList ) ,
ModelObjectConvert < WMSRATEmb > . ToModelObjectList ( WMSRATEBodyList ) ,
ModelObjectConvert < WMSRATEmb > . ToModelObjectList ( WMSRATEBodyDelList )
) ;
//更新跟单的 declarenumber
if ( head . CUSTOMNO ! = "" ) {
BasicDataRefDAL . ExecSql ( " update import_main set DeclareNumber='" + head . CUSTOMNO + "' where contractno='" + head . ASSOCIATEDNO + "' " ) ;
}
if ( head . CLIENTBSNO ! = "" )
{
BasicDataRefDAL . ExecSql ( " update WMS set CLIENTBSNO='" + head . CUSTOMNO + "' where BLNO='" + head . BLNO + "' " ) ;
}
if ( head . CREATETIME ! = "" )
{
DateTime dt = new DateTime ( ) ;
dt = Convert . ToDateTime ( head . CREATETIME ) ;
BasicDataRefDAL . ExecSql ( " update WMS set CREATETIME='" + dt . ToString ( "d" ) + "' where BLNO='" + head . BLNO + "' " ) ;
}
//刷新父窗口上的父节点
/ *
if ( result . Success = = true & & feeUnUnionList ! = null )
{
var _count = BaoxiaoDAL . FeeUnUnion ( feeUnUnionList ) ;
} * /
var jsonRespose = new JsonResponse
{
Success = result . Success ,
Message = result . Message ,
Data = WMSDAL . GetData ( " GID='" + head . GID + "'" )
} ;
//p_op_gain(head.BXGID);
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
public ContentResult SaveRate ( string BSNONAME , string BSNO , string WMSRATEBody , string WMSRATEBodyDel )
{
var WMSRATEBodyList = JsonConvert . Deserialize < List < WMSRATEmb > > ( WMSRATEBody ) ;
var WMSRATEDelBodyList = JsonConvert . Deserialize < List < WMSRATEmb > > ( WMSRATEBodyDel ) ;
if ( WMSRATEBodyList ! = null )
{
foreach ( var _WR in WMSRATEBodyList )
{
_WR . MODIFIEDUSER = CookieConfig . GetCookie_UserName ( Request ) ;
_WR . MODIFIEDTIME = DateTime . Now . ToString ( ) ;
}
}
var modb = new ModelObjectRepository ( ) ;
DBResult result = modb . SaveComm ( BSNONAME , BSNO ,
ModelObjectConvert < WMSRATEmb > . ToModelObjectList ( WMSRATEBodyList ) ,
ModelObjectConvert < WMSRATEmb > . ToModelObjectList ( WMSRATEDelBodyList )
) ;
//刷新父窗口上的父节点
var jsonRespose = new JsonResponse
{
Success = result . Success ,
Message = result . Message ,
//Data = XXHDAL.GetData("M.ContractNo='" + head.ContractNo + "'")
} ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
public ContentResult DelRate ( string BSNONAME , string BSNO , string WMSRATEBodyDel )
{
//var WMSRATEBodyList = JsonConvert.Deserialize<List<WMSRATEmb>>(WMSRATEBody);
var WMSRATEDelBodyList = JsonConvert . Deserialize < List < WMSRATEmb > > ( WMSRATEBodyDel ) ;
var modb = new ModelObjectRepository ( ) ;
DBResult result = modb . SaveComm ( BSNONAME , BSNO ,
null ,
ModelObjectConvert < WMSRATEmb > . ToModelObjectList ( WMSRATEDelBodyList )
) ;
//刷新父窗口上的父节点
var jsonRespose = new JsonResponse
{
Success = result . Success ,
Message = result . Message ,
//Data = XXHDAL.GetData("M.ContractNo='" + head.ContractNo + "'")
} ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
public ContentResult SaveWMSOUT ( string opstatus , string data , string WMSOUTDetailBody , string WMSOUTDetailBodyDel )
{
var head = JsonConvert . Deserialize < WMSOUTmb > ( data ) ;
var WMSOUTDetailBodyList = JsonConvert . Deserialize < List < WMSOUTDetailmb > > ( WMSOUTDetailBody ) ;
var WMSOUTDetailBodyDelList = JsonConvert . Deserialize < List < WMSOUTDetailmb > > ( WMSOUTDetailBodyDel ) ;
return SaveWMSOUT_OWN ( opstatus , head , WMSOUTDetailBodyList , WMSOUTDetailBodyDelList ) ;
}
public ContentResult SaveWMSOUT_OWN ( string opstatus , WMSOUTmb head , List < WMSOUTDetailmb > WMSOUTDetailBodyList , List < WMSOUTDetailmb > WMSOUTDetailBodyDelList )
{
var jsonRespose = new JsonResponse
{
Success = false ,
Message = "" //,
//Data = WMSDAL.GetWMSOUTData(" GID='" + head.GID + "'")
} ;
var result = new DBResult ( ) ;
var result2 = new DBResult ( ) ;
var result3 = new DBResult ( ) ;
Database db = DatabaseFactory . CreateDatabase ( ) ;
using ( var conn = db . CreateConnection ( ) )
{
conn . Open ( ) ;
//var tran = conn.BeginTransaction();//tran
SqlTransaction sqlTran = SqlHelper . BeginTransaction ( SqlHelper . ConnectionStringLocalTransaction ) ;
try
{
if ( head . INGIDNEW ! = "" ) //如果没有下属货转入库信息(=="") 则直接进行入库信息添加
//否则先处理现有的入库信息
{
//判断现有货转入库信息是否已费用入账
//var HZWMSCount = WMSDAL.GetHZWMSCount(head.BSNO);
var HZWMSLockCount = WMSDAL . GetHZWMSLockCount ( head . INGIDNEW ) ;
if ( HZWMSLockCount > 0 )
{
//返回错误
var jsonRespose_0 = new JsonResponse { Success = false , Message = "下属的货转入库已经入账,不能修改" } ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose_0 ) } ;
}
else
{
//删除该WMS
WMSDAL . DelHZWMS ( head . INGIDNEW ) ;
}
}
if ( opstatus = = "add" )
{
head . DbOperationType = DbOperationType . DbotIns ;
head . ModelUIStatus = "I" ;
head . GID = "WO" + Guid . NewGuid ( ) . ToString ( ) . Replace ( "-" , "" ) ;
//head.WMSDATE = DateTime.Now.ToShortTimeString();
head . WMSOP = CookieConfig . GetCookie_UserName ( Request ) ;
//head.CORPID = CookieConfig.GetCookie_OrgCode(Request);
//head.WMSNO = getCodeRule("入库单号", "WMSNO", "WMS", head);//调用编码规则
if ( head . BSNO = = "" | | head . BSNO = = "*" )
{
head . BSNO = getCodeRule ( "出库单号" , "BSNO" , "WMS_OUT" , head . DODATE ) ; //调用编码规则
}
if ( head . ASSOCIATEDNO = = "" )
{
head . ASSOCIATEDNO = head . GID ;
}
}
else if ( opstatus = = "edit" )
{
head . DbOperationType = DbOperationType . DbotUpd ;
head . ModelUIStatus = "E" ;
head . MODIFIEDTIME = DateTime . Now . ToString ( ) ;
head . MODIFIEDUSER = CookieConfig . GetCookie_UserId ( Request ) ;
}
else
{
head . DbOperationType = DbOperationType . DbotDel ;
}
var modb = new ModelObjectRepository ( ) ;
result = modb . Save ( head ,
ModelObjectConvert < WMSOUTDetailmb > . ToModelObjectList ( WMSOUTDetailBodyList ) ,
ModelObjectConvert < WMSOUTDetailmb > . ToModelObjectList ( WMSOUTDetailBodyDelList )
) ;
if ( result . Success = = false ) {
}
var WODList = WMSDAL . GetWMSOUTDetailList_0 ( " OUTBSNO='" + head . BSNO + "' " , "" ) ;
var GOODSOUTFEE = 0 M ;
var GOODSOUTFEEAP = 0 M ;
foreach ( var WOD in WODList )
{
//using (SqlTransaction sqlTran = SqlHelper.BeginTransaction(SqlHelper.ConnectionStringLocalTransaction))
//{
try
{
var _r = WMSDAL . SetFee ( sqlTran , WOD . STARTBILLINGDATE , WOD . ENDBILLINGDATE , WOD . INBSNO
, WOD . CUSTOMERNAME , decimal . Parse ( WOD . GOODSPFSL ) , WOD . GID , 1
, CookieConfig . GetCookie_UserId ( Request ) , CookieConfig . GetCookie_UserName ( Request ) , WOD . OUTBSNO , true , false ) ;
WOD . FEEDAYS = _r . feedays ;
WOD . GOODSOUTFEE = _r . sumfee ;
GOODSOUTFEE + = Convert . ToDecimal ( _r . sumfee ) ;
sqlTran . Commit ( ) ;
}
catch
{
}
finally
{
SqlHelper . CloseConnection ( ) ;
}
// }
} ;
WODList . ForEach ( delegate ( WMSOUTDetailmb WOD )
{
//using (SqlTransaction sqlTran = SqlHelper.BeginTransaction(SqlHelper.ConnectionStringLocalTransaction))
//{
try
{
var _r = WMSDAL . SetFee ( sqlTran , WOD . STARTBILLINGDATE , WOD . ENDBILLINGDATEAP , WOD . INBSNO
, WOD . CUSTOMERNAME , decimal . Parse ( WOD . GOODSPFSL ) , WOD . GID , 2
, CookieConfig . GetCookie_UserId ( Request ) , CookieConfig . GetCookie_UserName ( Request ) , WOD . OUTBSNO , true , false ) ;
WOD . FEEDAYSAP = _r . feedays ;
WOD . GOODSOUTFEEAP = _r . sumfee ;
GOODSOUTFEEAP + = Convert . ToDecimal ( _r . sumfee ) ;
sqlTran . Commit ( ) ;
}
catch
{
}
finally
{
SqlHelper . CloseConnection ( ) ;
}
//}
} ) ;
head . GOODSOUTFEE = GOODSOUTFEE . ToString ( ) ;
head . GOODSOUTFEEAP = GOODSOUTFEEAP . ToString ( ) ;
/ * foreach ( var _s in WODList ) {
_s . OUTBSNO = head . BSNO ;
} * /
var modb2 = new ModelObjectRepository ( ) ;
result2 = modb2 . SaveComm ( "OUTBSNO" , head . BSNO ,
ModelObjectConvert < WMSOUTDetailmb > . ToModelObjectList ( WODList ) ,
null
) ;
//计算完成 把WMS里的剩余数量 减掉现在的
var WODList_0 = WMSDAL . GetWMSOUTDetailList_0 ( " inbsno in(select inbsno from wms_out_detail where OUTBSNO='" + head . BSNO + "' ) " , "" ) ;
var WMSGIDList = "" ;
var WMSList = new List < WMSmb > ( ) ;
if ( head . ASSOCIATEDNO ! = "" )
{ //在业务内 明确业务编号
WMSList = WMSDAL . GetDataList ( " gid in(select inbsno from wms_out_detail where OUTBSNO='" + head . BSNO + "' )" , "" ) ;
}
else
{
//独立出入库业务,应该选择即将保存的和现存的
if ( WMSGIDList ! = "" )
{
WMSList = WMSDAL . GetDataList ( " GID in(" + WMSGIDList + ")" , "" ) ;
}
}
foreach ( var _WMS in WMSList )
{
//var GOODSSTOCK = Convert.ToDecimal(_WMS.GOODSSTOCK);
//var GOODSPACKSTOCK = Convert.ToDecimal(_WMS.GOODSPACKSTOCK);
foreach ( var _WO in WODList_0 )
{
if ( _WO . INBSNO = = _WMS . GID ) //将已经存在的出库记录内的出库件数和重量 全部加回剩余量
{
//改为使用入库信息
_WMS . GOODSSTOCK = _WMS . GOODSRKSL ;
_WMS . GOODSPACKSTOCK = _WMS . GOODSPACK ;
}
}
}
foreach ( var _WMS in WMSList )
{
var GOODSSTOCK = Convert . ToDecimal ( _WMS . GOODSSTOCK ) ;
var GOODSPACKSTOCK = Convert . ToDecimal ( _WMS . GOODSPACKSTOCK ) ;
foreach ( var _WO in WODList_0 )
{
if ( _WO . INBSNO = = _WMS . GID ) //从剩余量中减去提取量
{
GOODSSTOCK - = Convert . ToDecimal ( _WO . GOODSPFSL ) ;
GOODSPACKSTOCK - = Convert . ToDecimal ( _WO . GOODSPACKPFSL ) ;
}
}
_WMS . GOODSSTOCK = GOODSSTOCK . ToString ( ) ;
_WMS . GOODSPACKSTOCK = GOODSPACKSTOCK . ToString ( ) ;
}
var modb3 = new ModelObjectRepository ( ) ;
result3 = modb3 . Save (
ModelObjectConvert < WMSmb > . ToModelObjectList ( WMSList )
) ;
}
catch ( Exception ee )
{
jsonRespose = new JsonResponse
{
Success = false ,
Message = ee . Message //,
//Data = WMSDAL.GetWMSOUTData(" GID='" + head.GID + "'")
} ;
sqlTran . Rollback ( ) ;
}
/ *
if ( result . Success = = true & & result2 . Success = = true & & result3 . Success = = true )
{
//sqlTran.Commit();
}
else {
//sqlTran.Rollback();
} * /
jsonRespose = new JsonResponse
{
Success = result . Success = = true & & result2 . Success = = true & & result3 . Success = = true ,
Message = "" ,
Data = WMSDAL . GetWMSOUTData ( " GID='" + head . GID + "'" )
} ;
}
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
#region 修改入库/开始计费时间。即使已经费用入账。用于修改既往的单据内的入库时间
public ContentResult SetNewWMSBillingDate ( string WMSGID , string WMSDATE , string STARTBILLINGDATE , string STARTBILLINGDATEAP )
{
var _count = WMSDAL . SetNewWMSBillingDate ( WMSGID , WMSDATE , STARTBILLINGDATE , STARTBILLINGDATEAP
, CookieConfig . GetCookie_UserId ( Request ) , CookieConfig . GetCookie_UserName ( Request ) ) ;
var _result = SetNewWMSFee ( WMSGID ) ;
var jsonRespose = new JsonResponse
{
Success = false ,
Message = _count . ToString ( )
} ;
if ( _count = = 0 ) {
jsonRespose . Success = true ;
}
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
# endregion
#region 将一个入库单下属的出库单全部重新计算仓储费用明细
public ContentResult SetNewWMSFee ( string WMSGID ) {
var WODList = WMSDAL . GetWMSOUTDetailList_0 ( " INBSNO='" + WMSGID + "'" , "" ) ;
foreach ( var WOD in WODList )
{
using ( SqlTransaction sqlTran = SqlHelper . BeginTransaction ( SqlHelper . ConnectionStringLocalTransaction ) )
{
try
{
var _r = WMSDAL . SetFee ( sqlTran , WOD . STARTBILLINGDATE , WOD . ENDBILLINGDATE , WOD . INBSNO
, WOD . CUSTOMERNAME , decimal . Parse ( WOD . GOODSPFSL ) , WOD . GID , 1
, CookieConfig . GetCookie_UserId ( Request ) , CookieConfig . GetCookie_UserName ( Request ) , WOD . OUTBSNO , true , false ) ;
WOD . FEEDAYS = _r . feedays ;
WOD . GOODSOUTFEE = _r . sumfee ;
//GOODSOUTFEE += float.Parse(_r.sumfee);
sqlTran . Commit ( ) ;
}
catch
{
}
finally
{
SqlHelper . CloseConnection ( ) ;
}
}
} ;
WODList . ForEach ( delegate ( WMSOUTDetailmb WOD )
{
using ( SqlTransaction sqlTran = SqlHelper . BeginTransaction ( SqlHelper . ConnectionStringLocalTransaction ) )
{
try
{
var _r = WMSDAL . SetFee ( sqlTran , WOD . STARTBILLINGDATE , WOD . ENDBILLINGDATEAP , WOD . INBSNO
, WOD . CUSTOMERNAME , decimal . Parse ( WOD . GOODSPFSL ) , WOD . GID , 2
, CookieConfig . GetCookie_UserId ( Request ) , CookieConfig . GetCookie_UserName ( Request ) , WOD . OUTBSNO , true , false ) ;
WOD . FEEDAYSAP = _r . feedays ;
WOD . GOODSOUTFEEAP = _r . sumfee ;
//GOODSOUTFEEAP += float.Parse(_r.sumfee);
sqlTran . Commit ( ) ;
}
catch
{
}
finally
{
SqlHelper . CloseConnection ( ) ;
}
}
} ) ;
/ * foreach ( var _s in WODList ) {
_s . OUTBSNO = head . BSNO ;
} * /
var modb2 = new ModelObjectRepository ( ) ;
DBResult result2 = modb2 . SaveComm ( "INBSNO" , WMSGID ,
ModelObjectConvert < WMSOUTDetailmb > . ToModelObjectList ( WODList ) ,
null
) ;
var jsonRespose = new JsonResponse
{
Success = result2 . Success ,
Message = result2 . Message / * ,
Data = WMSDAL . GetWMSOUTData ( " GID='" + head . GID + "'" ) * /
} ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
# endregion
#region 获取 锁定的 货转出库 下属的 货转入库 数量
public int GetHZWMSLockCount ( string INGIDNEW ) {
var _count = WMSDAL . GetHZWMSLockCount ( INGIDNEW ) ;
return _count ;
}
# endregion
public ContentResult SetHZWMS ( string OpStatus , string data )
{
var head = JsonConvert . Deserialize < WMSOUTmb > ( data ) ;
if ( head . INGIDNEW ! = "" ) //如果没有下属货转入库信息(=="") 则直接进行入库信息添加
//否则先处理现有的入库信息
{
//判断现有货转入库信息是否已费用入账
//var HZWMSCount = WMSDAL.GetHZWMSCount(head.BSNO);
var HZWMSLockCount = WMSDAL . GetHZWMSLockCount ( head . INGIDNEW ) ;
if ( HZWMSLockCount > 0 )
{
//返回错误
var jsonRespose_0 = new JsonResponse { Success = false , Message = "下属的货转入库已经入账,不能修改" } ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose_0 ) } ;
}
else {
//删除该WMS
WMSDAL . DelHZWMS ( head . INGIDNEW ) ;
}
}
//新增入库信息
//getCodeRule("入库单号", "WMSNO", "WMS", head.WMSDATE);
//if (OpStatus != "add") { WMSDAL.DelHZWMS(head.BSNO); }
var WMSGID = "Wms" + Guid . NewGuid ( ) . ToString ( ) . Replace ( "-" , "" ) ;
var WMSNO = getCodeRule ( "入库单号" , "WMSNO" , "WMS" , head . DODATE ) ;
Resultmb result = WMSDAL . InsertHZWMS ( head , WMSGID , WMSNO , CookieConfig . GetCookie_UserId ( Request ) ) ;
//var GID = head.GID;
var jsonRespose = new JsonResponse {
Success = result . Success , Message = result . Message ,
Data = WMSDAL . GetWMSOUTData ( " GID='" + head . GID + "'" )
,
DataBody = GetWMS ( " WMSNO='" + WMSNO + "'" )
} ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
public ContentResult Delete ( string data , string USERID )
{
var head = JsonConvert . Deserialize < WMSmb > ( data ) ;
//判断该入库单下是否有出库数据
string checkSql = @"select count(*) from wms_out_detail where INBSNO = '" + head . GID + "' " ;
Database db = DatabaseFactory . CreateDatabase ( ) ;
int cnt = Convert . ToInt32 ( db . ExecuteScalar ( CommandType . Text , checkSql ) ) ;
if ( cnt < = 0 )
{
var modb = new ModelObjectDB ( ) ;
DBResult result = modb . Delete ( head , USERID , true ) ;
//var GID = head.GID;
var jsonRespose = new JsonResponse { Success = result . Success , Message = result . Message } ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
else
{
var jsonRespose = new JsonResponse { Success = false , Message = "无法删除已存在出库数据的入库单!" } ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
}
public ContentResult DeleteOUT ( string data , string USERID )
{
var head = JsonConvert . Deserialize < WMSOUTmb > ( data ) ;
if ( head . ISCHANGE = = "True" )
{
var HZWMSLockCount = WMSDAL . GetHZWMSLockCount ( head . INGIDNEW ) ;
if ( HZWMSLockCount > 0 )
{
//返回错误
var jsonRespose_0 = new JsonResponse { Success = false , Message = "下属的货转入库已经入账,不能修改" } ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose_0 ) } ;
}
else {
WMSDAL . DelHZWMS ( head . INGIDNEW ) ;
}
}
//首先记录 WMS_out_detail的 INBSNO, 即WMS的GID, 将保存前的 剩余件数和剩余量储存
var WMSGIDList = "" ;
var WODList_0 = WMSDAL . GetWMSOUTDetailList_0 ( " OUTBSNO='" + head . BSNO + "'" , "" ) ;
foreach ( var _WO in WODList_0 )
{
if ( WMSGIDList = = "" )
WMSGIDList = "'" + _WO . INBSNO + "'" ;
else WMSGIDList = WMSGIDList + ",'" + _WO . INBSNO + "'" ;
}
var WMSList = new List < WMSmb > ( ) ;
WMSList = WMSDAL . GetDataList ( " GID in (" + WMSGIDList + ")" , "" ) ;
foreach ( var _WMS in WMSList )
{
var GOODSSTOCK = Convert . ToDecimal ( _WMS . GOODSSTOCK ) ;
var GOODSPACKSTOCK = Convert . ToDecimal ( _WMS . GOODSPACKSTOCK ) ;
foreach ( var _WO in WODList_0 )
{
if ( _WO . INBSNO = = _WMS . GID ) //将现有数字全部加回剩余量
{
GOODSSTOCK + = Convert . ToDecimal ( _WO . GOODSPFSL ) ;
GOODSPACKSTOCK + = Convert . ToDecimal ( _WO . GOODSPACKPFSL ) ;
}
}
_WMS . GOODSSTOCK = GOODSSTOCK . ToString ( ) ;
_WMS . GOODSPACKSTOCK = GOODSPACKSTOCK . ToString ( ) ;
}
var modb3 = new ModelObjectRepository ( ) ;
DBResult result3 = modb3 . Save (
ModelObjectConvert < WMSmb > . ToModelObjectList ( WMSList )
) ;
var modb = new ModelObjectDB ( ) ;
DBResult result = modb . Delete ( head , USERID , true ) ;
var _count = WMSDAL . DeleteOut ( head . BSNO ) ;
var jsonRespose = new JsonResponse { Success = result . Success , Message = result . Message } ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
public ContentResult DeleteOUTByBSNO ( string BSNO )
{
var dataList = WMSDAL . GetWMSOUTList ( " BSNO='" + BSNO + "'" , "" ) ;
var _r = new ContentResult ( ) ;
foreach ( var head in dataList )
{
if ( head . ISCHANGE = = "True" )
{
var HZWMSLockCount = WMSDAL . GetHZWMSLockCount ( head . INGIDNEW ) ;
if ( HZWMSLockCount > 0 )
{
//返回错误
var jsonRespose_0 = new JsonResponse { Success = false , Message = "下属的货转入库已经入账,不能修改" } ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose_0 ) } ;
}
else
{
WMSDAL . DelHZWMS ( head . INGIDNEW ) ;
}
}
//首先记录 WMS_out_detail的 INBSNO, 即WMS的GID, 将保存前的 剩余件数和剩余量储存
var WMSGIDList = "" ;
var WODList_0 = WMSDAL . GetWMSOUTDetailList_0 ( " OUTBSNO='" + head . BSNO + "'" , "" ) ;
foreach ( var _WO in WODList_0 )
{
if ( WMSGIDList = = "" )
WMSGIDList = "'" + _WO . INBSNO + "'" ;
else WMSGIDList = WMSGIDList + ",'" + _WO . INBSNO + "'" ;
}
var WMSList = new List < WMSmb > ( ) ;
WMSList = WMSDAL . GetDataList ( " ASSOCIATEDNO ='" + head . ASSOCIATEDNO + "'" , "" ) ;
foreach ( var _WMS in WMSList )
{
var GOODSSTOCK = Convert . ToDecimal ( _WMS . GOODSSTOCK ) ;
var GOODSPACKSTOCK = Convert . ToDecimal ( _WMS . GOODSPACKSTOCK ) ;
foreach ( var _WO in WODList_0 )
{
if ( _WO . INBSNO = = _WMS . GID ) //将现有数字全部加回剩余量
{
GOODSSTOCK + = Convert . ToDecimal ( _WO . GOODSPFSL ) ;
GOODSPACKSTOCK + = Convert . ToDecimal ( _WO . GOODSPACKPFSL ) ;
}
}
_WMS . GOODSSTOCK = GOODSSTOCK . ToString ( ) ;
_WMS . GOODSPACKSTOCK = GOODSPACKSTOCK . ToString ( ) ;
}
var modb3 = new ModelObjectRepository ( ) ;
DBResult result3 = modb3 . Save (
ModelObjectConvert < WMSmb > . ToModelObjectList ( WMSList )
) ;
var modb = new ModelObjectDB ( ) ;
DBResult result = modb . Delete ( head , Session [ "USERID" ] . ToString ( ) , true ) ;
var _count = WMSDAL . DeleteOut ( head . BSNO ) ;
var jsonRespose = new JsonResponse { Success = result . Success , Message = result . Message } ;
_r = new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
return _r ;
}
public ContentResult Lock ( string data , string LOCK )
{ //费用入账
var WMSList = JsonConvert . Deserialize < List < WMSmb > > ( data ) ;
var WMSGID = "" ;
for ( int i = 0 ; i < = WMSList . Count ( ) - 1 ; i + + )
{
if ( WMSGID = = "" ) { WMSGID = "" + WMSList [ i ] . GID . ToString ( ) + "" ; }
else { WMSGID = WMSGID + "," + WMSList [ i ] . GID . ToString ( ) + "" ; }
}
var USERID = CookieConfig . GetCookie_UserId ( Request ) ;
return LockWMS ( WMSGID , USERID , LOCK ) ;
}
public ContentResult LockWMSList ( string WMSGIDList , string LOCK )
{ //费用入账
var USERID = CookieConfig . GetCookie_UserId ( Request ) ;
return LockWMS ( WMSGIDList , USERID , LOCK ) ;
}
public ContentResult LockWMS ( string WMSGID , string USERID , string LOCK )
{
WmsDA _wda = new WmsDA ( ) ;
var _r = 0 ;
Resultmb result = new Resultmb ( ) ;
if ( LOCK = = "1" )
_r = _wda . setislock ( WMSGID , USERID ) ;
else if ( LOCK = = "0" ) {
//入库解锁时先看有没有下属出库 有则返回false
var _WODList = WMSDAL . GetWMSOUTDetailList_0 ( "INBSNO in('" + WMSGID + "')" , "" ) ;
if ( _WODList . Count > 0 ) {
result . Success = false ;
result . Message = "已有出库操作,不能取消入账" ;
var jsonRespose2 = new JsonResponse { Success = result . Success , Message = result . Message } ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose2 ) } ;
} else
_r = _wda . setnotlock ( WMSGID , USERID ) ;
}
/ *
iResult = 1 ; //状态为1表示插入成功
iResult = - 1 ; //有异常,插入失败
iResult = - 2 ; //插入异常,事务已回滚成功*/
if ( _r = = 1 )
{
result . Success = true ;
if ( LOCK = = "0" )
result . Message = "已经取消费用入账" ;
else
result . Message = "已经费用入账" ;
}
else if ( _r = = - 1 | | _r = = - 2 )
{
result . Success = true ;
result . Message = "操作失败" ;
}
//WMSDAL.Lock(WMSGID, LOCK,);
var jsonRespose = new JsonResponse { Success = result . Success , Message = result . Message } ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
public ContentResult LockOut ( string data , string LOCK )
{ //出库费用入账
var _WMSOUTList = JsonConvert . Deserialize < List < WMSOUTmb > > ( data ) ;
var WMSOUTGID = "" ;
for ( int i = 0 ; i < = _WMSOUTList . Count ( ) - 1 ; i + + )
{
if ( WMSOUTGID = = "" ) { WMSOUTGID = "'" + _WMSOUTList [ i ] . GID . ToString ( ) + "'" ; }
else { WMSOUTGID = WMSOUTGID + ",'" + _WMSOUTList [ i ] . GID . ToString ( ) + "'" ; }
}
var condition = " GID in(" + WMSOUTGID + ") " ;
if ( LOCK = = "1" ) {
condition + = " and isnull(ISLOCK,0)=0" ;
}
if ( LOCK = = "0" )
{
condition + = " and isnull(ISLOCK,1)=1" ;
}
var dataList = WMSDAL . GetWMSOUTList ( condition , "" ) ;
WMSOUTGID = "" ;
for ( int i = 0 ; i < = dataList . Count ( ) - 1 ; i + + )
{
WMSOUTGID = "'" + _WMSOUTList [ i ] . GID . ToString ( ) + "'" ;
}
WmsOutDA _wda = new WmsOutDA ( ) ;
var _r = 0 ;
if ( LOCK = = "1" )
_r = _wda . setislock2 ( WMSOUTGID , CookieConfig . GetCookie_UserId ( Request ) ) ;
else if ( LOCK = = "0" )
_r = _wda . setnotlock2 ( WMSOUTGID , CookieConfig . GetCookie_UserId ( Request ) ) ;
Resultmb result = new Resultmb ( ) ;
/ *
iResult = 1 ; //状态为1表示插入成功
iResult = - 1 ; //有异常,插入失败
iResult = - 2 ; //插入异常,事务已回滚成功*/
if ( _r = = 1 )
{
result . Success = true ;
if ( LOCK = = "0" )
result . Message = "已经取消费用入账" ;
else
result . Message = "已经费用入账" ;
}
else if ( _r = = - 1 | | _r = = - 2 )
{
result . Success = true ;
result . Message = "操作失败" ;
}
//WMSDAL.Lock(WMSGID, LOCK,);
var jsonRespose = new JsonResponse { Success = result . Success , Message = result . Message } ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
public ContentResult LockOut_Import ( string data , string LOCK )
{ //出库费用入账
var _WMSOUTList = JsonConvert . Deserialize < List < WMSOUTmb > > ( data ) ;
var WMSOUTGID = "" ;
for ( int i = 0 ; i < = _WMSOUTList . Count ( ) - 1 ; i + + )
{
if ( WMSOUTGID = = "" ) { WMSOUTGID = "'" + _WMSOUTList [ i ] . GID . ToString ( ) + "'" ; }
else { WMSOUTGID = WMSOUTGID + ",'" + _WMSOUTList [ i ] . GID . ToString ( ) + "'" ; }
}
var condition = " wo.GID in(" + WMSOUTGID + ") " ;
if ( LOCK = = "1" )
{
condition + = " and isnull(wo.ISLOCK,0)=0" ;
}
if ( LOCK = = "0" )
{
condition + = " and isnull(wo.ISLOCK,1)=1" ;
}
var dataList = WMSDAL . GetWMSOUTList_Import ( condition , "" ) ;
WMSOUTGID = "" ;
for ( int i = 0 ; i < = dataList . Count ( ) - 1 ; i + + )
{
if ( ( LOCK = = "1" & & dataList [ i ] . BSSTATUS = = "2" ) | | ( LOCK = = "0" ) )
{
if ( WMSOUTGID = = "" )
{
WMSOUTGID + = dataList [ i ] . GID . ToString ( ) ;
}
else {
WMSOUTGID + = "," + dataList [ i ] . GID . ToString ( ) ;
}
}
}
WmsOutDA _wda = new WmsOutDA ( ) ;
var _r = 0 ;
if ( LOCK = = "1" )
_r = _wda . setislock2 ( WMSOUTGID , CookieConfig . GetCookie_UserId ( Request ) ) ;
else if ( LOCK = = "0" )
_r = _wda . setnotlock3 ( WMSOUTGID , CookieConfig . GetCookie_UserId ( Request ) ) ;
Resultmb result = new Resultmb ( ) ;
/ *
iResult = 1 ; //状态为1表示插入成功
iResult = - 1 ; //有异常,插入失败
iResult = - 2 ; //插入异常,事务已回滚成功*/
var _count = 0 ;
if ( _r = = 1 )
{
result . Success = true ;
if ( LOCK = = "0" )
result . Message = "已经取消费用入账" ;
else
result . Message = "已经费用入账" ;
if ( LOCK = = "1" )
{
foreach ( var _W in _WMSOUTList )
{
_count + = ImportSalesDAL . LockDelivery_2 ( _W . BSNO ) ;
//产生费用
//MakeFee_ImportDelivery(_W.GID,_W.BSNO);
}
}
else {
foreach ( var _W in _WMSOUTList )
{
_count + = ImportSalesDAL . UnLockDelivery_2 ( _W . BSNO ) ;
//删除费用
//DelFee_ImportDelivery(_W.BSNO);
}
}
}
else if ( _r = = - 1 | | _r = = - 2 )
{
result . Success = true ;
result . Message = "操作失败" ;
}
//WMSDAL.Lock(WMSGID, LOCK,);
var jsonRespose = new JsonResponse { Success = result . Success , Message = result . Message } ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
/ *
private ContentResult MakeFee_ImportDelivery ( string WmsOutBsNo , string DELIVERYNO ) {
var condition = " D.DELIVERYNO='" + DELIVERYNO + "'" ;
var deliverydetail = ImportSalesDAL . GetDeliveryDetailList ( condition , Convert . ToString ( Session [ "USERID" ] ) , CookieConfig . GetCookie_UserCode ( Request ) , Convert . ToString ( Session [ "COMPANYID" ] ) , "" ) ;
var headdata = ImportSalesDAL . GetDeliveryData ( "DELIVERYNO='" + DELIVERYNO + "'" ) ;
var chfeelist = new List < MsChFeeImportWMS > ( ) ;
var chfeedellist = new List < MsChFeeImportWMS > ( ) ;
var BSNO = "" ;
foreach ( var _dd in deliverydetail ) {
var _fee = new MsChFeeImportWMS ( ) ;
var salesdetaillist = ImportSalesDAL . GetDetailList ( " s.GID='" + _dd . SALEDETAIL_GID + "'" ) ;
var salesdetail = salesdetaillist [ 0 ] ;
BSNO = salesdetail . BSNO ;
_fee . GId = System . Guid . NewGuid ( ) . ToString ( ) ;
_fee . BsNo = "" ;
_fee . FeeName = "尾款" ;
_fee . FeeType = 1 ;
_fee . FeeStatus = 0 ;
_fee . CustomerName = headdata . CUSTOMERNAME ;
_fee . UnitPrice = Convert . ToDecimal ( salesdetail . PRICERMB ) ;
_fee . TaxUnitPrice = Convert . ToDecimal ( salesdetail . PRICERMB ) ;
_fee . Quantity = Convert . ToDecimal ( _dd . WEIGHT ) ;
_fee . Amount = _fee . UnitPrice * _fee . Quantity ;
_fee . NoTaxAmount = _fee . Amount ;
_fee . Currency = "RMB" ;
_fee . ExChangerate = 1 ;
if ( salesdetail . CURRENCY ! = "RMB" ) {
_fee . Remark = salesdetail . CURRENCY + " 汇率" + salesdetail . EXCHANGERATE ;
}
_fee . EnteroPerator = Session [ "USERID" ] . ToString ( ) ;
_fee . EnterDate = System . DateTime . Now ;
_fee . DebitNo = "" ;
_fee . IsDebit = "0" ;
_fee . IsOpen = "0" ;
_fee . IsAdvancedpay = "0" ;
_fee . IsInvoice = "0" ;
_fee . FeeFrt = "PP" ;
_fee . IsCrmOrderFee = "0" ;
_fee . AuditStatus = 0 ;
_fee . SALESNO = salesdetail . SALESNO ;
_fee . DELIVERYNO = _dd . DELIVERYNO ;
_fee . WmsOutBsNo = WmsOutBsNo ;
chfeelist . Add ( _fee ) ;
}
var modb = new ModelObjectRepository ( ) ;
var _r = modb . SaveComm ( "BsNo" , BSNO ,
ModelObjectConvert < MsChFeeImportWMS > . ToModelObjectList ( chfeelist ) ,
ModelObjectConvert < MsChFeeImportWMS > . ToModelObjectList ( chfeedellist )
) ;
var jsonRespose = new JsonResponse
{
Success = _r . Success ,
Message = _r . Message ,
Data = null
} ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
private ContentResult DelFee_ImportDelivery ( string DELIVERYNO )
{
var _count = WMSDAL . DelFee_ImportDelivery ( DELIVERYNO ) ;
var modb = new ModelObjectRepository ( ) ;
var _r = new DBResult ( ) ;
if ( _count > 0 ) {
_r . Success = true ;
}
var jsonRespose = new JsonResponse
{
Success = _r . Success ,
Message = _r . Message ,
Data = null
} ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
* /
public ContentResult SetWMSFee ( string strSTARTBILLINGDATE , string strOLDCUSTFEEDATE , string strINBSNO
, string strCUSTOMERNAME , Decimal outnums , string strASSOCIATEDNO , int strFEETYPE
, string strUserID , string strShowName , string sBillno , bool ck_jsfee , bool isKuCun )
{
using ( SqlTransaction sqlTran = SqlHelper . BeginTransaction ( SqlHelper . ConnectionStringLocalTransaction ) )
{
try
{
var _r = WMSDAL . SetFee ( sqlTran , strSTARTBILLINGDATE , strOLDCUSTFEEDATE , strINBSNO
, strCUSTOMERNAME , outnums , strASSOCIATEDNO , strFEETYPE
, strUserID , strShowName , sBillno , ck_jsfee , isKuCun ) ;
var json = JsonConvert . Serialize (
new { Success = true , Message = "设置成功" , data = _r } ) ;
return new ContentResult ( ) { Content = json } ;
}
catch ( Exception execError )
{
//result = -10;//有异常,插入失败
sqlTran . Rollback ( ) ;
//result = -11;//插入异常,事务已回滚成功
throw execError ;
}
finally
{
SqlHelper . CloseConnection ( ) ;
}
}
}
#region 查询库存,看是否有取用记录
public ContentResult GetCargoOut ( string WMSGID )
{
var _count = WMSDAL . GetCargoOut ( WMSGID ) ;
var json = JsonConvert . Serialize (
new { Success = true , Message = "查询成功" , data = _count } ) ;
return new ContentResult ( ) { Content = json } ;
}
# endregion
#region 入库财务审核
public ContentResult SubmitAudit ( string WMSList , string optype )
{
var billData = JsonConvert . Deserialize < List < WMSmb > > ( WMSList ) ;
DBResult result = WMSDAL . SubmitAudit ( optype , Convert . ToString ( Session [ "USERID" ] ) , billData ) ;
var json = JsonConvert . Serialize ( result ) ;
return new ContentResult ( ) { Content = json } ;
}
public ContentResult CancelAudit ( string WMSList , string optype )
{
var billData = JsonConvert . Deserialize < List < WMSmb > > ( WMSList ) ;
//DBResult result = Chfee_AuditDAL.CancelAudit(optype, Convert.ToString(Session["DEPTGID"]), Convert.ToString(Session["USERID"]), GidStr);
DBResult result = WMSDAL . CancelAudit ( optype , Convert . ToString ( Session [ "USERID" ] ) , billData ) ;
var json = JsonConvert . Serialize ( result ) ;
return new ContentResult ( ) { Content = json } ;
}
public ContentResult Audit ( String WMSList , String bill )
{
var billData = JsonConvert . Deserialize < List < WMSmb > > ( WMSList ) ;
DBResult result = WMSDAL . Audit ( Convert . ToString ( Session [ "USERID" ] ) , billData ) ;
var json = JsonConvert . Serialize ( result ) ;
return new ContentResult ( ) { Content = json } ;
}
public ContentResult AuditBack ( String WMSList , String bill , string reasean )
{
var billData = JsonConvert . Deserialize < List < WMSmb > > ( WMSList ) ;
DBResult result = WMSDAL . AuditBack ( Convert . ToString ( Session [ "USERID" ] ) , billData , reasean ) ;
var json = JsonConvert . Serialize ( result ) ;
return new ContentResult ( ) { Content = json } ;
}
# endregion
#region 出库财务审核
public ContentResult SubmitAudit_OUT ( string WMSList , string optype )
{
var billData = JsonConvert . Deserialize < List < WMSOUTmb > > ( WMSList ) ;
DBResult result = WMSDAL . SubmitAudit_OUT ( optype , Convert . ToString ( Session [ "USERID" ] ) , billData ) ;
var json = JsonConvert . Serialize ( result ) ;
return new ContentResult ( ) { Content = json } ;
}
public ContentResult CancelAudit_OUT ( string WMSList , string optype )
{
var billData = JsonConvert . Deserialize < List < WMSOUTmb > > ( WMSList ) ;
//DBResult result = Chfee_AuditDAL.CancelAudit(optype, Convert.ToString(Session["DEPTGID"]), Convert.ToString(Session["USERID"]), GidStr);
DBResult result = WMSDAL . CancelAudit_OUT ( optype , Convert . ToString ( Session [ "USERID" ] ) , billData ) ;
var json = JsonConvert . Serialize ( result ) ;
return new ContentResult ( ) { Content = json } ;
}
public ContentResult Audit_OUT ( String WMSList , String bill )
{
var billData = JsonConvert . Deserialize < List < WMSOUTmb > > ( WMSList ) ;
DBResult result = WMSDAL . Audit_OUT ( Convert . ToString ( Session [ "USERID" ] ) , billData ) ;
var json = JsonConvert . Serialize ( result ) ;
return new ContentResult ( ) { Content = json } ;
}
public ContentResult AuditBack_OUT ( String WMSList , String bill , string reasean )
{
var billData = JsonConvert . Deserialize < List < WMSOUTmb > > ( WMSList ) ;
DBResult result = WMSDAL . AuditBack_OUT ( Convert . ToString ( Session [ "USERID" ] ) , billData , reasean ) ;
var json = JsonConvert . Serialize ( result ) ;
return new ContentResult ( ) { Content = json } ;
}
# endregion
#region 获取编码规则的编码
//WmsEntity.WMSNO = getCodeRule("入库单号", "WMSNO", "WMS");//调用编码规则
public String getCodeRule ( string strRULENAME , string strfield , string tablename , string DODATE )
{
//调用编码规则
string strRULEYEAR = "" ;
string strRULECONTENT = "" ;
string strCODENAME = "" ;
string strDEPTNO = "" ;
string strRULENOLENGTH = "" ;
int iRULENOLENGTH = 0 ;
int inum = 0 ;
string strCONTENT = "" ;
string USERID = CookieConfig . GetCookie_UserId ( Request ) ;
T_ALL_DA T_ALL_DA = new T_ALL_DA ( ) ;
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" ) )
{
//getCodeRuleEnabled(strRULENAME, strfield);
/ /
if ( ds . Tables [ 0 ] . Rows [ 0 ] [ "RULEDATE" ] . ToString ( ) . Trim ( ) . Equals ( "业务日期" ) )
{
if ( DODATE = = "" )
{
return "" ;
}
DateTime dETD = System . Convert . ToDateTime ( DODATE ) ;
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='" + USERID + "')" ) ;
}
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='" + CookieConfig . GetCookie_UserId ( Request ) + "')" ) ;
}
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 codename='" + CookieConfig . GetCookie_OrgCode ( Request ) + "'" ) ;
strCONTENT = tempBANKSHEAD + strCONTENT ;
/ /
strRULENOLENGTH = T_ALL_DA . GetStrSQL ( strfield , "select top 1 " + strfield + " from [" + tablename + "] where " + strfield + " like '" + strCONTENT . Trim ( ) + "%' and ISDELETE=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 "" ;
}
public String getCodeRule ( string _USERID , string ORGCODE , string strRULENAME , string strfield , string tablename , string DODATE )
{
//调用编码规则
string strRULEYEAR = "" ;
string strRULECONTENT = "" ;
string strCODENAME = "" ;
string strDEPTNO = "" ;
string strRULENOLENGTH = "" ;
int iRULENOLENGTH = 0 ;
int inum = 0 ;
string strCONTENT = "" ;
string USERID = _USERID ;
T_ALL_DA T_ALL_DA = new T_ALL_DA ( ) ;
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" ) )
{
//getCodeRuleEnabled(strRULENAME, strfield);
/ /
if ( ds . Tables [ 0 ] . Rows [ 0 ] [ "RULEDATE" ] . ToString ( ) . Trim ( ) . Equals ( "业务日期" ) )
{
if ( DODATE = = "" )
{
return "" ;
}
DateTime dETD = System . Convert . ToDateTime ( DODATE ) ;
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='" + USERID + "')" ) ;
}
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='" + USERID + "')" ) ;
}
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 codename='" + ORGCODE + "'" ) ;
strCONTENT = tempBANKSHEAD + strCONTENT ;
/ /
strRULENOLENGTH = T_ALL_DA . GetStrSQL ( strfield , "select top 1 " + strfield + " from [" + tablename + "] where " + strfield + " like '" + strCONTENT . Trim ( ) + "%' and ISDELETE=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 "" ;
}
protected void getCodeRuleEnabled ( string strRULENAME , string strfield )
{
//是否生成之后允许编辑
T_ALL_DA T_ALL_DA = new T_ALL_DA ( ) ;
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;
}
}
}
}
}
}
public DataSet GetAllSQL ( string strSQL )
{
DataSet DS = SqlHelper . OpenSqlDataSet ( SqlHelper . ConnectionStringLocalTransaction , strSQL ) ;
try
{
if ( DS . Tables [ 0 ] . Rows . Count < = 0 )
{
DS = null ;
}
}
catch
{
DS = null ;
}
return DS ;
}
# endregion
}
}