|
|
|
|
using System;
|
|
|
|
|
using System.Data;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Text;
|
|
|
|
|
using DSWeb.MvcShipping.Models.MsOp_YAXIANG;
|
|
|
|
|
using Microsoft.Practices.EnterpriseLibrary.Data;
|
|
|
|
|
using DSWeb.Areas.CommMng.Models;
|
|
|
|
|
using HcUtility.Comm;
|
|
|
|
|
using System.Web.Mvc;//ContentResult
|
|
|
|
|
using DSWeb.TruckMng.Helper.Repository;//ModelObjectRepository
|
|
|
|
|
using DSWeb.MvcShipping.Helper;
|
|
|
|
|
using DSWeb.Areas.CommMng.DAL;//使用获取权限子句
|
|
|
|
|
using DSWeb.Areas.SysMng.DAL.SysTask;
|
|
|
|
|
|
|
|
|
|
namespace DSWeb.Areas.MvcShipping.DAL.MsOp_YAXIANG
|
|
|
|
|
{
|
|
|
|
|
public class MsOp_YAXIANGDAL
|
|
|
|
|
{
|
|
|
|
|
#region 押箱业务 头表/明细表
|
|
|
|
|
|
|
|
|
|
static public List<YXmb> GetDataList ( string strCondition,string USERID, string sort = "" )
|
|
|
|
|
{
|
|
|
|
|
var strSql = new StringBuilder();
|
|
|
|
|
|
|
|
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
|
|
|
{
|
|
|
|
|
strSql.Append(" and " + strCondition);
|
|
|
|
|
}
|
|
|
|
|
var sortstring = DatasetSort.Getsortstring(sort);
|
|
|
|
|
if (!string.IsNullOrEmpty(sortstring))
|
|
|
|
|
{
|
|
|
|
|
if (sortstring.ToUpper().IndexOf("WSHJE") >= 0)
|
|
|
|
|
strSql.Append(" order by " + sortstring.Replace("WSHJE", "isnull(YXMONEY, 0)-isnull(RETURNMONEY, 0)"));
|
|
|
|
|
else
|
|
|
|
|
strSql.Append(" order by " + sortstring);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
strSql.Append(" order by YXNO desc ");
|
|
|
|
|
}
|
|
|
|
|
return SetData(strSql, USERID);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static YXmb GetData(string condition, string USERID)
|
|
|
|
|
{
|
|
|
|
|
var dataList = GetDataList(condition, USERID);
|
|
|
|
|
|
|
|
|
|
var result = new YXmb();
|
|
|
|
|
|
|
|
|
|
if (dataList.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
result = dataList[0];
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
result.getDef(USERID);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static string getHeadListStr(string condition, string USERID) {
|
|
|
|
|
string sql = YXmb.getSQL() ;
|
|
|
|
|
|
|
|
|
|
var rangestr = BasicDataRefDAL.GetVisableRange("modYAXIANG", USERID, "COMPANYID", "CREATEUSER", "DEPTID");
|
|
|
|
|
|
|
|
|
|
if (!string.IsNullOrEmpty(rangestr)) { sql += " and " + rangestr; }
|
|
|
|
|
|
|
|
|
|
if (!string.IsNullOrEmpty(condition)) { sql += condition; }
|
|
|
|
|
|
|
|
|
|
return sql;
|
|
|
|
|
}
|
|
|
|
|
public static string getBodyListStr(string condition)
|
|
|
|
|
{
|
|
|
|
|
string sql = YX_DETAILmb.getSQL() + condition;
|
|
|
|
|
|
|
|
|
|
//var rangestr = BasicDataRefDAL.GetVisableRange("modYAXIANG", USERID, "COMPANYID", "CREATEUSER", "DEPTID");
|
|
|
|
|
|
|
|
|
|
//if (!string.IsNullOrEmpty(rangestr)) { sql += " and " + rangestr; }
|
|
|
|
|
|
|
|
|
|
return sql;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private static List<YXmb> SetData(StringBuilder strSql,string USERID)//, List<HcUtility.Core.Fieldmb> fieldlist
|
|
|
|
|
{
|
|
|
|
|
var headList = new List<YXmb>();
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
|
|
|
|
|
|
|
string sql = getHeadListStr(strSql.ToString(), USERID);
|
|
|
|
|
|
|
|
|
|
//var rangestr = BasicDataRefDAL.GetVisableRange("modYAXIANG", USERID, "COMPANYID","CREATEUSER","DEPTID");
|
|
|
|
|
|
|
|
|
|
//if (!string.IsNullOrEmpty(rangestr)) sql += " and " + rangestr;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, sql))
|
|
|
|
|
{
|
|
|
|
|
while (reader.Read())
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
////根据字段名设定同名属性值
|
|
|
|
|
YXmb data = new YXmb();
|
|
|
|
|
data.SetExtendValue(reader);
|
|
|
|
|
|
|
|
|
|
headList.Add(data);
|
|
|
|
|
}
|
|
|
|
|
reader.Close();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return headList;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static public List<YX_DETAILmb> GetBodyList(string strCondition, string sort = null)
|
|
|
|
|
{
|
|
|
|
|
var strSql = new StringBuilder();
|
|
|
|
|
|
|
|
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
|
|
|
{
|
|
|
|
|
strSql.Append(" and " + strCondition);
|
|
|
|
|
}
|
|
|
|
|
var sortstring = DatasetSort.Getsortstring(sort);
|
|
|
|
|
if (!string.IsNullOrEmpty(sortstring))
|
|
|
|
|
{
|
|
|
|
|
strSql.Append(" order by " + sortstring);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
strSql.Append(" order by sort ");
|
|
|
|
|
}
|
|
|
|
|
return SetBodyData(strSql);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private static List<YX_DETAILmb> SetBodyData(StringBuilder strSql)//, List<HcUtility.Core.Fieldmb> fieldlist
|
|
|
|
|
{
|
|
|
|
|
var headList = new List<YX_DETAILmb>();
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
|
|
|
|
|
|
|
string sql = getBodyListStr(strSql.ToString());
|
|
|
|
|
|
|
|
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, sql))
|
|
|
|
|
{
|
|
|
|
|
while (reader.Read())
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
////根据字段名设定同名属性值
|
|
|
|
|
YX_DETAILmb data = new YX_DETAILmb();
|
|
|
|
|
data.SetExtendValue(reader);
|
|
|
|
|
|
|
|
|
|
headList.Add(data);
|
|
|
|
|
}
|
|
|
|
|
reader.Close();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return headList;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static public Resultmb ReCount(YXmb head)
|
|
|
|
|
{
|
|
|
|
|
var strSql = new StringBuilder();
|
|
|
|
|
var Result = new Resultmb();
|
|
|
|
|
|
|
|
|
|
var needrecount = SysTaskDAL.TaskGetWord(head.GetValue("YXSTATE"), "recount");
|
|
|
|
|
|
|
|
|
|
var needclear = SysTaskDAL.TaskGetWord(head.GetValue("YXSTATE"), "clear");
|
|
|
|
|
|
|
|
|
|
//strSql.Append(" delete from [workflow_using] where cargo_id in( " + cargo_id + ")");
|
|
|
|
|
if (needrecount)
|
|
|
|
|
{
|
|
|
|
|
strSql.Append(" update msop_yaxiang set spendmoney =isnull( (select sum(totalfee) from msop_yaxiang_detail where yxno=msop_yaxiang.yxno),0) ");
|
|
|
|
|
strSql.Append(" , RETURNMONEY = isnull(YXMONEY, 0) - isnull((select sum(totalfee) from msop_yaxiang_detail where yxno = msop_yaxiang.yxno), 0) ");
|
|
|
|
|
strSql.Append(" where yxno = '" + head.GetValue("YXNO") + "'");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (needclear)
|
|
|
|
|
{
|
|
|
|
|
strSql.Append(" update msop_yaxiang set spendmoney =isnull( (select sum(totalfee) from msop_yaxiang_detail where yxno=msop_yaxiang.yxno),0) ");
|
|
|
|
|
strSql.Append(" , RETURNMONEY = 0 ");
|
|
|
|
|
strSql.Append(" where yxno = '" + head.GetValue("YXNO") + "'");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var _Result = new Resultmb();
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
_Result.totalCount = db.ExecuteNonQuery(CommandType.Text, strSql.ToString());
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ee)
|
|
|
|
|
{
|
|
|
|
|
_Result.Success = false;
|
|
|
|
|
_Result.Message = ee.Message;
|
|
|
|
|
}
|
|
|
|
|
return _Result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static public Resultmb DeleteDetail(YXmb head)
|
|
|
|
|
{
|
|
|
|
|
var strSql = new StringBuilder();
|
|
|
|
|
var Result = new Resultmb();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//strSql.Append(" delete from [workflow_using] where cargo_id in( " + cargo_id + ")");
|
|
|
|
|
strSql.Append(" update msop_yaxiang set spendmoney =isnull( (select sum(totalfee) from msop_yaxiang_detail where yxno=msop_yaxiang.yxno),0) ");
|
|
|
|
|
strSql.Append(" , RETURNMONEY = isnull(YXMONEY, 0) - isnull((select sum(totalfee) from msop_yaxiang_detail where yxno = msop_yaxiang.yxno), 0) ");
|
|
|
|
|
strSql.Append(" where yxno = '" + head.GetValue("YXNO") + "'");
|
|
|
|
|
|
|
|
|
|
var _Result = new Resultmb();
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
_Result.totalCount = db.ExecuteNonQuery(CommandType.Text, strSql.ToString());
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ee)
|
|
|
|
|
{
|
|
|
|
|
_Result.Success = false;
|
|
|
|
|
_Result.Message = ee.Message;
|
|
|
|
|
}
|
|
|
|
|
return _Result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|