using System; using System.Linq; using System.Web.Mvc; using DSWeb.Areas.Account.DAL.Chfee_Invoiceapplication; using DSWeb.Areas.Account.Models.Chfee_Invoiceapplication; using DSWeb.Areas.Account.Models.Chfee_do_detail; using DSWeb.Areas.Account.Models.BillChfeeDetail; 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.MsSysParamSet; using System.Data; using DSWeb.MvcShipping.DAL.MsCodeGoodInv; using DSWeb.MvcShipping.DAL.MsChFeeDAL; using DSWeb.MvcShipping.DAL.MsInfoClient; namespace DSWeb.Areas.Account.Controllers { [JsonRequestBehavior] public class Chfee_invoiceapplicationController : Controller { // // GET: public ActionResult Index() { return View(); } public ActionResult TruckIndex() { return View(); } // // GET: / public ActionResult Edit() { return View(); } public ActionResult BLEdit() { return View(); } public ActionResult TruckBLEdit() { return View(); } //付费申请审核 public ActionResult Audit() { return View(); } public ActionResult Index_Hangxin() { return View(); } // // GET: public ContentResult GetDataList(int start, int limit, string sort, string condition) { int totel = 0; var dataList = ChinvoiceapplicationDAL.GetDataList(start, limit,condition,out totel,Convert.ToString(Session["USERID"]), CookieConfig.GetCookie_UserCode(Request), Convert.ToString(Session["COMPANYID"]), sort); var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = totel, data = dataList.ToList() }); return new ContentResult() { Content = json }; } public ContentResult GetAuditDataList(int start, int limit, string sort, string condition, string isaudit) { int totel = 0; var dataList = ChinvoiceapplicationDAL.GetAuditDataList(start, limit,condition, out totel, Convert.ToString(Session["USERID"]), isaudit, Convert.ToString(Session["COMPANYID"]), sort); //var list = dataList.Skip(start).Take(limit); var list = dataList; var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = totel, data = list }); //list.ToList() return new ContentResult() { Content = json }; } public ContentResult GetAuditDataList_App(int start, int limit, string sort, string condition, string isaudit, string userid, string companyid) { int totel = 0; var dataList = ChinvoiceapplicationDAL.GetAuditDataList(start, limit, condition, out totel, userid, isaudit, companyid, sort); var list = dataList.Skip(start).Take(limit); var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = totel, data = list.ToList() }); return new ContentResult() { Content = json }; } public ContentResult GetData(string handle, string condition) { ChInvoiceapplication head = null; if (handle == "edit") { var list = ChinvoiceapplicationDAL.GetDataListAll(condition, Convert.ToString(Session["USERID"]), CookieConfig.GetCookie_UserCode(Request), Convert.ToString(Session["COMPANYID"])); if (list.Count > 0) head = list[0]; } if (head == null) { head = new ChInvoiceapplication(); } if (handle == "add") { head.APPLICANT = CookieConfig.GetCookie_CompanyId(Request); head.APPLICANTNAME =CookieConfig.GetCookie_UserName(Request); head.CURRENCY = "RMB";//20191024 币别固化为RMB } var json = JsonConvert.Serialize( new { Success = true, Message = "查询成功", data = head }); return new ContentResult() { Content = json }; } public ContentResult GetDetailList(string condition,string sort) { var dataList = ChinvoiceapplicationDAL.GetDetailList(condition,sort); var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = dataList.ToList() }); return new ContentResult() { Content = json }; } public ContentResult GetBillList(string condition,string sort) { var dataList = ChinvoiceapplicationDAL.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 = ChinvoiceapplicationDAL.GetTruckBodyList(condition, sort); var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = dataList.ToList() }); return new ContentResult() { Content = json }; } public ContentResult GetBillDataList(int start, int limit, string sort, string condition) { var dataList = ChinvoiceapplicationDAL.GetAddBillList(start, limit,condition, Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]), sort); int count = ChinvoiceapplicationDAL.getAddBillTotalCount(condition, Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"])); var list = dataList.Skip(start).Take(limit); var json = JsonConvert.Serialize( new { Success = true, Message = "查询成功", totalCount = count, data = list.ToList() }); return new ContentResult() { Content = json }; } public ContentResult GetTruckBillDataList(int start, int limit, string sort, string condition) { var dataList = ChinvoiceapplicationDAL.GetAddTruckBillList(start, limit, condition, Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]), sort); int count = ChinvoiceapplicationDAL.getAddTruckBillTotalCount(condition, Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"])); var json = JsonConvert.Serialize( new { Success = true, Message = "查询成功", totalCount = count, data = dataList.ToList() }); return new ContentResult() { Content = json }; } public ContentResult GetFeeDetailList(string sort, string condition) { var dataList = ChinvoiceapplicationDAL.GetFeeDetailList(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 GetBillSum(string condition) { var dataList = ChinvoiceapplicationDAL.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) { var dataList = ChinvoiceapplicationDAL.GetFeeDataList(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 GetAddSum(string condition) { var dataList = ChinvoiceapplicationDAL.GetAddSum(condition, Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), 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 Save(string opstatus, string data, string body,bool issubmit=false) { 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(data); var bodyList = JsonConvert.Deserialize>(body); if (opstatus == "add") { headData.GID = Guid.NewGuid().ToString(); //headData.BILLNO = PubSysDAL.GetBillNo("0306"); headData.COMPANYID = CookieConfig.GetCookie_CompanyId(Request); headData.APPLICANT = CookieConfig.GetCookie_UserId(Request); // headData.APPLYTIME = DateTime.Now; headData.ENTERTIME = DateTime.Now; headData.DbOperationType = DbOperationType.DbotIns; var billnoset = MsSysBillNoSetDAL.GetData("OPLBNAME='发票申请'", CookieConfig.GetCookie_CompanyId(Request)); if (billnoset.BILLTYPE != "") headData.BILLNO = MsSysBillNoSetDAL.GetBillNo(billnoset, headData.APPLYTIME.ToString().Trim(), headData.ENTERTIME.ToString()); else headData.BILLNO = PubSysDAL.GetBillNo("0306"); } else if (opstatus == "edit") { headData.DbOperationType = DbOperationType.DbotUpd; headData.ModelUIStatus = "E"; } else { headData.DbOperationType = DbOperationType.DbotDel; } if (string.IsNullOrEmpty(headData.PAYCOMPANYID)) headData.PAYCOMPANYID = Convert.ToString(Session["COMPANYID"]); var ct = ChinvoiceapplicationDAL.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) }; } headData.OPERATETIME = DateTime.Now; T_ALL_DA T_ALL_DA = new T_ALL_DA(); DataSet dsHSCODE = T_ALL_DA.GetAllSQL("SELECT Gid,CODENAME as CustCode,SHORTNAME as CustName,CODENAME+'-'+SHORTNAME as CodeAndName,BillRises1,INVADDRTEL,[DESCRIPTION],RmbBillRises,(select top 1 BANKNAME+' '+ACCOUNT FROM info_client_bank WHERE CURRENCY='RMB' AND LINKID=info_client.GID) Rmbbank,Rmbaccount,usdBillRises,(select top 1 BANKNAME+' '+ACCOUNT FROM info_client_bank WHERE CURRENCY='USD' AND LINKID=info_client.GID) usdbank,usdaccount,TaxNo,Addr,Tel from info_client WHERE SHORTNAME='" + headData.CUSTOMERNAME + "'"); if (dsHSCODE != null) { if (dsHSCODE.Tables[0].Rows.Count > 0) { if (headData.INVOICECUSTNAME == "") { if (dsHSCODE.Tables[0].Rows[0]["BillRises1"].ToString() != "") headData.INVOICECUSTNAME = dsHSCODE.Tables[0].Rows[0]["BillRises1"].ToString(); else headData.INVOICECUSTNAME = dsHSCODE.Tables[0].Rows[0]["DESCRIPTION"].ToString(); } if (headData.CUSTRATENO == "") headData.CUSTRATENO = dsHSCODE.Tables[0].Rows[0]["TaxNo"].ToString(); if (headData.CUSTADDRTEL == "") { if (dsHSCODE.Tables[0].Rows[0]["INVADDRTEL"].ToString() != "") headData.CUSTADDRTEL = dsHSCODE.Tables[0].Rows[0]["INVADDRTEL"].ToString(); else headData.CUSTADDRTEL = dsHSCODE.Tables[0].Rows[0]["Addr"].ToString() + " " + dsHSCODE.Tables[0].Rows[0]["Tel"].ToString(); } if (headData.CUSTBANK == "") { if (headData.RECVCURR == "USD") { headData.CUSTBANK = dsHSCODE.Tables[0].Rows[0]["usdbank"].ToString(); } else headData.CUSTBANK = dsHSCODE.Tables[0].Rows[0]["rmbbank"].ToString(); } } } if (!string.IsNullOrEmpty(headData.RECVCURR) && string.IsNullOrEmpty(headData.CUSTBANK) && !string.IsNullOrEmpty(headData.CUSTOMERNAME)) { var bankList = MsInfoClientDAL.GetBankList("LINKID in (select GID FROM info_client WHERE SHORTNAME='" + headData.CUSTOMERNAME + "')"); if (bankList != null && bankList.Count != 0) { foreach (var bank in bankList) { if ((bank.CURRENCY == headData.RECVCURR) && (bank.ISINVDEF == "1")) headData.CUSTBANK = bank.BANKNAME_ACCOUNT; } } } var BILLNO = headData.BILLNO; var GID = headData.GID; var modb = new ModelObjectDB(); DBResult result = ChinvoiceapplicationDAL.SaveInvDetail(headData.GID,bodyList); if (result.Success==true){ result= modb.Save(headData); }; if (result.Success == true) { } else { MsSysBillNoSetDAL.DeleteBsNo(headData.BILLNO); } if ((result.Success == true)&&(issubmit==true)) { //系统参数如果设置为【开票分部与业务分部相同则不需要审核】则做判断是否进行审核 var dataList = ChinvoiceapplicationDAL.GetBodyList("BILLNO='" + BILLNO + "'", ""); if (dataList == null || dataList.Count == 0) { var jsonRespose2 = new JsonResponse { Success = false, Message = "无费用明细不能提交审核!" }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose2) }; } string LAN = Convert.ToString(Session["LANGUAGES"]); var tianjiachenggong = "注意;存在多种币别同时申请发票!"; if (LAN == "en-us") { tianjiachenggong = "Attention; There are multiple Currency applying for invoices simultaneously"; } var orgcurr = ""; var isdbcurr = false; foreach (var invdetail in dataList) { if (string.IsNullOrEmpty(orgcurr)) orgcurr = invdetail.ORIGCURRENCY; else { if (orgcurr != invdetail.ORIGCURRENCY) { isdbcurr = true; } } } decimal invamount = 0; var invitems = ChinvoiceapplicationDAL.GetDetailList("PID='" + headData.GID + "'", ""); foreach (var invitem in invitems) { invamount = invamount + invitem.AMOUNT + invitem.TAX; } if (invamount != headData.INVAMOUNT) { var jsonRespose2 = new JsonResponse { Success = false, Message = "开票明细与开票金额不一致,请检查!" }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose2) }; } var flag = MsSysParamSetDAL.GetData("PARAMNAME='InvoiceSameComSkipAudit'"); if (flag.PARAMVALUE == "1") { if (headData.COMPANYID == headData.PAYCOMPANYID && ((headData.ACTUALCUSTOMERNAME != "" && headData.ACTUALCUSTOMERNAME == headData.CUSTOMERNAME) || headData.ACTUALCUSTOMERNAME == "")) { result = ChinvoiceapplicationDAL.PASSAUDITWithGID(headData.GID); } else { result = ChinvoiceapplicationDAL.SubmitAudit("InvAudit", CookieConfig.GetCookie_UserId(Request), headData.BILLNO, CookieConfig.GetCookie_CompanyId(Request)); } } else { result = ChinvoiceapplicationDAL.SubmitAudit("InvAudit", CookieConfig.GetCookie_UserId(Request), headData.BILLNO, CookieConfig.GetCookie_CompanyId(Request)); } if (result.Success && isdbcurr) result.Message = tianjiachenggong; } // if (result.Success) { ChinvoiceapplicationDAL.p_update_Amount(BILLNO, GID); } var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, Data = ChinvoiceapplicationDAL.GetData(" BILLNO='" + BILLNO + "'", CookieConfig.GetCookie_UserId(Request), CookieConfig.GetCookie_UserCode(Request), CookieConfig.GetCookie_CompanyId(Request)) }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult AddDetail(string bill, string data, string curr, bool islist, string GID, bool custgroup = false) { 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 bodyList = JsonConvert.Deserialize>(data); var headData = ChinvoiceapplicationDAL.GetData(" BILLNO='" + bill + "'", Convert.ToString(Session["USERID"]), CookieConfig.GetCookie_UserCode(Request), Convert.ToString(Session["COMPANYID"])); var BLCOUNT="0"; var FEENOAUDITCANTSHENINV = MsSysParamSetDAL.GetData("PARAMNAME='FEENOAUDITCANTSHENINV'"); if (FEENOAUDITCANTSHENINV.PARAMVALUE == "1") { T_ALL_DA T_ALL_DA = new EntityDA.T_ALL_DA(); BLCOUNT = T_ALL_DA.GetStrSQL("BLCOUNT", "select COUNT(*) BLCOUNT from ch_fee where FEETYPE=1 and (FEESTATUS=1 OR FEESTATUS=2 ) and BSNO='" + bodyList[0].BSNO + "'"); } if (BLCOUNT != "0") { var jsonRespose = new JsonResponse { Success = false, Message = "此票存在未审核的应收费用,不允许申请发票!" }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } else { var modb = new ModelObjectDB(); DBResult result = ChinvoiceapplicationDAL.AddDetail(bill, bodyList, curr, Convert.ToString(Session["COMPANYID"]), islist, GID, headData); if (result.Success) { ChinvoiceapplicationDAL.p_update_Amount(bill, GID); } 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, bool islist, string GID,bool custgroup = false) { 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 exrateList = JsonConvert.Deserialize>(storeCurrExrate); if (islist) { var bodylist = ChinvoiceapplicationDAL.GetFeeDetailList(feesql + " and '代理'+FEENAME NOT IN (Select GOODNAME from code_goods_inv) ", Convert.ToString(Session["USERID"]), CookieConfig.GetCookie_UserCode(Request), Convert.ToString(Session["COMPANYID"])); if (bodylist.Count != 0) { var feenamelist = ""; if (bodylist != null) { foreach (var enumValue in bodylist) { feenamelist = feenamelist + enumValue.FeeName+","; } } if (feenamelist != "") { var jsonRespose = new JsonResponse { Success = false, Message = "费用名称:"+feenamelist+"不在发票商品明细中,请先维护发票商品明细!"}; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } } } var headData = ChinvoiceapplicationDAL.GetData(" BILLNO='" + billno + "'", Convert.ToString(Session["USERID"]), CookieConfig.GetCookie_UserCode(Request), Convert.ToString(Session["COMPANYID"])); if ((exrateList == null) || (exrateList.Count == 0)) { exrateList = ChinvoiceapplicationDAL.GetCurrExrateData(billcust, billcurr, feesql, custgroup); if (exrateList.Count == 0) { var modb = new ModelObjectDB(); DBResult result = ChinvoiceapplicationDAL.AddBill(billno, billcust, billcurr, feesql, exrateList, Convert.ToString(Session["COMPANYID"]), islist, GID,headData, custgroup, Convert.ToString(Session["USERID"])); if (result.Success) { ChinvoiceapplicationDAL.p_update_Amount(billno, GID); } var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } else { var INVGETNOWEXCHANGE = MsSysParamSetDAL.GetData("PARAMNAME='INVGETNOWEXCHANGE'").PARAMVALUE; if (INVGETNOWEXCHANGE == "1") { var invratelist = MsChFeeDAL.GetFeeNowInvCurrList(headData.APPLYTIME); if (invratelist != null) { foreach (var exrate in exrateList) { foreach (var invrate in invratelist) { if (invrate.CURR == exrate.CURR) { exrate.DFEXRATE = invrate.DEFRATE; } } } } } var jsonRespose = new JsonResponse { Success = true, Message = "查询成功", Data = exrateList.ToList() }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } } else { var modb = new ModelObjectDB(); DBResult result = ChinvoiceapplicationDAL.AddBill(billno, billcust, billcurr, feesql, exrateList, Convert.ToString(Session["COMPANYID"]), islist, GID, headData,false,Convert.ToString(Session["USERID"])); if (result.Success) { ChinvoiceapplicationDAL.p_update_Amount(billno, GID); } var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } } public ContentResult DelBill(string data, string billno,string GID) { var bodyList = JsonConvert.Deserialize>(data); DBResult result = ChinvoiceapplicationDAL.DelFeeDo(bodyList,GID); if (result.Success) { ChinvoiceapplicationDAL.p_update_Amount(billno,GID); } var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult GetIsAdd(string data) { var bodyList = JsonConvert.Deserialize>(data); var StrGid = ""; if (bodyList != null) { foreach (var enumValue in bodyList) { if (StrGid == "") StrGid = "'" + enumValue.GID + "'"; else StrGid = StrGid + ",'" + enumValue.GID + "'"; } } if (StrGid != "") { StrGid = "(" + StrGid + ")"; var dataList = ChinvoiceapplicationDAL.GetDataListAll(" BILLSTATUS=0 and GID IN " + StrGid, Convert.ToString(Session["USERID"]), CookieConfig.GetCookie_UserCode(Request), Convert.ToString(Session["COMPANYID"])); if (dataList != null && dataList.Count != 0) { var jsonRespose = new JsonResponse { Success =true, Message ="可以生成!" }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } else { var jsonRespose = new JsonResponse { Success = false, Message = "发票申请已生成发票,请刷新!" }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } } else { var jsonRespose = new JsonResponse { Success = false, Message = "无需要添加的发票申请!" }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } } // public ContentResult Delete(string data) { var headData = JsonConvert.Deserialize(data); var dataList = ChinvoiceapplicationDAL.GetBodyList("BILLNO='" + headData.BILLNO + "'"); DBResult result = ChinvoiceapplicationDAL.DelFeeDo(dataList,headData.GID); if (result.Success == true) { var modb = new ModelObjectDB(); modb.Delete(headData); MsSysBillNoSetDAL.DeleteBsNo(headData.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) }; } public ContentResult DelInvDetail(string billno, string body, string GID) { var bodyList = JsonConvert.Deserialize>(body); DBResult result = ChinvoiceapplicationDAL.DelInvDetail(bodyList); if (result.Success) { ChinvoiceapplicationDAL.p_update_Amount(billno, GID); } var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } #region 提交和撤销审核 public ContentResult SubmitAudit(string bill) { var headdata = ChinvoiceapplicationDAL.GetData("BILLNO='"+bill+"'"); var INVAPPMAXPARAM = MsSysParamSetDAL.GetData("PARAMNAME='INVAPPMAX'"); var INVAPPMAX = false; if (INVAPPMAXPARAM.PARAMVALUE == "1") { INVAPPMAX = true; } decimal invamount = 0; var invitems=ChinvoiceapplicationDAL.GetDetailList("PID='"+headdata.GID+"'", ""); var dataList = ChinvoiceapplicationDAL.GetBodyList("BILLNO='" + bill + "'", ""); if (dataList == null|| dataList.Count == 0) { var jsonRespose = new JsonResponse { Success = false, Message = "无费用明细不能提交审核!" }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } foreach (var invitem in invitems) { invamount = invamount + invitem.AMOUNT+invitem.TAX; } if (invamount != headdata.INVAMOUNT) { var jsonRespose = new JsonResponse { Success = false, Message = "开票明细与开票金额不一致,请检查!" }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } if (INVAPPMAX&&(headdata.INVAMOUNT >= 100000 || headdata.APPLYAMOUNT >= 100000)) { var jsonRespose = new JsonResponse { Success =false, Message ="申请开票金额,不能超过十万元!" }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } //DBResult result = ChinvoiceapplicationDAL.SubmitAudit("InvAudit", Convert.ToString(Session["DEPTGID"]), Convert.ToString(Session["USERID"]), bill); DBResult result = ChinvoiceapplicationDAL.SubmitAudit("InvAudit", Convert.ToString(Session["USERID"]), bill, CookieConfig.GetCookie_CompanyId(Request)); var json = JsonConvert.Serialize(result); return new ContentResult() { Content = json }; } public ContentResult SubmitAuditBack(string bill) { DBResult result = ChinvoiceapplicationDAL.SubmitAuditBack("InvAudit", Convert.ToString(Session["USERID"]), bill); var json = JsonConvert.Serialize(result); return new ContentResult() { Content = json }; } public ContentResult SubmitAuditList(string bills) { var INVAPPMAXPARAM = MsSysParamSetDAL.GetData("PARAMNAME='INVAPPMAX'"); var INVAPPMAX = false; if (INVAPPMAXPARAM.PARAMVALUE == "1") { INVAPPMAX = true; } var billList = bills.Split(','); var isdbcurr = false; string LAN = Convert.ToString(Session["LANGUAGES"]); var tianjiachenggong = "注意;存在多种币别同时申请发票!"; if (LAN == "en-us") { tianjiachenggong = "Attention; There are multiple Currency applying for invoices simultaneously"; } foreach (var bill in billList) { var headdata = ChinvoiceapplicationDAL.GetData("BILLNO='" + bill + "'"); decimal invamount = 0; var invitems = ChinvoiceapplicationDAL.GetDetailList("PID='" + headdata.GID + "'", ""); var dataList = ChinvoiceapplicationDAL.GetBodyList("BILLNO='" + bill + "'", ""); if (dataList == null || dataList.Count == 0) { var jsonRespose = new JsonResponse { Success = false, Message = "无费用明细不能提交审核!" }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } var orgcurr = ""; foreach (var invdetail in dataList) { if (string.IsNullOrEmpty(orgcurr)) orgcurr = invdetail.ORIGCURRENCY; else { if (orgcurr != invdetail.ORIGCURRENCY) { isdbcurr = true; } } } foreach (var invitem in invitems) { invamount = invamount + invitem.AMOUNT + invitem.TAX; } if (invamount != headdata.INVAMOUNT) { var jsonRespose = new JsonResponse { Success = false, Message = "开票明细与开票金额不一致,请检查!" }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } if (INVAPPMAX && (headdata.INVAMOUNT >= 100000 || headdata.APPLYAMOUNT >= 100000)) { var jsonRespose = new JsonResponse { Success = false, Message = "申请开票金额,不能超过十万元!" }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } } DBResult result = ChinvoiceapplicationDAL.SubmitAuditList("InvAudit", Convert.ToString(Session["USERID"]), bills); if (result.Success && isdbcurr) result.Message = tianjiachenggong; var json = JsonConvert.Serialize(result); return new ContentResult() { Content = json }; } public ContentResult SubmitAuditBackList(string bills) { DBResult result = ChinvoiceapplicationDAL.SubmitAuditBackList("InvAudit", Convert.ToString(Session["USERID"]), bills); var json = JsonConvert.Serialize(result); return new ContentResult() { Content = json }; } public ContentResult AuditList(string data, string PAYCOMPANYID) { var bodyList = JsonConvert.Deserialize>(data); DBResult result = ChinvoiceapplicationDAL.AuditList(bodyList,PAYCOMPANYID,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, string reason) { var bodyList = JsonConvert.Deserialize>(data); DBResult result = ChinvoiceapplicationDAL.AuditBackList(bodyList, Convert.ToString(Session["USERID"]), reason); var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } #endregion public ContentResult GetPrint(string billno) { DBResult result = ChinvoiceapplicationDAL.GetPrint(billno, Convert.ToString(Session["USERID"]), CookieConfig.GetCookie_UserCode(Request), Convert.ToString(Session["COMPANYID"])); var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult UpdatePrint(string billnos) { var result = new DBResult(); T_ALL_DA T_ALL_DA = new EntityDA.T_ALL_DA(); string blUpSQL = " update ch_fee_invoiceapplication set ISPRINT='1',PRINTCOUNT=ISNULL(PRINTCOUNT,0)+1 where BILLNO IN (" + billnos + ")"; bool bl = T_ALL_DA.GetExecuteSqlCommand(blUpSQL); result.Success = true; result.Message = "更新成功!"; var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, // Data = MsChFeeDAL.GetDataList(headData.BillNo, Convert.ToString(Session["USERID"]), CookieConfig.GetCookie_UserCode(Request), CookieConfig.GetCookie_OrgCode(Request)) }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult UpdateNoPrint(string billnos) { var result = new DBResult(); string LAN = Convert.ToString(Session["LANGUAGES"]); var strfy = "更新成功!"; if (LAN == "en-us") { strfy = "update success!"; } T_ALL_DA T_ALL_DA = new EntityDA.T_ALL_DA(); string blUpSQL = " update ch_fee_invoiceapplication set ISPRINT='0' where BILLNO IN (" + billnos + ")"; bool bl = T_ALL_DA.GetExecuteSqlCommand(blUpSQL); result.Success = true; result.Message = strfy; var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, // Data = MsChFeeDAL.GetDataList(headData.BillNo, Convert.ToString(Session["USERID"]), CookieConfig.GetCookie_UserCode(Request), CookieConfig.GetCookie_OrgCode(Request)) }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } #region 参照部分 #endregion } }