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.
390 lines
18 KiB
C#
390 lines
18 KiB
C#
using Dapper;
|
|
using Estsh.Core.Base;
|
|
using Estsh.Core.Dapper;
|
|
using Estsh.Core.Model.Result;
|
|
using Estsh.Core.Repositories;
|
|
using System.Collections;
|
|
using System.Data;
|
|
using System.Text;
|
|
using System.Security.Cryptography;
|
|
using System.Text.Json;
|
|
using Estsh.Core.Models;
|
|
using Newtonsoft.Json.Linq;
|
|
using Estsh.Core.Repository.IRepositories;
|
|
using Estsh.Core.Model.EnumUtil;
|
|
using System.Globalization;
|
|
|
|
namespace Estsh.Core.Repositories
|
|
{
|
|
public class CarManagerRepository : BaseRepository<WmsCarArrive>, ICarManagerRepository
|
|
{
|
|
public CarManagerRepository(DapperDbContext _dapperDbContext) : base(_dapperDbContext)
|
|
{
|
|
|
|
}
|
|
|
|
public List<WmsCarArrive> getList(string strWhere, string filedOrder)
|
|
{
|
|
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
|
|
{
|
|
dbConn.Open();
|
|
|
|
StringBuilder strSql = new StringBuilder();
|
|
strSql.Append(@" SELECT a.order_no,b.dock as passageway,a.vendor_id,b.vendor_code as supplier_code,b.vendor_name supplier_name ,c.car_no,c.car_driver,c.car_desc FROM wms_purchase as a
|
|
left join sys_vendor as b on a.vendor_id=b.vendor_id left join wms_car_arrive as c on a.order_no = c.order_no ");
|
|
if (!strWhere.Trim().Equals(""))
|
|
{
|
|
strSql.Append(" where " + strWhere);
|
|
}
|
|
if (filedOrder != null && !filedOrder.Trim().Equals(""))
|
|
{
|
|
strSql.Append(" order by " + filedOrder);
|
|
}
|
|
List<WmsCarArrive> result = dbConn.Query<WmsCarArrive>(strSql.ToString()).ToList();
|
|
return result;
|
|
}
|
|
}
|
|
public List<WmsCarArrive> getArriveInfoList(string strWhere, string filedOrder)
|
|
{
|
|
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
|
|
{
|
|
dbConn.Open();
|
|
|
|
StringBuilder strSql = new StringBuilder();
|
|
strSql.Append(@" select * from wms_car_arrive as a left join wms_car_arrive_info as b on a.order_no = b.order_no ");
|
|
if (!strWhere.Trim().Equals(""))
|
|
{
|
|
strSql.Append(" where " + strWhere);
|
|
}
|
|
if (filedOrder != null && !filedOrder.Trim().Equals(""))
|
|
{
|
|
strSql.Append(" order by " + filedOrder);
|
|
}
|
|
List<WmsCarArrive> result = dbConn.Query<WmsCarArrive>(strSql.ToString()).ToList();
|
|
return result;
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 获取车辆管理数据列表
|
|
/// </summary>
|
|
public Hashtable getListByPage(int PageSize, int PageIndex, string strWhere, string OrderBy)
|
|
{
|
|
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
|
|
{
|
|
dbConn.Open();
|
|
|
|
Hashtable result = new Hashtable();
|
|
DynamicParameters Params = new DynamicParameters();
|
|
Params.Add("@TotalCount", 0, DbType.Int32, ParameterDirection.Output);
|
|
Params.Add("@TotalPage", 0, DbType.Int32, ParameterDirection.Output);
|
|
Params.Add("@GroupColumn", "");
|
|
Params.Add("@Table", " wms_purchase as a left join wms_car_arrive as b on a.order_no = b.order_no left join sys_vendor as c on a.vendor_code = c.vendor_code");
|
|
Params.Add("@Column", " a.order_no ," +
|
|
"a.vendor_code supplier_code," +
|
|
" c.vendor_name supplier_name," +
|
|
"a.se_date + a.se_time plan_arrive_time," +
|
|
//" cast(left(a.se_date + a.se_time,8) as datetime)+stuff(stuff(right(a.se_date + a.se_time,6),3,0,':'),6,0,':') plan_arrive_time," +
|
|
" b.real_arrive_time," +
|
|
"isnull(b.arrive_status,0) arrive_status," +
|
|
"isnull(b.car_in_plant_status,10) car_in_plant_status," +
|
|
"c.dock passageway," +
|
|
"b.real_in_plant_time, " +
|
|
"b.start_work_time, " +
|
|
"isnull(b.is_print_out_plant_list, 'N') is_print_out_plant_list," +
|
|
" b.print_out_plant_list_time," +
|
|
" b.out_plant_time, " +
|
|
" b.enabled");
|
|
Params.Add("@PageSize", PageSize);
|
|
Params.Add("@CurrentPage", PageIndex);
|
|
Params.Add("@Condition", strWhere);
|
|
Params.Add("@OrderColumn", "se_date + se_time");
|
|
Params.Add("@Group", 0);
|
|
|
|
List<WmsCarArrive> dataList = dbConn.Query<WmsCarArrive>("Com_Pagination", Params, commandType: CommandType.StoredProcedure).ToList();
|
|
|
|
foreach (var item in dataList)
|
|
{
|
|
item.PlanArriveTime = item.PlanArriveTime.PadRight(14, '0');
|
|
item.PlanArriveTime = item.PlanArriveTime.Substring(0, 4) + "-" + item.PlanArriveTime.Substring(4, 2) + "-" + item.PlanArriveTime.Substring(6, 2) + " " + item.PlanArriveTime.Substring(8, 2) + ":" + item.PlanArriveTime.Substring(10, 2) + ":" + item.PlanArriveTime.Substring(12);
|
|
}
|
|
|
|
result.Add("dataList", dataList);
|
|
result.Add("totalCount", Params.Get<int>("@TotalCount"));
|
|
return result;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 新增进厂订单数据
|
|
/// </summary>
|
|
/// <param name="htParams"></param>
|
|
/// <returns></returns>
|
|
public string saveCarArrive(WmsCarArrive htParams)
|
|
{
|
|
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
|
|
{
|
|
dbConn.Open();
|
|
|
|
StringBuilder strSql2 = new StringBuilder();
|
|
strSql2.Append(@" select * from wms_car_arrive where order_no='" + htParams.OrderNo + "' ");
|
|
List<WmsPurchase> dataList2 = dbConn.Query<WmsPurchase>(strSql2.ToString()).ToList();
|
|
if (dataList2.Count > 0)
|
|
{
|
|
return "订单号" + htParams.OrderNo + "已添加,请检查!";
|
|
}
|
|
|
|
|
|
StringBuilder strSql = new StringBuilder();
|
|
strSql.Append(@" select * from wms_purchase where order_no='" + htParams.OrderNo + "' ");
|
|
List<WmsPurchase> dataList = dbConn.Query<WmsPurchase>(strSql.ToString()).ToList();
|
|
if (dataList.Count > 0)
|
|
{
|
|
DateTime date = DateTime.ParseExact(dataList[0].SeDate, "yyyyMMdd", CultureInfo.InvariantCulture);
|
|
if (dataList[0].SeTime == "")
|
|
dataList[0].SeTime = "000000";
|
|
DateTime date2 = DateTime.ParseExact(dataList[0].SeTime, "HHmmss", CultureInfo.InvariantCulture);
|
|
|
|
string ddd = date.ToString("yyyy-MM-dd") + " " + date2.ToString("HH:mm:ss");
|
|
htParams.PlanArriveTime = ddd;
|
|
htParams.SupplierCode = dataList[0].VendorCode;
|
|
|
|
//判断到达状态 10 准点 20 早到 30 晚点
|
|
if (Convert.ToDateTime(ddd) >= DateTime.Now)
|
|
{
|
|
htParams.ArriveStatus = 10;
|
|
}
|
|
//if (Convert.ToDateTime(ddd) < DateTime.Now && DateTime.Now < Convert.ToDateTime(ddd).AddMinutes(20) )
|
|
//{
|
|
// htParams.ArriveStatus = 20;
|
|
//}
|
|
if (Convert.ToDateTime(ddd) < DateTime.Now)
|
|
{
|
|
htParams.ArriveStatus = 30;
|
|
}
|
|
|
|
htParams.RealArriveTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
|
}
|
|
|
|
StringBuilder SqlStringBuilder = new StringBuilder(1024);
|
|
SqlStringBuilder.Append("INSERT INTO dbo.wms_car_arrive( order_no ,car_no ,car_desc,car_driver,supplier_code , supplier_name, plan_arrive_time,real_arrive_time,arrive_status,car_in_plant_status,passageway,enabled,update_userid,update_time,create_userid,create_time,guid)VALUES ");
|
|
SqlStringBuilder.Append("( @orderNo ,@carNo ,@carDesc,@carDriver,@supplierCode , @supplierName, @planArriveTime,@realArriveTime,@arriveStatus,20,@passageway," +
|
|
"@enabled,@updateUserid, CONVERT(varchar(50), GETDATE(), 120), @createUserid, CONVERT(varchar(50), GETDATE(), 120),newid()) ");
|
|
|
|
int result = dbConn.Execute(SqlStringBuilder.ToString(), htParams);
|
|
if (result > 0)
|
|
{
|
|
return "添加成功";
|
|
}
|
|
else
|
|
{
|
|
return "添加失败";
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 更新进厂订单数据
|
|
/// </summary>
|
|
/// <param name="htParams"></param>
|
|
/// <returns></returns>
|
|
public int updateCarArrive(WmsCarArrive htParams)
|
|
{
|
|
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
|
|
{
|
|
dbConn.Open();
|
|
StringBuilder SqlStringBuilder = new StringBuilder(1024);
|
|
SqlStringBuilder.Append("UPDATE wms_car_arrive SET ");
|
|
SqlStringBuilder.Append("car_no=@CarNo,car_desc=@CarDesc,car_driver=@CarDriver,passageway=@Passageway,enabled=@enabled ,update_userid = @updateUserId ,update_time=CONVERT(varchar(50), GETDATE(), 120) ");
|
|
SqlStringBuilder.Append("WHERE order_no=@orderNo ");
|
|
|
|
int result = dbConn.Execute(SqlStringBuilder.ToString(), htParams);
|
|
return result;
|
|
}
|
|
}
|
|
|
|
|
|
public int updateCarArriveInfo(WmsCarArrive htParams)
|
|
{
|
|
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
|
|
{
|
|
dbConn.Open();
|
|
StringBuilder SqlStringBuilder = new StringBuilder(1024);
|
|
SqlStringBuilder.Append("delete from wms_car_arrive_info where order_no = @OrderNo ; INSERT INTO dbo.wms_car_arrive_info( order_no,operator, outDep, remarks, carNo2, ascription, material, reason, desc1, desc2, desc3, desc4, desc5, desc6, desc7, desc8, desc9, outOperator,outDateTime ) VALUES ");
|
|
SqlStringBuilder.Append("( @OrderNo,@operator,@outDep,@remarks,@carNo,@ascription,@material,@reason,@desc1,@desc2,@desc3,@desc4,@desc5,@desc6,@desc7,@desc8,@desc9,@outOperator,@outDateTime )");
|
|
|
|
int result = dbConn.Execute(SqlStringBuilder.ToString(), htParams);
|
|
return result;
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 打印放行单
|
|
/// </summary>
|
|
/// <param name="orderNo"></param>
|
|
/// <param name="loginId"></param>
|
|
/// <param name="status"></param>
|
|
/// <returns></returns>
|
|
public int PrintOutPlant(String orderNo, int loginId)
|
|
{
|
|
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
|
|
{
|
|
dbConn.Open();
|
|
String delStr = "update wms_car_arrive set is_print_out_plant_list='Y',car_in_plant_status=@car_in_plant_status,print_out_plant_list_time= CONVERT(varchar(50), GETDATE(), 120),update_userid=@update_userid,update_time=CONVERT(varchar(50), GETDATE(), 120) WHERE order_no = @orderNo";
|
|
DynamicParameters htparams = new DynamicParameters();
|
|
htparams.Add("@orderNo", orderNo);
|
|
htparams.Add("@update_userid", loginId);
|
|
htparams.Add("@car_in_plant_status", (int)WmsEnumUtil.WmsCarInPlantStatus.EXITING);
|
|
int result = dbConn.Execute(delStr, htparams);
|
|
return result;
|
|
}
|
|
}
|
|
|
|
public int ChangeInPlantStatus(String orderNo, int loginId)
|
|
{
|
|
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
|
|
{
|
|
dbConn.Open();
|
|
String delStr = "update wms_car_arrive set car_in_plant_status=@status,real_in_plant_time= CONVERT(varchar(50), GETDATE(), 120) ,update_userid=@update_userid,update_time=CONVERT(varchar(50), GETDATE(), 120) WHERE order_no = @orderNo";
|
|
DynamicParameters htparams = new DynamicParameters();
|
|
htparams.Add("@orderNo", orderNo);
|
|
htparams.Add("@update_userid", loginId);
|
|
htparams.Add("@status", (int)WmsEnumUtil.WmsCarInPlantStatus.INPLANT);
|
|
int result = dbConn.Execute(delStr, htparams);
|
|
return result;
|
|
}
|
|
}
|
|
public int ChangeOutPlantStatus(String orderNo, int loginId)
|
|
{
|
|
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
|
|
{
|
|
dbConn.Open();
|
|
String delStr = "update wms_car_arrive set car_in_plant_status=@status,out_plant_time= CONVERT(varchar(50), GETDATE(), 120) ,update_userid=@update_userid,update_time=CONVERT(varchar(50), GETDATE(), 120) WHERE order_no = @orderNo";
|
|
DynamicParameters htparams = new DynamicParameters();
|
|
htparams.Add("@orderNo", orderNo);
|
|
htparams.Add("@update_userid", loginId);
|
|
htparams.Add("@status", (int)WmsEnumUtil.WmsCarInPlantStatus.OUTPLANT);
|
|
int result = dbConn.Execute(delStr, htparams);
|
|
return result;
|
|
}
|
|
}
|
|
|
|
public int ChangeWorkingStatus(String orderNo, int loginId)
|
|
{
|
|
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
|
|
{
|
|
dbConn.Open();
|
|
String delStr = "update wms_car_arrive set car_in_plant_status=@status,start_work_time= CONVERT(varchar(50), GETDATE(), 120) ,update_userid=@update_userid,update_time=CONVERT(varchar(50), GETDATE(), 120) WHERE order_no = @orderNo";
|
|
DynamicParameters htparams = new DynamicParameters();
|
|
htparams.Add("@orderNo", orderNo);
|
|
htparams.Add("@update_userid", loginId);
|
|
htparams.Add("@status", (int)WmsEnumUtil.WmsCarInPlantStatus.PROCESSING);
|
|
int result = dbConn.Execute(delStr, htparams);
|
|
return result;
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 修改到达状态
|
|
/// </summary>
|
|
/// <param name="orderNo"></param>
|
|
/// <param name="loginId"></param>
|
|
/// <param name="status"></param>
|
|
/// <returns></returns>
|
|
public int ChangeArriveStatus(String orderNo, int loginId, int status)
|
|
{
|
|
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
|
|
{
|
|
dbConn.Open();
|
|
String delStr = "update wms_car_arrive set arrive_status=@status,update_userid=@update_userid,update_time=CONVERT(varchar(50), GETDATE(), 21) WHERE order_no = @orderNo";
|
|
DynamicParameters htparams = new DynamicParameters();
|
|
htparams.Add("@orderNo", orderNo);
|
|
htparams.Add("@update_userid", loginId);
|
|
htparams.Add("@status", status);
|
|
int result = dbConn.Execute(delStr, htparams);
|
|
return result;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 修改厂内状态
|
|
/// </summary>
|
|
/// <param name="orderNo"></param>
|
|
/// <param name="loginId"></param>
|
|
/// <param name="status"></param>
|
|
/// <returns></returns>
|
|
public int ChangeCarInPlantStatus(String orderNo, int loginId, int status)
|
|
{
|
|
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
|
|
{
|
|
dbConn.Open();
|
|
String delStr = "update wms_car_arrive set car_in_plant_status=@status,update_userid=@update_userid,update_time=CONVERT(varchar(50), GETDATE(), 21) WHERE order_no = @orderNo";
|
|
DynamicParameters htparams = new DynamicParameters();
|
|
htparams.Add("@orderNo", orderNo);
|
|
htparams.Add("@update_userid", loginId);
|
|
htparams.Add("@status", status);
|
|
int result = dbConn.Execute(delStr, htparams);
|
|
return result;
|
|
}
|
|
}
|
|
|
|
//启用
|
|
public int EnableCarArrive(String orderNo, int loginId)
|
|
{
|
|
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
|
|
{
|
|
dbConn.Open();
|
|
String delStr = "update wms_car_arrive set Enabled='Y',update_userid=@update_userid,update_time=CONVERT(varchar(50), GETDATE(), 21) WHERE order_no = @orderNo";
|
|
DynamicParameters htparams = new DynamicParameters();
|
|
htparams.Add("@orderNo", orderNo);
|
|
htparams.Add("@update_userid", loginId);
|
|
int result = dbConn.Execute(delStr, htparams);
|
|
return result;
|
|
}
|
|
}
|
|
|
|
//禁用
|
|
public int DisableCarArrive(String orderNo, int loginId)
|
|
{
|
|
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
|
|
{
|
|
dbConn.Open();
|
|
String delStr = "update wms_car_arrive set Enabled='N',update_userid=@update_userid,update_time=CONVERT(varchar(50), GETDATE(), 21) WHERE order_no = @orderNo";
|
|
DynamicParameters htparams = new DynamicParameters();
|
|
htparams.Add("@orderNo", orderNo);
|
|
htparams.Add("@update_userid", loginId);
|
|
int result = dbConn.Execute(delStr, htparams);
|
|
return result;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取供应商
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
//public List<KeyValueResult> getSelectSupplier()
|
|
//{
|
|
// using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
|
|
// {
|
|
// dbConn.Open();
|
|
// StringBuilder strSql = new StringBuilder();
|
|
// strSql.Append("select vendor_code as [value],vendor_name as [key] from sys_vendor where Enabled = 'Y'");
|
|
// List<KeyValueResult> result = dbConn.Query<KeyValueResult>(strSql.ToString()).ToList();
|
|
|
|
|
|
// return result;
|
|
// }
|
|
//}
|
|
|
|
public List<SysVendor> getSelectSupplier(string vendorId)
|
|
{
|
|
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
|
|
{
|
|
dbConn.Open();
|
|
StringBuilder strSql = new StringBuilder();
|
|
strSql.Append("select * from sys_Vendor where Enabled = 'Y' and vendor_Name like '%" + vendorId + "%'");
|
|
List<SysVendor> result = dbConn.Query<SysVendor>(strSql.ToString()).ToList();
|
|
return result;
|
|
}
|
|
}
|
|
}
|
|
}
|