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.

312 lines
14 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;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using DSWeb.Models;
using System.Collections.Generic;
using JsonHelper;
using DSWeb.EntityDA;
using DSWeb.Log;
namespace DSWeb.ParameterSet
{
public partial class CodeStlmodeSet : System.Web.UI.Page
{
private string recvJSON;
RangeDA RangeDA = new RangeDA();
T_ALL_DA T_ALL_DA = new T_ALL_DA();
public string strUserID;//用户GID
protected void Page_Load(object sender, EventArgs e)
{
if (Session["USERID"] != null)
{
strUserID = Session["USERID"].ToString().Trim();
}
else
{
Server.Transfer("~/Error/FriendError.aspx");
return;
//strUserID = "";
}
//
recvJSON = "";
recvJSON = this.recvContainer.Value.Trim();
/*
//权限可视范围
this.hdRangeV.Value = RangeDA.GetVISIBLERANGE(strUserID.Trim(), "modOrderManagement");
this.hdRangeO.Value = RangeDA.GetOPERATERANGE(strUserID.Trim(), "modOrderManagement");
string alt = "";
if (this.hdRangeV.Value.Trim() != this.hdRangeO.Value.Trim())
{
if (this.hdRangeO.Value.Trim().Equals("0"))//全部
{
}
else if (this.hdRangeO.Value.Trim().Equals("1"))//分公司
{
alt = RangeDA.GetOrderManagementCompany(strUserID.Trim(), strSeaBSNO);
if (alt == "")
{
divadd.Disabled = true;
divsave.Disabled = true;
divdel.Disabled = true;
divrollback.Disabled = true;
mygrid_container_recv.Disabled = true;
}
}
else if (this.hdRangeO.Value.Trim().Equals("2"))//部门
{
alt = RangeDA.GetOrderManagementDEPT(strUserID.Trim(), strSeaBSNO);
if (alt == "")
{
divadd.Disabled = true;
divsave.Disabled = true;
divdel.Disabled = true;
divrollback.Disabled = true;
mygrid_container_recv.Disabled = true;
}
}
else if (this.hdRangeO.Value.Trim().Equals("3"))//个人
{
alt = RangeDA.GetOrderManagementPerson(strUserID.Trim(), strSeaBSNO);
if (alt == "")
{
divadd.Disabled = true;
divsave.Disabled = true;
divdel.Disabled = true;
divrollback.Disabled = true;
mygrid_container_recv.Disabled = true;
}
}
else if (this.hdRangeO.Value.Trim().Equals("4"))//无
{
divadd.Disabled = true;
divsave.Disabled = true;
divdel.Disabled = true;
divrollback.Disabled = true;
mygrid_container_recv.Disabled = true;
}
}
*/
//
if (!IsPostBack)
{
}
//
if (!recvJSON.Trim().Equals(""))
{
//应收账户保存
JsonCodeStlmodeSetGroupEntity CodeStlmodeSetGroupRecvEntity = GetPostEntity(recvJSON);
List<JsonCodeStlmodeSetEntity> CodeStlmodeSetRecvEntities = new List<JsonCodeStlmodeSetEntity>();
CodeStlmodeSetRecvEntities = CodeStlmodeSetGroupRecvEntity.JsonCodeStlmodeSetEntities;
SaveRecvCodeStlmodeSet(CodeStlmodeSetGroupRecvEntity);
//更新完初始化
recvJSON = "";
}
}
#region 保存应收账户列表更改结果
/// <summary>
/// 保存应收账户列表更改结果
/// </summary>
/// <param name="tempGroupEntity"></param>
private void SaveRecvCodeStlmodeSet(JsonCodeStlmodeSetGroupEntity tempGroupEntity)
{
if (tempGroupEntity != null)
{
List<JsonCodeStlmodeSetEntity> CodeStlmodeSetEntities = new List<JsonCodeStlmodeSetEntity>();
CodeStlmodeSetEntities = tempGroupEntity.JsonCodeStlmodeSetEntities;
CodeStlmodeSetDA CodeStlmodeSetDA = new CodeStlmodeSetDA();
DataTable CodeStlmodeSetTable = new DataTable();
string strInitSql = "";
if (tempGroupEntity.JsonCodeStlmodeSetEntities.Count > 0)
{
strInitSql = " SELECT GID,STLCODE,STLNAME,FINANCESOFTCODE FROM code_stlmode order by STLCODE";
}
else
{
return;
}
CodeStlmodeSetTable = CodeStlmodeSetDA.GetSQL(strInitSql).Tables[0];
//更新操作SQL语句
ArrayList sqlList = new ArrayList();
//日志操作SQL语句
ArrayList logList = new ArrayList();
//日志记录
Logger log = Logger.Instance;
for (int i = 0; i < CodeStlmodeSetTable.Rows.Count; i++)
{
foreach (JsonCodeStlmodeSetEntity CodeStlmodeSet in CodeStlmodeSetEntities)
{
if (CodeStlmodeSetTable.Rows[i]["GID"].ToString().Trim().Equals(CodeStlmodeSet.CodeStlmodeSet1.Trim()))//惟一编号
{
string strSql = "";
string LogContent = "";
LogEntity logEntity = new LogEntity();
#region 更改前后信息对比
//结算方式代码
string strSTLCODE = CodeStlmodeSet.CodeStlmodeSet2.Trim().ToLower().Equals("null") ? "" : CodeStlmodeSet.CodeStlmodeSet2.Trim();
if (!CodeStlmodeSetTable.Rows[i]["STLCODE"].ToString().Trim().Equals(strSTLCODE))
{
strSql += String.Format(" STLCODE = '{0}'", strSTLCODE);
LogContent += String.Format(log.GetLogContentTemplate(Logger.LogTypes.UPDATE), "结算方式代码", CodeStlmodeSetTable.Rows[i]["STLCODE"].ToString().Trim(), strSTLCODE);
}
//结算方式
string strSTLNAME = CodeStlmodeSet.CodeStlmodeSet3.Trim().ToLower().Equals("null") ? "" : CodeStlmodeSet.CodeStlmodeSet3.Trim();
if (!CodeStlmodeSetTable.Rows[i]["STLNAME"].ToString().Trim().Equals(strSTLNAME))
{
strSql += String.Format(" STLNAME = '{0}'", strSTLNAME);
LogContent += String.Format(log.GetLogContentTemplate(Logger.LogTypes.UPDATE), "结算方式", CodeStlmodeSetTable.Rows[i]["STLNAME"].ToString().Trim(), strSTLNAME);
}
//财务软件代码
string strFINANCESOFTCODE = CodeStlmodeSet.CodeStlmodeSet4.Trim().ToLower().Equals("null") ? "" : CodeStlmodeSet.CodeStlmodeSet4.Trim();
if (!CodeStlmodeSetTable.Rows[i]["FINANCESOFTCODE"].ToString().Trim().Equals(strFINANCESOFTCODE))
{
strSql += String.Format(",FINANCESOFTCODE = '{0}'", strFINANCESOFTCODE);
LogContent += String.Format(log.GetLogContentTemplate(Logger.LogTypes.UPDATE), "财务软件代码", CodeStlmodeSetTable.Rows[i]["FINANCESOFTCODE"].ToString().Trim(), strFINANCESOFTCODE);
}
#endregion
//如果有字段内容更新则执行更新操作
if (LogContent.Trim().Length > 1)
{
if (strSql.Trim().StartsWith(","))
{
strSql = strSql.Trim().Substring(1);
}
string strUpdateSql = String.Format("UPDATE {0} SET {1} WHERE GID = '{2}'", "code_stlmode", strSql, CodeStlmodeSet.CodeStlmodeSet1.Trim());
sqlList.Add(strUpdateSql);
logList.Add(String.Format("更新账户标识 {0} {1}", CodeStlmodeSet.CodeStlmodeSet1.Trim(), LogContent));
}
CodeStlmodeSetEntities.Remove(CodeStlmodeSet);
break;
}
}
}
if (sqlList.Count > 0)
{
int iResult = CodeStlmodeSetDA.UpdateCodeStlmodeSetFromGrid(sqlList);
//为1表示更新成功
//为-1有异常,更新失败
//为-2更新异常,事务已回滚成功
//更新完成后,记录日志
if (iResult == 1)
{
#region 日志记录操作
// INSERT-"INSERT INTO {0} ({1}) VALUES ({2})" @{0}-所要插入记录的表;{1}记录字段值;{2}-记录新值@
//if (logList.Count > 0)
//{
// for (int i = 0; i < logList.Count; i++)
// {
// LogEntity logEntity = new LogEntity();
// logEntity.GID = Guid.NewGuid().ToString();
// logEntity.Name = "更新账户信息列表";
// logEntity.LogType = "UPDATE 更新操作";
// logEntity.CreateUserID = strUserID.Trim();//测试使用数据,正式发布请删除
// logEntity.LogContent = logList[i].ToString();
// log.WriteLog(logEntity);
// }
//}
#endregion
}
}
//如果遍历完所有币别表数据,没有相对应的币别信息,则将剩余的币别信息插入到币别表中
if (CodeStlmodeSetEntities.Count > 0)
{
//插入新的应收币别信息
InsertCodeStlmodeSet(CodeStlmodeSetEntities, 1);
}
recvJSON = "";
this.recvContainer.Value = "";
}
else
{
recvJSON = "";
this.recvContainer.Value = "";
return;
}
}
#endregion
#region 插入账户信息记录
/// <summary>
/// 插入账户信息记录
/// </summary>
/// <param name="CodeStlmodeSetEntities">需要插入账户表的账户实体类</param>
/// <param name="iType">如果iType值为1则记录账户类型为收/否则记录为付</param>
public void InsertCodeStlmodeSet(List<JsonCodeStlmodeSetEntity> CodeStlmodeSetEntities, int iType)
{
ArrayList sqlInsertList = new ArrayList();
CodeStlmodeSetDA CodeStlmodeSetDA = new CodeStlmodeSetDA();
CodeStlmodeSetEntity CodeStlmodeSetEntity = new CodeStlmodeSetEntity();
CodeStlmodeSetEntity CodeStlmodeSetEntityGID = new CodeStlmodeSetEntity();
string alt = "";
foreach (JsonCodeStlmodeSetEntity CodeStlmodeSet in CodeStlmodeSetEntities)
{
CodeStlmodeSetEntity.GID = CodeStlmodeSet.CodeStlmodeSet1.Trim().Equals("null") ? "" : CodeStlmodeSet.CodeStlmodeSet1.Trim();
CodeStlmodeSetEntity.STLCODE = CodeStlmodeSet.CodeStlmodeSet2.Trim().Equals("null") ? "" : CodeStlmodeSet.CodeStlmodeSet2.Trim();
CodeStlmodeSetEntity.STLNAME = CodeStlmodeSet.CodeStlmodeSet3.Trim().Equals("null") ? "" : CodeStlmodeSet.CodeStlmodeSet3.Trim();
CodeStlmodeSetEntity.FINANCESOFTCODE = CodeStlmodeSet.CodeStlmodeSet4.ToString().Trim().Equals("null") ? "" : CodeStlmodeSet.CodeStlmodeSet4.Trim();
//
CodeStlmodeSetEntityGID = CodeStlmodeSetDA.GetModel(CodeStlmodeSetEntity.GID);
if (CodeStlmodeSetEntityGID == null || CodeStlmodeSetEntityGID.GID == null)
{
int iResult = CodeStlmodeSetDA.Add(CodeStlmodeSetEntity);
//为1表示更新成功
//为-1有异常,更新失败
//为-2更新异常,事务已回滚成功
//更新完成后,记录日志
if (iResult == 1)
{
}
}
else
{
alt += CodeStlmodeSetEntity.GID + ",";
}
}
//
//if (alt != "")
//{
// alt=alt.Trim().Substring(0,alt.Trim().Length-1);
// Page.ClientScript.RegisterStartupScript(this.GetType(), "key3", "<script>alert('"+alt+"')数据重复,不允许插入!);</script>");
//}
}
#endregion
#region 获取账户客户保存的账户信息
/// <summary>
/// 获取账户客户保存的账户信息
/// </summary>
/// <param name="tempValue"></param>
/// <returns></returns>
public JsonCodeStlmodeSetGroupEntity GetPostEntity(string tempValue)
{
JsonCodeStlmodeSetGroupEntity CodeStlmodeSetGroupEntity = (JsonCodeStlmodeSetGroupEntity)JSON.Instance.ToObject(tempValue);
return CodeStlmodeSetGroupEntity;
}
#endregion
}
}