DS7/DSWeb/Areas/Account/Controllers/Chfee_settlementController.cs

1693 lines
76 KiB
C#

using System;
using System.Linq;
using System.Web.Mvc;
using DSWeb.Areas.Account.DAL.Chfee_Settlement;
using DSWeb.Areas.Import.DAL.CW;
using DSWeb.Areas.Account.Models.Chfee_Payapplication;
using DSWeb.Areas.Account.Models.Chfee_Settlement;
using DSWeb.Areas.Account.Models.Chfee_do_detail;
using DSWeb.Areas.Account.Models.BillChfeeDetail;
using DSWeb.Areas.Import.Models.CWAdvancePayment;
using DSWeb.Areas.Account.Models.Chfee_Invoice;
using DSWeb.Areas.Account.Models.Chfee_Invoicehexiao;
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.Models.ChfeeDetail;
using DSWeb.MvcShipping.Models.MsChDui;
using DSWeb.Areas.Account.Models.Chfee_Bankdata;
namespace DSWeb.Areas.Account.Controllers
{
[JsonRequestBehavior]
public class Chfee_settlementController : Controller
{
//
// GET:
public ActionResult PayIndex()
{
return View();
}
//
// GET: /
public ActionResult PayEdit()
{
return View();
}
public ActionResult PayBLEdit()
{
return View();
}
public ActionResult PayAppEdit()
{
return View();
}
// GET:
public ActionResult RecvIndex()
{
return View();
}
//
// GET: /
public ActionResult RecvEdit()
{
return View();
}
public ActionResult RecvBLEdit()
{
return View();
}
public ActionResult RecvAppEdit()
{
return View();
}
public ActionResult RecvDuiEdit()
{
return View();
}
public ActionResult RecvInvEdit()
{
return View();
}
public ActionResult PayInvEdit()
{
return View();
}
public ActionResult SettementView()
{
return View();
}
public ActionResult RptStlRemitIndex()
{
return View();
}
// GET:
public ActionResult HexiaoIndex()
{
return View();
}
// GET:
public ActionResult HexiaoEdit()
{
return View();
}
public ActionResult StlIndex()
{
return View();
}
public ActionResult BLEdit()
{
return View();
}
public ActionResult BLPayAppEdit()
{
return View();
}
public ActionResult DdIndex()
{
return View();
}
public ActionResult RecvDdEdit()
{
return View();
}
//
// GET
public ContentResult GetDataList(int start, int limit, string sort, string condition,int billtype,string isload="0")
{
int total=0;
string sortStr="";
if (sort != null)
{
sortStr = sort.Replace("SETTLEMODEREF", "SETTLEMODE");
sortStr = sortStr.Replace("SETTLETYPEREF", "SETTLETYPE");
sortStr = sortStr.Replace("ACCOUNTREF", "ACCOUNTRMB");
sortStr = sortStr.Replace("SETTLEUSERREF", "SETTLEUSER");
}
var dataList = ChsettlementDAL.GetDataList(condition, start, limit, out total, CookieConfig.GetCookie_UserId(Request), CookieConfig.GetCookie_UserCode(Request), Convert.ToString(Session["COMPANYID"]), sortStr, billtype, 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, int billtype)
{
var dataListStr = ChsettlementDAL.GetDataListStr(condition, CookieConfig.GetCookie_UserId(Request), CookieConfig.GetCookie_UserCode(Request), Convert.ToString(Session["COMPANYID"]), sort, billtype);
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", data = dataListStr });
return new ContentResult() { Content = json };
}
public ContentResult GetData(string handle, string condition)
{
ChSettlement head = null;
int total = 0;
if (handle == "edit")
{
var list = ChsettlementDAL.GetDataList(condition,0,10,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 ChSettlement();
}
if (handle == "add")
{
head.SETTLEUSER = CookieConfig.GetCookie_UserId(Request);
head.SETTLEUSERREF = Convert.ToString(Session["SHOWNAME"]);
var period = ChMonthCloseDAL.GetData("", Convert.ToString(Session["COMPANYID"]));
if (Convert.ToDateTime(period.FDAY) > DateTime.Now)
{
head.SETTLETIME = period.FDAY;
} else
head.SETTLETIME = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
head.CURR = Convert.ToString(Session["LOCALCURR"]);
head.SETTLETYPE = 7;
head.RATE = 1;
}
var json = JsonConvert.Serialize(
new { Success = true, Message = "查询成功", data = head });
return new ContentResult() { Content = json };
}
public ContentResult GetBillList(string condition,string sort)
{
var dataList = ChsettlementDAL.GetBodyList(condition, sort);
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = dataList.ToList() });
return new ContentResult() { Content = json };
}
public ContentResult GetBillListStr(string condition, string sort)
{
var dataListStr = ChsettlementDAL.GetBodyListStr(condition, sort);
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", data = dataListStr });
return new ContentResult() { Content = json };
}
public ContentResult GetBillListPage(int start, int limit, string condition, string sort)
{
var dataList = ChsettlementDAL.GetBodyList(start, limit, condition, sort);
int count = ChsettlementDAL.getbodyTotalCount(condition, Convert.ToString(Session["USERID"]), CookieConfig.GetCookie_UserCode(Request), Convert.ToString(Session["COMPANYID"]));
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = count, data = dataList.ToList() });
return new ContentResult() { Content = json };
}
public ContentResult GetBillSum(string condition)
{
var dataList = ChsettlementDAL.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, string duino = "")
{
var dataList = ChsettlementDAL.GetFeeDataList(condition,duino, 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 duino = "")
{
var dataList = ChsettlementDAL.GetAddBillList(condition,duino, 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 GetDbBillDataList(int start, int limit, string sort, string condition, int billtype, string duino = "")
{
var dataList = ChsettlementDAL.GetAddDbBillList(condition, duino, 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 duino="")
{
var dataList = ChsettlementDAL.GetFeeDetailList(condition,duino,CookieConfig.GetCookie_UserId(Request), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]), sort);
//var list = dataList.Skip(start).Take(limit);
var json = JsonConvert.Serialize(
new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = dataList.ToList() });
return new ContentResult() { Content = json };
}
public ContentResult GetFeeDdDetailList(string sort, string condition, string duino = "")
{
var dataList = ChsettlementDAL.GetFeeDdDetailList(condition, duino, CookieConfig.GetCookie_UserId(Request), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]), sort);
//var list = dataList.Skip(start).Take(limit);
var json = JsonConvert.Serialize(
new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = dataList.ToList() });
return new ContentResult() { Content = json };
}
public ContentResult GetAddSum(string condition, int billtype)
{
var dataList = ChsettlementDAL.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 accountsdata, string prepaydata, string ahsrdata, string financialdata, string advancedata, int billtype,string prepaychange)
{
if (Convert.ToString(Session["COMPANYID"]).ToString().Trim() == "" || Convert.ToString(Session["USERID"]).ToString().Trim() == "" || Convert.ToString(Session["CODENAME"]).ToString().Trim() == "" || Convert.ToString(Session["SHOWNAME"]).ToString().Trim() == "" || Convert.ToString(Session["DEPTNAME"]).ToString().Trim() == "")
{
var jsonRespose2 = new JsonResponse { Success = false, Message = "登录超时,请退出系统重新登录!" };
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose2) };
}
var headData = JsonConvert.Deserialize<ChSettlement>(data.Replace("}", ",") + accountsdata.Replace("{", "").Replace("}", ",") + prepaydata.Replace("{", "").Replace("}", ",")
+ ahsrdata.Replace("{", "").Replace("}", ",") + financialdata.Replace("{", "").Replace("}", ",") + advancedata.Replace("{", ""));
if (opstatus == "add"&& (headData.BILLNO == "" || headData.BILLNO == "*"))
{
headData.GID = Guid.NewGuid().ToString();
headData.BILLDATE = DateTime.Now;
if (headData.BILLNO == "" || headData.BILLNO == "*")
{
if (billtype == 2)
{
var billnoset = MsSysBillNoSetDAL.GetData("OPLBNAME='付费结算'", Convert.ToString(Session["COMPANYID"]));
if (billnoset.BILLTYPE != "")
headData.BILLNO = MsSysBillNoSetDAL.GetBillNo(billnoset, headData.SETTLETIME.ToString().Trim(), headData.BILLDATE.ToString().Trim());
else
headData.BILLNO = PubSysDAL.GetBillNo("0304");
}
else if (billtype == 1)
{
var billnoset = MsSysBillNoSetDAL.GetData("OPLBNAME='收费结算'", Convert.ToString(Session["COMPANYID"]));
if (billnoset.BILLTYPE != "")
headData.BILLNO = MsSysBillNoSetDAL.GetBillNo(billnoset, headData.SETTLETIME.ToString().Trim(), headData.BILLDATE.ToString().Trim());
else headData.BILLNO = PubSysDAL.GetBillNo("0305");
}
}
headData.COMPANYID = Convert.ToString(Session["COMPANYID"]);
headData.DbOperationType = DbOperationType.DbotIns;
}
else
{
headData.DbOperationType = DbOperationType.DbotUpd;
headData.ModelUIStatus = "E";
//SR2020020600001
var IsAdvancePaymentChanged = ChsettlementDAL.IsAdvancePaymentChanged(headData);
var AdvancePaymentHaveBeenUsed = ChsettlementDAL.AdvancePaymentHaveBeenUsed(headData);
if (AdvancePaymentHaveBeenUsed)
{
if (IsAdvancePaymentChanged)
{
var jsonRespose0 = new JsonResponse
{
Success = false,
Message = "该结算单产生的预收/预付已被引用,不能修改其:结算对象名、币别、金额;",
Data = headData
};
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose0) };
}
}
bool updatepayment = ChsettlementDAL.updatePayment(headData, CookieConfig.GetCookie_UserId(Request), Convert.ToString(Session["COMPANYID"]));
if (!updatepayment)
{
var jsonRespose0 = new JsonResponse
{
Success = false,
Message = "结算单产生的预收/预付时发生错误,请重新执行保存或联系管理员",
Data = headData
};
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose0) };
}
}
var ct = ChsettlementDAL.GetRdCount("GID<>'" + headData.GID + "' AND BILLNO='" + headData.BILLNO + "' ");
if (ct != 0)
{
var jsonRespose0 = new JsonResponse
{
Success = false,
Message = "结算编号重复,不允许保存!",
Data = headData
};
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose0) };
}
var BILLNO = headData.BILLNO;
if (headData.CURR == "RMB")
{
headData.AMOUNTRMB = headData.AMOUNT;
headData.ACCOUNTRMB = headData.ACCOUNT;
headData.AMOUNTUSD = 0;
headData.ACCOUNTUSD = "";
}
else
{
headData.AMOUNTUSD = headData.AMOUNT;
headData.ACCOUNTUSD = headData.ACCOUNT;
headData.ACCOUNTRMB = "";
headData.AMOUNTRMB = 0;
}
if (headData.SETTLETIME == "") headData.SETTLETIME = null;
if (headData.REMITTANCEAMOUNT == "") headData.REMITTANCEAMOUNT = "0";
if (headData.BUYRATE == "") headData.BUYRATE = "0";
if (headData.SELLRATE == "") headData.SELLRATE = "0";
if (headData.SETTLRATE == "") headData.SETTLRATE = "0";
if (headData.ACCOUNTS_CURRENCY ==""|| headData.ACCOUNTS_CURRENCY ==null)
headData.ACCOUNTS_CURRENCY = headData.CURR;//
if (headData.PREPAY_CURRENCY == "" || headData.PREPAY_CURRENCY == null)
headData.PREPAY_CURRENCY = headData.CURR;//
if (headData.AHSR_CURRENCY == "" || headData.AHSR_CURRENCY == null)
headData.AHSR_CURRENCY = headData.CURR;//
if (headData.FINANCIAL_CURRENCY == "" || headData.FINANCIAL_CURRENCY == null)
headData.FINANCIAL_CURRENCY = headData.CURR;//
if (headData.ADVANCE_CURRENCY == "" || headData.ADVANCE_CURRENCY == null)
headData.ADVANCE_CURRENCY = headData.CURR;//
var modb = new ModelObjectDB();
DBResult result = modb.Save(headData);
if ((result.Success) &&(prepaychange == "true")) {
bool updatepayment=ChsettlementDAL.updatePayment(headData, CookieConfig.GetCookie_UserId(Request), Convert.ToString(Session["COMPANYID"]));
if (!updatepayment) { result.Message="已保存成功,但预收付更新时发生错误,请检查预收付单据是否已生成凭证或有其他错误!";}
}
if (result.Success == true) { }
else
{
MsSysBillNoSetDAL.DeleteBsNo(headData.BILLNO);
}
var jsonRespose = new JsonResponse
{
Success = result.Success,
Message = result.Message,
Data = ChsettlementDAL.GetData(" BILLNO='" + BILLNO + "'", CookieConfig.GetCookie_UserId(Request), CookieConfig.GetCookie_UserCode(Request), Convert.ToString(Session["COMPANYID"]))
};
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
public ContentResult SaveDb(string opstatus, string data, string accountsdata, string prepaydata, string ahsrdata, string financialdata, string advancedata, int billtype, string prepaychange)
{
if (Convert.ToString(Session["COMPANYID"]).ToString().Trim() == "" || Convert.ToString(Session["USERID"]).ToString().Trim() == "" || Convert.ToString(Session["CODENAME"]).ToString().Trim() == "" || Convert.ToString(Session["SHOWNAME"]).ToString().Trim() == "" || Convert.ToString(Session["DEPTNAME"]).ToString().Trim() == "")
{
var jsonRespose2 = new JsonResponse { Success = false, Message = "登录超时,请退出系统重新登录!" };
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose2) };
}
var headData = JsonConvert.Deserialize<ChSettlement>(data.Replace("}", ",") + accountsdata.Replace("{", "").Replace("}", ",") + prepaydata.Replace("{", "").Replace("}", ",")
+ ahsrdata.Replace("{", "").Replace("}", ",") + financialdata.Replace("{", "").Replace("}", ",") + advancedata.Replace("{", ""));
if (opstatus == "add" && (headData.BILLNO == "" || headData.BILLNO == "*"))
{
headData.GID = Guid.NewGuid().ToString();
headData.BILLDATE = DateTime.Now;
if (headData.BILLNO == "" || headData.BILLNO == "*")
{
if (billtype == 2)
{
var billnoset = MsSysBillNoSetDAL.GetData("OPLBNAME='付费结算'", Convert.ToString(Session["COMPANYID"]));
if (billnoset.BILLTYPE != "")
headData.BILLNO = MsSysBillNoSetDAL.GetBillNo(billnoset, headData.SETTLETIME.ToString().Trim(), headData.BILLDATE.ToString().Trim());
else
headData.BILLNO = PubSysDAL.GetBillNo("0304");
}
else if (billtype == 1)
{
var billnoset = MsSysBillNoSetDAL.GetData("OPLBNAME='收费结算'", Convert.ToString(Session["COMPANYID"]));
if (billnoset.BILLTYPE != "")
headData.BILLNO = MsSysBillNoSetDAL.GetBillNo(billnoset, headData.SETTLETIME.ToString().Trim(), headData.BILLDATE.ToString().Trim());
else headData.BILLNO = PubSysDAL.GetBillNo("0305");
}
}
headData.COMPANYID = Convert.ToString(Session["COMPANYID"]);
headData.DbOperationType = DbOperationType.DbotIns;
}
else
{
headData.DbOperationType = DbOperationType.DbotUpd;
headData.ModelUIStatus = "E";
//SR2020020600001
var IsAdvancePaymentChanged = ChsettlementDAL.IsAdvancePaymentChanged(headData);
var AdvancePaymentHaveBeenUsed = ChsettlementDAL.AdvancePaymentHaveBeenUsed(headData);
if (AdvancePaymentHaveBeenUsed)
{
if (IsAdvancePaymentChanged)
{
var jsonRespose0 = new JsonResponse
{
Success = false,
Message = "该结算单产生的预收/预付已被引用,不能修改其:结算对象名、币别、金额;",
Data = headData
};
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose0) };
}
}
bool updatepayment = ChsettlementDAL.updatePayment(headData, CookieConfig.GetCookie_UserId(Request), Convert.ToString(Session["COMPANYID"]));
if (!updatepayment)
{
var jsonRespose0 = new JsonResponse
{
Success = false,
Message = "结算单产生的预收/预付时发生错误,请重新执行保存或联系管理员",
Data = headData
};
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose0) };
}
}
var ct = ChsettlementDAL.GetRdCount("GID<>'" + headData.GID + "' AND BILLNO='" + headData.BILLNO + "' ");
if (ct != 0)
{
var jsonRespose0 = new JsonResponse
{
Success = false,
Message = "结算编号重复,不允许保存!",
Data = headData
};
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose0) };
}
var BILLNO = headData.BILLNO;
//if (headData.CURR == "RMB")
//{
// headData.AMOUNTRMB = headData.AMOUNT;
// headData.ACCOUNTRMB = headData.ACCOUNT;
// headData.AMOUNTUSD = 0;
// headData.ACCOUNTUSD = "";
//}
//else
//{
// headData.AMOUNTUSD = headData.AMOUNT;
// headData.ACCOUNTUSD = headData.ACCOUNT;
// headData.ACCOUNTRMB = "";
// headData.AMOUNTRMB = 0;
//}
if (headData.SETTLETIME == "") headData.SETTLETIME = null;
if (headData.REMITTANCEAMOUNT == "") headData.REMITTANCEAMOUNT = "0";
if (headData.BUYRATE == "") headData.BUYRATE = "0";
if (headData.SELLRATE == "") headData.SELLRATE = "0";
if (headData.SETTLRATE == "") headData.SETTLRATE = "0";
if (headData.ACCOUNTS_CURRENCY == "" || headData.ACCOUNTS_CURRENCY == null)
headData.ACCOUNTS_CURRENCY = headData.CURR;//
if (headData.PREPAY_CURRENCY == "" || headData.PREPAY_CURRENCY == null)
headData.PREPAY_CURRENCY = headData.CURR;//
if (headData.AHSR_CURRENCY == "" || headData.AHSR_CURRENCY == null)
headData.AHSR_CURRENCY = headData.CURR;//
if (headData.FINANCIAL_CURRENCY == "" || headData.FINANCIAL_CURRENCY == null)
headData.FINANCIAL_CURRENCY = headData.CURR;//
if (headData.ADVANCE_CURRENCY == "" || headData.ADVANCE_CURRENCY == null)
headData.ADVANCE_CURRENCY = headData.CURR;//
var modb = new ModelObjectDB();
DBResult result = modb.Save(headData);
if ((result.Success) && (prepaychange == "true"))
{
bool updatepayment = ChsettlementDAL.updatePayment(headData, CookieConfig.GetCookie_UserId(Request), Convert.ToString(Session["COMPANYID"]));
if (!updatepayment) { result.Message = "已保存成功,但预收付更新时发生错误,请检查预收付单据是否已生成凭证或有其他错误!"; }
}
if (result.Success == true) { }
else
{
MsSysBillNoSetDAL.DeleteBsNo(headData.BILLNO);
}
var jsonRespose = new JsonResponse
{
Success = result.Success,
Message = result.Message,
Data = ChsettlementDAL.GetData(" BILLNO='" + BILLNO + "'", CookieConfig.GetCookie_UserId(Request), CookieConfig.GetCookie_UserCode(Request), Convert.ToString(Session["COMPANYID"]))
};
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
public ContentResult AddDetail(string bill, string data, string curr,int billtype,string duino="")
{
var bodyList = JsonConvert.Deserialize<List<BillChfeeDetail>>(data);
var isDb = "0";
if (billtype == 3)
{
billtype = 1;
isDb = "1";
}
var modb = new ModelObjectDB();
DBResult result = ChsettlementDAL.AddDetail(bill,duino, bodyList, curr, Convert.ToString(Session["COMPANYID"]), isDb);
if (result.Success) { ChsettlementDAL.p_update_Amount(bill,billtype); }
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
public ContentResult AddDetailStl(string bill, string data, string curr, int billtype,string ShenNo)
{
var bodyList = JsonConvert.Deserialize<List<ChFeeDetail>>(data);
var headdata = ChsettlementDAL.GetData(" BILLNO='" + bill + "'", CookieConfig.GetCookie_UserId(Request), CookieConfig.GetCookie_UserCode(Request), Convert.ToString(Session["COMPANYID"]));
var modb = new ModelObjectDB();
DBResult result = ChsettlementDAL.AddDetailStl(bill, bodyList, curr, Convert.ToString(Session["COMPANYID"]), headdata,ShenNo);
if (result.Success) { ChsettlementDAL.p_update_Amount(bill, billtype); }
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
public ContentResult AddBillStl(string billno, string billcust, string billcurr, string feesql, string storeCurrExrate, int billtype, bool custgroup = false,string ShenNo="")
{
var exrateList = JsonConvert.Deserialize<List<ChFeeExrate>>(storeCurrExrate);
if ((exrateList == null) || (exrateList.Count == 0))
{
var exratestr = feesql;
if (ShenNo != "") exratestr = exratestr + " and f.GID IN (SELECT FEEID FROM CH_FEE_DO WHERE BILLNO='" + ShenNo + "')";
exrateList = ChsettlementDAL.GetCurrExrateData(billcust, billcurr, exratestr, custgroup);
if (exrateList.Count == 0)
{
var modb = new ModelObjectDB();
var headdata = ChsettlementDAL.GetData(" BILLNO='" + billno + "'", CookieConfig.GetCookie_UserId(Request), CookieConfig.GetCookie_UserCode(Request), Convert.ToString(Session["COMPANYID"]));
DBResult result = ChsettlementDAL.AddBillStl(billno, billcust, billcurr, feesql, exrateList, Convert.ToString(Session["COMPANYID"]),headdata,custgroup,ShenNo);
if (result.Success) { ChsettlementDAL.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();
var headdata = ChsettlementDAL.GetData(" BILLNO='" + billno + "'", CookieConfig.GetCookie_UserId(Request), CookieConfig.GetCookie_UserCode(Request), Convert.ToString(Session["COMPANYID"]));
DBResult result = ChsettlementDAL.AddBillStl(billno, billcust, billcurr, feesql, exrateList, Convert.ToString(Session["COMPANYID"]), headdata, custgroup, ShenNo);
if (result.Success) { ChsettlementDAL.p_update_Amount(billno, 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, string duino = "")
{
var exrateList = JsonConvert.Deserialize<List<ChFeeExrate>>(storeCurrExrate);
var isDb = "0";
if (billtype == 3)
{
billtype = 1;
isDb = "1";
}
if ((exrateList == null) || (exrateList.Count == 0))
{
exrateList = ChsettlementDAL.GetCurrExrateData(billcust, billcurr, feesql, custgroup);
if (exrateList.Count == 0)
{
var modb = new ModelObjectDB();
DBResult result = ChsettlementDAL.AddBill(billno,duino, billcust, billcurr, feesql, exrateList, CookieConfig.GetCookie_UserId(Request), CookieConfig.GetCookie_UserCode(Request), Convert.ToString(Session["COMPANYID"]), custgroup, isDb);
if (result.Success) { ChsettlementDAL.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 = ChsettlementDAL.AddBill(billno,duino, billcust, billcurr, feesql, exrateList, CookieConfig.GetCookie_UserId(Request), CookieConfig.GetCookie_UserCode(Request), Convert.ToString(Session["COMPANYID"]),false, isDb);
if (result.Success) { ChsettlementDAL.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 = ChsettlementDAL.DelFeeDo(bodyList);
ChsettlementDAL.p_update_Amount(billno, billtype);
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
//
public ContentResult Delete(string data, int settlemode)
{
var headData = JsonConvert.Deserialize<ChSettlement>(data);
var result = new DBResult();
var period = ChMonthCloseDAL.GetData("", Convert.ToString(Session["COMPANYID"]));
if (Convert.ToDateTime(period.FDAY) > Convert.ToDateTime(headData.SETTLETIME))
{
result.Success = false;
result.Message = "本期已月末结账,无法删除此单据!";
}
else result.Success = true;
T_ALL_DA T_ALL_DA = new T_ALL_DA();
var strCT = T_ALL_DA.GetStrSQL("CT", "select COUNT(*) CT from cw_vouno_bs_gl where BSGID='" + headData.GID + "'");
if (strCT != "0" && strCT != "") {
result.Success = false;
result.Message = "已生成凭证,无法删除此单据!";
}
if (result.Success == true)
{
if (settlemode == 3)
{
var dataList = ChsettlementDAL.GetPayInvDetailList(headData.BILLNO);
result = ChsettlementDAL.DelPayInvAppStl(dataList, headData.BILLNO);
}
else
{
var dataList = ChsettlementDAL.GetPayDetailList(headData.BILLNO);
result = ChsettlementDAL.DelAppStl(dataList, headData.BILLNO);
}
var dataList2 = ChsettlementDAL.GetBodyList("BILLNO='" + headData.BILLNO + "'");
result = ChsettlementDAL.DelFeeDo(dataList2);
}
if (result.Success == true) {
var APDList = CWAdvancePaymentDAL.GetBodyList2(" SETTLEBILLNO='"+headData.BILLNO+"'");
result = ChsettlementDAL.DelPaymentDo(APDList);
}
if (result.Success == true)
{
var modb = new ModelObjectDB();
modb.Delete(headData);
MsSysBillNoSetDAL.DeleteBsNo(headData.BILLNO);
ChsettlementDAL.DelRemit(headData.BILLNO);
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) };
}
public ContentResult DeleteRecv(string data, int settlemode)
{
var headData = JsonConvert.Deserialize<ChSettlement>(data);
var result = new DBResult();
var period = ChMonthCloseDAL.GetData("", Convert.ToString(Session["COMPANYID"]));
if (Convert.ToDateTime(period.FDAY) > Convert.ToDateTime(headData.SETTLETIME))
{
result.Success = false;
result.Message = "本期已月末结账,无法删除此单据!";
}
else result.Success = true;
T_ALL_DA T_ALL_DA = new T_ALL_DA();
var strCT = T_ALL_DA.GetStrSQL("CT", "select COUNT(*) CT from cw_vouno_bs_gl where BSGID='" + headData.GID + "'");
if (strCT != "0" && strCT != "")
{
result.Success = false;
result.Message = "已生成凭证,无法删除此单据!";
}
if (result.Success == true)
{
if (settlemode == 1)
{
var dataList = ChsettlementDAL.GetRecvDetailList(headData.BILLNO);
result = ChsettlementDAL.DelRecvAppStl(dataList, headData.BILLNO);
}
else if (settlemode == 3)
{
var dataList = ChsettlementDAL.GetRecvInvDetailList(headData.BILLNO);
result = ChsettlementDAL.DelRecvInvAppStl(dataList, headData.BILLNO);
}
else
{
var dataList = ChsettlementDAL.GetBodyList("BILLNO='" + headData.BILLNO + "'");
result = ChsettlementDAL.DelFeeDo(dataList);
}
}
if (result.Success == true)
{
var APDList = CWAdvancePaymentDAL.GetBodyList2(" SETTLEBILLNO='" + headData.BILLNO + "'");
result = ChsettlementDAL.DelPaymentDo(APDList);
}
if (result.Success == true)
{
var modb = new ModelObjectDB();
modb.Delete(headData);
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 = ChsettlementDAL.Lock(bill,remark);
var json = JsonConvert.Serialize(result);
return new ContentResult() { Content = json };
}
public ContentResult UnLock(string bill)
{
var result = new DBResult();
T_ALL_DA T_ALL_DA = new T_ALL_DA();
var strCT = T_ALL_DA.GetStrSQL("CT", "select COUNT(*) CT from cw_vouno_bs_gl where BSGID in (SELECT GID FROM ch_fee_settlement WHERE BILLNO='" + bill + "')");
if (strCT != "0" && strCT != "")
{
result.Success = false;
result.Message = "已生成凭证,无法解锁此单据!";
}
var strCT2 = T_ALL_DA.GetStrSQL("CT", "select COUNT(*) CT from op_sale_tc where BSNO in (SELECT BSNO FROM ch_fee_do WHERE BILLNO='" + bill + "')");
if (strCT2 != "0" && strCT2 != "")
{
result.Success = false;
result.Message = "相关业务已发放提成,无法解锁此单据!";
}
result = ChsettlementDAL.UnLock(bill);
var json = JsonConvert.Serialize(result);
return new ContentResult() { Content = json };
}
public ContentResult LockList(string bills)
{
DBResult result = ChsettlementDAL.LockList(bills);
var json = JsonConvert.Serialize(result);
return new ContentResult() { Content = json };
}
public ContentResult UnLockList(string bills)
{
DBResult result = ChsettlementDAL.UnLockList(bills);
var json = JsonConvert.Serialize(result);
return new ContentResult() { Content = json };
}
#endregion
#region 付费申请结算
public ContentResult GetPayList(int start, int limit, string sort, string condition)
{
var dataList = ChsettlementDAL.GetPayDataList(condition,CookieConfig.GetCookie_UserId(Request), 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 GetPayDCList(int start, int limit, string sort, string condition)
{
var dataList = ChsettlementDAL.GetPayDCDataList(condition, CookieConfig.GetCookie_UserId(Request), 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 GetPaydetailList(string billno)
{
var dataList = ChsettlementDAL.GetPayDetailList(billno);
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = dataList.ToList() });
return new ContentResult() { Content = json };
}
public ContentResult GetAppBodyList(string condition, string sort)
{
var dataList = ChsettlementDAL.GetAppBodyList(condition,sort);
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = dataList.ToList() });
return new ContentResult() { Content = json };
}
public ContentResult AddAppDetail(string bill, string data, string curr, int billtype)
{
var bodyList = JsonConvert.Deserialize<List<ChPaySettlement>>(data);
var modb = new ModelObjectDB();
DBResult result = ChsettlementDAL.AddAppDetail(bill, bodyList, curr, Convert.ToString(Session["COMPANYID"]));
if (result.Success) { ChsettlementDAL.p_update_Amount(bill, billtype); }
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
public ContentResult AddAppDCDetail(string bill, string data, string curr, string storeCurrExrate, int billtype, string addcurr)
{
var exrateList = JsonConvert.Deserialize<List<ChFeeExrate>>(storeCurrExrate);
var bodyList = JsonConvert.Deserialize<List<ChPaySettlement>>(data);
var isAuditExrate = false;
var PAYAUDITEXRATE = MsSysParamSetDAL.GetData("PARAMNAME='PAYAUDITEXRATE'");
if (PAYAUDITEXRATE.PARAMVALUE == "1") isAuditExrate = true;
if (((exrateList == null) || (exrateList.Count == 0)) && (addcurr !=curr))
{
exrateList = ChsettlementDAL.GetAppCurrExrateData(bodyList, curr, addcurr, isAuditExrate);
if (exrateList.Count == 0)
{
var modb = new ModelObjectDB();
DBResult result = ChsettlementDAL.AddAppDCDetail(bill, bodyList, curr, Convert.ToString(Session["COMPANYID"]), addcurr, exrateList, isAuditExrate);
if (result.Success) { ChsettlementDAL.p_update_Amount(bill, billtype); }
if (isAuditExrate)
{
decimal stlamount = 0;
decimal stlrate = 0;
string stlcurr = "";
if (bodyList != null)
{
foreach (var enumValue in bodyList)
{
stlamount = stlamount + enumValue.AUDITSTLAMOUNT;
stlcurr = enumValue.AUDITSTLCURR;
stlrate = enumValue.AUDITSTLRATE;
}
}
if (stlamount != 0)
{
T_ALL_DA T_ALL_DA = new EntityDA.T_ALL_DA();
if (stlamount > 0)
{
var blUpSQL1 = " update ch_fee_settlement set AHSR_CURRENCY='" + stlcurr + "',AHSR_RATE=" + stlrate.ToString() + ",AHSR_MONEY=" + stlamount.ToString() + ",FINANCIAL_MONEY=ACCOUNTS_MONEY-" + stlamount.ToString() + " where BILLNO='" + bill + "' ";
bool bl1 = T_ALL_DA.GetExecuteSqlCommand(blUpSQL1);
}
else
{
var blUpSQL1 = " update ch_fee_settlement set AHSR_CURRENCY='" + stlcurr + "',AHSR_RATE=" + stlrate.ToString() + ",AHSR_MONEY=" + stlamount.ToString() + ",FINANCIAL_MONEY=ACCOUNTS_MONEY+" + Math.Abs(stlamount).ToString() + " where BILLNO='" + bill + "' ";
bool bl1 = T_ALL_DA.GetExecuteSqlCommand(blUpSQL1);
}
}
}
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 = ChsettlementDAL.AddAppDCDetail(bill, bodyList, curr, Convert.ToString(Session["COMPANYID"]), addcurr, exrateList, isAuditExrate);
if (result.Success) { ChsettlementDAL.p_update_Amount(bill, billtype); }
if (isAuditExrate)
{
decimal stlamount = 0;
decimal stlrate = 0;
string stlcurr = "";
if (bodyList != null)
{
foreach (var enumValue in bodyList)
{
stlamount = stlamount + enumValue.AUDITSTLAMOUNT;
stlcurr = enumValue.AUDITSTLCURR;
stlrate = enumValue.AUDITSTLRATE;
}
}
if (stlamount != 0)
{
T_ALL_DA T_ALL_DA = new EntityDA.T_ALL_DA();
if (stlamount > 0)
{
var blUpSQL1 = " update ch_fee_settlement set AHSR_CURRENCY='" + stlcurr + "',AHSR_RATE=" + stlrate.ToString() + ",AHSR_MONEY=" + stlamount.ToString() + ",FINANCIAL_MONEY=ACCOUNTS_MONEY-" + stlamount.ToString() + " where BILLNO='" + bill + "' ";
bool bl1 = T_ALL_DA.GetExecuteSqlCommand(blUpSQL1);
}
else
{
var blUpSQL1 = " update ch_fee_settlement set AHSR_CURRENCY='" + stlcurr + "',AHSR_RATE=" + stlrate.ToString() + ",AHSR_MONEY=" + stlamount.ToString() + ",FINANCIAL_MONEY=ACCOUNTS_MONEY+" + Math.Abs(stlamount).ToString() + " where BILLNO='" + bill + "' ";
bool bl1 = T_ALL_DA.GetExecuteSqlCommand(blUpSQL1);
}
}
}
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
}
public ContentResult DelAppBill(string data, string billno, int billtype)
{
var bodyList = JsonConvert.Deserialize<List<ChPaySettlement>>(data);
DBResult result = ChsettlementDAL.DelAppStl(bodyList,billno);
if (result.Success) { ChsettlementDAL.p_update_Amount(billno, billtype); }
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
#endregion
#region 收费申请结算
public ContentResult GetRecvList(int start, int limit, string sort, string condition)
{
var dataList = ChsettlementDAL.GetRecvDataList(condition, CookieConfig.GetCookie_UserId(Request), 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 GetRecvDCList(int start, int limit, string sort, string condition)
{
var dataList = ChsettlementDAL.GetRecvDCDataList(condition, CookieConfig.GetCookie_UserId(Request), 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 GetRecvdetailList(string billno)
{
var dataList = ChsettlementDAL.GetRecvDetailList(billno);
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = dataList.ToList() });
return new ContentResult() { Content = json };
}
public ContentResult AddRecvAppDetail(string bill, string data, string curr, int billtype)
{
var bodyList = JsonConvert.Deserialize<List<ChPaySettlement>>(data);
var modb = new ModelObjectDB();
DBResult result = ChsettlementDAL.RecvAddAppDetail(bill, bodyList, curr, Convert.ToString(Session["COMPANYID"]));
if (result.Success) {
ChsettlementDAL.p_update_Amount(bill, billtype);
}
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
public ContentResult AddRecvAppDCDetail(string bill, string data, string curr, string storeCurrExrate, int billtype, string addcurr)
{
var exrateList = JsonConvert.Deserialize<List<ChFeeExrate>>(storeCurrExrate);
var bodyList = JsonConvert.Deserialize<List<ChPaySettlement>>(data);
if (((exrateList == null) || (exrateList.Count == 0))&& (addcurr != curr))
{
exrateList = ChsettlementDAL.GetAppCurrExrateData(bodyList, curr, addcurr);
if (exrateList.Count == 0)
{
var modb = new ModelObjectDB();
DBResult result = ChsettlementDAL.AddRecvAppDCDetail(bill, bodyList, curr, Convert.ToString(Session["COMPANYID"]), addcurr, exrateList);
if (result.Success) { ChsettlementDAL.p_update_Amount(bill, 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 = ChsettlementDAL.AddRecvAppDCDetail(bill, bodyList, curr, Convert.ToString(Session["COMPANYID"]), addcurr, exrateList);
if (result.Success) { ChsettlementDAL.p_update_Amount(bill, billtype); }
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
}
public ContentResult DelRecvAppBill(string data, string billno, int billtype)
{
var bodyList = JsonConvert.Deserialize<List<ChPaySettlement>>(data);
DBResult result = ChsettlementDAL.DelRecvAppStl(bodyList, billno);
if (result.Success) {
ChsettlementDAL.p_update_Amount(billno, billtype);
}
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
#endregion
#region 付费发票结算
public ContentResult GetPayInvList(int start, int limit, string sort, string condition)
{
var dataList = ChsettlementDAL.GetPayInvDataList(condition, CookieConfig.GetCookie_UserId(Request), 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 GetPayInvdetailList(string billno)
{
var dataList = ChsettlementDAL.GetPayInvDetailList(billno);
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = dataList.ToList() });
return new ContentResult() { Content = json };
}
public ContentResult AddPayInvAppDetail(string bill, string data, string curr, int billtype)
{
var bodyList = JsonConvert.Deserialize<List<ChInvoicehexiao>>(data);
var modb = new ModelObjectDB();
DBResult result = ChsettlementDAL.PayInvAddAppDetail(bill, bodyList, curr, Convert.ToString(Session["COMPANYID"]));
if (result.Success)
{
ChsettlementDAL.p_update_Amount(bill, billtype);
}
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
public ContentResult DelPayInvAppBill(string data, string billno, int billtype)
{
var bodyList = JsonConvert.Deserialize<List<ChInvoicehexiao>>(data);
DBResult result = ChsettlementDAL.DelPayInvAppStl(bodyList, billno);
if (result.Success)
{
ChsettlementDAL.p_update_Amount(billno, billtype);
}
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
#endregion
#region 收费发票结算
public ContentResult GetRecvInvList(int start, int limit, string sort, string condition)
{
var dataList = ChsettlementDAL.GetRecvInvDataList(condition, CookieConfig.GetCookie_UserId(Request), 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 GetRecvInvdetailList(string billno)
{
var dataList = ChsettlementDAL.GetRecvInvDetailList(billno);
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = dataList.ToList() });
return new ContentResult() { Content = json };
}
public ContentResult AddRecvInvAppDetail(string bill, string data, string curr, string storeCurrExrate, int billtype)
{
var bodyList = JsonConvert.Deserialize<List<ChInvoice>>(data);
var exrateList = JsonConvert.Deserialize<List<ChFeeExrate>>(storeCurrExrate);
var result = new DBResult();
if (((exrateList == null) || (exrateList.Count == 0)))
{
exrateList = ChsettlementDAL.GetInvCurrExrateData(bodyList, curr);
if (exrateList.Count == 0)
{
var modb = new ModelObjectDB();
var STLINVPART = MsSysParamSetDAL.GetData("PARAMNAME='STLINVPART'");
if (STLINVPART.PARAMVALUE == "1")
{
result = ChsettlementDAL.NewRecvInvAddAppDetail(bill, bodyList, curr, Convert.ToString(Session["COMPANYID"]), exrateList);
} else result = ChsettlementDAL.RecvInvAddAppDetail(bill, bodyList, curr, Convert.ToString(Session["COMPANYID"]), exrateList);
if (result.Success)
{
ChsettlementDAL.p_update_Amount(bill, 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();
var STLINVPART = MsSysParamSetDAL.GetData("PARAMNAME='STLINVPART'");
if (STLINVPART.PARAMVALUE == "1")
{
result = ChsettlementDAL.NewRecvInvAddAppDetail(bill, bodyList, curr, Convert.ToString(Session["COMPANYID"]), exrateList);
} else result = ChsettlementDAL.RecvInvAddAppDetail(bill, bodyList, curr, Convert.ToString(Session["COMPANYID"]), exrateList);
if (result.Success)
{
ChsettlementDAL.p_update_Amount(bill, billtype);
}
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
}
public ContentResult DelRecvInvAppBill(string data, string billno, int billtype)
{
var bodyList = JsonConvert.Deserialize<List<ChInvoice>>(data);
DBResult result = ChsettlementDAL.DelRecvInvAppStl(bodyList, billno);
if (result.Success)
{
ChsettlementDAL.p_update_Amount(billno, billtype);
}
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
public ContentResult BankDataStl(string data)
{
var bodyList = JsonConvert.Deserialize<List<ChBankdata>>(data);
DBResult result = ChsettlementDAL.BankDataStl(bodyList, CookieConfig.GetCookie_UserId(Request), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]));
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
#endregion
#region 对帐结算
public ContentResult GetRecvDuiDataList(int start, int limit, string sort, string condition)
{
var dataList = ChsettlementDAL.GetRecvDuiDataList(start, limit, condition, Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), CookieConfig.GetCookie_OrgCode(Request), sort);
int count = ChsettlementDAL.getDuiTotalCount(condition, Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), CookieConfig.GetCookie_OrgCode(Request));
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = count, data = dataList.ToList() });
return new ContentResult() { Content = json };
}
public ContentResult AddDui(string bill, string data, string curr, string storeCurrExrate, int billtype)
{
var exrateList = JsonConvert.Deserialize<List<ChFeeExrate>>(storeCurrExrate);
var bodyList = JsonConvert.Deserialize<List<ChDui>>(data);
if (((exrateList == null) || (exrateList.Count == 0)))
{
exrateList = ChsettlementDAL.GetDuiCurrExrateData(bodyList, curr);
if (exrateList.Count == 0)
{
var modb = new ModelObjectDB();
DBResult result = ChsettlementDAL.AddDuiDetail(bill, bodyList, curr, Convert.ToString(Session["COMPANYID"]), exrateList);
if (result.Success) { ChsettlementDAL.p_update_Amount(bill, 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 = ChsettlementDAL.AddDuiDetail(bill, bodyList, curr, Convert.ToString(Session["COMPANYID"]), exrateList);
if (result.Success) { ChsettlementDAL.p_update_Amount(bill, billtype); }
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
}
#endregion
#region 预收预付
public ContentResult GetAdvancePayment(int start, int limit, string sort, string condition)
{
var dataList = ChsettlementDAL.GetAPDataList(condition);
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 GetAPBodyList(string condition)
{
var dataList = ChsettlementDAL.GetAPBodyList(condition);
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = dataList.ToList() });
return new ContentResult() { Content = json };
}
public ContentResult AddAPDetail(string billno, string data, string stlnogid, int feetype)
{
var bodyList = JsonConvert.Deserialize<List<CWAdvancePayment>>(data);
var modb = new ModelObjectDB();
DBResult result = ChsettlementDAL.AddAPDetail(billno, bodyList, stlnogid, feetype, CookieConfig.GetCookie_UserId(Request), Convert.ToString(Session["COMPANYID"]));
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
public ContentResult DelAPBill(string data)
{
var bodyList = JsonConvert.Deserialize<List<CWAdvancePaymentBody>>(data);
DBResult result = ChsettlementDAL.DelPaymentDo(bodyList);
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
#endregion
#region 汇兑损益
public ContentResult GetRemitList(string condition, string sort, string printstr)
{
if ((!string.IsNullOrEmpty(printstr)) && (printstr == "true"))
{
var strSql = new StringBuilder();
strSql.Append("SELECT r.GID,r.BILLNO,r.BSNO,r.CUSTNO,r.MBLNO,r.HBLNO,r.CUSTOMERNAME,r.SALE");
strSql.Append(",r.REMITTANCE,r.REMITTANCEAMOUNT,r.BUYRATE,r.SELLRATE,r.SETTLRATE,r.FEEID,r.FEENAME");
strSql.Append(",r.CURRENCY,r.AMOUNT,r.BILLSTATUS,r.REMARK,r.CREATETIME,r.COMPANYID,r.FEETYPE");
strSql.Append(",CASE r.FEETYPE WHEN 1 THEN '收' ELSE '付' END FEETYPEREF,s.SETTLETIME,s.CUSTOMERNAME CUSTNAME ");
strSql.Append(" from ch_fee_settlement_remittance r left join ch_fee_settlement s on (s.BILLNO=r.BILLNO) ");
if (!string.IsNullOrEmpty(condition))
{
strSql.Append(" WHERE " + condition);
}
var sortstring = DatasetSort.Getsortstring(sort);
if (!string.IsNullOrEmpty(sortstring))
{
strSql.Append(" order by " + sortstring);
}
else
{
strSql.Append(" order by r.BILLNO,r.CUSTNO ");
}
var jsonRespose = new JsonResponse
{
Success = true,
Message = "完成",
Data = strSql.ToString()
};
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
else
{
var dataList = ChsettlementDAL.GetRemitList(condition, sort);
var json = JsonConvert.Serialize(
new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = dataList.ToList() });
return new ContentResult() { Content = json };
}
}
public ContentResult DeleteRemit(string data)
{
var headData = JsonConvert.Deserialize < List<ChSettlement_remittance>>(data);
DBResult result;
var billno = "";
if (headData != null)
{
foreach (var enumValue in headData)
{
var modb = new ModelObjectDB();
result = modb.Delete(enumValue);
billno = enumValue.BILLNO;
}
}
ChsettlementDAL.p_update_Remit(billno);
var jsonRespose = new JsonResponse { Success =true, Message ="删除成功!" };
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
public ContentResult SaveRemit(string billno,string body)
{
var chfeeBodyList = JsonConvert.Deserialize<List<ChSettlement_remittance>>(body);
var chfeeDelBodyList = JsonConvert.Deserialize<List<ChSettlement_remittance>>("");
var modb = new ModelObjectRepository();
DBResult result = modb.SaveComm("BILLNO", billno,
ModelObjectConvert<ChSettlement_remittance>.ToModelObjectList(chfeeBodyList),
ModelObjectConvert<ChSettlement_remittance>.ToModelObjectList(chfeeDelBodyList)
);
if (result.Success) { ChsettlementDAL.p_update_Remit(billno); }
//刷新父窗口上的父节点
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
public ContentResult UpdateNotVou(string data, bool isnot)
{
var headList = JsonConvert.Deserialize<List<ChSettlement>>(data);
var result = ChsettlementDAL.UpdateNotVou(headList, isnot);
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
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 参照部分
#endregion
#region 生成总账凭证
public ContentResult GetCodeCurrencyList(string strGids)
{
var dataList = ChsettlementDAL.GetCodeCurrencyList(strGids, Convert.ToString(Session["COMPANYID"]), CookieConfig.GetCookie_UserId(Request));
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = dataList.ToList() });
return new ContentResult() { Content = json };
}
public ContentResult onAddCwVouchers(string strGids, string dataDiv, string jsonBody)
{
var headData = JsonConvert.Deserialize<MsCwVouchersGl3>(dataDiv);
List<MsCwVouchersGl4> bodyList = new List<MsCwVouchersGl4>();
if (jsonBody != null)
{
bodyList = JsonConvert.Deserialize<List<MsCwVouchersGl4>>(jsonBody);
}
if (bodyList == null && headData.ISRATE == false)
{
headData.ISRATE = true;
}
//
DBResult result2 = ChsettlementDAL.GetIsVoucher(strGids, CookieConfig.GetCookie_UserId(Request));
if (!result2.Success)
{
var jsonRespose2 = new JsonResponse { Success = result2.Success, Message = result2.Message, Data = "" };
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose2) };
}
//
DBResult result = ChsettlementDAL.onAddCwVouchers(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 strCwSTARTGID = BasicDataRefDAL.GetCwSTARTGID(CookieConfig.GetCookie_UserId(Request));
string sVOUCHERNO = T_ALL_DA.GetStrSQL("ORDNO", "select top 1 ORDNO from cw_vouno_bs_gl where bsgid in (" + sGids + ") and STARTGID='" + strCwSTARTGID + "'");
//
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, Data = sVOUCHERNO };
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
public ContentResult GetIsVoucher(string strGids)
{
DBResult result = ChsettlementDAL.GetIsVoucher(strGids, CookieConfig.GetCookie_UserId(Request));
var jsonRespose = new JsonResponse{ Success = result.Success, Message = result.Message, Data = "" };
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
/// <summary>
/// 是否自动弹出结算总账凭证
/// </summary>
/// <returns></returns>
public ContentResult onIsSettlementsopen()
{
DBResult result = ChsettlementDAL.onIsSettlementsopen(CookieConfig.GetCookie_UserId(Request));
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, Data = "" };
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
#endregion
#region 生成接口凭证
public ContentResult onAddCwVouchersJK(string strGids, string dataDiv, string jsonBody)
{
DBResult result2 = ChsettlementDAL.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);
DBResult result = ChsettlementDAL.onAddCwVouchersJK(strGids, headData, 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 = ChsettlementDAL.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 = ChsettlementDAL.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 = ChsettlementDAL.onIsSettlementsopenJK();
var jsonRespose = new JsonResponse{ Success = result.Success, Message = result.Message, Data = "" };
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
#endregion
}
}