1
huanghongfeng
2025-03-07 f1f29f5329102870476653fa6c6ca42b80226078
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
using OfficeOpenXml.FormulaParsing.Excel.Functions.DateTime;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Core;
using WIDESEA_Core.BaseServices;
using WIDESEA_Core.Enums;
using WIDESEA_Core.Helper;
using WIDESEA_ISystemRepository;
using WIDESEA_ISystemService;
using WIDESEA_Model.Models;
using WIDESEA_Model.Models.System;
 
namespace WIDESEA_SystemService
{
    public class Dt_RepairService : ServiceBase<Dt_Repair, IDt_RepairRepository>, IDt_RepairService
    {
        public Dt_RepairService(IDt_RepairRepository BaseDal) : base(BaseDal)
        {
        }
 
        public IDt_RepairRepository Repository => BaseDal;
 
 
        public WebResponseContent GetBarcodeMessage(string barocde)
        {
            List<Dt_Repair> dt_Repairs = BaseDal.QueryData(x => x.Current_PalletCode == barocde && (x.Current_Static == (int)StockStatusEmun.检修出库锁定 || x.Current_Static == (int)StockStatusEmun.检修中)).ToList();
            return WebResponseContent.Instance.OK(data: dt_Repairs);
        }
 
        public WebResponseContent UpdateBarcode(string barocde)
        {
            List<Dt_Repair> dt_Repairs = BaseDal.QueryData(x => x.Current_PalletCode == barocde && x.Current_Static == (int)StockStatusEmun.检修出库锁定).ToList();
            foreach (var item in dt_Repairs)
            {
                item.ModifyDate = DateTime.Now;
                item.Current_Static = (int)StockStatusEmun.检修中;
                BaseDal.UpdateData(item);
            }
 
            List<Sys_CreateTask> Craet = BaseDal._CreateTaskRepository.QueryData(x => x.Current_PalletCode == barocde && x.Current_Static == (int)StockStatusEmun.检修出库锁定).ToList();
            foreach (var item in Craet)
            {
                item.Current_Static = (int)StockStatusEmun.检修中;
                BaseDal._CreateTaskRepository.UpdateData(item);
            }
            return WebResponseContent.Instance.OK();
        }
 
        public string ToWcsWriteBrplc = WIDESEA_Core.Helper.AppSettings.Configuration["ToWcsWriteBrplc"];
 
        public WebResponseContent UpdateBarcoend(string barocde,int wcount,int selectvalue)
        {
            try
            {
                List<Dt_Repair> dt_Repairs = BaseDal.QueryData(x => x.Current_PalletCode == barocde && x.Current_Static == (int)StockStatusEmun.检修中).ToList();
 
                foreach (var item in dt_Repairs)
                {
                    item.Current_begin = DateTime.Now;
                    item.Current_Outcome = selectvalue == 1 ? "合格" : "半检修";
                    item.Current_alter = wcount;
                    item.Current_Static = (int)StockStatusEmun.检修完成;
                    BaseDal.UpdateData(item);
                }
                if (wcount > 0)
                {
                    List<Dt_StockInfo> dt_StockInfos = BaseDal._stockInfoRepository.QueryData(x => x.PalletCode == barocde).ToList();
                    foreach (var item in dt_StockInfos)
                    {
                        item.Wlstatus = selectvalue == 1 ? (int)InventoryMaterialStatus.合格 : (int)InventoryMaterialStatus.半检修;
                        item.Materialweight = item.Materialweight - wcount;
                        BaseDal._stockInfoRepository.UpdateData(item);
                    }
                }
 
                List<Sys_CreateTask> Craet = BaseDal._CreateTaskRepository.QueryData(x => x.Current_PalletCode == barocde).ToList();
                BaseDal._CreateTaskRepository.DeleteData(Craet);
 
                HttpHelper.Post<WebResponseContent>(ToWcsWriteBrplc, Craet[0].CreateSta, "入库任务下发");
 
 
                return WebResponseContent.Instance.OK();
            }
            catch (Exception ex)
            {
                return WebResponseContent.Instance.Error();
                throw;
            }
        }
 
        public WebResponseContent UpdateBarcoendwj(string barocde)
        {
            try
            {
                List<Dt_Repair> dt_Repairs = BaseDal.QueryData(x => x.Current_PalletCode == barocde && x.Current_Static == (int)StockStatusEmun.检修出库锁定).ToList();
 
                foreach (var item in dt_Repairs)
                {
                    item.Current_begin = DateTime.Now;
                    item.Current_Outcome = "未检回库";
                    item.Current_alter = item.Current_count;
                    item.Current_Static = (int)StockStatusEmun.检修完成;
                    BaseDal.UpdateData(item);
                }
                
 
                List<Sys_CreateTask> Craet = BaseDal._CreateTaskRepository.QueryData(x => x.Current_PalletCode == barocde).ToList();
                BaseDal._CreateTaskRepository.DeleteData(Craet);
 
                HttpHelper.Post<WebResponseContent>(ToWcsWriteBrplc, Craet[0].CreateSta, "入库任务下发");
 
 
                return WebResponseContent.Instance.OK();
            }
            catch (Exception ex)
            {
                return WebResponseContent.Instance.Error();
                throw;
            }
        }
    }
}