|
|
using System;
|
|
|
using System.IO;
|
|
|
using System.Data;
|
|
|
using System.Linq;
|
|
|
using System.Web.Mvc;
|
|
|
using DSWeb.MvcShipping.DAL.MsCwVouchersGlDAL;
|
|
|
using DSWeb.MvcShipping.Models.MsCwVouchersGl;
|
|
|
using DSWeb.MvcShipping.Models.MsCwVouitemsGl;
|
|
|
using DSWeb.MvcShipping.Helper;
|
|
|
using DSWeb.MvcShipping.Comm.Cookie;
|
|
|
using HcUtility.Comm;
|
|
|
using HcUtility.Core;
|
|
|
using System.Collections.Generic;
|
|
|
using DSWeb.MvcShipping.DAL.MsBaseInfoDAL;
|
|
|
using DSWeb.EntityDA;
|
|
|
using DSWeb.Areas.CommMng.DAL;
|
|
|
|
|
|
namespace DSWeb.MvcShipping.Controllers
|
|
|
{
|
|
|
[JsonRequestBehavior]
|
|
|
public class MsCwVouchersGlController : Controller
|
|
|
{
|
|
|
public ActionResult Index()
|
|
|
{
|
|
|
return View();
|
|
|
}
|
|
|
public ActionResult Edit()
|
|
|
{
|
|
|
return View();
|
|
|
}
|
|
|
|
|
|
#region 查询
|
|
|
public ContentResult GetDataListHJ(int start, int limit, string sort, string condition)
|
|
|
{
|
|
|
var dataList = MsCwVouchersGlDAL.GetDataListHJ(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 GetData(string handle, string condition)
|
|
|
{
|
|
|
MsCwVouchersGl head = null;
|
|
|
head = MsCwVouchersGlDAL.GetData(condition, Convert.ToString(Session["COMPANYID"]), Convert.ToString(Session["USERID"]));
|
|
|
var json = JsonConvert.Serialize(
|
|
|
new { Success = true, Message = "查询成功", data = head });
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
|
|
|
public ContentResult GetDetailList(string condition)
|
|
|
{
|
|
|
var dataList = MsCwVouchersGlDAL.GetDetailList(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 GetDataCwVVList(int start, int limit, string sort, string condition)
|
|
|
{
|
|
|
var dataList = MsCwVouchersGlDAL.GetDataCwVVList(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 GetDataVW(string handle, string condition)
|
|
|
{
|
|
|
MsCwVouchersVouitemsGl head = null;
|
|
|
head = MsCwVouchersGlDAL.GetDataVW(condition, Convert.ToString(Session["COMPANYID"]), Convert.ToString(Session["USERID"]));
|
|
|
var json = JsonConvert.Serialize(
|
|
|
new { Success = true, Message = "查询成功", data = head });
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
|
|
|
//打印明细列表
|
|
|
public ContentResult GetDataListStr(string condition)
|
|
|
{
|
|
|
var dataListStr = MsCwVouchersGlDAL.GetDataListStr(condition, Convert.ToString(Session["USERID"]));
|
|
|
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", data = dataListStr });
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
//打印合计列表
|
|
|
public ContentResult GetDataListStrHJ(string condition)
|
|
|
{
|
|
|
var dataListStr = MsCwVouchersGlDAL.GetDataListStrHJ(condition, Convert.ToString(Session["USERID"]));
|
|
|
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", data = dataListStr });
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 明细表保存
|
|
|
public ContentResult SaveEdit(string opstatus, string data, string body, string DelBody)//, string data_v
|
|
|
{
|
|
|
if (Convert.ToString(Session["COMPANYID"]).Trim() == "" || Convert.ToString(Session["USERID"]).Trim() == "" || Convert.ToString(Session["CODENAME"]).Trim() == "" || Convert.ToString(Session["SHOWNAME"]).Trim() == "" || Convert.ToString(Session["DEPTNAME"]).Trim() == "")
|
|
|
{
|
|
|
var jsonRespose2 = new JsonResponse { Success = false, Message = "登录超时,请退出系统重新登录!" };
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose2) };
|
|
|
}
|
|
|
//
|
|
|
string strCwACCDATE = BasicDataRefDAL.GetCwACCDATE(Convert.ToString(Session["USERID"]).Trim());
|
|
|
string strCwSTARTGID = BasicDataRefDAL.GetCwSTARTGID(Convert.ToString(Session["USERID"]).Trim());
|
|
|
T_ALL_DA T_ALL_DA = new EntityDA.T_ALL_DA();
|
|
|
//var headData_v = JsonConvert.Deserialize<MsCwVouchersGl>(data_v);
|
|
|
var headData = JsonConvert.Deserialize<MsCwVouchersGl>(data);
|
|
|
var bodyList = JsonConvert.Deserialize<List<MsCwVouitemsGl>>(body);
|
|
|
var DelBodyList = JsonConvert.Deserialize<List<MsCwVouitemsGl>>(DelBody);
|
|
|
string ORDNO = "";
|
|
|
string oldVOUALLNO = "";
|
|
|
|
|
|
var isPost = true;
|
|
|
var errorstr = "";
|
|
|
|
|
|
#region 默认值
|
|
|
//headData.VOUNO = "";//月初清零
|
|
|
//headData.VKNO = "";//凭证字
|
|
|
//headData.VOUDATE = "";//凭证日期
|
|
|
//headData.ATTACHS = "";//附件(单据)数
|
|
|
headData.STARTGID = strCwSTARTGID;
|
|
|
ORDNO = headData.ORDNO.ToString().Trim();
|
|
|
headData.ACCYEAR = DateTime.Parse(headData.VOUDATE.ToString()).Year.ToString();//年
|
|
|
headData.ACCMONTH = DateTime.Parse(headData.VOUDATE.ToString()).Month.ToString();//月
|
|
|
if (headData.ACCMONTH.ToString().Length == 1)
|
|
|
{
|
|
|
headData.ACCMONTH = "0" + headData.ACCMONTH.ToString();//月
|
|
|
}
|
|
|
headData.PREPARED = Convert.ToString(Session["SHOWNAME"]).Trim();//制单人
|
|
|
headData.CREATEUSER = Convert.ToString(Session["USERID"]);//创建人
|
|
|
headData.CREATETIME = DateTime.Now;//创建时间
|
|
|
headData.MODIFIEDUSER = Convert.ToString(Session["USERID"]);//最后一次更新操作人
|
|
|
headData.MODIFIEDTIME = DateTime.Now;//最后一次更新操作时间
|
|
|
#endregion
|
|
|
|
|
|
if (opstatus == "add")
|
|
|
{
|
|
|
#region 获取凭证号
|
|
|
string sVOUNOList = DSWeb.MvcShipping.DAL.MsBaseInfoDAL.MsBaseInfoDAL.GetCwVOUNO(headData.VKNO.ToString(), (headData.ACCYEAR + "-" + headData.ACCMONTH), Convert.ToString(Session["USERID"]));
|
|
|
string[] ayList = sVOUNOList.Trim().Split(new string[] { "~" }, StringSplitOptions.RemoveEmptyEntries);
|
|
|
headData.VOUNO = ayList[2].ToString();
|
|
|
string strVOUNO = ayList[3].ToString();
|
|
|
headData.VOUALLNO = headData.VKNO + headData.ACCYEAR + headData.ACCMONTH + strVOUNO;//年+月+自动生成编号=凭证号
|
|
|
#endregion
|
|
|
|
|
|
#region 其他默认值
|
|
|
ORDNO = "VOU" + Guid.NewGuid().ToString().Trim().Replace("-", "");
|
|
|
headData.ORDNO = ORDNO;//唯一编码 newid()
|
|
|
headData.AMTDR = 0;//本位币借方
|
|
|
headData.AMTCR = 0;//本位币贷方
|
|
|
headData.FCY = "RMB";//是否含有外币科目
|
|
|
headData.QTY = "";//是否含有数量科目
|
|
|
headData.VOUPROP = "";//凭证属性
|
|
|
headData.CHECKED = "";//审核人
|
|
|
headData.ENTERED = "";//记账人
|
|
|
headData.ERRMSG = "";//错误信息
|
|
|
headData.ISDELETE = false;//是否废除
|
|
|
headData.DELETEUSER = "";//废除操作人
|
|
|
//headData.DELETETIME = null;//废除时间
|
|
|
headData.ISEXPORT = false;//是否导出凭证
|
|
|
#endregion
|
|
|
|
|
|
headData.DbOperationType = DbOperationType.DbotIns;
|
|
|
}
|
|
|
else if (opstatus == "edit")
|
|
|
{
|
|
|
oldVOUALLNO = T_ALL_DA.GetStrSQL("VOUALLNO", "select top 1 VOUALLNO from cw_vouchers_gl WITH(NOLOCK) where ORDNO='" + headData.ORDNO.ToString().Trim() + "'");
|
|
|
|
|
|
#region 获取凭证号
|
|
|
string strVOUNO = headData.VOUNO.ToString();
|
|
|
if (oldVOUALLNO.IndexOf(headData.VKNO.ToString()) < 0)
|
|
|
{
|
|
|
string sVOUNOList = DSWeb.MvcShipping.DAL.MsBaseInfoDAL.MsBaseInfoDAL.GetCwVOUNO(headData.VKNO.ToString(), (headData.ACCYEAR + "-" + headData.ACCMONTH), Convert.ToString(Session["USERID"]));
|
|
|
string[] ayList = sVOUNOList.Trim().Split(new string[] { "~" }, StringSplitOptions.RemoveEmptyEntries);
|
|
|
headData.VOUNO = ayList[2].ToString();
|
|
|
strVOUNO = ayList[3].ToString();
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
for (int i = 0; i < (4 - headData.VOUNO.ToString().Length); i++)
|
|
|
{
|
|
|
strVOUNO = "0" + strVOUNO;
|
|
|
}
|
|
|
}
|
|
|
headData.VOUALLNO = headData.VKNO + headData.ACCYEAR + headData.ACCMONTH + strVOUNO;//年+月+自动生成编号=凭证号
|
|
|
#endregion
|
|
|
|
|
|
headData.DbOperationType = DbOperationType.DbotUpd;
|
|
|
headData.ModelUIStatus = "E";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
headData.DbOperationType = DbOperationType.DbotDel;
|
|
|
}
|
|
|
//
|
|
|
if (isPost)
|
|
|
{
|
|
|
var modb = new ModelObjectDB();
|
|
|
DBResult result = modb.Save(headData);
|
|
|
if (result.Success == true)
|
|
|
{
|
|
|
#region 明细表保存
|
|
|
//删除列表中的多余数据
|
|
|
if (DelBodyList != null)
|
|
|
{
|
|
|
foreach (var enumValue in DelBodyList)
|
|
|
{
|
|
|
DBResult result1 = MsCwVouchersGlDAL.DeleteDetail(enumValue);
|
|
|
}
|
|
|
}
|
|
|
//添加、修改数据
|
|
|
if (bodyList != null)
|
|
|
{
|
|
|
int n = 1;
|
|
|
Decimal AMTDR_HJ = 0;
|
|
|
Decimal AMTCR_HJ = 0;
|
|
|
foreach (var enumValue in bodyList)
|
|
|
{
|
|
|
#region 默认值
|
|
|
MsCwVouitemsGl headRow = new MsCwVouitemsGl();
|
|
|
headRow.ORDNO = headData.ORDNO;
|
|
|
headRow.ITEMNO = n;//行号 = "";//int = "";//
|
|
|
headRow.EXPLAN = enumValue.EXPLAN;//摘要,规则生成 = "";//varchar = "";//(60)
|
|
|
//
|
|
|
#region 分解 会计科目 字符串
|
|
|
headRow.CUSTOMERNAME = "";//委托单位//Varchar20
|
|
|
headRow.SALE = "";//揽货人//varchar10
|
|
|
headRow.BLNO = "";//业务编号//varchar30
|
|
|
headRow.ITEMGID = "";//项目名称//varchar
|
|
|
headRow.DEPTGID = "";//项目名称//varchar
|
|
|
|
|
|
headRow.ISDEPTACC = false;//核算部门,按规则设置生成//bit
|
|
|
headRow.ISEMPLACC = false;//核算人员,按规则设置生成//bit
|
|
|
headRow.ISCORPACC = false;//核算客户,按规则设置生成//bit
|
|
|
headRow.ISITEMACC = false;//核算项目,按规则设置生成//bit
|
|
|
|
|
|
headRow.DEPTID = "";//部门(系统)//varchar(18)
|
|
|
headRow.EMPLID = "";//人员(系统)//varchar(18)
|
|
|
headRow.CORPID = "";//客户(系统)//varchar(18)
|
|
|
headRow.ITEMID = "";//项目编号//Varchar(50)
|
|
|
//
|
|
|
headRow.ACCID = enumValue.ACCID;//科目代码 = "";//varchar = "";//(16)
|
|
|
string sACCALL = enumValue.ACCALL.ToString().Trim();//会计科目字符串//varchar
|
|
|
int iACCALL2 = sACCALL.IndexOf("_");
|
|
|
int iACCALL = sACCALL.IndexOf("-");
|
|
|
if (iACCALL2 > iACCALL)
|
|
|
{
|
|
|
if (iACCALL > -1)
|
|
|
{
|
|
|
sACCALL = sACCALL.Substring(iACCALL + 1);
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (iACCALL2 == -1)
|
|
|
{
|
|
|
if (iACCALL > -1)
|
|
|
{
|
|
|
sACCALL = sACCALL.Substring(iACCALL + 1);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
headRow.ACCALL = sACCALL.Trim();//会计科目字符串//varchar
|
|
|
string[] ayList = headRow.ACCALL.ToString().Trim().Split(new string[] { "▁" }, StringSplitOptions.RemoveEmptyEntries);
|
|
|
headRow.ACCNAME = ayList[0].ToString();//科目名称 varchar(60)
|
|
|
string strITEM = headRow.ACCNAME.ToString();//科目名称 varchar(60)
|
|
|
string sSQL2 = "select top 1 * from cw_accitems_gl WITH(NOLOCK) where [year]=SUBSTRING('" + strCwACCDATE + "',1,4) and ACCID='" + headRow.ACCID.ToString() + "' and [STARTGID]='" + strCwSTARTGID + "'";
|
|
|
DataSet ds = T_ALL_DA.GetAllSQL(sSQL2);
|
|
|
if (ds != null)
|
|
|
{
|
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
|
{
|
|
|
headRow.ACCID = ds.Tables[0].Rows[0]["ACCID"].ToString();//科目代码//varchar(16)
|
|
|
headRow.ACCNAME = ds.Tables[0].Rows[0]["ACCNAME"].ToString();//科目名称 varchar(60)
|
|
|
strITEM = headRow.ACCNAME.ToString();//科目名称 varchar(60)
|
|
|
if (ds.Tables[0].Rows[0]["ISCORPACC"].ToString()=="True") {
|
|
|
strITEM += "▁CustNAME";//核算客户,按规则设置生成
|
|
|
}
|
|
|
if (ds.Tables[0].Rows[0]["ISDEPTACC"].ToString()=="True") {
|
|
|
strITEM += "▁DeptName";//核算部门,按规则设置生成
|
|
|
}
|
|
|
if (ds.Tables[0].Rows[0]["ISEMPLACC"].ToString()=="True") {
|
|
|
strITEM += "▁SALE";//核算人员,按规则设置生成
|
|
|
}
|
|
|
if (ds.Tables[0].Rows[0]["ISITEMACC"].ToString()=="True") {
|
|
|
strITEM += "▁ITEMNAME";//核算项目,按规则设置生成
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
string[] ayItem = strITEM.Trim().Split(new string[] { "▁" }, StringSplitOptions.RemoveEmptyEntries);
|
|
|
for (var i = 1; i < ayList.Count(); i++)
|
|
|
{
|
|
|
if (ayItem[i].ToString() == "CustNAME")//委托单位
|
|
|
{
|
|
|
headRow.ISCORPACC = true;//核算客户,按规则设置生成//bit
|
|
|
headRow.CUSTOMERNAME = ayList[i].ToString();//委托单位//Varchar20
|
|
|
if (enumValue.AMTDR == 0)//借
|
|
|
{
|
|
|
sSQL2 = "select top 1 FARCODE from info_client WITH(NOLOCK) where SHORTNAME='" + ayList[i].ToString() + "'";
|
|
|
}
|
|
|
else//贷
|
|
|
{
|
|
|
sSQL2 = "select top 1 FAPCODE as FARCODE from info_client WITH(NOLOCK) where SHORTNAME='" + ayList[i].ToString() + "'";
|
|
|
}
|
|
|
headRow.CORPID = T_ALL_DA.GetStrSQL("FARCODE", sSQL2);//客户(系统)//varchar(18)
|
|
|
}
|
|
|
else if (ayItem[i].ToString() == "DeptName")
|
|
|
{
|
|
|
headRow.ISDEPTACC = true;//核算部门,按规则设置生成//bit
|
|
|
sSQL2 = "select top 1 FINANCESOFTCODE from sys_dept WITH(NOLOCK) where DEPTNAME='" + ayList[i].ToString() + "'";
|
|
|
headRow.DEPTID = T_ALL_DA.GetStrSQL("FINANCESOFTCODE", sSQL2);
|
|
|
sSQL2 = "select top 1 GID from sys_dept where DEPTNAME='" + ayList[i].ToString() + "'";
|
|
|
headRow.DEPTGID = T_ALL_DA.GetStrSQL("GID", sSQL2);
|
|
|
}
|
|
|
else if (ayItem[i].ToString() == "SALE")
|
|
|
{
|
|
|
headRow.ISEMPLACC = true;//核算人员,按规则设置生成//bit
|
|
|
headRow.SALE = ayList[i].ToString();//揽货人//varchar10
|
|
|
sSQL2 = "select top 1 FINANCESOFTCODE from user_baseinfo,[user] WITH(NOLOCK) where [user].GID=user_baseinfo.USERID and [user].SHOWNAME='" + ayList[i].ToString() + "'";
|
|
|
headRow.EMPLID = T_ALL_DA.GetStrSQL("FINANCESOFTCODE", sSQL2);//人员(系统)//varchar(18)
|
|
|
}
|
|
|
else if (ayItem[i].ToString() == "ITEMNAME")
|
|
|
{
|
|
|
headRow.ISITEMACC = true;//核算项目,按规则设置生成//bit
|
|
|
sSQL2 = "select top 1 FINANCESOFTCODE from cw_item WITH(NOLOCK) where [STARTGID]='" + strCwSTARTGID + "' and ITEMNAME='" + ayList[i].ToString() + "'";
|
|
|
headRow.ITEMID = T_ALL_DA.GetStrSQL("FINANCESOFTCODE", sSQL2);//项目编号//Varchar(50)
|
|
|
sSQL2 = "select top 1 GID from cw_item WITH(NOLOCK) where [STARTGID]='" + strCwSTARTGID + "' and ITEMNAME='" + ayList[i].ToString() + "'";
|
|
|
headRow.ITEMGID = T_ALL_DA.GetStrSQL("GID", sSQL2);//项目名称//varchar
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
//
|
|
|
headRow.AMTDR = enumValue.AMTDR;//本位币借方金额(互斥) = "";//Numeric = "";//(18,2)
|
|
|
headRow.AMTCR = enumValue.AMTCR;//本位币贷方金额(互斥) = "";//Numeric = "";//(18,2)
|
|
|
headRow.DC = enumValue.DC;//本位币贷方金额(互斥) = "";//Numeric = "";//(18,2)
|
|
|
if (enumValue.DC == "借")
|
|
|
{
|
|
|
headRow.DC = "D";//科目借贷方向
|
|
|
}
|
|
|
else if (enumValue.DC == "贷")
|
|
|
{
|
|
|
headRow.DC = "C";//科目借贷方向
|
|
|
}
|
|
|
else if (enumValue.DC == "")
|
|
|
{
|
|
|
headRow.DC = "D";//科目借贷方向
|
|
|
}
|
|
|
headRow.FCYNO = "RMB";//外币编号usd = "";//varchar = "";//(8)
|
|
|
headRow.ISFCY = false;//是否外币 = "";//Bit = "";//
|
|
|
headRow.FCYEXRATE = 1;//汇率 = "";//Numeric = "";//(18,2)
|
|
|
if (enumValue.FCYNO.ToString().Trim() != "RMB" && enumValue.FCYNO.ToString().Trim() != "")
|
|
|
{
|
|
|
headData.FCY = enumValue.FCYNO.ToString().Trim();//是否含有外币科目
|
|
|
headRow.FCYNO = enumValue.FCYNO.ToString().Trim();//外币编号usd = "";//varchar = "";//(8)
|
|
|
headRow.ISFCY = true;//是否外币 = "";//Bit = "";//
|
|
|
headRow.FCYEXRATE = enumValue.FCYEXRATE;//汇率 = "";//Numeric = "";//(18,2)
|
|
|
if (enumValue.AMTCR == 0)
|
|
|
{
|
|
|
headRow.FCYDR = enumValue.FCYAMT;//外币借方金额 = "";//Numeric = "";//(18,2)
|
|
|
headRow.FCYCR = 0;//外币贷方金额 = "";//Numeric = "";//(18,2)
|
|
|
headRow.AMTDR = enumValue.AMTDR;//Decimal.Parse((enumValue.FCYAMT * enumValue.FCYEXRATE).ToString("#.##"));//本位币借方金额(互斥)//Numeric(18,2)
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
headRow.FCYDR = 0;//外币借方金额 = "";//Numeric = "";//(18,2)
|
|
|
headRow.FCYCR = enumValue.FCYAMT;//外币贷方金额 = "";//Numeric = "";//(18,2)
|
|
|
headRow.AMTCR = enumValue.AMTCR;//Decimal.Parse((enumValue.FCYAMT * enumValue.FCYEXRATE).ToString("#.##"));//本位币借方金额(互斥)//Numeric(18,2)
|
|
|
}
|
|
|
AMTDR_HJ += enumValue.AMTDR;
|
|
|
AMTCR_HJ += enumValue.AMTCR;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
AMTDR_HJ += enumValue.AMTDR;
|
|
|
AMTCR_HJ += enumValue.AMTCR;
|
|
|
}
|
|
|
//
|
|
|
headRow.CREATEUSER = Convert.ToString(Session["USERID"]);//创建人
|
|
|
headRow.CREATETIME = DateTime.Now;//创建时间
|
|
|
headRow.MODIFIEDUSER = Convert.ToString(Session["USERID"]);//最后一次更新操作人
|
|
|
headRow.MODIFIEDTIME = DateTime.Now;//最后一次更新操作时间
|
|
|
#endregion
|
|
|
//
|
|
|
if (enumValue.GID.ToString().Trim() == "*")//"add"
|
|
|
{
|
|
|
#region 默认值
|
|
|
string GID = Guid.NewGuid().ToString();
|
|
|
headRow.GID = GID;//唯一编码 newid() varchar (36)
|
|
|
headRow.ORDNO = headData.ORDNO;
|
|
|
headRow.PACCID = "";//父级科目代码 = "";//varchar = "";//(16)
|
|
|
headRow.PROPERTY = 0;//科目属性 = "";//int = "";//
|
|
|
headRow.GRADE = 0;//科目级别 = "";//int = "";//
|
|
|
headRow.QTYUNIT = "";//数量包装单位 = "";//varchar = "";//(10)
|
|
|
headRow.QTYDR = 0;//借方数量 = "";//Numeric = "";//(18,2)
|
|
|
headRow.QTYCR = 0;//贷方数量 = "";//Numeric = "";//(18,2)
|
|
|
headRow.PITEMID = 0;//父级项目编号 = "";//int = "";//
|
|
|
headRow.FIELD1 = "";//预留字段1 = "";//varchar = "";//(10)
|
|
|
headRow.FIELD2 = "";//预留字段2 = "";//varchar = "";//(10)
|
|
|
headRow.FIELD3 = "";//预留字段3 = "";//varchar = "";//(20)
|
|
|
headRow.FIELD4 = "";//预留字段4 = "";//varchar = "";//(20)
|
|
|
headRow.FIELD5 = "";//预留字段5 = "";//varchar = "";//(20)
|
|
|
headRow.FIELD6 = "";//预留字段6 = "";//varchar = "";//(20)
|
|
|
headRow.FIELD7 = "";//预留字段7 = "";//varchar = "";//(60)
|
|
|
headRow.FIELD8 = "";//预留字段8 = "";//varchar = "";//(60)
|
|
|
headRow.FIELD9 = "";//预留字段9 = "";//varchar = "";//(60)
|
|
|
headRow.FIELD10 = "";//预留字段10 = "";//varchar = "";//(60)
|
|
|
headRow.ISSYS = true;//是否手动录入 = "";//Bit = "";//
|
|
|
headRow.FSETTLCODE = "";//结算方式 = "";//varchar = "";//(20)
|
|
|
headRow.FSETTLDATE = DateTime.Parse(DateTime.Parse(headData.VOUDATE).ToString("yyyy-MM-dd"));//结算日期
|
|
|
headRow.FSETTLENO = "";//财务辅助编号 = "";//varchar = "";//(20)
|
|
|
#endregion
|
|
|
headRow.DbOperationType = DbOperationType.DbotIns;
|
|
|
}
|
|
|
else//"edit"
|
|
|
{
|
|
|
headRow.GID = enumValue.GID.ToString().Trim();//唯一编码
|
|
|
headRow.DbOperationType = DbOperationType.DbotUpd;
|
|
|
headRow.ModelUIStatus = "E";
|
|
|
}
|
|
|
//
|
|
|
modb = new ModelObjectDB();
|
|
|
result = modb.Save(headRow);
|
|
|
if (result.Message.ToString().IndexOf("插入重复键") > -1)
|
|
|
{
|
|
|
errorstr += "重复数据不再重复插入!";
|
|
|
//var jsonRespose = new JsonResponse { Success = false, Message = "重复,不允许保存!" };
|
|
|
//return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
n++;
|
|
|
}
|
|
|
//
|
|
|
string sSQL = "update cw_vouchers_gl set AMTDR=" + AMTDR_HJ + ",AMTCR=" + AMTCR_HJ + " where ORDNO='" + headData.ORDNO.ToString().Trim() + "'";
|
|
|
if (headData.FCY.ToString().Trim() != "RMB")
|
|
|
{
|
|
|
sSQL = "update cw_vouchers_gl set AMTDR=" + AMTDR_HJ + ",AMTCR=" + AMTCR_HJ + ",FCY='" + headData.FCY + "' where ORDNO='" + headData.ORDNO.ToString().Trim() + "'";
|
|
|
}
|
|
|
bool bl = T_ALL_DA.GetExecuteSqlCommand(sSQL);
|
|
|
//
|
|
|
if (oldVOUALLNO.Trim() != "")
|
|
|
{
|
|
|
sSQL = "UPDATE cw_vouno_bs_gl SET VOUALLNO='" + headData.VOUALLNO.ToString() + "' where ORDNO in ('" + headData.ORDNO.ToString() + "') and STARTGID='" + strCwSTARTGID + "'";
|
|
|
bl = T_ALL_DA.GetExecuteSqlCommand(sSQL);
|
|
|
}
|
|
|
//
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
//补号表当前凭证改为删除状态
|
|
|
string sls = "UPDATE [code_fill_serialno] SET [ISDELETE]=1,[DELETEUSER]='" + Convert.ToString(Session["USERID"]).Trim() + "',[DELETETIME]=GETDATE() where [SERIALNO]='" + headData.VOUALLNO.ToString() + "' and STARTGID='" + strCwSTARTGID + "'";
|
|
|
bool bl2 = T_ALL_DA.GetExecuteSqlCommand(sls);
|
|
|
}
|
|
|
var jsonRespose = new JsonResponse
|
|
|
{
|
|
|
Success = result.Success,
|
|
|
Message = result.Message,
|
|
|
Data = MsCwVouchersGlDAL.GetData("ORDNO='" + ORDNO + "'", Convert.ToString(Session["COMPANYID"]), Convert.ToString(Session["USERID"]))
|
|
|
};
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
var jsonRespose = new JsonResponse { Success = false, Message = errorstr + "重复,不允许保存!" };
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 删除
|
|
|
public ContentResult Delete(string gids)
|
|
|
{
|
|
|
if (Convert.ToString(Session["COMPANYID"]).Trim() == "" || Convert.ToString(Session["USERID"]).Trim() == "" || Convert.ToString(Session["CODENAME"]).Trim() == "" || Convert.ToString(Session["SHOWNAME"]).Trim() == "" || Convert.ToString(Session["DEPTNAME"]).Trim() == "")
|
|
|
{
|
|
|
var jsonRespose2 = new JsonResponse { Success = false, Message = "登录超时,请退出系统重新登录!" };
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose2) };
|
|
|
}
|
|
|
//
|
|
|
DBResult result = MsCwVouchersGlDAL.Delete(gids, Convert.ToString(Session["USERID"]).Trim());
|
|
|
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
|
|
|
public ContentResult DeleteDetail(string data)
|
|
|
{
|
|
|
if (Convert.ToString(Session["COMPANYID"]).Trim() == "" || Convert.ToString(Session["USERID"]).Trim() == "" || Convert.ToString(Session["CODENAME"]).Trim() == "" || Convert.ToString(Session["SHOWNAME"]).Trim() == "" || Convert.ToString(Session["DEPTNAME"]).Trim() == "")
|
|
|
{
|
|
|
var jsonRespose2 = new JsonResponse { Success = false, Message = "登录超时,请退出系统重新登录!" };
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose2) };
|
|
|
}
|
|
|
//
|
|
|
var head = JsonConvert.Deserialize<MsCwVouitemsGl>(data);
|
|
|
var modb = new ModelObjectDB();
|
|
|
DBResult result = modb.Delete(head);
|
|
|
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 根据币别,获取汇率值
|
|
|
public ContentResult GetFCYEXRATE(string FCY, string LINKGID)
|
|
|
{
|
|
|
var strList = MsCwVouchersGlDAL.GetFCYEXRATE(FCY, LINKGID, Convert.ToString(Session["COMPANYID"]), Convert.ToString(Session["USERID"]));
|
|
|
if (strList.Trim() == "-1")
|
|
|
{
|
|
|
var json = JsonConvert.Serialize(new { Success = false, Message = "请先设置对应的币别信息!", data = "" });
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
var json = JsonConvert.Serialize(new { Success = true, Message = "操作成功!", data = strList });
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 审核/返审
|
|
|
public ContentResult setISCHECKED(string gids, string iTYPE, int iOK, int iSkip)
|
|
|
{
|
|
|
if (Convert.ToString(Session["COMPANYID"]).Trim() == "" || Convert.ToString(Session["USERID"]).Trim() == "" || Convert.ToString(Session["CODENAME"]).Trim() == "" || Convert.ToString(Session["SHOWNAME"]).Trim() == "" || Convert.ToString(Session["DEPTNAME"]).Trim() == "")
|
|
|
{
|
|
|
var jsonRespose2 = new JsonResponse { Success = false, Message = "登录超时,请退出系统重新登录!" };
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose2) };
|
|
|
}
|
|
|
//
|
|
|
DBResult result = MsCwVouchersGlDAL.setISCHECKED(gids, iTYPE, iOK, iSkip, Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]));
|
|
|
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 1.上一条 / 2.下一条
|
|
|
public ContentResult setPrevious(int iTYPE, string ORDNO, string strCondition)
|
|
|
{
|
|
|
DBResult result = MsCwVouchersGlDAL.setPrevious(iTYPE, ORDNO, strCondition, 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 GetISFINANCESOFTCODE(string TYPE, string VALUE)
|
|
|
{
|
|
|
var strList = MsCwVouchersGlDAL.GetISFINANCESOFTCODE(TYPE, VALUE, Convert.ToString(Session["COMPANYID"]), Convert.ToString(Session["USERID"]));
|
|
|
if (strList.Trim() == "-1")
|
|
|
{
|
|
|
var json = JsonConvert.Serialize(new { Success = false, Message = "请先设置对应的财务代码!", data = "" });
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
var json = JsonConvert.Serialize(new { Success = true, Message = "操作成功!", data = strList });
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 是否导出数据
|
|
|
public ContentResult getIsExport(string condition, string gids)
|
|
|
{
|
|
|
if (Convert.ToString(Session["COMPANYID"]).Trim() == "" || Convert.ToString(Session["USERID"]).Trim() == "" || Convert.ToString(Session["CODENAME"]).Trim() == "" || Convert.ToString(Session["SHOWNAME"]).Trim() == "" || Convert.ToString(Session["DEPTNAME"]).Trim() == "")
|
|
|
{
|
|
|
var jsonRespose2 = new JsonResponse { Success = false, Message = "登录超时,请退出系统重新登录!" };
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose2) };
|
|
|
}
|
|
|
//
|
|
|
DBResult result = MsCwVouchersGlDAL.getIsExport(condition, gids, Convert.ToString(Session["COMPANYID"]), 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 setExcelReportGl(string strCondition, string gids)
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
string sSQL = "";
|
|
|
string strCwSTARTGID = BasicDataRefDAL.GetCwSTARTGID(Convert.ToString(Session["USERID"]).Trim());
|
|
|
T_ALL_DA T_ALL_DA = new T_ALL_DA();
|
|
|
//帐套设置
|
|
|
sSQL = "SELECT top 1 * from cw_design_gl where STARTGID='" + strCwSTARTGID + "'";
|
|
|
DataSet ds = T_ALL_DA.GetAllSQL(sSQL);
|
|
|
if (ds == null)
|
|
|
{
|
|
|
result.Data = "";
|
|
|
result.Success = false;
|
|
|
result.Message = "请先设置帐套信息!";
|
|
|
var jsonRespose2 = new JsonResponse { Success = result.Success, Message = result.Message, Data = result.Data };
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose2) };
|
|
|
}
|
|
|
//
|
|
|
string sgids = "'" + gids.Trim().Replace(",", "','") + "'";
|
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
|
{
|
|
|
strCondition = " and " + strCondition;
|
|
|
}
|
|
|
if (gids.Trim() != "")
|
|
|
{
|
|
|
strCondition += " and ORDNO in (" + sgids + ")";
|
|
|
}
|
|
|
strCondition += " and STARTGID='" + strCwSTARTGID + "'";
|
|
|
//
|
|
|
var sPath = Server.MapPath("../../Reports/dbf");
|
|
|
if (!Directory.Exists(sPath))
|
|
|
{
|
|
|
Directory.CreateDirectory(sPath);
|
|
|
}
|
|
|
var filename = "";
|
|
|
var errostr = "";
|
|
|
if (ds.Tables[0].Rows[0]["FSOFTCODE"].ToString().Trim() == "1")//1.金蝶迷你
|
|
|
{
|
|
|
filename = MsCwVouchersGlDAL.setExcelReportGlMN(strCondition, sPath);
|
|
|
}
|
|
|
else if (ds.Tables[0].Rows[0]["FSOFTCODE"].ToString().Trim() == "2")//2.金蝶标准
|
|
|
{
|
|
|
filename = MsCwVouchersGlDAL.setExcelReportGlBZ(strCondition, sPath);
|
|
|
}
|
|
|
else if (ds.Tables[0].Rows[0]["FSOFTCODE"].ToString().Trim() == "3")//3.金蝶k3
|
|
|
{
|
|
|
filename = MsCwVouchersGlDAL.setExcelReportGlK3(strCondition, sPath);
|
|
|
}
|
|
|
else if (ds.Tables[0].Rows[0]["FSOFTCODE"].ToString().Trim() == "4")//4.用友U8
|
|
|
{
|
|
|
filename = MsCwVouchersGlDAL.setExcelReportGlU8(strCondition, ds, sPath, Convert.ToString(Session["COMPANYID"]));
|
|
|
}
|
|
|
else if (ds.Tables[0].Rows[0]["FSOFTCODE"].ToString().Trim() == "5")//5.浪潮
|
|
|
{
|
|
|
}
|
|
|
else if (ds.Tables[0].Rows[0]["FSOFTCODE"].ToString().Trim() == "6")//6.SyBase
|
|
|
{
|
|
|
}
|
|
|
else if (ds.Tables[0].Rows[0]["FSOFTCODE"].ToString().Trim() == "7")//7.用友NC
|
|
|
{
|
|
|
filename = MsCwVouchersGlDAL.setExcelReportGlNC(strCondition, ds, sPath, Convert.ToString(Session["COMPANYID"]));
|
|
|
}
|
|
|
else if (ds.Tables[0].Rows[0]["FSOFTCODE"].ToString().Trim() == "8")//8.金蝶专业
|
|
|
{
|
|
|
DBResult expresult = MsCwVouchersGlDAL.setExcelReportGlZY(strCondition, sPath);
|
|
|
filename = expresult.Data.ToString();
|
|
|
errostr = expresult.Message.ToString();
|
|
|
}
|
|
|
//
|
|
|
if (filename == "")
|
|
|
{
|
|
|
result.Data = "";
|
|
|
result.Success = false;
|
|
|
result.Message = "凭证模板文件缺失,请联系管理员!";
|
|
|
var jsonRespose2 = new JsonResponse { Success = result.Success, Message = result.Message, Data = result.Data };
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose2) };
|
|
|
}
|
|
|
else if (filename == "-1")
|
|
|
{
|
|
|
result.Data = "";
|
|
|
result.Success = false;
|
|
|
result.Message = "导出凭证出错,请重试!" + errostr;
|
|
|
var jsonRespose2 = new JsonResponse { Success = result.Success, Message = result.Message, Data = result.Data };
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose2) };
|
|
|
}
|
|
|
filename = Path.GetFileName(filename);
|
|
|
result.Data = "../../Reports/dbf/" + filename;
|
|
|
result.Success = true;
|
|
|
result.Message = filename;
|
|
|
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, Data = result.Data };
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 根据上传删除的附件数,更新凭证附单据张数,需求编号:SR2017062800004
|
|
|
public ContentResult setAttachs(string sORDNO)
|
|
|
{
|
|
|
DBResult result = MsCwVouchersGlDAL.setAttachs(sORDNO);
|
|
|
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
}
|
|
|
|