You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
DS7/DSWeb/Areas/Account/Controllers/Chfee_hexiaoController.cs

827 lines
39 KiB
C#

2 years ago
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;
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)
{
result = ChsettlementDAL.DelAppStl(dataList, enumValue.BILLNO);
}
var dataListbody = ChsettlementDAL.GetBodyList("BILLNO='" + enumValue.BILLNO + "'");
if (dataListbody.Count != 0)
{
result =ChsettlementDAL.DelFeeDo(dataListbody);
}
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");
}
DBResult result = ChsettlementDAL.AddBill(BILLNO, enumValue.CUSTNAME, enumValue.CURRENCY, feesql,null, Convert.ToString(Session["USERID"]), CookieConfig.GetCookie_UserCode(Request), Convert.ToString(Session["COMPANYID"]),false);
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
}
}