|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Web;
|
|
|
|
|
using Microsoft.Practices.EnterpriseLibrary.Data;
|
|
|
|
|
using System.Data;
|
|
|
|
|
using DSWeb.MvcShipping.DAL.Chfee_AuditDAL;
|
|
|
|
|
using DSWeb.Areas.Account.Models.MsOpBill;
|
|
|
|
|
using System.Text;
|
|
|
|
|
using DSWeb.Areas.Mobile.Models.Approval;
|
|
|
|
|
using DSWeb.MvcShipping.DAL.MsSysParamSet;
|
|
|
|
|
using DSWeb.TruckMng.Helper;
|
|
|
|
|
using HcUtility.Comm;
|
|
|
|
|
|
|
|
|
|
namespace DSWeb.Areas.Mobile.DAL
|
|
|
|
|
{
|
|
|
|
|
public class ApprovalDAL
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取Content的HTML
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public static string GetBillStatus (string billno)
|
|
|
|
|
{
|
|
|
|
|
return "";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取利润与金额合计
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="mblno">主题单号</param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public static YSYFAmountModel GetAmountAndLirun ( string mblno)
|
|
|
|
|
{
|
|
|
|
|
StringBuilder sb = new StringBuilder();
|
|
|
|
|
sb.Append("select ");
|
|
|
|
|
sb.Append("ISNULL(SUM(cfsrmb.AMOUNT),0) as yingshourmb, ");
|
|
|
|
|
sb.Append("ISNULL(SUM(cffrmb.AMOUNT),0) as yingfurmb ,");
|
|
|
|
|
sb.Append("ISNULL(SUM(cfsusd.AMOUNT),0) as yingshouusd,");
|
|
|
|
|
sb.Append("ISNULL(SUM(cffusd.AMOUNT),0) as yingfuusd ");
|
|
|
|
|
sb.Append("from ch_fee cf ");
|
|
|
|
|
sb.Append("LEFT JOIN v_op_bs os on cf.BSNO = os.BSNO ");
|
|
|
|
|
sb.Append("LEFT JOIN ch_fee cfsrmb on cf.GID = cfsrmb.GID AND cfsrmb.FEETYPE = 1 AND cfsrmb.CURRENCY = 'RMB' ");
|
|
|
|
|
sb.Append("LEFT JOIN ch_fee cffrmb on cf.GID = cffrmb.GID AND cffrmb.FEETYPE = 2 AND cffrmb.CURRENCY = 'RMB' ");
|
|
|
|
|
sb.Append("LEFT JOIN ch_fee cfsusd on cf.GID = cfsusd.GID AND cfsusd.FEETYPE = 1 AND cfsusd.CURRENCY= 'USD' ");
|
|
|
|
|
sb.Append("LEFT JOIN ch_fee cffusd on cf.GID = cffusd.GID AND cffusd.FEETYPE = 2 AND cffusd.CURRENCY= 'USD' ");
|
|
|
|
|
sb.Append("WHERE os.MBLNO LIKE '%"+mblno+"%' ");
|
|
|
|
|
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
|
|
YSYFAmountModel ysyf = new YSYFAmountModel();
|
|
|
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, sb.ToString()))
|
|
|
|
|
{
|
|
|
|
|
while (reader.Read())
|
|
|
|
|
{
|
|
|
|
|
ysyf.yingfurmb = reader["yingfurmb"].ToString();
|
|
|
|
|
ysyf.yingfuusd = reader["yingfuusd"].ToString();
|
|
|
|
|
ysyf.yingshourmb = reader["yingshourmb"].ToString();
|
|
|
|
|
ysyf.yingshouusd = reader["yingshouusd"].ToString();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return ysyf;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 应收应付审批 2017年9月14日15:10:01 拷贝自 Chfee_AuditController.cs 的 SelAudit方法
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="userid"></param>
|
|
|
|
|
/// <param name="showname"></param>
|
|
|
|
|
/// <param name="comid"></param>
|
|
|
|
|
/// <param name="billData"></param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public static bool SelAudit (string userid, string showname, string comid, List<MsOpBill> billData )
|
|
|
|
|
{
|
|
|
|
|
var AuditAutoLock = MsSysParamSetDAL.GetData("PARAMNAME='AuditAutoLock'");
|
|
|
|
|
var workflowstr = "";
|
|
|
|
|
var AMENDSELFWORK = MsSysParamSetDAL.GetData("PARAMNAME='AMENDSELFWORKFLOW'");
|
|
|
|
|
if (AMENDSELFWORK.PARAMVALUE == "1") workflowstr = "AmendFeefyAudit";
|
|
|
|
|
|
|
|
|
|
DBResult result = null;
|
|
|
|
|
foreach (var enumValue in billData)
|
|
|
|
|
{
|
|
|
|
|
if (enumValue.OPTYPE == "更改单" && AMENDSELFWORK.PARAMVALUE == "1") workflowstr = "AmendFeefyAudit"; else workflowstr = "";
|
|
|
|
|
|
|
|
|
|
result = Chfee_AuditDAL.PiliangAudit(enumValue.OPLB, enumValue.BSNO, userid, showname, comid, workflowstr);
|
|
|
|
|
if (result.Success == true)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
if (AuditAutoLock.PARAMVALUE == "1")
|
|
|
|
|
{
|
|
|
|
|
Chfee_AuditDAL.UpLock(enumValue.BSNO, enumValue.OPLB);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return result.Success;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 根据提单号获取更改单利润统计
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="mblno"></param>
|
|
|
|
|
public static GGDAmountModel GetGGDLirunWithMBLNO ( string mblno,string bsno,bool single)
|
|
|
|
|
{
|
|
|
|
|
string sql =
|
|
|
|
|
@" SELECT
|
|
|
|
|
ISNULL(SUM(ggdsrmb.AMOUNT),0) as ggdsrmb,
|
|
|
|
|
ISNULL(SUM(ggdsusd.AMOUNT),0) as ggdsusd,
|
|
|
|
|
ISNULL(SUM(ggdfrmb.AMOUNT),0) as ggdfrmb,
|
|
|
|
|
ISNULL(SUM(ggdfusd.AMOUNT),0) as ggdfusd
|
|
|
|
|
from ch_fee cf
|
|
|
|
|
LEFT JOIN op_amend am on am.BSNO = cf.BSNO
|
|
|
|
|
JOIN v_op_bs si on si.BSNO = am.PARENTID
|
|
|
|
|
LEFT JOIN ch_fee ggdsrmb on ggdsrmb.GID = cf.GID AND ggdsrmb.FEETYPE = 1 AND ggdsrmb.CURRENCY= 'RMB' --更改单应收
|
|
|
|
|
LEFT JOIN ch_fee ggdsusd on ggdsusd.GID = cf.GID AND ggdsusd.FEETYPE = 1 AND ggdsusd.CURRENCY= 'USD' --更改单应收
|
|
|
|
|
LEFT JOIN ch_fee ggdfrmb on ggdfrmb.GID = cf.GID AND ggdfrmb.FEETYPE = 2 AND ggdfrmb.CURRENCY= 'RMB' --更改单应付
|
|
|
|
|
LEFT JOIN ch_fee ggdfusd on ggdfusd.GID = cf.GID AND ggdfusd.FEETYPE = 2 AND ggdfusd.CURRENCY= 'USD' --更改单应付
|
|
|
|
|
where si.MBLNO like '%" + mblno + "%' AND am.CREATETIME <= (SELECT CREATETIME FROM op_amend WHERE BSNO = '"+bsno+"')";
|
|
|
|
|
string sqlwhere = "";
|
|
|
|
|
if (single)
|
|
|
|
|
{
|
|
|
|
|
sqlwhere = "AND am.BSNO = '"+bsno+"'";
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
sqlwhere = "AND am.CREATETIME <= (SELECT CREATETIME FROM op_amend WHERE BSNO = '"+bsno+"')";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
|
|
GGDAmountModel ggd = new GGDAmountModel();
|
|
|
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, sql+sqlwhere))
|
|
|
|
|
{
|
|
|
|
|
while (reader.Read())
|
|
|
|
|
{
|
|
|
|
|
ggd.ggdsrmb = reader["ggdsrmb"].ToString();
|
|
|
|
|
ggd.ggdsusd = reader["ggdsusd"].ToString();
|
|
|
|
|
ggd.ggdfrmb = reader["ggdfrmb"].ToString();
|
|
|
|
|
ggd.ggdfusd = reader["ggdfusd"].ToString();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return ggd;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 根据bsno,用户id获取机密费用名称,数额
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="mblno"></param>
|
|
|
|
|
/// <param name="userid"></param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public static JiMiFeeModel GetJiMiFeeInfo ( string bsno, string userid )
|
|
|
|
|
{
|
|
|
|
|
//判断用户权限
|
|
|
|
|
|
|
|
|
|
string sql = @"select count(*) from user_action where userid = '"+userid+"' and ACTIONID = (SELECT GID from action where DESCRIPTION = '机密费用')";
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
|
|
int rst = Convert.ToInt32(db.ExecuteScalar(CommandType.Text, sql));
|
|
|
|
|
if (rst>0)
|
|
|
|
|
{
|
|
|
|
|
//查询机密费用
|
|
|
|
|
string sql2 = @"select FEENAME,SUM(AMOUNT) AS AMOUNT from ch_fee
|
|
|
|
|
where bsno = '"+bsno+"' and FEENAME = (select PARAMVALUE from sys_param_set where PARAMDESCRIPTION = '佣金默认费用名称') and FEETYPE = 2 and CURRENCY = 'USD' GROUP BY FEENAME ";
|
|
|
|
|
|
|
|
|
|
JiMiFeeModel jm = null;
|
|
|
|
|
|
|
|
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text,sql2))
|
|
|
|
|
{
|
|
|
|
|
while (reader.Read())
|
|
|
|
|
{
|
|
|
|
|
jm = new JiMiFeeModel();
|
|
|
|
|
jm.JimiName = Convert.ToString(reader["FEENAME"]);
|
|
|
|
|
jm.JimiUsd = Convert.ToString(reader["AMOUNT"]);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return jm;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|