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/OA/Controllers/Jiekuan2Controller.cs

443 lines
16 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.Collections.Generic;
using System.Linq;
using System.Web.Mvc;
using DSWeb.Areas.OA.DAL.Jiekuan2;
using DSWeb.Areas.OA.Models.Jiekuan;
using DSWeb.Areas.OA.Models.Comm;
using DSWeb.TruckMng.Comm.Cookie;
using DSWeb.TruckMng.Helper;
using DSWeb.TruckMng.Helper.Repository;
using DSWeb.Areas.CommMng.DAL;
using DSWeb.EntityDA;
using HcUtility.Comm;
using HcUtility.Core;
using Microsoft.Practices.EnterpriseLibrary.Data;
using System.Text;
using System.Data;
using DSWeb.MvcShipping.DAL.MsChFeeDAL;
using DSWeb.SoftMng.Filter;
namespace DSWeb.Areas.OA.Controllers
{
[JsonRequestBehavior]
public class Jiekuan2Controller : Controller
{
//
// GET: /Import/XXH
public ActionResult Index()
{
return View();
}
//
// GET: /Import/XXH/Edit
public ActionResult Edit()
{
return View();
}
// GET: /Import/XXH
public ActionResult NewIndex()
{
return View();
}
//
// GET: /Import/XXH/Edit
public ActionResult NewEdit()
{
return View();
}
public ActionResult NewAuditIndex()
{
return View();
}
//
// GET/Import/XXH/GetDataList
[SqlKeyWordsFilter(Type = "Action")]//sql 防注入过滤器
public ContentResult GetDataList(int start, int limit, string sort, string condition)
{
var dataList = Jiekuan2DAL.GetDataList(condition);
var list = dataList.Skip(start).Take(limit);
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = list.ToList() });
return new ContentResult() { Content = json };
}
[SqlKeyWordsFilter(Type = "Action")]//sql 防注入过滤器
public ContentResult GetDataListZC(int start, int limit, string sort, string condition)
{
var dataList = Jiekuan2DAL.GetDataListZC(condition);
var list = dataList.Skip(start).Take(limit);
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = list.ToList() });
return new ContentResult() { Content = json };
}
[SqlKeyWordsFilter(Type = "Action")]//sql 防注入过滤器
public ContentResult GetDataListStr(string condition)
{
var dataListStr = Jiekuan2DAL.GetDataListStr(condition);
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", data = dataListStr });
return new ContentResult() { Content = json };
}
[SqlKeyWordsFilter(Type = "Action")]//sql 防注入过滤器
public ContentResult GetJieKuan2Body ( string condition )
{
var dataList = Jiekuan2DAL.GetJieKuan2Body(condition);
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = dataList.ToList() });
return new ContentResult() { Content = json };
}
[SqlKeyWordsFilter(Type = "Action")]//sql 防注入过滤器
public ContentResult GetJieKuanZCBody(string condition)
{
var dataList = Jiekuan2DAL.GetJieKuanZCBody(condition);
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = dataList.ToList() });
return new ContentResult() { Content = json };
}
[SqlKeyWordsFilter(Type = "Action")]//sql 防注入过滤器
public ContentResult GetData(string handle, string condition)
{
Jiekuan2mb head = null;
if (handle == "edit")
{
var list = Jiekuan2DAL.GetDataList(condition);
if (list.Count > 0)
head = list[0];
}
if (head == null)
{
head = new Jiekuan2mb();
head.OP = Convert.ToString(Session["SHOWNAME"]);
head.CURRENCY = "RMB";
head.SALECORPID = Convert.ToString(Session["COMPANYID"]);
}
var json = JsonConvert.Serialize(
new { Success = true, Message = "查询成功", data = head });
return new ContentResult() { Content = json };
}
[SqlKeyWordsFilter(Type = "Action")]//sql 防注入过滤器
public ContentResult GetDataZC(string handle, string condition)
{
Jiekuan2mb head = null;
if (handle == "edit")
{
var list = Jiekuan2DAL.GetDataListZC(condition);
if (list.Count > 0)
head = list[0];
}
if (head == null)
{
head = new Jiekuan2mb();
head.OP = Convert.ToString(Session["SHOWNAME"]);
head.CURRENCY = "RMB";
head.SALECORPID = Convert.ToString(Session["COMPANYID"]);
}
var json = JsonConvert.Serialize(
new { Success = true, Message = "查询成功", data = head });
return new ContentResult() { Content = json };
}
public ContentResult Save(string opstatus, string data, string data2, string Jiekuan2Body, string Jiekuan2DelBody)
{
var head = JsonConvert.Deserialize<Jiekuan2mb>(data.Replace("}", ",") + data2.Replace("{", "") );
var FeebodyList = JsonConvert.Deserialize<List<Jiekuan2Bodymb>>(Jiekuan2Body);
var FeeDelbodyList = JsonConvert.Deserialize<List<Jiekuan2Bodymb>>(Jiekuan2DelBody);
decimal AMOUNT = 0;
if (Jiekuan2Body!="")
{
foreach (var _F in FeebodyList)
{
_F.UNITPRICE = _F.NOTAXAMOUNT;
//_F.NOTAXAMOUNT = _F.AMOUNT;
_F.TAXUNITPRICE = _F.AMOUNT;
AMOUNT = AMOUNT + _F.AMOUNT;
if (_F.JKGID == "*")
{
_F.DbOperationType = DbOperationType.DbotIns;
_F.EnteroPerator = Convert.ToString(Session["USERID"]);
_F.EnterDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
}
else
_F.DbOperationType = DbOperationType.DbotUpd;
if (_F.EXCHANGERATE == 0) {
if (_F.CURRENCY == "RMB")
_F.EXCHANGERATE = 1;
else
{
_F.EXCHANGERATE =MsChFeeDAL.GetExrate(DateTime.Now.ToString(), Convert.ToString(Session["COMPANYID"]), _F.CURRENCY);
}
}
}
}
if(AMOUNT!=0&& head.REASON!="备用金" && head.REASON != "现金")
head.AMOUNT =AMOUNT.ToString();
if (opstatus == "add")
{
head.DbOperationType = DbOperationType.DbotIns;
head.ModelUIStatus = "I";
head.GID = PubSysDAL.GetBillNo("0402"); //获取管理费单号
head.BILLNO = head.GID;
//20131011 应客户要求,将合同号改为接单人手动填写的必填项目。不再自动生成合同号
//自动填写接单审单人id
//改为由前台自动生成
//head.CREATEUSER = CookieConfig.GetCookie_UserName(Request);
//head.COMPANY = CookieConfig.GetCookie_OrgName(Request);
}
else if (opstatus == "edit")
{
head.DbOperationType = DbOperationType.DbotUpd;
head.ModelUIStatus = "E";
head.BILLNO = head.GID;
}
else
{
head.DbOperationType = DbOperationType.DbotDel;
}
if (head.AMOUNT==null||head.AMOUNT=="") head.AMOUNT = "0";
var modb = new ModelObjectRepository();
DBResult result = modb.Save(head,
ModelObjectConvert<Jiekuan2Bodymb>.ToModelObjectList(FeebodyList),
ModelObjectConvert<Jiekuan2Bodymb>.ToModelObjectList(FeeDelbodyList)
);
//刷新父窗口上的父节点
var jsonRespose = new JsonResponse
{
Success = result.Success,
Message = result.Message,
Data = Jiekuan2DAL.GetData("jk.GID='" + head.GID + "'")
};
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
public ContentResult Delete(string data,string USERID)
{
var head = JsonConvert.Deserialize<Jiekuanmb>(data);
var JKGID = head.GID;
var modb = new ModelObjectDB();
DBResult result = modb.Delete(head,USERID,true);
if (result.Success)
{
T_ALL_DA T_ALL_DA = new EntityDA.T_ALL_DA();
var blUpSQL = " delete from ch_fee where JKGID ='" + head.GID + "' ";
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 SaveDetail(string Jiekuan2Body, string JKGID)
{
var FeebodyList = JsonConvert.Deserialize<List<Jiekuan2Bodymb>>(Jiekuan2Body);
var JieKuanHead = Jiekuan2DAL.GetData("jk.GID='"+JKGID+"'");
decimal amount = 0;
if (Jiekuan2Body != "")
{
foreach (var _F in FeebodyList)
{
_F.UNITPRICE = _F.AMOUNT;
if (_F.NOTAXAMOUNT==0)
_F.NOTAXAMOUNT = _F.AMOUNT;
_F.TAXUNITPRICE = _F.AMOUNT;
if (_F.JKGID == "*")
{
_F.DbOperationType = DbOperationType.DbotIns;
if (JieKuanHead.REASON =="备用金" || JieKuanHead.REASON =="现金")
{
_F.CARGO_GID = JKGID;
_F.JKGID ="-";
} else
_F.JKGID = JKGID;
}
else
_F.DbOperationType = DbOperationType.DbotUpd;
amount = amount + _F.AMOUNT;
if (_F.EXCHANGERATE == 0)
{
if (_F.CURRENCY == "RMB")
_F.EXCHANGERATE = 1;
else
{
_F.EXCHANGERATE = MsChFeeDAL.GetExrate(DateTime.Now.ToString(), Convert.ToString(Session["COMPANYID"]), _F.CURRENCY);
}
}
}
}
if (amount > Convert.ToDecimal(JieKuanHead.AMOUNT)) {
//刷新父窗口上的父节点
var jsonRespose2 = new JsonResponse
{
Success =false,
Message ="添加金额不能大于借款总额!"
};
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose2) };
}
var modb = new ModelObjectRepository();
DBResult result = modb.Save(ModelObjectConvert<Jiekuan2Bodymb>.ToModelObjectList(FeebodyList));
//刷新父窗口上的父节点
var jsonRespose = new JsonResponse
{
Success = result.Success,
Message = result.Message
};
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
public ContentResult DeleteDetail(string Jiekuan2Body)
{
var FeebodyList = JsonConvert.Deserialize<List<Jiekuan2Bodymb>>(Jiekuan2Body);
var modb = new ModelObjectDB();
DBResult result = null;
foreach(var items in FeebodyList)
result = modb.Delete(items);
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
#region 工作流审批驳回部分
//提交审核
public ContentResult SubmitAuditNew(string JieKuan2List)
{
var billData = JsonConvert.Deserialize<List<Jiekuan2mb>>(JieKuan2List);
DBResult result = Jiekuan2DAL.SubmitAuditNew( Convert.ToString(Session["USERID"]), billData);
var json = JsonConvert.Serialize(result);
return new ContentResult() { Content = json };
}
public ContentResult SubmitAuditBackNew(string JieKuan2List)
{
var billData = JsonConvert.Deserialize<List<Jiekuan2mb>>(JieKuan2List);
foreach (var bill in billData) {
if (bill.JKSTATUS != "2"){
var jsonRespose = new JsonResponse { Success = false, Message ="只有“提交审核”状态才允许撤销提交!"};
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
}
DBResult result = Jiekuan2DAL.SubmitAuditBackNew(Convert.ToString(Session["USERID"]), billData);
var json = JsonConvert.Serialize(result);
return new ContentResult() { Content = json };
}
//审核通过
public ContentResult Audit(string JieKuan2List)
{
var billData = JsonConvert.Deserialize<List<Jiekuan2mb>>(JieKuan2List);
DBResult result = Jiekuan2DAL.Audit( Convert.ToString(Session["USERID"]), billData);
var json = JsonConvert.Serialize(result);
return new ContentResult() { Content = json };
}
public ContentResult AuditZC(string JieKuan2List)
{
var billData = JsonConvert.Deserialize<List<Jiekuan2mb>>(JieKuan2List);
DBResult result = Jiekuan2DAL.AuditZC(Convert.ToString(Session["USERID"]), billData);
var json = JsonConvert.Serialize(result);
return new ContentResult() { Content = json };
}
//审核驳回
public ContentResult AuditBack(string JieKuan2List, string reasean)
{
//需要处理 如果此借款单内存在“BXGID不为空”的chfee ,则不允许回退
var billData = JsonConvert.Deserialize<List<Jiekuan2mb>>(JieKuan2List);
var bxgidstr = "";
foreach (var bill in billData) {
if (bxgidstr == "")
bxgidstr = bxgidstr +"'"+bill.GID+"'";
else bxgidstr = bxgidstr + ",'" + bill.GID + "'";
}
bxgidstr = "(" + bxgidstr + ")";
var JieKuanList = Jiekuan2DAL.GetDataList(" jk.GID IN (SELECT DISTINCT JKGID FROM ch_fee WHERE ISNULL(BXGID,'')<>'' AND JKGID IN " + bxgidstr + ") ");
if (JieKuanList.Count != 0) {
var JieKuanGID = "";
foreach (var JieKuan in JieKuanList) {
if (JieKuanGID!="")
JieKuanGID = JieKuanGID + "," + JieKuan.GID;
else JieKuanGID =JieKuan.GID;
}
var jsonRespose2 = new JsonResponse
{
Success = false,
Message = "借款单号:" + JieKuanGID+" 已核销不允许撤销审核!"
};
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose2) };
}
DBResult result = Jiekuan2DAL.AuditBack( Convert.ToString(Session["USERID"]), billData, reasean);
var json = JsonConvert.Serialize(result);
return new ContentResult() { Content = json };
}
#endregion
}
}