using System ;
using System.Linq ;
using System.Web.Mvc ;
using DSWeb.Areas.Import.DAL.ImportSales ;
using DSWeb.Areas.Import.Models.ImportTrade ;
using DSWeb.MvcShipping.Helper ;
using DSWeb.MvcShipping.Comm.Cookie ;
using DSWeb.Areas.CommMng.DAL ;
using System.Collections.Generic ;
using HcUtility.Comm ;
using HcUtility.Core ;
using DSWeb.EntityDA ;
using DSWeb.Areas.Account.Models.Chfee_Exrate ;
using DSWeb.TruckMng.Helper.Repository ;
using DSWeb.Areas.CommMng.Models ;
using DSWeb.Areas.Import.DAL.Comm ;
using DSWeb.Areas.Import.Models.Comm ;
using DSWeb.Areas.Account.DAL.Chfee_Settlement ;
using DSWeb.MvcShipping.Models.WMS ;
using DSWeb.MvcShipping.DAL.WMS ;
using DSWeb.MvcShipping.Controllers ;
using DSWeb.Areas.Import.DAL.XXH ;
using DSWeb.Areas.Import.DAL.ImportTrade ;
using System.Text ;
using DSWeb.SoftMng.Filter ;
namespace DSWeb.Areas.Import.Controllers
{
[JsonRequestBehavior]
public class ImportSalesController : Controller
{
/ /
// GET:
public ActionResult Index ( )
{
return View ( ) ;
}
/ /
// GET: /
public ActionResult Edit ( )
{
return View ( ) ;
}
public ActionResult BLEdit ( )
{
return View ( ) ;
}
//付费申请审核
public ActionResult Audit ( )
{
return View ( ) ;
}
//财务核销
public ActionResult CWSTL ( )
{
return View ( ) ;
}
public ActionResult CWSTLEdit ( )
{
return View ( ) ;
}
/ /
// GET:
[SqlKeyWordsFilter(Type = "Action")] //sql 防注入过滤器
public ContentResult GetDataList ( int start , int limit , string sort , string condition )
{
var dataList = ImportSalesDAL . GetDataList ( condition , Convert . ToString ( Session [ "USERID" ] )
, CookieConfig . GetCookie_UserCode ( Request ) , 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 } ;
}
[SqlKeyWordsFilter(Type = "Action")] //sql 防注入过滤器
public ContentResult GetData ( string handle , string condition )
{
ImportSalesmb head = null ;
if ( handle = = "edit" | | handle = = "audit" )
{
var list = ImportSalesDAL . GetDataList ( condition , Convert . ToString ( Session [ "USERID" ] ) , CookieConfig . GetCookie_UserCode ( Request ) , Convert . ToString ( Session [ "COMPANYID" ] ) ) ;
if ( list . Count > 0 )
head = list [ 0 ] ;
}
if ( head = = null )
{
head = new ImportSalesmb ( ) ;
}
if ( handle = = "add" )
{
head . OP = Convert . ToString ( Session [ "SHOWNAME" ] ) ;
//head.OPRef = Convert.ToString(Session["SHOWNAME"]);
head . BSSTATUS = "1" ;
head . FEESTATUS = "1" ;
head . CURRENCY = "RMB" ;
head . AMOUNT = "0" ;
head . EXCHANGERATE = "1" ;
head . AMOUNTRMB = "0" ;
head . SALESTATUS = "0" ;
//head.SALESDATE = DateTime.Now.ToString();
}
var json = JsonConvert . Serialize (
new { Success = true , Message = "查询成功" , data = head } ) ;
return new ContentResult ( ) { Content = json } ;
}
public ContentResult Save ( string opstatus , string data , string SaleDetailList , string OrderFeeList )
{
var headData = JsonConvert . Deserialize < ImportSalesmb > ( data ) ;
var SaleDetailData = JsonConvert . Deserialize < List < ImportSaledetailmb > > ( SaleDetailList ) ;
var SaleDetailDEL = JsonConvert . Deserialize < List < ImportSaledetailmb > > ( "" ) ;
var OrderFee = JsonConvert . Deserialize < List < MsOrderFee > > ( OrderFeeList ) ;
var OrderFeeDel = JsonConvert . Deserialize < List < MsOrderFee > > ( "" ) ;
if ( ! string . IsNullOrEmpty ( OrderFeeList ) ) {
foreach ( var _f in OrderFee ) {
_f . MODIFIEDTIME = System . DateTime . Now . ToString ( ) ;
_f . MODIFIEDUSER = Session [ "USERID" ] . ToString ( ) ;
}
}
if ( opstatus = = "add" )
{
headData . GID = Guid . NewGuid ( ) . ToString ( ) ;
//headData.SALESNO = PubSysDAL.GetBillNo("0207");
headData . SALESNO = ImportSalesDAL . GetSALESNO ( headData . SALESNO ) ;
headData . CORPID = Convert . ToString ( Session [ "COMPANYID" ] ) ;
//headData.OP = CookieConfig.GetCookie_UserName(Request);
headData . SALESDATE = DateTime . Now . ToString ( ) ;
headData . DbOperationType = DbOperationType . DbotIns ;
headData . ModelUIStatus = "I" ;
}
else if ( opstatus = = "edit" )
{
headData . DbOperationType = DbOperationType . DbotUpd ;
headData . ModelUIStatus = "E" ;
}
else
{
headData . DbOperationType = DbOperationType . DbotDel ;
}
var SALESNO = headData . SALESNO ;
//if (headData.INVDATE == "") headData.INVDATE = null;
var modb = new ModelObjectRepository ( ) ;
DBResult result = modb . Save ( headData
, ModelObjectConvert < ImportSaledetailmb > . ToModelObjectList ( SaleDetailData )
, ModelObjectConvert < ImportSaledetailmb > . ToModelObjectList ( SaleDetailDEL )
, ModelObjectConvert < MsOrderFee > . ToModelObjectList ( OrderFee )
, ModelObjectConvert < MsOrderFee > . ToModelObjectList ( OrderFeeDel )
) ;
PubSysDAL . ExecSql ( " update Import_Saledetail set CURRENCY='" + headData . CURRENCY + "' ,EXCHANGERATE=" + headData . EXCHANGERATE + " where SALESNO='" + headData . SALESNO + "' " ) ;
var jsonRespose = new JsonResponse
{
Success = result . Success ,
Message = result . Message ,
Data = ImportSalesDAL . GetData ( " s.SALESNO='" + SALESNO + "'" , Convert . ToString ( Session [ "USERID" ] ) , CookieConfig . GetCookie_UserCode ( Request ) , Convert . ToString ( Session [ "COMPANYID" ] ) )
} ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
[SqlKeyWordsFilter(Type = "Action")] //sql 防注入过滤器
public ContentResult GetCargoList ( int start , int limit , string sort , string condition )
{
var dataList = ImportSalesDAL . GetCargoList ( condition , Convert . ToString ( Session [ "USERID" ] ) , CookieConfig . GetCookie_UserCode ( Request ) , 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 } ;
}
public ContentResult AddSales ( string SALESNO , string CargoList )
{
var _count = 0 ;
var corpcode = CookieConfig . GetCookie_OrgCode ( Request ) ;
var userid = CookieConfig . GetCookie_UserId ( Request ) ;
_count = ImportSalesDAL . AddSales ( SALESNO , CargoList , corpcode , userid ) ;
var _success = false ;
if ( _count > 0 ) {
_success = true ;
}
var json = JsonConvert . Serialize ( new { Success = _success , Message = "查询成功" , totalCount = _count } ) ;
return new ContentResult ( ) { Content = json } ;
}
[SqlKeyWordsFilter(Type = "Action")] //sql 防注入过滤器
public ContentResult GetDetailList ( int start , int limit , string sort , string condition )
{
var dataList = ImportSalesDAL . GetDetailList ( condition , Convert . ToString ( Session [ "USERID" ] ) , CookieConfig . GetCookie_UserCode ( Request ) , 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 } ;
}
public ContentResult DeleteDetail ( string SALESNO , string GIDList )
{
var _count = 0 ;
var corpcode = CookieConfig . GetCookie_OrgCode ( Request ) ;
var userid = CookieConfig . GetCookie_UserId ( Request ) ;
_count = ImportSalesDAL . DeleteDetail ( SALESNO , GIDList ) ;
var _success = false ;
if ( _count > 0 )
{
_success = true ;
}
var json = JsonConvert . Serialize ( new { Success = _success , Message = "查询成功" , totalCount = _count } ) ;
return new ContentResult ( ) { Content = json } ;
}
public ContentResult Delete ( string data )
{
var head = JsonConvert . Deserialize < ImportSalesmb > ( data ) ;
var modb = new ModelObjectDB ( ) ;
DBResult result = modb . Delete ( head ) ;
ContentResult _r = DeleteDetail ( head . SALESNO , "" ) ;
var jsonRespose = new JsonResponse { Success = result . Success , Message = result . Message } ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
public ContentResult GetFeeList ( string SALESNO , string sort )
{
var corpid = Convert . ToString ( Session [ "COMPANYID" ] ) ;
var USERID = Convert . ToString ( Session [ "USERID" ] ) ;
var DEPTGID = Convert . ToString ( Session [ "DEPTGID" ] ) ;
//var OPERATERANGE="";
var VISIBLERANGE = "" ;
var modName = "modImport_Fee" ;
var evList = BasicDataRefDAL . GetAR ( modName , USERID ) ;
AuthorityRangemb head = null ;
if ( evList . Count > 0 )
head = evList [ 0 ] ;
if ( head = = null )
{
head = new AuthorityRangemb ( ) ;
//OPERATERANGE = "3";
VISIBLERANGE = "3" ;
}
else
{
//OPERATERANGE = head.OPERATERANGE;
VISIBLERANGE = head . VISIBLERANGE ;
}
var condition = "SALESNO='" + SALESNO + "'" ;
/ * 暂 不 限 制 访 问 范 围
if ( VISIBLERANGE = = "1" )
{
condition = condition + " and SALER in(select userid from user_company where companyid='" + corpid + "')" ;
}
if ( VISIBLERANGE = = "2" )
{
condition = condition + " and SALER in(select userid from user_baseinfo where companyname=(select name from company where gid='" + corpid + "') " ;
condition = condition + " and deptname=(select deptname from sys_dept where gid='" + DEPTGID + "')) " ;
}
if ( VISIBLERANGE = = "3" )
{
condition = condition + " and SALER ='" + USERID + "'" ;
} * /
var dataList = ImportSalesDAL . GetFeeList ( condition , sort ) ;
var json = JsonConvert . Serialize ( new { Success = true , Message = "查询成功" , totalCount = dataList . Count , data = dataList . ToList ( ) } ) ;
return new ContentResult ( ) { Content = json } ;
}
public ContentResult SaveFee ( string SALESNO , string chfeebody , string chfeedelbody )
{
var chfeeBodyList = JsonConvert . Deserialize < List < MsChFee_Sales > > ( chfeebody ) ;
var chfeeDelBodyList = JsonConvert . Deserialize < List < MsChFee_Sales > > ( chfeedelbody ) ;
var modb = new ModelObjectRepository ( ) ;
DBResult result = modb . SaveComm ( "BsNo" , SALESNO ,
ModelObjectConvert < MsChFee_Sales > . ToModelObjectList ( chfeeBodyList ) ,
ModelObjectConvert < MsChFee_Sales > . ToModelObjectList ( chfeeDelBodyList )
) ;
//刷新父窗口上的父节点
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 SetSettlement ( string SALESNO , string chfeebody )
{
var corpid = Convert . ToString ( Session [ "COMPANYID" ] ) ;
var userid = Convert . ToString ( Session [ "USERID" ] ) ;
var BILLNO = PubSysDAL . GetBillNo ( "0304" ) ;
var FeeList = JsonConvert . Deserialize < List < MsChFee > > ( chfeebody ) ;
//首先删除相关结算//目前的逻辑已不需要删除旧结算
//var _count2 = ImportSalesDAL.DelSettlement(SALESNO);
//此时在前台调用处已同过js中的MakeFees方法生成费用
//此处要做的是
//1 通过SALESNO查询出所有费用, //现改为由前台提供
//var condition = " isnull(SALESNO,'')<>'' and SALESNO='" + SALESNO + "'";
//var FeeList = ImportSalesDAL.GetFeeList(condition, "");
//2 建立一个Ch_fee_do的对象List, 依照费用信息编写和插入ch_fee_do信息
var ChFeeDoList = new List < DSWeb . Areas . Import . Models . ImportTrade . MsChFeeDo > ( ) ;
var ChFeeDoDEL = new List < DSWeb . Areas . Import . Models . ImportTrade . MsChFeeDo > ( ) ; //保持为空 仅用来填充参数
decimal AMOUNT = 0 ;
var CUSTOMERNAME = "" ;
foreach ( var Fee in FeeList )
{
var _do = new DSWeb . Areas . Import . Models . ImportTrade . MsChFeeDo ( ) ;
_do . GID = Guid . NewGuid ( ) . ToString ( ) ;
_do . BILLNO = "" ; //SALESNO;
_do . BSNO = Fee . BsNo ;
_do . CUSTOMERNAME = Fee . CustomerName ;
_do . BSTYPE = "0" ;
_do . FEEID = Fee . GId ;
_do . FEENAME = Fee . FeeName ;
_do . CURRENCY = Fee . Currency ;
_do . AMOUNT = Fee . Amount . ToString ( ) ;
_do . DOAMOUNT = Fee . Amount . ToString ( ) ;
_do . FEETYPE = Fee . FeeType . ToString ( ) ;
_do . CATEGORY = "2" ;
_do . BILLSTATUS = "2" ;
_do . CREATETIME = DateTime . Now . ToString ( ) ;
_do . EXCHANGERATE = Fee . ExChangerate . ToString ( ) ;
_do . ORIGAMOUNT = Fee . Amount . ToString ( ) ;
_do . COMPANYID = corpid ;
CUSTOMERNAME = Fee . CustomerName ;
ChFeeDoList . Add ( _do ) ;
AMOUNT = AMOUNT + Fee . Amount * Fee . ExChangerate ;
}
// 并计算总金额
var condition = " SETTLEBILLNO='" + BILLNO + "' " ;
decimal SettlementAmount = 0 ;
//2 建立一个Ch_fee_do的对象List, 依照费用信息编写和插入ch_fee_do信息
/ /
var _countAD = ImportSalesDAL . SetAdvancePay ( BILLNO , SALESNO ) ;
var _APD = ChsettlementDAL . GetAPBodyList ( condition ) ;
foreach ( var apd in _APD )
{
SettlementAmount = SettlementAmount + decimal . Parse ( apd . DOAMOUNT ) ;
}
if ( AMOUNT ! = SettlementAmount )
{
var json2 = JsonConvert . Serialize ( new { Success = false , Message = "核销的费用金额和预收取用的金额不一致" } ) ;
return new ContentResult ( ) { Content = json2 } ;
}
//3 建立一个Ch_fee_settlement对象, 插入数据
var _S = new DSWeb . Areas . Import . Models . ImportTrade . MsChFeeSettlement ( ) ;
_S . GID = Guid . NewGuid ( ) . ToString ( ) ;
_S . BILLNO = BILLNO ;
_S . BILLDATE = DateTime . Now . ToString ( ) ;
_S . SETTLEMODE = "2" ;
_S . CUSTOMERNAME = CUSTOMERNAME ;
_S . SETTLETYPE = "4" ;
_S . AMOUNTRMB = AMOUNT . ToString ( ) ;
_S . ACCOUNTRMB = "" ;
_S . RATE = "1" ;
_S . AMOUNTUSD = "0" ;
_S . ACCOUNTUSD = "" ;
_S . BILLTYPE = "1" ;
_S . SETTLEUSER = userid ;
_S . SETTLETIME = DateTime . Now . ToString ( ) ;
_S . ISEXPORT = "0" ;
_S . BILLSTATUS = "2" ;
_S . COMPANYID = corpid ;
_S . ACCOUNTS_CURRENCY = "0" ;
_S . ACCOUNTS_RATE = "1" ;
_S . ACCOUNTS_MONEY = AMOUNT . ToString ( ) ;
_S . PREPAY_CURRENCY = "0" ;
_S . PREPAY_RATE = "1" ;
_S . PREPAY_MONEY = "0" ;
_S . AHSR_CURRENCY = "0" ;
_S . AHSR_RATE = "1" ;
_S . AHSR_MONEY = "0" ;
_S . FINANCIAL_CURRENCY = "0" ;
_S . FINANCIAL_RATE = "1" ;
_S . FINANCIAL_MONEY = "0" ;
_S . ADVANCE_CURRENCY = "0" ;
_S . ADVANCE_RATE = "1" ;
_S . ADVANCE_MONEY = SettlementAmount . ToString ( ) ;
_S . CURR = "RMB" ;
//4 将Ch_fee_settlement作为主, Ch_fee_doList作为从进行保存
_S . DbOperationType = DbOperationType . DbotIns ;
_S . ModelUIStatus = "I" ;
var modb = new ModelObjectRepository ( ) ;
DBResult result = modb . Save ( _S ,
ModelObjectConvert < DSWeb . Areas . Import . Models . ImportTrade . MsChFeeDo > . ToModelObjectList ( ChFeeDoList ) ,
ModelObjectConvert < DSWeb . Areas . Import . Models . ImportTrade . MsChFeeDo > . ToModelObjectList ( ChFeeDoDEL )
) ;
if ( result . Success )
{
var _count3 = ImportSalesDAL . FeeSettlement ( BILLNO ) ;
}
var json = JsonConvert . Serialize ( new { Success = result . Success , Message = "设置完成" , data = BILLNO } ) ;
return new ContentResult ( ) { Content = json } ;
}
public ContentResult SetUnSettlement ( string BILLNO )
{
var corpcode = CookieConfig . GetCookie_OrgCode ( Request ) ;
var userid = CookieConfig . GetCookie_UserId ( Request ) ;
var json = JsonConvert . Serialize ( new { Success = false , Message = "设置失败" , totalCount = 0 } ) ;
var VOUCount = ImportSalesDAL . GetVOUNO ( BILLNO ) ;
if ( VOUCount > 0 )
{
json = JsonConvert . Serialize ( new { Success = false , Message = "该次结算已经生成凭证,不能撤销,请联系财务部门" , totalCount = 0 } ) ;
}
else
{
//var _count2 = ImportSalesDAL.FeeUnSettlement(BILLNO);
var _count = ImportSalesDAL . SetUnSettlement ( BILLNO ) ;
if ( _count < 0 )
{
json = JsonConvert . Serialize ( new { Success = false , Message = "设置失败" , totalCount = _count } ) ;
}
else
{
_count = _count + ImportSalesDAL . ResetDoamount ( ) ;
json = JsonConvert . Serialize ( new { Success = true , Message = "设置成功" , totalCount = _count } ) ;
}
}
return new ContentResult ( ) { Content = json } ;
}
public ContentResult SetSaleStatus ( string SALESNO , string SALESTATUS )
{ //认款出库
var _count = 0 ;
if ( SALESTATUS = = "0" ) //财务取消申过。前台限制只能对1的进行此操作。
{
_count = ImportSalesDAL . UnLockSaleStatus ( SALESNO ) ;
if ( _count ! = - 1 )
{
_count = ImportSalesDAL . SetSalesUnAudit ( SALESNO ) ;
}
}
if ( SALESTATUS = = "1" ) //财务申过,或撤销提交出库 需同时解锁出库信息 //20160120改为直接算是提交出库
{
//_count = ImportSalesDAL.UnLockSaleStatus(SALESNO);
//if (_count != -1) { _count = ImportSalesDAL.SetSalesAudit(SALESNO); }
_count = ImportSalesDAL . SetSalesAudit ( SALESNO ) ;
_count = _count + ImportSalesDAL . LockSaleStatus ( SALESNO ) ;
}
if ( SALESTATUS = = "2" ) //提交出库(锁定销售单) //实际上不由前台调取 而由/Import/ImportDelivery/LockDelivery生成
{
_count = ImportSalesDAL . LockSaleStatus ( SALESNO ) ;
}
if ( SALESTATUS = = "3" ) //完结 只改状态
{
_count = ImportSalesDAL . SetSalesOver ( SALESNO ) ;
}
if ( ( SALESTATUS = = "1" | | SALESTATUS = = "0" ) & & _count = = - 1 )
{
var json = JsonConvert . Serialize ( new { Success = false , Message = "已经进行出库操作,不能解锁" , totalCount = _count } ) ;
return new ContentResult ( ) { Content = json } ;
}
else {
var json = JsonConvert . Serialize ( new { Success = true , Message = "设置成功" , totalCount = _count } ) ;
return new ContentResult ( ) { Content = json } ;
}
}
public ContentResult SetRKState ( string GID , string PASSED ) //仅仅修改认款状态值
{ //认款未出库
var _count = ImportSalesDAL . SetRKState ( GID , PASSED ) ;
var json = JsonConvert . Serialize ( new { Success = true , Message = "设置成功" , totalCount = _count } ) ;
return new ContentResult ( ) { Content = json } ;
}
public ContentResult GetSALESNO ( string BSNO ) {
var SALESNO = ImportSalesDAL . GetSALESNO ( BSNO ) ;
//刷新父窗口上的父节点
var jsonRespose = new JsonResponse
{
Success = true ,
Message = "获取完成" ,
Data = SALESNO
} ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
public ContentResult GetSalesStateDataList ( int start , int limit , string sort , string condition )
{
var dataList = ImportSalesDAL . GetSalesStateDataList ( condition , Convert . ToString ( Session [ "USERID" ] ) , CookieConfig . GetCookie_UserCode ( Request ) , 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 } ;
}
public ContentResult GetSalesAdvancePay_state_DELList ( int start , int limit , string sort , string condition )
{
var dataList = ImportSalesDAL . GetSalesAdvancePay_state_DELList ( condition , Convert . ToString ( Session [ "USERID" ] ) , CookieConfig . GetCookie_UserCode ( Request ) , 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 } ;
}
public ContentResult SaveSalesState ( string YSYFNO , string SalesStateBody , string SalesStateDelBody )
{
var SalesStateBodyList = JsonConvert . Deserialize < List < SalesStateAuditmb > > ( SalesStateBody ) ;
var SalesStateBodyDelList = JsonConvert . Deserialize < List < SalesStateAuditmb > > ( SalesStateDelBody ) ;
var SalesStateDelList = new List < SalesAdvancePay_state_DELmb > ( ) ;
if ( SalesStateDelBody ! = "" )
{
foreach ( var _D in SalesStateBodyDelList )
{
var SalesStateDel = new SalesAdvancePay_state_DELmb ( ) ;
SalesStateDel . GID = _D . GID ;
SalesStateDel . SALESNO = _D . SALESNO ;
SalesStateDel . DOAMOUNT = _D . DOAMOUNT ;
SalesStateDel . PASSED = _D . PASSED ;
SalesStateDel . AD_BILLNO = "" ;
SalesStateDel . CREATEUSER = _D . CREATEUSER ;
SalesStateDel . CREATETIME = _D . CREATETIME ;
SalesStateDel . DELETEUSER = Convert . ToString ( Session [ "USERID" ] ) ;
SalesStateDel . DELETETIME = DateTime . Now . ToString ( ) ;
SalesStateDelList . Add ( SalesStateDel ) ;
}
}
var SalesStateDelList2 = JsonConvert . Deserialize < List < SalesAdvancePay_state_DELmb > > ( "" ) ;
var modb = new ModelObjectRepository ( ) ;
DBResult result = modb . SaveComm ( "AD_BILLNO" , YSYFNO ,
ModelObjectConvert < SalesStateAuditmb > . ToModelObjectList ( SalesStateBodyList ) ,
ModelObjectConvert < SalesStateAuditmb > . ToModelObjectList ( SalesStateBodyDelList ) ,
ModelObjectConvert < SalesAdvancePay_state_DELmb > . ToModelObjectList ( SalesStateDelList ) ,
ModelObjectConvert < SalesAdvancePay_state_DELmb > . ToModelObjectList ( SalesStateDelList2 )
) ;
//刷新父窗口上的父节点
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 GetZDList ( string condition )
{
var dataList = ImportSalesDAL . GetZDList ( condition ) ;
//var list = dataList.Skip(start).Take(limit);
var json = JsonConvert . Serialize ( new { Success = true , Message = "查询成功" , totalCount = dataList . Count , data = dataList . ToList ( ) } ) ;
return new ContentResult ( ) { Content = json } ;
}
public ContentResult GetZDDetailList ( string condition )
{
var dataList = ImportSalesDAL . GetZDDetailList ( condition ) ;
//var list = dataList.Skip(start).Take(limit);
var json = JsonConvert . Serialize ( new { Success = true , Message = "查询成功" , totalCount = dataList . Count , data = dataList . ToList ( ) } ) ;
return new ContentResult ( ) { Content = json } ;
}
public ContentResult AddZD ( string SALESNO , string type )
{
var head = new Import_SaleZDmb ( ) ;
head . GID = Guid . NewGuid ( ) . ToString ( ) ;
head . SALESNO = SALESNO ;
head . CREATEUSER = Session [ "SHOWNAME" ] . ToString ( ) ;
head . CREATETIME = DateTime . Now . ToString ( "yyyy-MM-dd HH:mm:ss" ) ;
head . OP = Session [ "SHOWNAME" ] . ToString ( ) ;
head . OPDATE = DateTime . Now . ToString ( "yyyy-MM-dd HH:mm:ss" ) ;
head . DbOperationType = DbOperationType . DbotIns ;
head . ModelUIStatus = "I" ;
if ( type = = "1" ) {
head . REMARK = "期货账单" ;
}
else
{
head . REMARK = "现货账单" ;
}
var _SH = ImportSalesDAL . GetData ( "s.SALESNO='" + SALESNO + "'" ) ;
var DetailList = new List < Import_SaleZDDetailmb > ( ) ;
var DetailDelList = new List < Import_SaleZDDetailmb > ( ) ;
var startdate = new List < GeneralModel > ( ) ;
var CargoList = new List < Cargomb2 > ( ) ;
if ( type = = "1" ) {
CargoList = ImportTradeDAL . GetCargoList ( " c.gid in(select CARGO_GID from import_saledetail where SALESNO='" + SALESNO + "')" ) ;
var sqlstartdate = new StringBuilder ( ) ;
sqlstartdate . Append ( " select '' GID,dbo.trimdate( " ) ;
sqlstartdate . Append ( " case isnull((select dbo.trimdate(Unsealdate) from import_main where ContractNo in(select bsno from import_saledetail where SALESNO='" + SALESNO + "')),'') " ) ;
sqlstartdate . Append ( " when '' then (select top 1 wmsdate from wms where Cargo_gid in(select cargo_gid from import_saledetail where SALESNO='" + SALESNO + "')) " ) ;
sqlstartdate . Append ( " else isnull((select dbo.trimdate(Unsealdate) from import_main where ContractNo in(select bsno from import_saledetail where SALESNO='" + SALESNO + "')),'') end) GVALUE " ) ;
startdate = BasicDataRefDAL . GeneralSelect ( sqlstartdate . ToString ( ) ) ;
}
var saledetaillist = ImportSalesDAL . GetDetailList ( "s.SALESNO='" + SALESNO + "'" ) ;
foreach ( var _sd in saledetaillist ) {
var _D = new Import_SaleZDDetailmb ( ) ;
_D . GID = Guid . NewGuid ( ) . ToString ( ) ;
_D . SALESNO = SALESNO ;
_D . ZD_GID = "" ;
_D . SALEDETAIL_GID = _sd . GID ;
_D . BOXCOUNT = _sd . BOXCOUNT ;
_D . CURRENCY = _sd . CURRENCY ;
_D . WEIGHT = _sd . WEIGHT ;
_D . PRICE = _sd . PRICE ;
_D . AMOUNT = _sd . AMOUNT ;
_D . EXCHANGERATE_CUST = _sd . Exchangerate_Cust ;
_D . PREPAYMENT = _sd . PREPAYMENT_ACT ;
if ( _D . PREPAYMENT = = "" ) {
_D . PREPAYMENT = "0" ;
}
_D . FUNDRATE = _sd . FUNDRATE ;
var dt = new DateTime ( ) ;
if ( _SH . SALESDATE ! = "" )
{
dt = Convert . ToDateTime ( _SH . SALESDATE ) ;
dt = dt . AddDays ( 3 ) ;
_D . STOCKDATE_1 = dt . ToString ( "yyyy-MM-dd" ) ;
} else {
_D . STOCKDATE_1 = _sd . STOCKDATE_2 ;
}
_D . STOCKDATE_2 = _sd . STOCKDATE_2 ;
_D . AGENCRATE_CUST = _sd . AGENCRATE_Cust ;
_D . REMARK = "" ;
if ( type = = "1" )
{
//期货账单 重量件数取商品信息的单据重量单据件数
foreach ( var _C in CargoList )
{
if ( _C . GID = = _sd . CARGO_GID )
{
_D . WEIGHT = _C . weight ;
_D . BOXCOUNT = _C . BoxCount ;
}
}
if ( startdate [ 0 ] . GVALUE ! = "" )
_D . STOCKDATE_1 = startdate [ 0 ] . GVALUE ;
else
_D . STOCKDATE_1 = _sd . STOCKDATE_2 ;
//_D.REMARK = "期货账单";
}
else {
//_D.REMARK = "现货账单";
}
DetailList . Add ( _D ) ;
}
var modb = new ModelObjectRepository ( ) ;
DBResult result = modb . Save ( head
, ModelObjectConvert < Import_SaleZDDetailmb > . ToModelObjectList ( DetailList )
, ModelObjectConvert < Import_SaleZDDetailmb > . ToModelObjectList ( DetailDelList ) ) ;
var json = JsonConvert . Serialize ( new { Success = result . Success , Message = "查询成功" } ) ;
return new ContentResult ( ) { Content = json } ;
}
public ContentResult DelZD ( string data )
{
var head = JsonConvert . Deserialize < Import_SaleZDmb > ( data ) ;
var modb = new ModelObjectDB ( ) ;
DBResult result = modb . Delete ( head
, "delete from Import_SaleZDDetail where ZD_GID='" + head . GID + "'"
, "delete from CH_FEE_ORDER where BSNO='" + head . GID + "'" ) ;
var json = JsonConvert . Serialize ( new { Success = result . Success , Message = "查询成功" } ) ;
return new ContentResult ( ) { Content = json } ;
}
public ContentResult SaveZDDetail ( string SALESNO , string ZDDetail , string ZDDetaildel )
{
var ZDDetailList = JsonConvert . Deserialize < List < Import_SaleZDDetailmb > > ( ZDDetail ) ;
var ZDDetaildelList = JsonConvert . Deserialize < List < Import_SaleZDDetailmb > > ( ZDDetaildel ) ;
var modb = new ModelObjectRepository ( ) ;
DBResult result = modb . SaveComm ( "SALESNO" , SALESNO ,
ModelObjectConvert < Import_SaleZDDetailmb > . ToModelObjectList ( ZDDetailList ) ,
ModelObjectConvert < Import_SaleZDDetailmb > . ToModelObjectList ( ZDDetaildelList )
) ;
//刷新父窗口上的父节点
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 MakeOrderFee_RMB2 ( string ZD_GID , string type )
{
//获取相关费用 计算出目标费用数值
var head = new ImportSalesmb ( ) ;
var list = ImportSalesDAL . GetDataList ( " s.SALESNO=(select SALESNO from import_saleZD where gid='" + ZD_GID + "') " ) ;
if ( list . Count > 0 )
head = list [ 0 ] ;
//var _BodyList = ImportSalesDAL.GetDetailList(" s.SALESNO='" + SALESNO + "' ", Convert.ToString(Session["USERID"]), CookieConfig.GetCookie_UserCode(Request), Convert.ToString(Session["COMPANYID"]), "");
var ZDList = ImportSalesDAL . GetZDList ( " GID='" + ZD_GID + "'" ) ;
var _ZD = ZDList [ 0 ] ;
var _BodyList = ImportSalesDAL . GetZDDetailList ( " ZD_GID='" + ZD_GID + "' " ) ;
var OrderFeeList = new List < MsOrderFee_Import > ( ) ;
var CargoList = new List < Cargomb2 > ( ) ;
//if (type == "1")
//{
CargoList = ImportTradeDAL . GetCargoList ( " c.contractno in(select BSNO from import_saledetail where SALESNO in (select SALESNO from Import_SaleZD where GID='" + ZD_GID + "'))" ) ;
//}
var AmountAll = 0 M ;
foreach ( var _c in CargoList )
{
AmountAll + = Convert . ToDecimal ( _c . price ) * Convert . ToDecimal ( _c . weight ) * Convert . ToDecimal ( _c . Exchangerate ) ;
}
var _count = 0 ;
foreach ( var _SD in _BodyList )
{
var _ 单 价 吨 = Convert . ToDecimal ( _SD . PRICE ) * Convert . ToDecimal ( _SD . EXCHANGERATE_CUST ) * 1000 ;
var _ 销 售 吨 数 = Convert . ToDecimal ( _SD . WEIGHT ) / 1000 ;
var _ 货 款 RMB = _ 单 价 吨 * _ 销 售 吨 数 ;
var _ 件 数 = Convert . ToDecimal ( _SD . BOXCOUNT ) ;
var _ 单 据 件 数 = 0 M ;
var _ 入 库 件 数 = 0 M ;
foreach ( var _C in CargoList )
{
if ( _C . GID = = _SD . CARGO_GID )
{
_ 单 据 件 数 = Convert . ToDecimal ( _C . BoxCount ) ;
_ 入 库 件 数 = Convert . ToDecimal ( _C . BOXCOUNT_ACT ) ;
}
}
var _ 冷 藏 费 率 = Convert . ToDecimal ( ImportSalesDAL . GetField ( "select top 1 dbo.[Get_ClientFee](STORAGENAME,'冷藏费') from WMS where Cargo_gid='" + _SD . CARGO_GID + "'" ) ) ; // * Convert.ToDecimal(_SD.WEIGHT) / 1000
var _ 冷 藏 天 数 = Convert . ToDecimal ( ImportSalesDAL . GetField ( "select isnull(DATEDIFF(DAY, dbo.trimdate('" + _SD . STOCKDATE_1 + "'), dbo.trimdate('" + _SD . STOCKDATE_2 + "')), 0)+1 " ) ) ;
var _ 出 入 库 费 率 = Convert . ToDecimal ( ImportSalesDAL . GetField ( "select top 1 dbo.[Get_ClientFee](STORAGENAME,'出入库费') from WMS where Cargo_gid='" + _SD . CARGO_GID + "'" ) ) ;
var _ 出 入 库 费 = _ 出 入 库 费 率 * _ 销 售 吨 数 ;
var _ 倒 柜 费 率 = Convert . ToDecimal ( ImportSalesDAL . GetField ( "select top 1 dbo.[Get_ClientFee](STORAGENAME,'倒柜费') from WMS where Cargo_gid='" + _SD . CARGO_GID + "'" ) ) ;
var _ 倒 柜 费 = _ 倒 柜 费 率 * _ 销 售 吨 数 ;
if ( _ 倒 柜 费 率 = = 0 M & & _count = = 0 )
{
_ 倒 柜 费 率 = Convert . ToDecimal ( ImportSalesDAL . GetField ( "select top 1 dbo.[Get_ClientFee](STORAGENAME,'倒柜费_每柜') from WMS where Cargo_gid='" + _SD . CARGO_GID + "'" ) ) ;
_ 倒 柜 费 = _ 倒 柜 费 率 ;
}
var _ 冷 藏 费 = _ 销 售 吨 数 * _ 冷 藏 费 率 * _ 冷 藏 天 数 ;
var _ 冷 库 费 用 = 0 M ;
if ( type = = "出入库" ) {
_ 冷 库 费 用 = _ 冷 藏 费 + _ 出 入 库 费 ;
}
if ( type = = "倒柜" )
{
_ 冷 库 费 用 = _ 倒 柜 费 ;
}
var _ 货 款 应 收 = _ 货 款 RMB + _ 冷 库 费 用 ;
var _ 定 金 = Convert . ToDecimal ( _SD . PREPAYMENT ) ;
var _ 应 付 尾 款 = _ 货 款 应 收 - _ 定 金 ;
var _ 调 快 费 = Convert . ToDecimal ( ImportSalesDAL . GetField ( "select charindex('调快',m.remark_6) TKINDEX from import_main m where contractno=(select contractno from import_cargo where gid='" + _SD . CARGO_GID + "')" ) ) ;
if ( _ 调 快 费 > 0 )
{
var _C_Amount = 0 M ;
foreach ( var _c in CargoList )
{
if ( _c . GID = = _SD . CARGO_GID )
{
_C_Amount = Convert . ToDecimal ( _c . price ) * Convert . ToDecimal ( _c . weight ) * Convert . ToDecimal ( _c . Exchangerate ) ;
}
}
_ 调 快 费 = 1000 * _C_Amount / AmountAll ;
}
else
{
_ 调 快 费 = 0 ;
}
var _ 资 金 利 息 利 率 = Convert . ToDecimal ( _SD . FUNDRATE ) ;
var _ 资 金 占 用 时 间 = Convert . ToDecimal ( ImportSalesDAL . GetField ( "select isnull(DATEDIFF(DAY, dbo.trimdate('" + _SD . STOCKDATE_1 + "'), dbo.trimdate('" + _SD . STOCKDATE_2 + "')), 0)+1 " ) ) ;
if ( _ZD . REMARK = = "期货账单" )
{
_ 货 款 应 收 = _ 货 款 RMB + _ 调 快 费 + _ 冷 库 费 用 ;
}
var _ 资 金 利 息 = _ 货 款 应 收 * _ 资 金 利 息 利 率 * _ 资 金 占 用 时 间 / 30 ;
if ( _ZD . REMARK = = "期货账单" & & type = = "倒柜" )
{
_ 资 金 利 息 = 0 M ;
}
var _ 价 格 备 注 费 率 = Convert . ToDecimal ( ImportSalesDAL . GetField ( "select substring(sd.PRICEREMARK,charindex('+',sd.PRICEREMARK)+1,len(sd.PRICEREMARK)) from import_saledetail sd where gid='" + _SD . SALEDETAIL_GID + "'" ) ) ;
var _ 其 他 费 用 = _ 价 格 备 注 费 率 * _ 销 售 吨 数 ;
var _ 总 应 收 = _ 货 款 应 收 + _ 资 金 利 息 + _ 其 他 费 用 ;
if ( _ZD . REMARK = = "期货账单" )
{
_ 应 付 尾 款 = _ 总 应 收 - _ 定 金 ;
}
var 单 价 吨 = NewOrderFee2 ( head . CUSTOMERNAME , "单价吨" , _ 单 价 吨 , _SD ) ;
OrderFeeList . Add ( 单 价 吨 ) ;
if ( _ZD . REMARK = = "期货账单" )
{
var 销 售 吨 数 = NewOrderFee2 ( head . CUSTOMERNAME , "单据吨数" , _ 销 售 吨 数 , _SD ) ;
OrderFeeList . Add ( 销 售 吨 数 ) ;
}
if ( _ZD . REMARK = = "期货账单" )
{
var 销 售 吨 数 = NewOrderFee2 ( head . CUSTOMERNAME , "销售吨数" , _ 销 售 吨 数 , _SD ) ;
OrderFeeList . Add ( 销 售 吨 数 ) ;
}
var 件 数 = NewOrderFee2 ( head . CUSTOMERNAME , "件数" , _ 件 数 , _SD ) ;
OrderFeeList . Add ( 件 数 ) ;
var 单 据 件 数 = NewOrderFee2 ( head . CUSTOMERNAME , "单据件数" , _ 单 据 件 数 , _SD ) ;
OrderFeeList . Add ( 单 据 件 数 ) ;
var 入 库 件 数 = NewOrderFee2 ( head . CUSTOMERNAME , "入库件数" , _ 入 库 件 数 , _SD ) ;
OrderFeeList . Add ( 入 库 件 数 ) ;
var 货 款 RMB = NewOrderFee2 ( head . CUSTOMERNAME , "货款RMB" , _ 货 款 RMB , _SD ) ;
OrderFeeList . Add ( 货 款 RMB ) ;
if ( type = = "出入库" )
{
var 出 入 库 费 率 = NewOrderFee2 ( head . CUSTOMERNAME , "出入库费率" , _ 出 入 库 费 率 , _SD ) ;
OrderFeeList . Add ( 出 入 库 费 率 ) ;
var 出 入 库 费 = NewOrderFee2 ( head . CUSTOMERNAME , "出入库费" , _ 出 入 库 费 , _SD ) ;
OrderFeeList . Add ( 出 入 库 费 ) ;
var 冷 藏 费 = NewOrderFee2 ( head . CUSTOMERNAME , "冷藏费" , _ 冷 藏 费 , _SD ) ;
OrderFeeList . Add ( 冷 藏 费 ) ;
var 冷 藏 费 率 = NewOrderFee2 ( head . CUSTOMERNAME , "冷藏费率" , _ 冷 藏 费 率 , _SD ) ;
OrderFeeList . Add ( 冷 藏 费 率 ) ;
var 冷 藏 天 数 = NewOrderFee2 ( head . CUSTOMERNAME , "冷藏天数" , _ 冷 藏 天 数 , _SD ) ;
OrderFeeList . Add ( 冷 藏 天 数 ) ;
}
if ( type = = "倒柜" )
{
var 倒 柜 费 率 = NewOrderFee2 ( head . CUSTOMERNAME , "倒柜费率" , _ 倒 柜 费 率 , _SD ) ;
OrderFeeList . Add ( 倒 柜 费 率 ) ;
var 倒 柜 费 = NewOrderFee2 ( head . CUSTOMERNAME , "倒柜费" , _ 倒 柜 费 , _SD ) ;
OrderFeeList . Add ( 倒 柜 费 ) ;
}
var 冷 库 费 用 = NewOrderFee2 ( head . CUSTOMERNAME , "冷库费用" , _ 冷 库 费 用 , _SD ) ;
OrderFeeList . Add ( 冷 库 费 用 ) ;
if ( _ZD . REMARK = = "期货账单" )
{
var 价 格 备 注 费 率 = NewOrderFee2 ( head . CUSTOMERNAME , "价格备注费率" , _ 价 格 备 注 费 率 , _SD ) ;
OrderFeeList . Add ( 价 格 备 注 费 率 ) ;
if ( type = = "倒柜" )
{
//////
}
if ( type = = "出入库" )
{
var 资 金 利 息 利 率 = NewOrderFee2 ( head . CUSTOMERNAME , "资金利息利率" , _ 资 金 利 息 利 率 , _SD ) ;
OrderFeeList . Add ( 资 金 利 息 利 率 ) ;
var 资 金 占 用 时 间 = NewOrderFee2 ( head . CUSTOMERNAME , "资金占用时间" , _ 资 金 占 用 时 间 , _SD ) ;
OrderFeeList . Add ( 资 金 占 用 时 间 ) ;
var 资 金 利 息 = NewOrderFee2 ( head . CUSTOMERNAME , "资金利息" , _ 资 金 利 息 , _SD ) ;
OrderFeeList . Add ( 资 金 利 息 ) ;
}
var 调 快 费 = NewOrderFee2 ( head . CUSTOMERNAME , "调快费" , _ 调 快 费 , _SD ) ;
OrderFeeList . Add ( 调 快 费 ) ;
var 其 他 费 用 = NewOrderFee2 ( head . CUSTOMERNAME , "其他费用" , _ 其 他 费 用 , _SD ) ;
OrderFeeList . Add ( 其 他 费 用 ) ;
var 总 应 收 = NewOrderFee2 ( head . CUSTOMERNAME , "总应收" , _ 总 应 收 , _SD ) ;
OrderFeeList . Add ( 总 应 收 ) ;
}
var 货 款 应 收 = NewOrderFee2 ( head . CUSTOMERNAME , "货款应收" , _ 货 款 应 收 , _SD ) ;
OrderFeeList . Add ( 货 款 应 收 ) ;
var 定 金 = NewOrderFee2 ( head . CUSTOMERNAME , "定金" , _ 定 金 , _SD ) ;
OrderFeeList . Add ( 定 金 ) ;
var 应 付 尾 款 = NewOrderFee2 ( head . CUSTOMERNAME , "应付尾款" , _ 应 付 尾 款 , _SD ) ;
OrderFeeList . Add ( 应 付 尾 款 ) ;
_count + + ;
}
var chfeeDelBodyList = JsonConvert . Deserialize < List < MsOrderFee_Import > > ( "" ) ;
var modb = new ModelObjectRepository ( ) ;
DBResult result = modb . SaveComm ( "BsNo" , ZD_GID ,
ModelObjectConvert < MsOrderFee_Import > . ToModelObjectList ( OrderFeeList ) ,
ModelObjectConvert < MsOrderFee_Import > . ToModelObjectList ( chfeeDelBodyList )
) ;
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 MakeOrderFee_USD2 ( string ZD_GID , string type )
{
//获取相关费用 计算出目标费用数值
var head = new ImportSalesmb ( ) ;
var list = ImportSalesDAL . GetDataList ( " s.SALESNO=(select SALESNO from import_saleZD where gid='" + ZD_GID + "') " ) ;
if ( list . Count > 0 )
head = list [ 0 ] ;
var _BodyList = ImportSalesDAL . GetZDDetailList ( " ZD_GID='" + ZD_GID + "' " ) ;
var OrderFeeList = new List < MsOrderFee_Import > ( ) ;
var GDDATA = ImportTradeDAL . GetData_ALL ( " M.contractno in(select BSNO from Import_Saledetail where SALESNO in(select SALESNO from Import_SaleZD where GID='" + ZD_GID + "')) " , CookieConfig . GetCookie_UserCode ( Request ) , CookieConfig . GetCookie_UserName ( Request ) , CookieConfig . GetCookie_CompanyId ( Request ) ) ;
var CargoList = new List < Cargomb2 > ( ) ;
//if (type == "1")
//{
CargoList = ImportTradeDAL . GetCargoList ( " c.contractno in(select BSNO from import_saledetail where SALESNO in (select SALESNO from Import_SaleZD where GID='" + ZD_GID + "'))" ) ;
//}
var AmountAll = 0 M ;
foreach ( var _c in CargoList )
{
AmountAll + = Convert . ToDecimal ( _c . price ) * Convert . ToDecimal ( _c . weight ) * Convert . ToDecimal ( _c . Exchangerate ) ;
}
var 总 重 量 = 0 M ;
foreach ( var _SD1 in _BodyList )
{
总 重 量 + = Convert . ToDecimal ( _SD1 . WEIGHT ) ;
}
var _count = 0 ;
foreach ( var _SD in _BodyList )
{
var CargoList2 = ImportTradeDAL . GetCargoList ( " c.gid='" + _SD . CARGO_GID + "'" ) ;
var Cargo = CargoList2 [ 0 ] ;
var _ 单 价 吨 = Convert . ToDecimal ( _SD . PRICE ) * 1000 ;
var _ 销 售 吨 数 = Convert . ToDecimal ( _SD . WEIGHT ) / 1000 ;
var _ 调 快 费 = Convert . ToDecimal ( ImportSalesDAL . GetField ( "select charindex('调快',m.remark_6) TKINDEX from import_main m where contractno=(select contractno from import_cargo where gid='" + _SD . CARGO_GID + "')" ) ) ;
if ( _ 调 快 费 > 0 )
{
var _C_Amount = Convert . ToDecimal ( Cargo . price ) * Convert . ToDecimal ( Cargo . weight ) * Convert . ToDecimal ( Cargo . Exchangerate ) ;
_ 调 快 费 = 1000 * _C_Amount / AmountAll ;
}
//var _件数 = Convert.ToDecimal(_SD.BOXCOUNT);
var _ 应 收 账 单 汇 率 = Convert . ToDecimal ( _SD . EXCHANGERATE_CUST ) ;
var _ 货 款 币 别 = _ 销 售 吨 数 * _ 单 价 吨 ;
var _ 货 款 RMB = _ 单 价 吨 * _ 销 售 吨 数 * _ 应 收 账 单 汇 率 ;
var _ 手 续 费 = _ 货 款 RMB * 0.001 M ;
var _ 电 汇 费 = 150 * _ 销 售 吨 数 / ( 总 重 量 / 1000 ) ;
{
var _C_Amount = Convert . ToDecimal ( Cargo . price ) * Convert . ToDecimal ( Cargo . weight ) * Convert . ToDecimal ( Cargo . Exchangerate ) ;
_ 电 汇 费 = 150 * _C_Amount / AmountAll ;
}
var _ 总 货 款 = _ 货 款 RMB + _ 手 续 费 + _ 电 汇 费 ;
var _ 海 关 限 价 吨 = Convert . ToDecimal ( Cargo . price_limit ) * 1000 ;
var _ 海 关 汇 率 = Convert . ToDecimal ( Cargo . Exchangerate_Customs ) ;
//var _采购价吨 = Convert.ToDecimal(Cargo.price) * 1000;
var _ 保 率 = Convert . ToDecimal ( Cargo . baolv ) ;
var _ 完 税 金 额 = 0 M ;
if ( _ 海 关 限 价 吨 > _ 单 价 吨 )
{
_ 完 税 金 额 = _ 海 关 限 价 吨 * _ 销 售 吨 数 * _ 海 关 汇 率 * _ 保 率 ;
}
else
{
_ 完 税 金 额 = _ 单 价 吨 * _ 销 售 吨 数 * _ 海 关 汇 率 * _ 保 率 ;
}
var _ 关 税 税 率 = Convert . ToDecimal ( Cargo . tax ) ;
var _ 增 值 税 税 率 = Convert . ToDecimal ( Cargo . tax_zz ) ;
var _ 关 税 = _ 完 税 金 额 * _ 关 税 税 率 ;
var _ 增 值 税 = ( _ 关 税 + _ 完 税 金 额 ) * _ 增 值 税 税 率 ;
var _ 代 理 费 单 价 = Convert . ToDecimal ( _SD . AGENCRATE_CUST ) ;
var _ 代 理 费 = _ 代 理 费 单 价 * _ 销 售 吨 数 ;
var _ 价 格 备 注 费 率 = Convert . ToDecimal ( ImportSalesDAL . GetField ( "select substring(sd.PRICEREMARK,charindex('+',sd.PRICEREMARK)+1,len(sd.PRICEREMARK)) from import_saledetail sd where gid='" + _SD . SALEDETAIL_GID + "'" ) ) ;
var _ 资 金 利 息 利 率 = Convert . ToDecimal ( _SD . FUNDRATE ) ;
var _ 资 金 占 用 时 间 = Convert . ToDecimal ( ImportSalesDAL . GetField ( "select isnull(DATEDIFF(DAY, dbo.trimdate('" + _SD . STOCKDATE_1 + "'), dbo.trimdate('" + _SD . STOCKDATE_2 + "')), 0)+1 " ) ) ;
var _ 冷 藏 费 率 = Convert . ToDecimal ( ImportSalesDAL . GetField ( "select top 1 dbo.[Get_ClientFee](STORAGENAME,'冷藏费') from WMS where Cargo_gid='" + _SD . CARGO_GID + "'" ) ) ; //* Convert.ToDecimal(_SD.WEIGHT) / 1000
var _ 冷 藏 天 数 = Convert . ToDecimal ( ImportSalesDAL . GetField ( "select isnull(DATEDIFF(DAY, dbo.trimdate('" + _SD . STOCKDATE_1 + "'), dbo.trimdate('" + _SD . STOCKDATE_2 + "')), 0)+1 " ) ) ;
//var _冷藏费 = _冷藏费率 * _冷藏天数 * _销售吨数;
var _ 出 入 库 费 率 = Convert . ToDecimal ( ImportSalesDAL . GetField ( "select top 1 dbo.[Get_ClientFee](STORAGENAME,'出入库费') from WMS where Cargo_gid='" + _SD . CARGO_GID + "'" ) ) ;
var _ 倒 柜 费 率 = Convert . ToDecimal ( ImportSalesDAL . GetField ( "select top 1 dbo.[Get_ClientFee](STORAGENAME,'倒柜费') from WMS where Cargo_gid='" + _SD . CARGO_GID + "'" ) ) ;
var _ 倒 柜 费 = _ 倒 柜 费 率 * _ 销 售 吨 数 ;
if ( _ 倒 柜 费 率 = = 0 M & & _count = = 0 )
{
_ 倒 柜 费 率 = Convert . ToDecimal ( ImportSalesDAL . GetField ( "select top 1 dbo.[Get_ClientFee](STORAGENAME,'倒柜费_每柜') from WMS where Cargo_gid='" + _SD . CARGO_GID + "'" ) ) ;
_ 倒 柜 费 = _ 倒 柜 费 率 ;
}
//var _货款应收 = 货款RMB.Amount + (_冷藏费率 * _冷藏天数 * _销售吨数) + _出入库费率 * _销售吨数;
var _ 冷 藏 费 = _ 销 售 吨 数 * _ 冷 藏 费 率 * _ 冷 藏 天 数 ;
var _ 出 入 库 费 = _ 销 售 吨 数 * _ 出 入 库 费 率 ;
//var _倒柜费 = _销售吨数 * _倒柜费率;
var _ 冷 库 费 用 = 0 M ;
if ( type = = "出入库" )
{
_ 冷 库 费 用 = _ 冷 藏 费 + _ 出 入 库 费 ;
}
if ( type = = "倒柜" )
{
_ 冷 库 费 用 = _ 倒 柜 费 ;
}
var _ 定 金 = Convert . ToDecimal ( _SD . PREPAYMENT ) ;
var _ 货 款 应 收 = _ 货 款 RMB + _ 手 续 费 + _ 电 汇 费 + _ 调 快 费 + _ 关 税 + _ 增 值 税 + _ 代 理 费 + _ 冷 库 费 用 ;
var _ 资 金 利 息 = _ 货 款 应 收 * _ 资 金 利 息 利 率 * _ 资 金 占 用 时 间 / 30 ;
var _ 件 数 = _SD . BOXCOUNT ;
var _ 入 库 件 数 = 0 M ;
foreach ( var _C in CargoList )
{
if ( _C . GID = = _SD . CARGO_GID )
{
_ 入 库 件 数 = Convert . ToDecimal ( _C . BOXCOUNT_ACT ) ;
}
}
var _ 其 他 费 用 = _ 价 格 备 注 费 率 * _ 销 售 吨 数 ;
var _ 总 应 收 = 0 M ;
if ( type = = "出入库" )
{
_ 总 应 收 = _ 货 款 应 收 + _ 资 金 利 息 + _ 其 他 费 用 ;
}
if ( type = = "倒柜" )
{
_ 总 应 收 = _ 货 款 应 收 + _ 其 他 费 用 ;
}
var _ 应 付 尾 款 = _ 总 应 收 - _ 定 金 ;
var 单 价 吨 = NewOrderFee2 ( head . CUSTOMERNAME , "单价吨" , _ 单 价 吨 , _SD ) ;
OrderFeeList . Add ( 单 价 吨 ) ;
var 销 售 吨 数 = NewOrderFee2 ( head . CUSTOMERNAME , "销售吨数" , _ 销 售 吨 数 , _SD ) ;
OrderFeeList . Add ( 销 售 吨 数 ) ;
//var 件数 = NewOrderFee2(head.CUSTOMERNAME, "件数", _件数, _SD);
//OrderFeeList.Add(件数);
var 应 收 账 单 汇 率 = NewOrderFee2 ( head . CUSTOMERNAME , "应收账单汇率" , _ 应 收 账 单 汇 率 , _SD ) ;
OrderFeeList . Add ( 应 收 账 单 汇 率 ) ;
var 货 款 币 别 = NewOrderFee2 ( head . CUSTOMERNAME , "货款币别" , _ 货 款 币 别 , _SD ) ;
OrderFeeList . Add ( 货 款 币 别 ) ;
var 货 款 RMB = NewOrderFee2 ( head . CUSTOMERNAME , "货款RMB" , _ 货 款 RMB , _SD ) ;
OrderFeeList . Add ( 货 款 RMB ) ;
var 手 续 费 = NewOrderFee2 ( head . CUSTOMERNAME , "手续费" , _ 手 续 费 , _SD ) ;
OrderFeeList . Add ( 手 续 费 ) ;
var 电 汇 费 = NewOrderFee2 ( head . CUSTOMERNAME , "电汇费" , _ 电 汇 费 , _SD ) ;
OrderFeeList . Add ( 电 汇 费 ) ;
var 总 货 款 = NewOrderFee2 ( head . CUSTOMERNAME , "总货款" , _ 总 货 款 , _SD ) ;
OrderFeeList . Add ( 总 货 款 ) ;
var 海 关 限 价 吨 = NewOrderFee2 ( head . CUSTOMERNAME , "海关限价吨" , _ 海 关 限 价 吨 , _SD ) ;
OrderFeeList . Add ( 海 关 限 价 吨 ) ;
var 海 关 汇 率 = NewOrderFee2 ( head . CUSTOMERNAME , "海关汇率" , _ 海 关 汇 率 , _SD ) ;
OrderFeeList . Add ( 海 关 汇 率 ) ;
//var 采购价吨 = NewOrderFee2(head.CUSTOMERNAME, "采购价吨", _采购价吨, _SD);
//OrderFeeList.Add(采购价吨);
var 保 率 = NewOrderFee2 ( head . CUSTOMERNAME , "保率" , _ 保 率 , _SD ) ;
OrderFeeList . Add ( 保 率 ) ;
var 完 税 金 额 = NewOrderFee2 ( head . CUSTOMERNAME , "完税金额" , _ 完 税 金 额 , _SD ) ;
OrderFeeList . Add ( 完 税 金 额 ) ;
var 关 税 税 率 = NewOrderFee2 ( head . CUSTOMERNAME , "关税税率" , _ 关 税 税 率 , _SD ) ;
OrderFeeList . Add ( 关 税 税 率 ) ;
var 增 值 税 税 率 = NewOrderFee2 ( head . CUSTOMERNAME , "增值税税率" , _ 增 值 税 税 率 , _SD ) ;
OrderFeeList . Add ( 增 值 税 税 率 ) ;
var 关 税 = NewOrderFee2 ( head . CUSTOMERNAME , "关税" , _ 关 税 , _SD ) ;
OrderFeeList . Add ( 关 税 ) ;
var 增 值 税 = NewOrderFee2 ( head . CUSTOMERNAME , "增值税" , _ 增 值 税 , _SD ) ;
OrderFeeList . Add ( 增 值 税 ) ;
var 代 理 费 单 价 = NewOrderFee2 ( head . CUSTOMERNAME , "代理费单价" , _ 代 理 费 单 价 , _SD ) ;
OrderFeeList . Add ( 代 理 费 单 价 ) ;
var 代 理 费 = NewOrderFee2 ( head . CUSTOMERNAME , "代理费" , _ 代 理 费 , _SD ) ;
OrderFeeList . Add ( 代 理 费 ) ;
var 调 快 费 = NewOrderFee3 ( head . CUSTOMERNAME , "调快费" , _ 调 快 费 , _SD , GDDATA . remark_6 ) ;
OrderFeeList . Add ( 调 快 费 ) ;
var 价 格 备 注 费 率 = NewOrderFee2 ( head . CUSTOMERNAME , "价格备注费率" , _ 价 格 备 注 费 率 , _SD ) ;
OrderFeeList . Add ( 价 格 备 注 费 率 ) ;
var 货 款 应 收 = NewOrderFee2 ( head . CUSTOMERNAME , "货款应收" , _ 货 款 应 收 , _SD ) ;
OrderFeeList . Add ( 货 款 应 收 ) ;
//var 出入库费率 = NewOrderFee2(head.CUSTOMERNAME, "出入库费率", _出入库费率, _SD);
//OrderFeeList.Add(出入库费率);
//var 倒柜费率 = NewOrderFee2(head.CUSTOMERNAME, "倒柜费率", _倒柜费率, _SD);
//OrderFeeList.Add(倒柜费率);
if ( type = = "出入库" )
{
var 出 入 库 费 率 = NewOrderFee2 ( head . CUSTOMERNAME , "出入库费率" , _ 出 入 库 费 率 , _SD ) ;
OrderFeeList . Add ( 出 入 库 费 率 ) ;
var 出 入 库 费 = NewOrderFee2 ( head . CUSTOMERNAME , "出入库费" , _ 出 入 库 费 , _SD ) ;
OrderFeeList . Add ( 出 入 库 费 ) ;
var 冷 藏 费 = NewOrderFee2 ( head . CUSTOMERNAME , "冷藏费" , _ 冷 藏 费 , _SD ) ;
OrderFeeList . Add ( 冷 藏 费 ) ;
var 冷 藏 费 率 = NewOrderFee2 ( head . CUSTOMERNAME , "冷藏费率" , _ 冷 藏 费 率 , _SD ) ;
OrderFeeList . Add ( 冷 藏 费 率 ) ;
var 冷 藏 天 数 = NewOrderFee2 ( head . CUSTOMERNAME , "冷藏天数" , _ 冷 藏 天 数 , _SD ) ;
OrderFeeList . Add ( 冷 藏 天 数 ) ;
var 资 金 利 息 利 率 = NewOrderFee2 ( head . CUSTOMERNAME , "资金利息利率" , _ 资 金 利 息 利 率 , _SD ) ;
OrderFeeList . Add ( 资 金 利 息 利 率 ) ;
var 资 金 占 用 时 间 = NewOrderFee2 ( head . CUSTOMERNAME , "资金占用时间" , _ 资 金 占 用 时 间 , _SD ) ;
OrderFeeList . Add ( 资 金 占 用 时 间 ) ;
var 资 金 利 息 = NewOrderFee2 ( head . CUSTOMERNAME , "资金利息" , _ 资 金 利 息 , _SD ) ;
OrderFeeList . Add ( 资 金 利 息 ) ;
}
if ( type = = "倒柜" )
{
var 倒 柜 费 率 = NewOrderFee2 ( head . CUSTOMERNAME , "倒柜费率" , _ 倒 柜 费 率 , _SD ) ;
OrderFeeList . Add ( 倒 柜 费 率 ) ;
var 倒 柜 费 = NewOrderFee2 ( head . CUSTOMERNAME , "倒柜费" , _ 倒 柜 费 , _SD ) ;
OrderFeeList . Add ( 倒 柜 费 ) ;
}
var 冷 库 费 用 = NewOrderFee2 ( head . CUSTOMERNAME , "冷库费用" , _ 冷 库 费 用 , _SD ) ;
OrderFeeList . Add ( 冷 库 费 用 ) ;
var 定 金 = NewOrderFee2 ( head . CUSTOMERNAME , "定金" , _ 定 金 , _SD ) ;
OrderFeeList . Add ( 定 金 ) ;
var 入 库 件 数 = NewOrderFee2 ( head . CUSTOMERNAME , "入库件数" , Convert . ToDecimal ( _ 入 库 件 数 ) , _SD ) ;
OrderFeeList . Add ( 入 库 件 数 ) ;
var 件 数 = NewOrderFee2 ( head . CUSTOMERNAME , "件数" , Convert . ToDecimal ( _ 件 数 ) , _SD ) ;
OrderFeeList . Add ( 件 数 ) ;
var 其 他 费 用 = NewOrderFee2 ( head . CUSTOMERNAME , "其他费用" , _ 其 他 费 用 , _SD ) ;
OrderFeeList . Add ( 其 他 费 用 ) ;
var 总 应 收 = NewOrderFee2 ( head . CUSTOMERNAME , "总应收" , _ 总 应 收 , _SD ) ;
OrderFeeList . Add ( 总 应 收 ) ;
var 应 付 尾 款 = NewOrderFee2 ( head . CUSTOMERNAME , "应付尾款" , _ 应 付 尾 款 , _SD ) ;
OrderFeeList . Add ( 应 付 尾 款 ) ;
_count + + ;
}
var chfeeDelBodyList = JsonConvert . Deserialize < List < MsOrderFee_Import > > ( "" ) ;
var modb = new ModelObjectRepository ( ) ;
DBResult result = modb . SaveComm ( "BsNo" , ZD_GID ,
ModelObjectConvert < MsOrderFee_Import > . ToModelObjectList ( OrderFeeList ) ,
ModelObjectConvert < MsOrderFee_Import > . ToModelObjectList ( chfeeDelBodyList )
) ;
var jsonRespose = new JsonResponse
{
Success = result . Success ,
Message = result . Message ,
//Data = XXHDAL.GetData("M.ContractNo='" + head.ContractNo + "'")
} ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
private MsOrderFee_Import NewOrderFee2 ( string CUSTOMERNAME , string FEENAME , decimal AMOUNT , Import_SaleZDDetailmb _ZD )
{
var _r = new MsOrderFee_Import ( ) ;
_r . CustomerName = CUSTOMERNAME ;
_r . FeeName = FEENAME ;
_r . Amount = AMOUNT ;
_r . GId = System . Guid . NewGuid ( ) . ToString ( ) ;
_r . FeeType = 1 ;
_r . BsNo = "" ;
_r . CARGO_GID = _ZD . CARGO_GID ;
_r . BXGID = _ZD . ZD_GID ;
_r . MODIFIEDTIME = System . DateTime . Now . ToString ( ) ;
_r . MODIFIEDUSER = Session [ "USERID" ] . ToString ( ) ;
_r . UnitPrice = 0 ;
return _r ;
}
private MsOrderFee_Import NewOrderFee3 ( string CUSTOMERNAME , string FEENAME , decimal AMOUNT , Import_SaleZDDetailmb _ZD , string Remark )
{
var _r = new MsOrderFee_Import ( ) ;
_r . CustomerName = CUSTOMERNAME ;
_r . FeeName = FEENAME ;
_r . Amount = AMOUNT ;
_r . GId = System . Guid . NewGuid ( ) . ToString ( ) ;
_r . FeeType = 1 ;
_r . BsNo = "" ;
_r . CARGO_GID = _ZD . CARGO_GID ;
_r . BXGID = _ZD . ZD_GID ;
_r . MODIFIEDTIME = System . DateTime . Now . ToString ( ) ;
_r . MODIFIEDUSER = Session [ "USERID" ] . ToString ( ) ;
_r . Remark = Remark ;
_r . UnitPrice = 0 ;
return _r ;
}
public ContentResult SetUse ( string DetailBody )
{
var DetailbodyList = JsonConvert . Deserialize < List < Import_SaleZDmb > > ( DetailBody ) ;
var GIDList = "" ;
foreach ( var _d in DetailbodyList )
{
if ( GIDList = = "" )
{
GIDList = "'" + _d . GID + "'" ;
}
else
{
GIDList = GIDList + ",'" + _d . GID + "'" ;
}
}
var SQL = "Update Import_SaleZD set ISUSE=1-isnull(ISUSE,0) where GID in(" + GIDList + ")" ;
var _r = PubSysDAL . ExecSql ( SQL ) ;
var jsonRespose = new JsonResponse ( ) ;
if ( _r > 0 )
{
jsonRespose = new JsonResponse
{
Success = true ,
Message = "设置完成" ,
Data = null
} ;
}
else
jsonRespose = new JsonResponse
{
Success = false ,
Message = "设置0条数据" ,
Data = null
} ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
#region 生成账单费用
public ContentResult GetOrderDataList2 ( string strCondition )
{
var dataList = ImportSalesDAL . GetOrderDataList ( strCondition ) ;
var json = JsonConvert . Serialize ( new { Success = true , Message = "查询成功" , totalCount = dataList . Count , data = dataList . ToList ( ) } ) ;
return new ContentResult ( ) { Content = json } ;
}
public ContentResult GetOrderDataList ( string billno )
{
var dataList = ImportSalesDAL . GetOrderDataList ( "BsNo='" + billno + "'" , 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 MakeOrderFee_RMB ( string SALESNO )
{
//获取相关费用 计算出目标费用数值
var head = new ImportSalesmb ( ) ;
var list = ImportSalesDAL . GetDataList ( " s.SALESNO='" + SALESNO + "' " , Convert . ToString ( Session [ "USERID" ] ) , CookieConfig . GetCookie_UserCode ( Request ) , Convert . ToString ( Session [ "COMPANYID" ] ) ) ;
if ( list . Count > 0 )
head = list [ 0 ] ;
var _BodyList = ImportSalesDAL . GetDetailList ( " s.SALESNO='" + SALESNO + "' " , Convert . ToString ( Session [ "USERID" ] ) , CookieConfig . GetCookie_UserCode ( Request ) , Convert . ToString ( Session [ "COMPANYID" ] ) , "" ) ;
var OrderFeeList = new List < MsOrderFee > ( ) ;
foreach ( var _SD in _BodyList ) {
var 货 款 RMB = NewOrderFee ( head . CUSTOMERNAME , "货款RMB" , Convert . ToDecimal ( _SD . AMOUNTRMB ) , _SD . CARGO_GID ) ;
OrderFeeList . Add ( 货 款 RMB ) ;
var _ 单 价 吨 = Convert . ToDecimal ( _SD . PRICERMB ) * 1000 ;
var _ 销 售 吨 数 = Convert . ToDecimal ( _SD . WEIGHT ) / 1000 ;
var _ 冷 藏 费 率 = Convert . ToDecimal ( ImportSalesDAL . GetField ( "select top 1 dbo.[Get_ClientFee](STORAGENAME,'冷藏费') from WMS where Cargo_gid='" + _SD . CARGO_GID + "'" ) ) * Convert . ToDecimal ( _SD . WEIGHT ) / 1000 ;
var _ 冷 藏 天 数 = Convert . ToDecimal ( ImportSalesDAL . GetField ( "select isnull(DATEDIFF(DAY, dbo.trimdate(dateadd(day,3,'" + head . SALESDATE + "')), dbo.trimdate('" + _SD . STOCKDATE_2 + "')), 0)+1 " ) ) ;
var _ 出 入 库 费 率 = Convert . ToDecimal ( ImportSalesDAL . GetField ( "select top 1 dbo.[Get_ClientFee](STORAGENAME,'出入库费') from WMS where Cargo_gid='" + _SD . CARGO_GID + "'" ) ) ;
var _ 倒 柜 费 率 = Convert . ToDecimal ( ImportSalesDAL . GetField ( "select top 1 dbo.[Get_ClientFee](STORAGENAME,'倒柜费') from WMS where Cargo_gid='" + _SD . CARGO_GID + "'" ) ) ;
var _ 货 款 应 收 = 货 款 RMB . Amount + ( _ 冷 藏 费 率 * _ 冷 藏 天 数 * _ 销 售 吨 数 ) + _ 出 入 库 费 率 * _ 销 售 吨 数 ;
var _ 定 金 = Convert . ToDecimal ( _SD . PREPAYMENT_ACT ) ;
var _ 应 付 尾 款 = _ 货 款 应 收 - _ 定 金 ;
var 单 价 吨 = NewOrderFee ( head . CUSTOMERNAME , "单价吨" , _ 单 价 吨 , _SD . CARGO_GID ) ;
OrderFeeList . Add ( 单 价 吨 ) ;
var 销 售 吨 数 = NewOrderFee ( head . CUSTOMERNAME , "销售吨数" , _ 销 售 吨 数 , _SD . CARGO_GID ) ;
OrderFeeList . Add ( 销 售 吨 数 ) ;
var 冷 藏 费 率 = NewOrderFee ( head . CUSTOMERNAME , "冷藏费率" , _ 冷 藏 费 率 , _SD . CARGO_GID ) ;
OrderFeeList . Add ( 冷 藏 费 率 ) ;
var 冷 藏 天 数 = NewOrderFee ( head . CUSTOMERNAME , "冷藏天数" , _ 冷 藏 天 数 , _SD . CARGO_GID ) ;
OrderFeeList . Add ( 冷 藏 天 数 ) ;
var 出 入 库 费 率 = NewOrderFee ( head . CUSTOMERNAME , "出入库费率" , _ 出 入 库 费 率 , _SD . CARGO_GID ) ;
OrderFeeList . Add ( 出 入 库 费 率 ) ;
var 倒 柜 费 率 = NewOrderFee ( head . CUSTOMERNAME , "倒柜费率" , _ 倒 柜 费 率 , _SD . CARGO_GID ) ;
OrderFeeList . Add ( 倒 柜 费 率 ) ;
var 货 款 应 收 = NewOrderFee ( head . CUSTOMERNAME , "货款应收" , _ 货 款 应 收 , _SD . CARGO_GID ) ;
OrderFeeList . Add ( 货 款 应 收 ) ;
var 定 金 = NewOrderFee ( head . CUSTOMERNAME , "定金" , _ 定 金 , _SD . CARGO_GID ) ;
OrderFeeList . Add ( 定 金 ) ;
var 应 付 尾 款 = NewOrderFee ( head . CUSTOMERNAME , "应付尾款" , _ 应 付 尾 款 , _SD . CARGO_GID ) ;
OrderFeeList . Add ( 应 付 尾 款 ) ;
}
var chfeeDelBodyList = JsonConvert . Deserialize < List < MsOrderFee > > ( "" ) ;
var modb = new ModelObjectRepository ( ) ;
DBResult result = modb . SaveComm ( "BsNo" , head . SALESNO ,
ModelObjectConvert < MsOrderFee > . ToModelObjectList ( OrderFeeList ) ,
ModelObjectConvert < MsOrderFee > . ToModelObjectList ( chfeeDelBodyList )
) ;
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 MakeOrderFee_USD ( string SALESNO )
{
//获取相关费用 计算出目标费用数值
var head = new ImportSalesmb ( ) ;
var list = ImportSalesDAL . GetDataList ( " s.SALESNO='" + SALESNO + "' " , Convert . ToString ( Session [ "USERID" ] ) , CookieConfig . GetCookie_UserCode ( Request ) , Convert . ToString ( Session [ "COMPANYID" ] ) ) ;
if ( list . Count > 0 )
head = list [ 0 ] ;
var _BodyList = ImportSalesDAL . GetDetailList ( " s.SALESNO='" + SALESNO + "' " , Convert . ToString ( Session [ "USERID" ] ) , CookieConfig . GetCookie_UserCode ( Request ) , Convert . ToString ( Session [ "COMPANYID" ] ) , "" ) ;
var OrderFeeList = new List < MsOrderFee > ( ) ;
var 总 重 量 = 0 M ;
foreach ( var _SD1 in _BodyList ) {
总 重 量 + = Convert . ToDecimal ( _SD1 . WEIGHT ) ;
}
foreach ( var _SD in _BodyList )
{
var CargoList = XXHDAL . GetCargoList ( " c.gid='" + _SD . CARGO_GID + "'" ) ;
var Cargo = CargoList [ 0 ] ;
var _ 单 价 吨 = Convert . ToDecimal ( _SD . PRICE ) * 1000 ;
var _ 销 售 吨 数 = Convert . ToDecimal ( _SD . WEIGHT ) / 1000 ;
var _ 应 收 账 单 汇 率 = Convert . ToDecimal ( _SD . Exchangerate_Cust ) ;
var _ 货 款 币 别 = _ 销 售 吨 数 * _ 单 价 吨 ;
var _ 货 款 RMB = _ 单 价 吨 * _ 销 售 吨 数 * _ 应 收 账 单 汇 率 ;
var _ 手 续 费 = _ 货 款 RMB * 0.001 M ;
var _ 电 汇 费 = 150 * _ 销 售 吨 数 / ( 总 重 量 / 1000 ) ;
var _ 总 货 款 = _ 货 款 RMB + _ 手 续 费 + _ 电 汇 费 ;
var _ 海 关 限 价 吨 = Convert . ToDecimal ( Cargo . price_limit ) * 1000 ;
var _ 海 关 汇 率 = Convert . ToDecimal ( Cargo . Exchangerate_Customs ) ;
var _ 采 购 价 吨 = Convert . ToDecimal ( Cargo . price ) * 1000 ;
var _ 保 率 = Convert . ToDecimal ( Cargo . baolv ) ;
var _ 完 税 金 额 = 0 M ;
if ( _ 海 关 限 价 吨 > _ 采 购 价 吨 ) {
_ 完 税 金 额 = _ 海 关 限 价 吨 * _ 销 售 吨 数 * _ 海 关 汇 率 * _ 保 率 ;
} else {
_ 完 税 金 额 = _ 采 购 价 吨 * _ 销 售 吨 数 * _ 海 关 汇 率 * _ 保 率 ;
}
var _ 关 税 税 率 = Convert . ToDecimal ( Cargo . tax ) ;
var _ 增 值 税 税 率 = Convert . ToDecimal ( Cargo . tax_zz ) ;
var _ 关 税 = _ 完 税 金 额 * _ 海 关 汇 率 * _ 关 税 税 率 ;
var _ 增 值 税 = ( _ 关 税 + _ 完 税 金 额 ) * _ 增 值 税 税 率 ;
var _ 代 理 费 单 价 = Convert . ToDecimal ( _SD . AGENCRATE_Cust ) ;
var _ 代 理 费 = _ 代 理 费 单 价 * _ 销 售 吨 数 ;
var _ 调 快 费 = Convert . ToDecimal ( ImportSalesDAL . GetField ( "select charindex('调快',m.remark_6) TKINDEX from import_main m where contractno=(select contractno from import_cargo where gid='" + _SD . CARGO_GID + "')" ) ) ;
if ( _ 调 快 费 > 0 ) { _ 调 快 费 = 1000 ; }
else {
_ 调 快 费 = 0 ;
}
var _ 价 格 备 注 费 率 = Convert . ToDecimal ( ImportSalesDAL . GetField ( "select substring(sd.PRICEREMARK,charindex('+',sd.PRICEREMARK)+1,len(sd.PRICEREMARK)) from import_saledetail sd where gid='" + _SD . GID + "'" ) ) ;
var _ 货 款 应 收 = _ 货 款 RMB + _ 手 续 费 + _ 电 汇 费 + _ 调 快 费 + _ 关 税 + _ 增 值 税 ;
var _ 资 金 利 息 利 率 = Convert . ToDecimal ( _SD . FUNDRATE ) ;
var _ 资 金 占 用 时 间 = Convert . ToDecimal ( ImportSalesDAL . GetField ( "select isnull(DATEDIFF(DAY,dateadd(day,3,s.SALESDATE), sd.STOCKDATE_2), 0)+1 from import_saledetail sd left join import_sales s on s.salesno=sd.salesno where sd.gid='" + _SD . GID + "'" ) ) ;
var _ 资 金 利 息 = _ 货 款 应 收 * _ 资 金 利 息 利 率 * _ 资 金 占 用 时 间 / 30 ;
var _ 冷 藏 费 率 = Convert . ToDecimal ( ImportSalesDAL . GetField ( "select top 1 dbo.[Get_ClientFee](STORAGENAME,'冷藏费') from WMS where Cargo_gid='" + _SD . CARGO_GID + "'" ) ) * Convert . ToDecimal ( _SD . WEIGHT ) / 1000 ;
var _ 冷 藏 天 数 = Convert . ToDecimal ( ImportSalesDAL . GetField ( "select isnull(DATEDIFF(DAY, dbo.trimdate(dateadd(day,3,'" + head . SALESDATE + "')), dbo.trimdate('" + _SD . STOCKDATE_2 + "')), 0)+1 " ) ) ;
var _ 出 入 库 费 率 = Convert . ToDecimal ( ImportSalesDAL . GetField ( "select top 1 dbo.[Get_ClientFee](STORAGENAME,'出入库费') from WMS where Cargo_gid='" + _SD . CARGO_GID + "'" ) ) ;
var _ 倒 柜 费 率 = Convert . ToDecimal ( ImportSalesDAL . GetField ( "select top 1 dbo.[Get_ClientFee](STORAGENAME,'倒柜费') from WMS where Cargo_gid='" + _SD . CARGO_GID + "'" ) ) ;
//var _货款应收 = 货款RMB.Amount + (_冷藏费率 * _冷藏天数 * _销售吨数) + _出入库费率 * _销售吨数;
var _ 冷 藏 费 = _ 销 售 吨 数 * _ 冷 藏 费 率 * _ 冷 藏 天 数 ;
var _ 出 入 库 费 = _ 销 售 吨 数 * _ 出 入 库 费 率 ;
var _ 倒 柜 费 = _ 销 售 吨 数 * _ 倒 柜 费 率 ;
var _ 冷 库 费 用 = _ 冷 藏 费 + _ 出 入 库 费 + _ 倒 柜 费 ;
var _ 定 金 = Convert . ToDecimal ( _SD . PREPAYMENT_ACT ) ;
var _ 入 库 件 数 = _SD . BOXCOUNT ;
var _ 其 他 费 用 = _ 价 格 备 注 费 率 * _ 销 售 吨 数 ;
var _ 总 应 收 = _ 货 款 应 收 + _ 资 金 利 息 + _ 其 他 费 用 ;
var _ 应 付 尾 款 = _ 总 应 收 - _ 定 金 ;
var 单 价 吨 = NewOrderFee ( head . CUSTOMERNAME , "单价吨" , _ 单 价 吨 , _SD . CARGO_GID ) ;
OrderFeeList . Add ( 单 价 吨 ) ;
var 销 售 吨 数 = NewOrderFee ( head . CUSTOMERNAME , "销售吨数" , _ 销 售 吨 数 , _SD . CARGO_GID ) ;
OrderFeeList . Add ( 销 售 吨 数 ) ;
var 应 收 账 单 汇 率 = NewOrderFee ( head . CUSTOMERNAME , "应收账单汇率" , _ 应 收 账 单 汇 率 , _SD . CARGO_GID ) ;
OrderFeeList . Add ( 应 收 账 单 汇 率 ) ;
var 货 款 币 别 = NewOrderFee ( head . CUSTOMERNAME , "货款币别" , _ 货 款 币 别 , _SD . CARGO_GID ) ;
OrderFeeList . Add ( 货 款 币 别 ) ;
var 货 款 RMB = NewOrderFee ( head . CUSTOMERNAME , "货款RMB" , _ 货 款 RMB , _SD . CARGO_GID ) ;
OrderFeeList . Add ( 货 款 RMB ) ;
var 手 续 费 = NewOrderFee ( head . CUSTOMERNAME , "手续费" , _ 手 续 费 , _SD . CARGO_GID ) ;
OrderFeeList . Add ( 手 续 费 ) ;
var 电 汇 费 = NewOrderFee ( head . CUSTOMERNAME , "电汇费" , _ 电 汇 费 , _SD . CARGO_GID ) ;
OrderFeeList . Add ( 电 汇 费 ) ;
var 总 货 款 = NewOrderFee ( head . CUSTOMERNAME , "总货款" , _ 总 货 款 , _SD . CARGO_GID ) ;
OrderFeeList . Add ( 总 货 款 ) ;
var 海 关 限 价 吨 = NewOrderFee ( head . CUSTOMERNAME , "海关限价吨" , _ 海 关 限 价 吨 , _SD . CARGO_GID ) ;
OrderFeeList . Add ( 海 关 限 价 吨 ) ;
var 海 关 汇 率 = NewOrderFee ( head . CUSTOMERNAME , "海关汇率" , _ 海 关 汇 率 , _SD . CARGO_GID ) ;
OrderFeeList . Add ( 海 关 汇 率 ) ;
var 采 购 价 吨 = NewOrderFee ( head . CUSTOMERNAME , "采购价吨" , _ 采 购 价 吨 , _SD . CARGO_GID ) ;
OrderFeeList . Add ( 采 购 价 吨 ) ;
var 保 率 = NewOrderFee ( head . CUSTOMERNAME , "保率" , _ 保 率 , _SD . CARGO_GID ) ;
OrderFeeList . Add ( 保 率 ) ;
var 完 税 金 额 = NewOrderFee ( head . CUSTOMERNAME , "完税金额" , _ 完 税 金 额 , _SD . CARGO_GID ) ;
OrderFeeList . Add ( 完 税 金 额 ) ;
var 关 税 税 率 = NewOrderFee ( head . CUSTOMERNAME , "关税税率" , _ 关 税 税 率 , _SD . CARGO_GID ) ;
OrderFeeList . Add ( 关 税 税 率 ) ;
var 增 值 税 税 率 = NewOrderFee ( head . CUSTOMERNAME , "增值税税率" , _ 增 值 税 税 率 , _SD . CARGO_GID ) ;
OrderFeeList . Add ( 增 值 税 税 率 ) ;
var 关 税 = NewOrderFee ( head . CUSTOMERNAME , "关税" , _ 关 税 , _SD . CARGO_GID ) ;
OrderFeeList . Add ( 关 税 ) ;
var 增 值 税 = NewOrderFee ( head . CUSTOMERNAME , "增值税" , _ 增 值 税 , _SD . CARGO_GID ) ;
OrderFeeList . Add ( 增 值 税 ) ;
var 代 理 费 单 价 = NewOrderFee ( head . CUSTOMERNAME , "代理费单价" , _ 代 理 费 单 价 , _SD . CARGO_GID ) ;
OrderFeeList . Add ( 代 理 费 单 价 ) ;
var 代 理 费 = NewOrderFee ( head . CUSTOMERNAME , "代理费" , _ 代 理 费 , _SD . CARGO_GID ) ;
OrderFeeList . Add ( 代 理 费 ) ;
var 调 快 费 = NewOrderFee ( head . CUSTOMERNAME , "调快费" , _ 调 快 费 , _SD . CARGO_GID ) ;
OrderFeeList . Add ( 调 快 费 ) ;
var 价 格 备 注 费 率 = NewOrderFee ( head . CUSTOMERNAME , "价格备注费率" , _ 价 格 备 注 费 率 , _SD . CARGO_GID ) ;
OrderFeeList . Add ( 价 格 备 注 费 率 ) ;
var 货 款 应 收 = NewOrderFee ( head . CUSTOMERNAME , "货款应收" , _ 货 款 应 收 , _SD . CARGO_GID ) ;
OrderFeeList . Add ( 货 款 应 收 ) ;
var 资 金 利 息 利 率 = NewOrderFee ( head . CUSTOMERNAME , "资金利息利率" , _ 资 金 利 息 利 率 , _SD . CARGO_GID ) ;
OrderFeeList . Add ( 资 金 利 息 利 率 ) ;
var 资 金 占 用 时 间 = NewOrderFee ( head . CUSTOMERNAME , "资金占用时间" , _ 资 金 占 用 时 间 , _SD . CARGO_GID ) ;
OrderFeeList . Add ( 资 金 占 用 时 间 ) ;
var 资 金 利 息 = NewOrderFee ( head . CUSTOMERNAME , "资金利息" , _ 资 金 利 息 , _SD . CARGO_GID ) ;
OrderFeeList . Add ( 资 金 利 息 ) ;
var 冷 藏 费 率 = NewOrderFee ( head . CUSTOMERNAME , "冷藏费率" , _ 冷 藏 费 率 , _SD . CARGO_GID ) ;
OrderFeeList . Add ( 冷 藏 费 率 ) ;
var 冷 藏 天 数 = NewOrderFee ( head . CUSTOMERNAME , "冷藏天数" , _ 冷 藏 天 数 , _SD . CARGO_GID ) ;
OrderFeeList . Add ( 冷 藏 天 数 ) ;
var 出 入 库 费 率 = NewOrderFee ( head . CUSTOMERNAME , "出入库费率" , _ 出 入 库 费 率 , _SD . CARGO_GID ) ;
OrderFeeList . Add ( 出 入 库 费 率 ) ;
var 倒 柜 费 率 = NewOrderFee ( head . CUSTOMERNAME , "倒柜费率" , _ 倒 柜 费 率 , _SD . CARGO_GID ) ;
OrderFeeList . Add ( 倒 柜 费 率 ) ;
var 冷 藏 费 = NewOrderFee ( head . CUSTOMERNAME , "冷藏费" , _ 冷 藏 费 , _SD . CARGO_GID ) ;
OrderFeeList . Add ( 冷 藏 费 ) ;
var 出 入 库 费 = NewOrderFee ( head . CUSTOMERNAME , "出入库费" , _ 出 入 库 费 , _SD . CARGO_GID ) ;
OrderFeeList . Add ( 出 入 库 费 ) ;
var 倒 柜 费 = NewOrderFee ( head . CUSTOMERNAME , "倒柜费" , _ 倒 柜 费 , _SD . CARGO_GID ) ;
OrderFeeList . Add ( 倒 柜 费 ) ;
var 冷 库 费 用 = NewOrderFee ( head . CUSTOMERNAME , "冷库费用" , _ 冷 库 费 用 , _SD . CARGO_GID ) ;
OrderFeeList . Add ( 冷 库 费 用 ) ;
var 定 金 = NewOrderFee ( head . CUSTOMERNAME , "定金" , _ 定 金 , _SD . CARGO_GID ) ;
OrderFeeList . Add ( 定 金 ) ;
var 入 库 件 数 = NewOrderFee ( head . CUSTOMERNAME , "入库件数" , Convert . ToDecimal ( _ 入 库 件 数 ) , _SD . CARGO_GID ) ;
OrderFeeList . Add ( 入 库 件 数 ) ;
var 其 他 费 用 = NewOrderFee ( head . CUSTOMERNAME , "其他费用" , _ 其 他 费 用 , _SD . CARGO_GID ) ;
OrderFeeList . Add ( 其 他 费 用 ) ;
var 总 应 收 = NewOrderFee ( head . CUSTOMERNAME , "总应收" , _ 总 应 收 , _SD . CARGO_GID ) ;
OrderFeeList . Add ( 总 应 收 ) ;
var 应 付 尾 款 = NewOrderFee ( head . CUSTOMERNAME , "应付尾款" , _ 应 付 尾 款 , _SD . CARGO_GID ) ;
OrderFeeList . Add ( 应 付 尾 款 ) ;
}
var chfeeDelBodyList = JsonConvert . Deserialize < List < MsOrderFee > > ( "" ) ;
var modb = new ModelObjectRepository ( ) ;
DBResult result = modb . SaveComm ( "BsNo" , head . SALESNO ,
ModelObjectConvert < MsOrderFee > . ToModelObjectList ( OrderFeeList ) ,
ModelObjectConvert < MsOrderFee > . ToModelObjectList ( chfeeDelBodyList )
) ;
var jsonRespose = new JsonResponse
{
Success = result . Success ,
Message = result . Message ,
//Data = XXHDAL.GetData("M.ContractNo='" + head.ContractNo + "'")
} ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
private MsOrderFee NewOrderFee ( string CUSTOMERNAME , string FEENAME , decimal AMOUNT , string CARGO_GID ) {
var _r = new MsOrderFee ( ) ;
_r . CustomerName = CUSTOMERNAME ;
_r . FeeName = FEENAME ;
_r . Amount = AMOUNT ;
_r . GId = System . Guid . NewGuid ( ) . ToString ( ) ;
_r . FeeType = 1 ;
_r . BsNo = "" ;
_r . CARGO_GID = CARGO_GID ;
_r . MODIFIEDTIME = System . DateTime . Now . ToString ( ) ;
_r . MODIFIEDUSER = Session [ "USERID" ] . ToString ( ) ;
return _r ;
}
public ContentResult SaveOrderFee ( string bsno , string type , string OrderFeeBody )
{
var chfeeBodyList = JsonConvert . Deserialize < List < MsOrderFee > > ( OrderFeeBody ) ;
var chfeeDelBodyList = JsonConvert . Deserialize < List < MsOrderFee > > ( "" ) ;
var modb = new ModelObjectRepository ( ) ;
DBResult result = modb . SaveComm ( "BsNo" , bsno ,
ModelObjectConvert < MsOrderFee > . ToModelObjectList ( chfeeBodyList ) ,
ModelObjectConvert < MsOrderFee > . ToModelObjectList ( chfeeDelBodyList )
) ;
//刷新父窗口上的父节点
var jsonRespose = new JsonResponse
{
Success = result . Success ,
Message = result . Message ,
//Data = XXHDAL.GetData("M.ContractNo='" + head.ContractNo + "'")
} ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
# endregion
#region 参照部分
# endregion
}
}