1
dengjunjie
2025-09-29 d9c99e0480b4910cdb134778dd5c314b35ec4cf2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
using AutoMapper;
using OfficeOpenXml.FormulaParsing.Excel.Functions.RefAndLookup;
using SqlSugar;
using WIDESEAWCS_Core;
using WIDESEAWCS_Core.BaseServices;
using WIDESEAWCS_Core.Const;
using WIDESEAWCS_Core.DB;
using WIDESEAWCS_Core.Helper;
using WIDESEAWCS_IShuttleCar;
using WIDESEAWCS_IShuttleCarInfoRepository;
using WIDESEAWCS_Model.Models;
using WIDESEAWCS_QuartzJob.Service;
 
namespace WIDESEAWCS_ShuttleCar
{
    public class ShuttleCarService : ServiceBase<Dt_ShuttleCar, IShuttleCarRepository>, IShuttleCarService
    {
        private readonly IMapper _mapper;
 
        public ShuttleCarService(IShuttleCarRepository BaseDal, IMapper mapper) : base(BaseDal)
        {
            _mapper = mapper;
        }
 
        /// <summary>
        /// 根据地址查询穿梭车信息
        /// </summary>
        /// <param name="Address"></param>
        /// <returns></returns>
        public Dt_ShuttleCar QueryShuttleCar(string Address)
        {
            return BaseDal.QueryFirst(x => x.ShuttleCarPosition == Address || x.ShuttleCarPosition1 == Address);
        }
 
        /// <summary>
        /// 根据穿梭车编号查询穿梭车信息
        /// </summary>
        /// <param name="ShuttleCarId"></param>
        /// <returns></returns>
        public Dt_ShuttleCar QueryCode(string ShuttleCarCode)
        {
            return BaseDal.QueryFirst(x => x.ShuttleCarCode == ShuttleCarCode);
        }
        /// <summary>
        /// 根据穿梭车编号查询其他穿梭车信息
        /// </summary>
        /// <param name="ShuttleCarCode"></param>
        /// <returns></returns>
        public Dt_ShuttleCar QueryNoCode(string ShuttleCarCode)
        {
            return BaseDal.QueryFirst(x => x.ShuttleCarCode != ShuttleCarCode);
        }
        public override WebResponseContent UpdateData(SaveModel saveModel)
        {
            WebResponseContent responseContent = new WebResponseContent().OK();
            try
            {
                Dt_ShuttleCar shuttleCar = BaseDal.QueryFirst(x => x.ShuttleCarId == saveModel.MainData["shuttleCarId"].ObjToInt());
                var Position = saveModel.MainData["shuttleCarPosition"].ToString();
                if (BaseDal.QueryData(x => x.ShuttleCarPosition == Position && x.ShuttleCarId != shuttleCar.ShuttleCarId).Any())
                    throw new Exception($"位置【{Position}】已存在穿梭车");
                SqlSugarClient WMSsugarClient = new SqlSugarClient(new ConnectionConfig
                {
                    ConfigId = MainDb.CurrentDbConnId,
                    ConnectionString = AppSettings.Get("WMSConnectionString").DecryptDES(AppSecret.DB),
                    IsAutoCloseConnection = true,
                    DbType = DbType.SqlServer,
                });
 
                var getLocation = WMSsugarClient.Queryable("Dt_LocationInfo", "x").Where("LocationCode", "=", Position).Any();
                if (!getLocation) throw new Exception($"未找到位置【{Position}】");
                shuttleCar.ShuttleCarPosition = Position;
                shuttleCar.ShuttleCarPosition1 = Position;
                BaseDal.UpdateData(shuttleCar);
            }
            catch (Exception ex)
            {
                responseContent.Error(ex.Message);
            }
            return responseContent;
        }
    }
}