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(); 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(); 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(data); var bodyList = JsonConvert.Deserialize>(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(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>(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>(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>(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(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(); 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>(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(); 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(dataDiv); List bodyList = new List(); if (jsonBody != null) { bodyList = JsonConvert.Deserialize>(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 }; } /// /// 是否自动弹出结算接口凭证 /// /// 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 } }