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.

698 lines
28 KiB
C#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using System;
using System.Linq;
using System.Web.Mvc;
using DSWeb.Areas.Account.DAL.Chfee_Invoicehexiao;
using DSWeb.Areas.Account.Models.Chfee_Invoicehexiao;
using DSWeb.Areas.Account.Models.Chfee_do_detail;
using DSWeb.Areas.Account.Models.ChfeeDetail;
using DSWeb.Areas.Account.Models.MsOpBill;
using DSWeb.MvcShipping.Helper;
using DSWeb.MvcShipping.Comm.Cookie;
using DSWeb.Areas.CommMng.DAL;
using DSWeb.Areas.Account.Models.Chfee_Exrate;
using System.Collections.Generic;
using HcUtility.Comm;
using HcUtility.Core;
using DSWeb.EntityDA;
using DSWeb.MvcShipping.DAL.MsSysBillNoSet;
using DSWeb.MvcShipping.Models.MsSysBillNoSet;
using DSWeb.Areas.Account.Models.Chfee_Payapplication;
using DSWeb.Areas.Account.Models.Chfee_do_Sum;
namespace DSWeb.Areas.Account.Controllers
{
[JsonRequestBehavior]
public class Chfee_InvoicehexiaoController : Controller
{
//
// GET:
public ActionResult Index()
{
return View();
}
//
// GET: /
public ActionResult Edit()
{
return View();
}
public ActionResult Audit()
{
return View();
}
public ActionResult BalIndex()
{
return View();
}
//
// GET: /
public ActionResult BalEdit()
{
return View();
}
public ActionResult PayEdit()
{
return View();
}
public ActionResult TruckIndex()
{
return View();
}
//
// GET: /
public ActionResult TruckEdit()
{
return View();
}
//
#region GET
public ContentResult GetDataList(int start, int limit, string sort, string condition)
{
var dataList = ChinvoicehexiaoDAL.GetDataList(start, limit,condition, Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]), sort);
int count = ChinvoicehexiaoDAL.getTotalCount(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 GetAuditDataList(int start, int limit, string sort, string condition, string isaudit)
{
var dataList = ChinvoicehexiaoDAL.GetAuditDataList(condition, Convert.ToString(Session["USERID"]), isaudit, 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 = list.ToList() });
return new ContentResult() { Content = json };
}
public ContentResult GetData(string handle, string condition)
{
ChInvoicehexiao head = null;
if (handle == "edit")
{
var list = ChinvoicehexiaoDAL.GetDataList(0,1,condition, Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]));
if (list.Count > 0)
head = list[0];
}
if (head == null)
{
head = new ChInvoicehexiao();
}
if (handle == "add") {
head.OP = Convert.ToString(Session["SHOWNAME"]);
};
var json = JsonConvert.Serialize(
new { Success = true, Message = "查询成功", data = head });
return new ContentResult() { Content = json };
}
public ContentResult GetBillList(string condition,string sort)
{
var dataList = ChinvoicehexiaoDAL.GetBodyList(condition,sort);
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = dataList.ToList() });
return new ContentResult() { Content = json };
}
public ContentResult GetTruckBillList(string condition, string sort)
{
var dataList = ChinvoicehexiaoDAL.GetTruckBodyList(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 = ChinvoicehexiaoDAL.GetBodySumList(condition);
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = dataList.ToList() });
return new ContentResult() { Content = json };
}
public List<Chfee_do_Sum> GetBillSumList ( string condition )
{
var dataList = ChinvoicehexiaoDAL.GetBodySumList(condition);
return dataList;
}
public ContentResult GetBLListData(int start, int limit, string sort, string condition, string duicondition, string isdebit)
{
var dataList = ChinvoicehexiaoDAL.GetFeeDataList(condition, isdebit, Convert.ToString(Session["USERID"]), 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 = list.ToList() });
return new ContentResult() { Content = json };
}
public ContentResult GetTruckBLListData(int start, int limit, string sort, string condition, string duicondition, string isdebit)
{
var dataList = ChinvoicehexiaoDAL.GetTruckFeeDataList(condition, isdebit, Convert.ToString(Session["USERID"]), 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 = list.ToList() });
return new ContentResult() { Content = json };
}
public ContentResult GetFeeDetailList(string condition)
{
var dataList = ChinvoicehexiaoDAL.GetFeeDetailList(condition);
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = dataList.ToList() });
return new ContentResult() { Content = json };
}
#endregion
#region 保存/删除
public ContentResult Save(string opstatus, string data)
{
var headData = JsonConvert.Deserialize<ChInvoicehexiao>(data);
if (opstatus == "add")
{
headData.OP = Convert.ToString(Session["SHOWNAME"]);
headData.OPDATE = DateTime.Now.ToString("yyyy-MM-dd");
var billnoset = MsSysBillNoSetDAL.GetData("OPLBNAME='发票核销'", Convert.ToString(Session["COMPANYID"]));
if (billnoset.BILLTYPE != "")
headData.BILLNO = MsSysBillNoSetDAL.GetBillNo(billnoset, headData.INVDATE.ToString().Trim(), headData.OPDATE.ToString());
else
headData.BILLNO = PubSysDAL.GetBillNo("0302");
headData.DbOperationType = DbOperationType.DbotIns;
}
else if (opstatus == "edit")
{
headData.DbOperationType = DbOperationType.DbotUpd;
headData.ModelUIStatus = "E";
}
else
{
headData.DbOperationType = DbOperationType.DbotDel;
}
if (headData.INVNO != "")
{
var ct = ChinvoicehexiaoDAL.GetRdCount("BILLNO<>'" + headData.BILLNO + "' AND INVNO='" + headData.INVNO + "' ");
if (ct != 0)
{
var jsonRespose2 = new JsonResponse
{
Success = false,
Message = "发票号重复,不允许保存!"
};
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose2) };
}
}
else {
var jsonRespose2 = new JsonResponse
{
Success = false,
Message = "发票号为空,不允许保存!"
};
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose2) };
}
var BILLNO = headData.BILLNO;
string YuanBiJinE = "";
try
{
List<Chfee_do_Sum> temp = GetBillSumList(" BILLNO='" + BILLNO + "'");
foreach (var item in temp)
{
YuanBiJinE += (item.CURRENCY + item.AMOUNT+" ");
}
}
catch (Exception)
{
YuanBiJinE = "";
}
headData.YuanBiJinE = YuanBiJinE;
var modb = new ModelObjectDB();
DBResult result=modb.Save(headData);
if (result.Success == true) {
if (headData.TAXRATE!=0)
ChinvoicehexiaoDAL.updateFeeTax(headData.BILLNO,headData.TAXRATE);
}
else
{
MsSysBillNoSetDAL.DeleteBsNo(headData.BILLNO);
}
var jsonRespose = new JsonResponse
{
Success = result.Success,
Message = result.Message,
Data = ChinvoicehexiaoDAL.GetData(" BILLNO='" + BILLNO + "'")
};
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
public ContentResult AddDetail(string bill, string data, string curr,string mblno)
{
var bodyList = JsonConvert.Deserialize<List<ChFeeDetail>>(data);
var modb = new ModelObjectDB();
DBResult result = ChinvoicehexiaoDAL.AddDetail(bill, bodyList, curr, mblno, Convert.ToString(Session["COMPANYID"]));
if (result.Success) { ChinvoicehexiaoDAL.p_update_Amount(bill); }
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)
{
var exrateList = JsonConvert.Deserialize<List<ChFeeExrate>>(storeCurrExrate);
if ((exrateList==null)||(exrateList.Count == 0))
{
exrateList = ChinvoicehexiaoDAL.GetCurrExrateData(billno, billcust, billcurr, feesql);
if (exrateList.Count == 0)
{
var modb = new ModelObjectDB();
DBResult result = ChinvoicehexiaoDAL.AddBill(billno, billcust, billcurr, feesql, exrateList, Convert.ToString(Session["COMPANYID"]));
if (result.Success) { ChinvoicehexiaoDAL.p_update_Amount(billno); }
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 = ChinvoicehexiaoDAL.AddBill(billno, billcust, billcurr, feesql, exrateList, Convert.ToString(Session["COMPANYID"]));
if (result.Success) { ChinvoicehexiaoDAL.p_update_Amount(billno); }
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message};
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
}
public ContentResult DelBill(string data,string billno)
{
var bodyList = JsonConvert.Deserialize<List<Chfee_do_detail>>(data);
DBResult result = ChinvoicehexiaoDAL.DelFeeDo(bodyList);
if (result.Success) { ChinvoicehexiaoDAL.p_update_Amount(billno); }
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<ChInvoicehexiao>(data);
var dataList = ChinvoicehexiaoDAL.GetBodyList("BILLNO='"+headData.BILLNO+"'");
DBResult result = ChinvoicehexiaoDAL.DelFeeDo(dataList);
if (result.Success == true)
{
var modb = new ModelObjectDB();
modb.Delete(headData);
MsSysBillNoSetDAL.DeleteBsNo(headData.BILLNO);
}
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
#endregion
//
#region 审核 驳回
public ContentResult SubmitAudit(string bill)
{
DBResult result = ChinvoicehexiaoDAL.SubmitAudit("PayInvAudit", Convert.ToString(Session["USERID"]), bill);
var json = JsonConvert.Serialize(result);
return new ContentResult() { Content = json };
}
public ContentResult SubmitAuditBack(string bill)
{
DBResult result = ChinvoicehexiaoDAL.SubmitAuditBack("PayInvAudit", Convert.ToString(Session["USERID"]), bill);
var json = JsonConvert.Serialize(result);
return new ContentResult() { Content = json };
}
public ContentResult SubmitAuditList(string bills)
{
DBResult result = ChinvoicehexiaoDAL.SubmitAuditList("PayInvAudit", Convert.ToString(Session["USERID"]), bills);
var json = JsonConvert.Serialize(result);
return new ContentResult() { Content = json };
}
public ContentResult SubmitAuditBackList(string bills)
{
DBResult result = ChinvoicehexiaoDAL.SubmitAuditBackList("PayInvAudit", Convert.ToString(Session["USERID"]), bills);
var json = JsonConvert.Serialize(result);
return new ContentResult() { Content = json };
}
public ContentResult AuditList(string data)
{
var bodyList = JsonConvert.Deserialize<List<ChInvoicehexiao>>(data);
DBResult result = ChinvoicehexiaoDAL.AuditList(bodyList, Convert.ToString(Session["USERID"]));
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
public ContentResult AuditBackList(string data)
{
var bodyList = JsonConvert.Deserialize<List<ChInvoicehexiao>>(data);
DBResult result = ChinvoicehexiaoDAL.AuditBackList(bodyList, Convert.ToString(Session["USERID"]));
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
#endregion
#region 入帐申请
public ContentResult GetBalPayList(int start, int limit, string sort, string condition)
{
var dataList = ChinvoicehexiaoDAL.GetBalPayList(condition, Convert.ToString(Session["USERID"]), 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 = list.ToList() });
return new ContentResult() { Content = json };
}
public ContentResult GetBalData(string handle, string condition)
{
ChBalapplication head = null;
if (handle == "edit")
{
var list = ChinvoicehexiaoDAL.GetBalPayList(condition, Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]));
if (list.Count > 0)
head = list[0];
}
if (head == null)
{
head = new ChBalapplication();
head.APPLICANT = Convert.ToString(Session["USERID"]);
head.APPLICANTNAME = Convert.ToString(Session["SHOWNAME"]);
}
var json = JsonConvert.Serialize(
new { Success = true, Message = "查询成功", data = head });
return new ContentResult() { Content = json };
}
public ContentResult SaveBal(string opstatus, string data)
{
var headData = JsonConvert.Deserialize<ChBalapplication>(data);
if (opstatus == "add")
{
headData.GID = Guid.NewGuid().ToString();
headData.COMPANYID = Convert.ToString(Session["COMPANYID"]);
headData.APPLICANT = Convert.ToString(Session["USERID"]);
headData.APPLYTIME = DateTime.Now.ToString("yyyy-MM-dd");
headData.ENTERTIME = DateTime.Now;
var billnoset = MsSysBillNoSetDAL.GetData("OPLBNAME='入账申请'", Convert.ToString(Session["COMPANYID"]));
if (billnoset.BILLTYPE != "")
headData.BILLNO = MsSysBillNoSetDAL.GetBillNo(billnoset, headData.APPLYTIME.ToString().Trim(), headData.APPLYTIME.ToString());
headData.DbOperationType = DbOperationType.DbotIns;
}
else if (opstatus == "edit")
{
headData.DbOperationType = DbOperationType.DbotUpd;
headData.ModelUIStatus = "E";
}
else
{
headData.DbOperationType = DbOperationType.DbotDel;
}
var BILLNO = headData.BILLNO;
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 = ChinvoicehexiaoDAL.GetBalPayData(" BILLNO='" + BILLNO + "'")
};
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
public ContentResult DeleteBal(string data)
{
var headData = JsonConvert.Deserialize<ChBalapplication>(data);
DBResult result = ChinvoicehexiaoDAL.DeleteBalDetail(headData.BILLNO);
if (result.Success == true)
{
var modb = new ModelObjectDB();
modb.Delete(headData);
MsSysBillNoSetDAL.DeleteBsNo(headData.BILLNO);
}
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
public ContentResult DelBalBill(string data, string billno)
{
var bodyList = JsonConvert.Deserialize<List<ChInvoicehexiao>>(data);
DBResult result = result = ChinvoicehexiaoDAL.AddBalList(bodyList,"");
if (result.Success) { ChinvoicehexiaoDAL.p_update_BalAmount(billno); }
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
public ContentResult AddBalList(string data,string billno)
{
var bodyList = JsonConvert.Deserialize<List<ChInvoicehexiao>>(data);
DBResult result = ChinvoicehexiaoDAL.AddBalList(bodyList, billno);
if (result.Success) { ChinvoicehexiaoDAL.p_update_BalAmount(billno); }
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
public ContentResult CreateBal(string data)
{
var headData = new ChBalapplication();
var bodyList = JsonConvert.Deserialize<List<ChInvoicehexiao>>(data);
var cust = "";
foreach (var enumValue in bodyList)
{
cust = enumValue.CUSTOMERNAME;
}
headData.GID = Guid.NewGuid().ToString();
headData.COMPANYID = Convert.ToString(Session["COMPANYID"]);
headData.APPLICANT = Convert.ToString(Session["USERID"]);
headData.APPLYTIME = DateTime.Now.ToString("yyyy-MM-dd");
headData.ENTERTIME = DateTime.Now;
headData.CUSTOMERNAME = cust;
var billnoset = MsSysBillNoSetDAL.GetData("OPLBNAME='入账申请'", Convert.ToString(Session["COMPANYID"]));
if (billnoset.BILLTYPE != "")
headData.BILLNO = MsSysBillNoSetDAL.GetBillNo(billnoset, headData.APPLYTIME.ToString().Trim(), headData.APPLYTIME.ToString());
headData.DbOperationType = DbOperationType.DbotIns;
var BILLNO = headData.BILLNO;
var modb = new ModelObjectDB();
DBResult result = modb.Save(headData);
if (result.Success == true)
{
result = ChinvoicehexiaoDAL.AddBalList(bodyList, BILLNO);
if (result.Success) { ChinvoicehexiaoDAL.p_update_BalAmount(BILLNO); }
}
else
{
MsSysBillNoSetDAL.DeleteBsNo(headData.BILLNO);
}
var jsonRespose = new JsonResponse
{
Success = result.Success,
Message = result.Message,
Data = ChinvoicehexiaoDAL.GetBalPayData(" BILLNO='" + BILLNO + "'")
};
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
public ContentResult LockBalList(string bills)
{
DBResult result = ChinvoicehexiaoDAL.LockBalList(bills,true);
var json = JsonConvert.Serialize(result);
return new ContentResult() { Content = json };
}
public ContentResult UnLockBalList(string bills)
{
DBResult result = ChinvoicehexiaoDAL.LockBalList(bills, false);
var json = JsonConvert.Serialize(result);
return new ContentResult() { Content = json };
}
#endregion
#region 付费申请生成发票核销
public ContentResult GetPayListData(string condition,string sort)
{
var dataList = ChinvoicehexiaoDAL.GetPayListData(condition, Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]), sort);
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = dataList.ToList() });
return new ContentResult() { Content = json };
}
public ContentResult AddPayBill(string billno, string paylist, string billcurr, string storeCurrExrate)
{
var exrateList = JsonConvert.Deserialize<List<ChFeeExrate>>(storeCurrExrate);
var bodyList = JsonConvert.Deserialize<List<ChPayapplication>>(paylist);
if ((exrateList == null) || (exrateList.Count == 0))
{
exrateList = ChinvoicehexiaoDAL.GetAppCurrExrateData(bodyList, billcurr);
if (exrateList.Count == 0)
{
var modb = new ModelObjectDB();
DBResult result = ChinvoicehexiaoDAL.AddPayBill(billno, bodyList, billcurr,exrateList, Convert.ToString(Session["COMPANYID"]));
if (result.Success) { ChinvoicehexiaoDAL.p_update_Amount(billno); }
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 = ChinvoicehexiaoDAL.AddPayBill(billno, bodyList, billcurr,exrateList, Convert.ToString(Session["COMPANYID"]));
if (result.Success) { ChinvoicehexiaoDAL.p_update_Amount(billno); }
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
}
#endregion
public ContentResult UpdateApp(string bills, string type)
{
DBResult result = ChinvoicehexiaoDAL.UpdateApp(bills, type);
var json = JsonConvert.Serialize(result);
return new ContentResult() { Content = json };
}
#region 参照部分
#endregion
}
}