using System ;
using System.Linq ;
using System.Web.Mvc ;
using DSWeb.Areas.Account.DAL.Chfee_Hexiao ;
using DSWeb.Areas.Import.DAL.CW ;
using DSWeb.Areas.Account.Models.Chfee_Settlement ;
using DSWeb.Areas.Account.Models.Chfee_do_detail ;
using DSWeb.Areas.Account.Models.BillChfeeDetail ;
using DSWeb.Areas.Account.Models.MsCwVouchersGl3 ;
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.MvcShipping.DAL.MsSysBillNoSet ;
using DSWeb.MvcShipping.Models.MsSysBillNoSet ;
using DSWeb.MvcShipping.DAL.ChMonthCloseDAL ;
using DSWeb.TruckMng.Helper.Repository ;
using System.Text ;
using DSWeb.Areas.CommMng.Models ;
using DSWeb.MvcShipping.DAL.MsSysParamSet ;
using DSWeb.Areas.Account.DAL.Chfee_Settlement ;
using DSWeb.Areas.Account.Models.ChfeeDetail ;
using DSWeb.MvcShipping.DAL.MsInfoClient ;
using DSWeb.MvcShipping.Models.SysBillType ;
using DSWeb.Common.DB ;
namespace DSWeb.Areas.Account.Controllers
{
[JsonRequestBehavior]
public class Chfee_hexiaoController : Controller
{
// GET:
public ActionResult HexiaoIndex ( )
{
return View ( ) ;
}
// GET:
public ActionResult HexiaoEdit ( )
{
return View ( ) ;
}
/ /
// GET:
public ContentResult GetDataList ( int start , int limit , string sort , string condition , string isload = "0" )
{
int total = 0 ;
var dataList = ChHexiaoDAL . GetHexiaoDataList ( condition , start , limit , out total , CookieConfig . GetCookie_UserId ( Request ) , CookieConfig . GetCookie_UserCode ( Request ) , Convert . ToString ( Session [ "COMPANYID" ] ) , sort , isload ) ;
//var list = dataList.Skip(start).Take(limit);
//var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = list.ToList() });
var json = JsonConvert . Serialize ( new { Success = true , Message = "查询成功" , totalCount = total , data = dataList . ToList ( ) } ) ;
return new ContentResult ( ) { Content = json } ;
}
public ContentResult GetDataListStr ( int start , int limit , string sort , string condition )
{
var dataListStr = ChHexiaoDAL . GetHexiaoDataListStr ( condition , CookieConfig . GetCookie_UserId ( Request ) , CookieConfig . GetCookie_UserCode ( Request ) , Convert . ToString ( Session [ "COMPANYID" ] ) , sort ) ;
var json = JsonConvert . Serialize ( new { Success = true , Message = "查询成功" , data = dataListStr } ) ;
return new ContentResult ( ) { Content = json } ;
}
public ContentResult GetData ( string handle , string condition )
{
ChfeeHexiao head = null ;
int total = 0 ;
if ( handle = = "edit" )
{
var list = ChHexiaoDAL . GetHexiaoDataList ( condition , 0 , 1 , out total , CookieConfig . GetCookie_UserId ( Request ) , CookieConfig . GetCookie_UserCode ( Request ) , Convert . ToString ( Session [ "COMPANYID" ] ) ) ;
if ( list . Count > 0 )
head = list [ 0 ] ;
}
if ( head = = null )
{
head = new ChfeeHexiao ( ) ;
head . CREATEUSER = CookieConfig . GetCookie_UserId ( Request ) ;
head . CREATEUSERREF = Convert . ToString ( Session [ "SHOWNAME" ] ) ;
head . CREATETIME = DateTime . Now . ToString ( "yyyy-MM-dd hh:mm:ss" ) ;
head . BILLDATE = DateTime . Now . ToString ( "yyyy-MM-dd hh:mm:ss" ) ;
}
if ( handle = = "add" )
{
}
var json = JsonConvert . Serialize (
new { Success = true , Message = "查询成功" , data = head } ) ;
return new ContentResult ( ) { Content = json } ;
}
public ContentResult GetBillList ( string condition , string sort )
{
var dataList = ChHexiaoDAL . GetBodyList ( condition , sort ) ;
var json = JsonConvert . Serialize ( new { Success = true , Message = "查询成功" , totalCount = dataList . Count , data = dataList . ToList ( ) } ) ;
return new ContentResult ( ) { Content = json } ;
}
public ContentResult GetBillSum ( string condition )
{
var dataList = ChHexiaoDAL . GetBodySumList ( condition ) ;
var json = JsonConvert . Serialize ( new { Success = true , Message = "查询成功" , totalCount = dataList . Count , data = dataList . ToList ( ) } ) ;
return new ContentResult ( ) { Content = json } ;
}
public ContentResult GetFeeDataList ( int start , int limit , string sort , string condition , int billtype )
{
var dataList = ChHexiaoDAL . GetFeeDataList ( condition , CookieConfig . GetCookie_UserId ( Request ) , Convert . ToString ( Session [ "SHOWNAME" ] ) , Convert . ToString ( Session [ "COMPANYID" ] ) , sort , billtype ) ;
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 GetBillDataList ( int start , int limit , string sort , string condition , int billtype , string ShenNo = "" )
{
var dataList = new List < BillCustDetail > ( ) ;
if ( ShenNo ! = "" ) {
dataList = ChHexiaoDAL . GetShenAddBillList ( condition , ShenNo , CookieConfig . GetCookie_UserId ( Request ) , Convert . ToString ( Session [ "SHOWNAME" ] ) , Convert . ToString ( Session [ "COMPANYID" ] ) , sort , billtype ) ;
} else
dataList = ChHexiaoDAL . GetAddBillList ( condition , CookieConfig . GetCookie_UserId ( Request ) , Convert . ToString ( Session [ "SHOWNAME" ] ) , Convert . ToString ( Session [ "COMPANYID" ] ) , sort , billtype ) ;
// 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 GetFeeDetailList ( string sort , string condition , string ShenNo = "" )
{
var dataList = new List < ChFeeDetail > ( ) ;
if ( ShenNo ! = "" )
{
dataList = ChHexiaoDAL . GetShenFeeDetailList ( condition , ShenNo , sort ) ;
}
else
dataList = ChHexiaoDAL . GetFeeDetailList ( condition , sort ) ;
var json = JsonConvert . Serialize (
new { Success = true , Message = "查询成功" , totalCount = dataList . Count , data = dataList . ToList ( ) } ) ;
return new ContentResult ( ) { Content = json } ;
}
public ContentResult GetAddSum ( string condition , int billtype )
{
var dataList = ChHexiaoDAL . GetAddSum ( condition , CookieConfig . GetCookie_UserId ( Request ) , Convert . ToString ( Session [ "SHOWNAME" ] ) , Convert . ToString ( Session [ "COMPANYID" ] ) , billtype ) ;
var json = JsonConvert . Serialize ( new { Success = true , Message = "查询成功" , totalCount = dataList . Count , data = dataList . ToList ( ) } ) ;
return new ContentResult ( ) { Content = json } ;
}
public ContentResult Save ( string opstatus , string data , string body )
{
var headData = JsonConvert . Deserialize < ChfeeHexiao > ( data ) ;
var bodyList = JsonConvert . Deserialize < List < ChSettlement > > ( body ) ;
if ( headData . BILLNO ! = "" & & headData . BILLNO ! = "*" ) opstatus = "edit" ;
if ( opstatus = = "add" )
{
headData . GID = Guid . NewGuid ( ) . ToString ( ) ;
if ( headData . BILLNO = = "" | | headData . BILLNO = = "*" )
{
var billnoset = MsSysBillNoSetDAL . GetData ( "OPLBNAME='业务核销'" , Convert . ToString ( Session [ "COMPANYID" ] ) ) ;
if ( billnoset . BILLTYPE ! = "" )
headData . BILLNO = MsSysBillNoSetDAL . GetBillNo ( billnoset , headData . BILLDATE . ToString ( ) . Trim ( ) , headData . BILLDATE . ToString ( ) . Trim ( ) ) ;
else
headData . BILLNO = PubSysDAL . GetBillNo ( "0612" ) ;
}
headData . COMPANYID = Convert . ToString ( Session [ "COMPANYID" ] ) ;
headData . DbOperationType = DbOperationType . DbotIns ;
}
else if ( opstatus = = "edit" )
{
headData . DbOperationType = DbOperationType . DbotUpd ;
headData . ModelUIStatus = "E" ;
}
else
{
headData . DbOperationType = DbOperationType . DbotDel ;
}
var ct = ChHexiaoDAL . GetRdCount ( "GID<>'" + headData . GID + "' AND BILLNO='" + headData . BILLNO + "' " ) ;
if ( ct ! = 0 )
{
var jsonRespose0 = new JsonResponse
{
Success = false ,
Message = "核销编号重复,不允许保存!"
} ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose0 ) } ;
}
var BILLNO = headData . BILLNO ;
if ( bodyList ! = null ) {
T_ALL_DA T_ALL_DA = new EntityDA . T_ALL_DA ( ) ;
foreach ( var enumValue in bodyList )
{
if ( enumValue . SETTLETIME = = "" ) enumValue . SETTLETIME = DateTime . Now . ToString ( "yyyy-MM-dd" ) ;
if ( enumValue . BILLNO = = "" | | enumValue . BILLNO = = "*" )
{
// enumValue.GID = Guid.NewGuid().ToString();
enumValue . BILLDATE = DateTime . Now ;
enumValue . HXBILLNO = headData . BILLNO ;
enumValue . CREATETIME = DateTime . Now . ToString ( "yyyy-MM-dd hh:mm:ss" ) ;
enumValue . CREATEUSER = CookieConfig . GetCookie_UserId ( Request ) ;
enumValue . SETTLEUSER = CookieConfig . GetCookie_UserId ( Request ) ;
if ( enumValue . BILLTYPE = = 1 )
{
var billnoset = MsSysBillNoSetDAL . GetData ( "OPLBNAME='收费结算'" , Convert . ToString ( Session [ "COMPANYID" ] ) ) ;
if ( billnoset . BILLTYPE ! = "" )
enumValue . BILLNO = MsSysBillNoSetDAL . GetBillNo ( billnoset , enumValue . SETTLETIME . ToString ( ) . Trim ( ) , enumValue . BILLDATE . ToString ( ) . Trim ( ) ) ;
else enumValue . BILLNO = PubSysDAL . GetBillNo ( "0305" ) ;
}
else {
var billnoset = MsSysBillNoSetDAL . GetData ( "OPLBNAME='付费结算'" , Convert . ToString ( Session [ "COMPANYID" ] ) ) ;
if ( billnoset . BILLTYPE ! = "" )
enumValue . BILLNO = MsSysBillNoSetDAL . GetBillNo ( billnoset , enumValue . SETTLETIME . ToString ( ) . Trim ( ) , enumValue . BILLDATE . ToString ( ) . Trim ( ) ) ;
else
enumValue . BILLNO = PubSysDAL . GetBillNo ( "0304" ) ;
}
enumValue . COMPANYID = Convert . ToString ( Session [ "COMPANYID" ] ) ;
if ( enumValue . CURR = = "RMB" )
{
enumValue . AMOUNTRMB = enumValue . AMOUNT ;
enumValue . ACCOUNTRMB = enumValue . ACCOUNT ;
enumValue . AMOUNTUSD = 0 ;
enumValue . ACCOUNTUSD = "" ;
}
else
{
enumValue . AMOUNTUSD = enumValue . AMOUNT ;
enumValue . ACCOUNTUSD = enumValue . ACCOUNT ;
enumValue . ACCOUNTRMB = "" ;
enumValue . AMOUNTRMB = 0 ;
}
if ( enumValue . REMITTANCEAMOUNT = = "" ) enumValue . REMITTANCEAMOUNT = "0" ;
if ( enumValue . BUYRATE = = "" ) enumValue . BUYRATE = "0" ;
if ( enumValue . SELLRATE = = "" ) enumValue . SELLRATE = "0" ;
if ( enumValue . SETTLRATE = = "" ) enumValue . SETTLRATE = "0" ;
enumValue . ACCOUNTS_CURRENCY = enumValue . CURR ; / /
var ct2 = ChsettlementDAL . GetRdCount ( "GID<>'" + enumValue . GID + "' AND BILLNO='" + enumValue . BILLNO + "' " ) ;
if ( ct2 ! = 0 )
{
var jsonRespose0 = new JsonResponse
{
Success = false ,
Message = "结算编号重复,不允许保存!" ,
Data = headData
} ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose0 ) } ;
}
enumValue . DbOperationType = DbOperationType . DbotIns ;
var modbbody = new ModelObjectDB ( ) ;
modbbody . Save ( enumValue ) ;
}
else {
if ( enumValue . CURR = = "RMB" )
{
var blUpSQL = "update ch_fee_settlement set BILLTYPE='" + enumValue . BILLTYPE + "',SETTLETIME='" + enumValue . SETTLETIME + "',ACCOUNTRMB='" + enumValue . ACCOUNT + "',SETTLETYPE='" + enumValue . SETTLETYPE + "',FINANCIAL_MONEY='" + enumValue . FINANCIAL_MONEY + "',ADVANCE_MONEY=" + enumValue . ADVANCE_MONEY + ",STLAMOUNT=" + enumValue . STLAMOUNT + " where GID='" + enumValue . GID + "'" ;
var bl = T_ALL_DA . GetExecuteSqlCommand ( blUpSQL ) ;
}
else {
var blUpSQL = "update ch_fee_settlement set BILLTYPE='" + enumValue . BILLTYPE + "',SETTLETIME='" + enumValue . SETTLETIME + "',ACCOUNTUSD='" + enumValue . ACCOUNT + "',SETTLETYPE='" + enumValue . SETTLETYPE + "',FINANCIAL_MONEY='" + enumValue . FINANCIAL_MONEY + "',ADVANCE_MONEY=" + enumValue . ADVANCE_MONEY + ",STLAMOUNT=" + enumValue . STLAMOUNT + " where GID='" + enumValue . GID + "'" ;
var bl = T_ALL_DA . GetExecuteSqlCommand ( blUpSQL ) ;
}
}
}
}
var modb = new ModelObjectDB ( ) ;
DBResult result = modb . Save ( headData ) ;
if ( result . Success = = true ) { }
else
{
MsSysBillNoSetDAL . DeleteBsNo ( headData . BILLNO ) ;
}
var jsonRespose = new JsonResponse
{
Success = result . Success ,
Message = result . Message ,
Data = ChHexiaoDAL . GetHexiaoData ( " cm.BILLNO='" + BILLNO + "'" , CookieConfig . GetCookie_UserId ( Request ) , CookieConfig . GetCookie_UserCode ( Request ) , Convert . ToString ( Session [ "COMPANYID" ] ) )
} ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
public ContentResult MdStl ( string data , decimal stlamount , string billno )
{
var headData = JsonConvert . Deserialize < ChSettlement > ( data ) ;
var dataList = ChsettlementDAL . GetBodyList ( "BILLNO='" + headData . BILLNO + "'" ) ;
var enumValue = new ChSettlement ( ) ;
// enumValue = headData;
enumValue . GID = Guid . NewGuid ( ) . ToString ( ) ;
enumValue . BILLDATE = DateTime . Now ;
enumValue . CREATETIME = DateTime . Now . ToString ( "yyyy-MM-dd hh:mm:ss" ) ;
enumValue . CREATEUSER = CookieConfig . GetCookie_UserId ( Request ) ;
enumValue . HXBILLNO = billno ;
enumValue . BILLTYPE = headData . BILLTYPE ;
enumValue . CUSTOMERNAME = headData . CUSTOMERNAME ;
enumValue . SETTLETIME = headData . SETTLETIME ;
enumValue . SETTLEUSER = headData . SETTLEUSER ;
if ( enumValue . BILLTYPE = = 1 )
{
var billnoset = MsSysBillNoSetDAL . GetData ( "OPLBNAME='收费结算'" , Convert . ToString ( Session [ "COMPANYID" ] ) ) ;
if ( billnoset . BILLTYPE ! = "" )
enumValue . BILLNO = MsSysBillNoSetDAL . GetBillNo ( billnoset , enumValue . SETTLETIME . ToString ( ) . Trim ( ) , enumValue . BILLDATE . ToString ( ) . Trim ( ) ) ;
else enumValue . BILLNO = PubSysDAL . GetBillNo ( "0305" ) ;
}
else
{
var billnoset = MsSysBillNoSetDAL . GetData ( "OPLBNAME='付费结算'" , Convert . ToString ( Session [ "COMPANYID" ] ) ) ;
if ( billnoset . BILLTYPE ! = "" )
enumValue . BILLNO = MsSysBillNoSetDAL . GetBillNo ( billnoset , enumValue . SETTLETIME . ToString ( ) . Trim ( ) , enumValue . BILLDATE . ToString ( ) . Trim ( ) ) ;
else
enumValue . BILLNO = PubSysDAL . GetBillNo ( "0304" ) ;
}
enumValue . CURR = headData . CURR ;
enumValue . SETTLETYPE = headData . SETTLETYPE ;
enumValue . ACCOUNTRMB = headData . ACCOUNTRMB ;
enumValue . ACCOUNTUSD = headData . ACCOUNTUSD ;
enumValue . COMPANYID = Convert . ToString ( Session [ "COMPANYID" ] ) ;
if ( enumValue . CURR = = "RMB" )
{
enumValue . AMOUNTRMB = headData . AMOUNT - stlamount ;
enumValue . AMOUNTUSD = 0 ;
}
else
{
enumValue . AMOUNTUSD = headData . AMOUNT - stlamount ;
enumValue . ACCOUNTRMB = "" ;
enumValue . AMOUNTRMB = 0 ;
}
if ( enumValue . REMITTANCEAMOUNT = = "" ) enumValue . REMITTANCEAMOUNT = "0" ;
if ( enumValue . BUYRATE = = "" ) enumValue . BUYRATE = "0" ;
if ( enumValue . SELLRATE = = "" ) enumValue . SELLRATE = "0" ;
if ( enumValue . SETTLRATE = = "" ) enumValue . SETTLRATE = "0" ;
enumValue . ACCOUNTS_CURRENCY = enumValue . CURR ; / /
enumValue . DbOperationType = DbOperationType . DbotIns ;
var modbbody = new ModelObjectDB ( ) ;
DBResult result = modbbody . Save ( enumValue ) ;
var isadd = false ;
if ( dataList ! = null & & stlamount ! = 0 )
{
T_ALL_DA T_ALL_DA = new EntityDA . T_ALL_DA ( ) ;
decimal amount = 0 ;
decimal doamount = 0 ;
decimal orginamount = 0 ;
foreach ( var feedovalue in dataList )
{
if ( ! isadd )
{
if ( headData . BILLTYPE = = 1 )
{
if ( feedovalue . FEETYPE = = 1 )
amount = amount + feedovalue . AMOUNT ;
else
amount = amount - feedovalue . AMOUNT ;
}
else
{
if ( feedovalue . FEETYPE = = 2 )
amount = amount + feedovalue . AMOUNT ;
else
amount = amount - feedovalue . AMOUNT ;
}
if ( amount > = stlamount )
{
if ( amount > stlamount ) {
if ( headData . BILLTYPE = = feedovalue . FEETYPE )
{
doamount = feedovalue . AMOUNT - ( amount - stlamount ) ;
}
else
{
doamount = feedovalue . AMOUNT - ( amount - stlamount ) ;
}
orginamount = Math . Round ( feedovalue . ORIGAMOUNT * ( doamount / feedovalue . AMOUNT ) , 2 , MidpointRounding . AwayFromZero ) ;
if ( doamount ! = 0 ) {
var blUpSQL = "update ch_fee_do set AMOUNT=" + doamount + ",ORIGAMOUNT=" + orginamount + " where GID='" + feedovalue . FEEDOID + "'" ;
var bl = T_ALL_DA . GetExecuteSqlCommand ( blUpSQL ) ;
blUpSQL = "insert into ch_fee_do (GID,BILLNO,BSNO,MBLNO,HBLNO,CUSTOMERNAME,BSTYPE,FEEID,FEENAME,CURRENCY"
+ ",AMOUNT,DOAMOUNT,FEETYPE,CATEGORY,BILLSTATUS,ISDELETED,CREATETIME"
+ ",EXCHANGERATE,ORIGCURRENCY,ORIGAMOUNT,INVOICESETTLENO,COMPANYID)"
+ "values (NEWID(),'" + enumValue . BILLNO + "','" + feedovalue . BSNO + "','" + feedovalue . MBLNO + "','" + feedovalue . HBLNO + "','" + feedovalue . FEEOBJNAME + "',1,'" + feedovalue . FEEID
+ "','" + feedovalue . FEENAME + "','" + feedovalue . CURRENCY + "'" + "," + ( feedovalue . AMOUNT - doamount ) . ToString ( ) + ",0,'" + feedovalue . FEETYPE
+ "',8,1,0,'" + DateTime . Now . ToString ( "yyyy-MM-dd hh:mm:ss" ) + "'"
+ "," + feedovalue . EXCHANGERATE + ",'" + feedovalue . ORIGCURRENCY + "'," + ( feedovalue . ORIGAMOUNT - orginamount ) . ToString ( ) + ",'','" + Convert . ToString ( Session [ "COMPANYID" ] ) + "')" ;
bl = T_ALL_DA . GetExecuteSqlCommand ( blUpSQL ) ;
}
}
isadd = true ;
}
}
else {
var blUpSQL = "update ch_fee_do set BILLNO='" + enumValue . BILLNO + "' where GID='" + feedovalue . FEEDOID + "'" ;
var bl = T_ALL_DA . GetExecuteSqlCommand ( blUpSQL ) ;
}
}
if ( headData . CURR = = "RMB" )
{
var blUpSQL = "update ch_fee_settlement set AMOUNTRMB=" + stlamount + " where BILLNO='" + headData . BILLNO + "'" ;
var bl = T_ALL_DA . GetExecuteSqlCommand ( blUpSQL ) ;
}
else
{
var blUpSQL = "update ch_fee_settlement set AMOUNTUSD=" + stlamount + " where BILLNO='" + headData . BILLNO + "'" ;
var bl = T_ALL_DA . GetExecuteSqlCommand ( blUpSQL ) ;
}
ChsettlementDAL . p_update_Amount ( headData . BILLNO , headData . BILLTYPE ) ;
ChsettlementDAL . p_update_Amount ( enumValue . BILLNO , enumValue . BILLTYPE ) ;
}
//var modb = new ModelObjectDB();
//DBResult result = ChHexiaoDAL.AddDetail(bill, bodyList, curr, Convert.ToString(Session["COMPANYID"]));
//if (result.Success) { ChHexiaoDAL.p_update_Amount(bill, billtype); }
var jsonRespose = new JsonResponse { Success = result . Success , Message = result . Message } ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
public ContentResult AddDetail ( string bill , string data , string curr , int billtype )
{
var bodyList = JsonConvert . Deserialize < List < BillChfeeDetail > > ( data ) ;
var modb = new ModelObjectDB ( ) ;
DBResult result = ChHexiaoDAL . AddDetail ( bill , bodyList , curr , Convert . ToString ( Session [ "COMPANYID" ] ) ) ;
if ( result . Success ) { ChHexiaoDAL . p_update_Amount ( bill , billtype ) ; }
var jsonRespose = new JsonResponse { Success = result . Success , Message = result . Message } ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
public ContentResult AddBill ( string billno , string billcust , string billcurr , string feesql , string storeCurrExrate , int billtype , bool custgroup = false )
{
var exrateList = JsonConvert . Deserialize < List < ChFeeExrate > > ( storeCurrExrate ) ;
if ( ( exrateList = = null ) | | ( exrateList . Count = = 0 ) )
{
exrateList = ChHexiaoDAL . GetCurrExrateData ( billcust , billcurr , feesql , custgroup ) ;
if ( exrateList . Count = = 0 )
{
var modb = new ModelObjectDB ( ) ;
DBResult result = ChHexiaoDAL . AddBill ( billno , billcust , billcurr , feesql , exrateList , Convert . ToString ( Session [ "COMPANYID" ] ) , custgroup ) ;
if ( result . Success ) { ChHexiaoDAL . p_update_Amount ( billno , billtype ) ; }
var jsonRespose = new JsonResponse { Success = result . Success , Message = result . Message } ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
else
{
var jsonRespose = new JsonResponse { Success = true , Message = "查询成功" , Data = exrateList . ToList ( ) } ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
}
else
{
var modb = new ModelObjectDB ( ) ;
DBResult result = ChHexiaoDAL . AddBill ( billno , billcust , billcurr , feesql , exrateList , Convert . ToString ( Session [ "COMPANYID" ] ) ) ;
if ( result . Success ) { ChHexiaoDAL . p_update_Amount ( billno , billtype ) ; }
var jsonRespose = new JsonResponse { Success = result . Success , Message = result . Message } ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
}
public ContentResult DelBill ( string data , string billno , int billtype )
{
var bodyList = JsonConvert . Deserialize < List < Chfee_do_detail > > ( data ) ;
DBResult result = ChHexiaoDAL . DelFeeDo ( bodyList ) ;
int total = 0 ;
var stllist = ChsettlementDAL . GetDataList ( " HXBILLNO='" + billno + "'" , 0 , 100 , out total , CookieConfig . GetCookie_UserId ( Request ) , CookieConfig . GetCookie_UserCode ( Request ) , Convert . ToString ( Session [ "COMPANYID" ] ) , "" , 0 ) ;
if ( stllist ! = null )
{
foreach ( var enumValue in stllist )
{
ChHexiaoDAL . p_update_Amount ( enumValue . BILLNO , enumValue . BILLTYPE ) ;
}
}
var jsonRespose = new JsonResponse { Success = result . Success , Message = result . Message } ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
/ /
public ContentResult Delete ( string data )
{
var headData = JsonConvert . Deserialize < ChfeeHexiao > ( data ) ;
var result = new DBResult ( ) ;
var modb = new ModelObjectDB ( ) ;
result = modb . Delete ( headData ) ;
MsSysBillNoSetDAL . DeleteBsNo ( headData . BILLNO ) ;
if ( result . Success ) {
int total = 0 ;
var stllist = ChsettlementDAL . GetDataList ( " HXBILLNO='" + headData . BILLNO + "'" , 0 , 100 , out total , CookieConfig . GetCookie_UserId ( Request ) , CookieConfig . GetCookie_UserCode ( Request ) , Convert . ToString ( Session [ "COMPANYID" ] ) , "" , 0 ) ;
if ( stllist ! = null )
{
foreach ( var enumValue in stllist )
{
var dataList = ChsettlementDAL . GetPayDetailList ( enumValue . BILLNO ) ;
if ( dataList . Count ! = 0 )
{
var feedolist = new List < Chfee_do_detail > ( ) ;
result = ChsettlementDAL . DelAppStl ( dataList , enumValue . BILLNO , out feedolist ) ;
}
var dataListbody = ChsettlementDAL . GetBodyList ( "BILLNO='" + enumValue . BILLNO + "'" ) ;
if ( dataListbody . Count ! = 0 )
{
var username = Convert . ToString ( Session [ "SHOWNAME" ] ) ;
//InfoClientLimitHelper.处理结算单更改欠款额度(enumValue.BILLNO, 1, username, 1);
result = ChsettlementDAL . DelFeeDo ( dataListbody ) ;
//if (result.Success) {
// InfoClientLimitHelper.处理结算单更改欠款额度_删除结算明细(enumValue.BILLNO, dataListbody, username);
//}
}
if ( result . Success )
{
var modb2 = new ModelObjectDB ( ) ;
modb2 . Delete ( enumValue ) ;
MsSysBillNoSetDAL . DeleteBsNo ( enumValue . BILLNO ) ;
ChsettlementDAL . DelRemit ( enumValue . BILLNO ) ;
}
}
}
T_ALL_DA T_ALL_DA = new EntityDA . T_ALL_DA ( ) ;
var blUpSQL = " insert into sys_log(GID,NAME,LOGTYPE,LOGTIME,LOGCONTENT,CREATEUSER) values(NEWID(),'" + headData . BILLNO + "','删除核销','" + DateTime . Now . ToString ( "yyyy-MM-dd HH:mm:ss" ) + "','" + headData . BILLNO + '(' + headData . CUSTOMERNAME + ')' + "','" + Convert . ToString ( Session [ "USERID" ] ) + "')" ;
bool bl = T_ALL_DA . GetExecuteSqlCommand ( blUpSQL ) ;
}
var jsonRespose = new JsonResponse { Success = result . Success , Message = result . Message } ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
#region 锁定和撤销锁定
public ContentResult Lock ( string bill , string remark )
{
DBResult result = ChHexiaoDAL . Lock ( bill , remark ) ;
var json = JsonConvert . Serialize ( result ) ;
return new ContentResult ( ) { Content = json } ;
}
public ContentResult UnLock ( string bill )
{
DBResult result = ChHexiaoDAL . UnLock ( bill ) ;
var json = JsonConvert . Serialize ( result ) ;
return new ContentResult ( ) { Content = json } ;
}
public ContentResult LockList ( string bills )
{
DBResult result = ChHexiaoDAL . LockList ( bills ) ;
var json = JsonConvert . Serialize ( result ) ;
return new ContentResult ( ) { Content = json } ;
}
public ContentResult UnLockList ( string bills )
{
DBResult result = ChHexiaoDAL . UnLockList ( bills ) ;
var json = JsonConvert . Serialize ( result ) ;
return new ContentResult ( ) { Content = json } ;
}
# endregion
public ContentResult GetDefaulExrate ( string billno , string curr )
{
T_ALL_DA T_ALL_DA = new EntityDA . T_ALL_DA ( ) ;
var EXCHANGERATE = T_ALL_DA . GetStrSQL ( "EXCHANGERATE" , "select top 1 EXCHANGERATE FROM CH_FEE WHERE CURRENCY='" + curr + "' AND GID IN (SELECT FEEID FROM CH_FEE_DO WHERE BILLNO='" + billno + "')" ) ;
var jsonRespose = new JsonResponse { Success = true , Message = "" , Data = EXCHANGERATE } ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
#region 自动核销冲抵费用
public ContentResult AutoHeXiaoCD ( string data )
{
var bodyList = JsonConvert . Deserialize < List < Chfee_do_detail > > ( data ) ;
if ( bodyList ! = null & & bodyList . Count > 0 ) {
var billnoset = MsSysBillNoSetDAL . GetData ( "OPLBNAME='业务核销'" , Convert . ToString ( Session [ "COMPANYID" ] ) ) ;
var crbillnoset = MsSysBillNoSetDAL . GetData ( "OPLBNAME='付费结算'" , Convert . ToString ( Session [ "COMPANYID" ] ) ) ;
var drbillnoset = MsSysBillNoSetDAL . GetData ( "OPLBNAME='收费结算'" , Convert . ToString ( Session [ "COMPANYID" ] ) ) ;
foreach ( var enumValue in bodyList )
{
var feesql = " f.FEESTATUS=0 and f.SETTLEMENT=0 and f.ORDERAMOUNT=0 and f.ORDERINVOICE=0 AND ISNULL(F.INVOICE,0)=0 AND F.AMOUNT<>0 "
+ " and f.FEETYPE=" + enumValue . FEETYPE + " AND F.CUSTOMERNAME='" + enumValue . CUSTNAME + "' AND F.CURRENCY='" + enumValue . CURRENCY + "' "
+ " and f.BSNO IN (SELECT BSNO FROM V_OP_BILL WHERE PARENTID='" + enumValue . PARENTID + "' AND PARENTID IN (SELECT PARENTID FROM V_CD_FEELIST)) " ;
var FeeList = ChsettlementDAL . GetFeeDetailList ( feesql , CookieConfig . GetCookie_UserId ( Request ) , Convert . ToString ( Session [ "SHOWNAME" ] ) , Convert . ToString ( Session [ "COMPANYID" ] ) ) ;
if ( FeeList . Count ! = 0 ) {
var HEXIAOBILLNO = "" ;
if ( billnoset . BILLTYPE ! = "" )
HEXIAOBILLNO = MsSysBillNoSetDAL . GetBillNo ( billnoset , DateTime . Now . ToString ( "yyyy-MM-dd" ) , DateTime . Now . ToString ( "yyyy-MM-dd" ) ) ;
else
HEXIAOBILLNO = PubSysDAL . GetBillNo ( "0612" ) ;
var BILLNO = "" ;
if ( enumValue . FEETYPE = = 1 )
{
if ( drbillnoset . BILLTYPE ! = "" )
BILLNO = MsSysBillNoSetDAL . GetBillNo ( drbillnoset , DateTime . Now . ToString ( "yyyy-MM-dd" ) , DateTime . Now . ToString ( "yyyy-MM-dd" ) ) ;
else BILLNO = PubSysDAL . GetBillNo ( "0305" ) ;
}
else {
if ( crbillnoset . BILLTYPE ! = "" )
BILLNO = MsSysBillNoSetDAL . GetBillNo ( crbillnoset , DateTime . Now . ToString ( "yyyy-MM-dd" ) , DateTime . Now . ToString ( "yyyy-MM-dd" ) ) ;
else
BILLNO = PubSysDAL . GetBillNo ( "0304" ) ;
}
var feedolist = new List < ch_fee_do_md > ( ) ;
DBResult result = ChsettlementDAL . AddBill ( BILLNO , enumValue . CUSTNAME , enumValue . CURRENCY , feesql , null , out feedolist , Convert . ToString ( Session [ "USERID" ] ) , CookieConfig . GetCookie_UserCode ( Request ) , Convert . ToString ( Session [ "COMPANYID" ] ) , false ) ;
if ( result . Success )
{
ChsettlementDAL . Set_BS_CUSTOMERNAME ( BILLNO ) ;
}
if ( result . Success )
{
var ChStl = new ChSettlement ( ) ;
// enumValue = headData;
ChStl . GID = Guid . NewGuid ( ) . ToString ( ) ;
ChStl . BILLDATE = DateTime . Now ;
ChStl . CREATETIME = DateTime . Now . ToString ( "yyyy-MM-dd hh:mm:ss" ) ;
ChStl . CREATEUSER = CookieConfig . GetCookie_UserId ( Request ) ;
ChStl . BILLNO = BILLNO ;
ChStl . BILLTYPE = enumValue . FEETYPE ;
ChStl . CUSTOMERNAME = enumValue . CUSTNAME ;
ChStl . SETTLETIME = DateTime . Now . ToString ( "yyyy-MM-dd hh:mm:ss" ) ;
ChStl . SETTLEUSER = CookieConfig . GetCookie_UserId ( Request ) ;
ChStl . CURR = enumValue . CURRENCY ;
ChStl . SETTLETYPE = 8 ;
ChStl . ACCOUNTRMB = "" ;
ChStl . ACCOUNTUSD = "" ;
ChStl . COMPANYID = Convert . ToString ( Session [ "COMPANYID" ] ) ;
ChStl . HXBILLNO = HEXIAOBILLNO ;
if ( ChStl . CURR = = "RMB" )
{
ChStl . AMOUNTRMB = 0 ;
ChStl . AMOUNTUSD = 0 ;
}
else
{
ChStl . AMOUNTUSD = 0 ;
ChStl . ACCOUNTRMB = "" ;
ChStl . AMOUNTRMB = 0 ;
}
if ( ChStl . REMITTANCEAMOUNT = = "" ) ChStl . REMITTANCEAMOUNT = "0" ;
if ( ChStl . BUYRATE = = "" ) ChStl . BUYRATE = "0" ;
if ( ChStl . SELLRATE = = "" ) ChStl . SELLRATE = "0" ;
if ( ChStl . SETTLRATE = = "" ) ChStl . SETTLRATE = "0" ;
ChStl . ACCOUNTS_CURRENCY = ChStl . CURR ; / /
ChStl . DbOperationType = DbOperationType . DbotIns ;
var modbbody = new ModelObjectDB ( ) ;
result = modbbody . Save ( ChStl ) ;
ChsettlementDAL . p_update_Amount ( BILLNO , enumValue . FEETYPE ) ;
var headData = new ChfeeHexiao ( ) ;
headData . GID = Guid . NewGuid ( ) . ToString ( ) ;
headData . BILLNO = HEXIAOBILLNO ;
headData . COMPANYID = Convert . ToString ( Session [ "COMPANYID" ] ) ;
headData . DbOperationType = DbOperationType . DbotIns ;
headData . CREATEUSER = CookieConfig . GetCookie_UserId ( Request ) ;
headData . CREATEUSERREF = Convert . ToString ( Session [ "SHOWNAME" ] ) ;
headData . CREATETIME = DateTime . Now . ToString ( "yyyy-MM-dd hh:mm:ss" ) ;
headData . BILLDATE = DateTime . Now . ToString ( "yyyy-MM-dd hh:mm:ss" ) ;
headData . CUSTOMERNAME = enumValue . CUSTNAME ;
headData . REMARK = "冲抵自动核销" ;
var modb = new ModelObjectDB ( ) ;
result = modb . Save ( headData ) ;
T_ALL_DA T_ALL_DA = new EntityDA . T_ALL_DA ( ) ;
var blUpSQL = " update ch_fee set ISINVOICE=1 where GID IN (SELECT GID FROM CH_FEE F WHERE " + feesql + ")" ;
bool bl = T_ALL_DA . GetExecuteSqlCommand ( blUpSQL ) ;
}
else {
var jsonRespose2 = new JsonResponse { Success = false , Message = "生成核销出错" } ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose2 ) } ;
}
}
}
}
var jsonRespose = new JsonResponse { Success = true , Message = "查询成功" , Data = "" } ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
# endregion
#region 生成接口凭证
public ContentResult onAddCwVouchersJK ( string strGids , string dataDiv , string jsonBody )
{
DBResult result2 = ChHexiaoDAL . GetIsVoucherJK ( strGids ) ;
if ( ! result2 . Success )
{
var jsonRespose2 = new JsonResponse { Success = result2 . Success , Message = result2 . Message , Data = "" } ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose2 ) } ;
}
/ /
var headData = JsonConvert . Deserialize < MsCwVouchersGl3 > ( dataDiv ) ;
List < MsCwVouchersGl4 > bodyList = new List < MsCwVouchersGl4 > ( ) ;
if ( jsonBody ! = null )
{
bodyList = JsonConvert . Deserialize < List < MsCwVouchersGl4 > > ( jsonBody ) ;
}
DBResult result = ChHexiaoDAL . onAddCwVouchersJK ( strGids , headData , bodyList , CookieConfig . GetCookie_UserId ( Request ) , Convert . ToString ( Session [ "SHOWNAME" ] ) , Convert . ToString ( Session [ "COMPANYID" ] ) ) ;
/ /
string sGids = "'" + strGids . Trim ( ) . Replace ( "," , "','" ) + "'" ;
T_ALL_DA T_ALL_DA = new EntityDA . T_ALL_DA ( ) ;
string sVOUNO = T_ALL_DA . GetStrSQL ( "VOUNO" , "select top 1 VOUNO from ch_fee_settlement where gid in (" + sGids + ")" ) ;
/ /
var jsonRespose = new JsonResponse { Success = result . Success , Message = result . Message , Data = sVOUNO } ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
public ContentResult GetIsVoucherJK ( string strGids )
{
DBResult result = ChHexiaoDAL . GetIsVoucherJK ( strGids ) ;
var jsonRespose = new JsonResponse { Success = result . Success , Message = result . Message , Data = "" } ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
public ContentResult GetCodeCurrencyListJK ( string sVOUDATE )
{
var dataList = ChHexiaoDAL . GetCodeCurrencyListJK ( sVOUDATE , Convert . ToString ( Session [ "COMPANYID" ] ) ) ;
var json = JsonConvert . Serialize ( new { Success = true , Message = "查询成功" , totalCount = dataList . Count , data = dataList . ToList ( ) } ) ;
return new ContentResult ( ) { Content = json } ;
}
/// <summary>
/// 是否自动弹出结算接口凭证
/// </summary>
/// <returns></returns>
public ContentResult onIsSettlementsopenJK ( )
{
DBResult result = ChHexiaoDAL . onIsSettlementsopenJK ( ) ;
var jsonRespose = new JsonResponse { Success = result . Success , Message = result . Message , Data = "" } ;
return new ContentResult ( ) { Content = JsonConvert . Serialize ( jsonRespose ) } ;
}
# endregion
}
}