cl
2024-05-23 ba1a7a9ef126296e2798e313dc5b43f775a1123c
提交 | 用户 | 时间
b26949 1 package cn.stylefeng.guns.modular.kb.greaseBoard;
2
3 import cn.stylefeng.guns.base.pojo.page.LayuiPageInfo;
4 import cn.stylefeng.guns.modular.gm.greaseManage.entity.GreaseManage;
5 import cn.stylefeng.guns.modular.gm.greaseManage.model.params.GreaseManageParam;
21fde8 6 import cn.stylefeng.guns.modular.gm.greaseManage.model.result.GreaseManageResult;
b26949 7 import cn.stylefeng.guns.modular.gm.greaseManage.service.GreaseManageService;
8 import cn.stylefeng.guns.modular.kb.utils.IPUtil;
9 import cn.stylefeng.guns.modular.om.productionOrdeInfo.model.result.ProductionOrdeInfoResult;
10 import cn.stylefeng.guns.modular.sc.kanbanConf.model.params.KanbanConfParam;
11 import cn.stylefeng.guns.modular.sc.kanbanConf.service.KanbanConfService;
12 import cn.stylefeng.roses.core.base.controller.BaseController;
13 import cn.stylefeng.roses.kernel.model.response.ResponseData;
14 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
15 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
16 import javafx.stage.Stage;
17 import org.springframework.beans.factory.annotation.Autowired;
18 import org.springframework.stereotype.Controller;
19 import org.springframework.web.bind.annotation.CrossOrigin;
20 import org.springframework.web.bind.annotation.RequestMapping;
21 import org.springframework.web.bind.annotation.ResponseBody;
22
23 import javax.servlet.ServletOutputStream;
24 import javax.servlet.http.HttpServletRequest;
25 import java.text.SimpleDateFormat;
26 import java.time.LocalDate;
27 import java.time.format.DateTimeFormatter;
28 import java.time.temporal.ChronoUnit;
29 import java.util.*;
30
31 /**
32  * 返修上线看板
33  *
34  * @author cl
35  * @Date 2022-10-27 15:50:56
36  */
37 @Controller
38 @RequestMapping("/greaseBoard")
39 public class GreaseBoardController extends BaseController {
40
41     private String PREFIX = "modular/kb/greaseBoard";
42     @Autowired
43     private KanbanConfService kanbanConfService;
44
45     @Autowired
46     private GreaseManageService greaseManageService;
47     /**
48      * 跳转到主页面
49      *
50      * @author cl
51      * @Date 2022-10-27
52      */
53     @RequestMapping("")
54     public String index() {
55         return PREFIX + "/greaseBoard.html";
56     }
57
58     /**
59      * 新增看板配置页面
60      *
61      * @author cl
62      * @Date 2022-10-31
63      */
64     @RequestMapping("/add")
65     public String add() {
66         return PREFIX + "/kanbanConf_add.html";
67     }
68
69     /**
70      * 编辑页面
71      *
72      * @author cl
73      * @Date 2022-10-31
74      */
75     @RequestMapping("/edit")
76     public String edit() {
77         return PREFIX + "/kanbanConf_edit.html";
78     }
79
80     @RequestMapping("/orderEdit")
81     public String orderEdit() {
82         return PREFIX + "/kanbanConf_orderEdit.html";
83     }
84
85     /**
86      * 新增接口
87      *
88      * @author cl
89      * @Date 2022-10-31
90      */
91     @RequestMapping("/addKanBanConfItem")
92     @ResponseBody
93     public ResponseData addItem(KanbanConfParam kanbanConfParam, HttpServletRequest request) {
94         String realIp = IPUtil.getRealIp(request);
95         kanbanConfParam.setIpAddress(realIp);
96         kanbanConfParam.setWarehouseCode(kanbanConfParam.getScrapReason());
97         kanbanConfParam.setWarehouseName(kanbanConfParam.getScrapCategory());
98         this.kanbanConfService.add(kanbanConfParam);
99         return ResponseData.success();
100     }
101
102     /**
103      * 新增接口
104      * MIGICC17500E00136V250WX23K03A0003B
105      * @author cl
106      * @Date 2022-10-31
107      */
108     @RequestMapping("/updategreaseManage")
109     @ResponseBody
110     public ResponseData updategreaseManage(GreaseManageParam greaseManageParam) {
111         SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
112         String currentDate = format.format(new Date());
113         String barCode = greaseManageParam.getBarcode();
114         String lastTwelveChars = barCode.substring(barCode.length() - 12);
115         String locationCode = getLocationCode(lastTwelveChars);
116         String DuaDate = getDuaDate(lastTwelveChars);
117         GreaseManage greaseManage = new GreaseManage();
118         greaseManage.setBarcode(barCode);
119         greaseManage.setLocationCode(locationCode);
120         greaseManage.setDuaDate(DuaDate);
121         greaseManage.setDaysRemaining(getRemainder(currentDate,DuaDate));
122         greaseManage.setCreateTime(new Date());
123         greaseManage.setCreateUser("admin");
124 //        greaseManageService.save(greaseManage);
125         greaseManageService.update(greaseManage,new LambdaQueryWrapper<GreaseManage>().eq(GreaseManage::getLocationCode, locationCode));
126         return ResponseData.success();
127     }
128
129     @ResponseBody
130     @CrossOrigin
131     @RequestMapping("/bigListGreaseBoard")
132     public ResponseData orderDescListFive() {
133         SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
134         String currentDate = format.format(new Date());
135         List list = new ArrayList();
136         List<GreaseManage> results = greaseManageService.list();
137         for (GreaseManage result : results) {
138             String DuaDate = result.getDuaDate();
139             String remainder = getRemainder(currentDate, DuaDate);
140             if(Integer.valueOf(remainder)<=90){
141                 List itemList = new ArrayList();
142                 itemList.add(boldText(result.getLocationCode()));
143                 itemList.add(boldText(DuaDate));
144                 itemList.add(boldText(remainder));
145                 list.add(itemList);
146             }else {
147                 List itemList = new ArrayList();
148                 itemList.add(whiteBoldText(result.getLocationCode()));
149                 itemList.add(whiteBoldText(DuaDate));
150                 itemList.add(whiteBoldText(remainder));
151                 list.add(itemList);
152             }
153
154         }
155         return ResponseData.success(list);
156     }
157
21fde8 158     @ResponseBody
159     @CrossOrigin
160     @RequestMapping("/testhandleOilState")
161     public long handleOilState(){
162         SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
163         String currentDate = format.format(new Date());
164         GreaseManageParam param = new GreaseManageParam();
165         param.setLocationCode("OP050");
166         List<GreaseManageResult> list = greaseManageService.findListBySpec(param);
167         if(list.size()>0) {
168             String duaDate = list.get(0).getDuaDate();
169 //
170             long  daysBetween = Long.parseLong(getRemainder(currentDate,duaDate));
171
172 //            long daysBetween = ChronoUnit.DAYS.between(date1, date2);
173 //            return daysBetween;
174         }
175         return  0;
176     }
177
b26949 178     public static String boldText(String param){
179         return "<span style='font-size: 20px' class='colorRed'>"+param+"</span>";
180     }
181
182     public static String whiteBoldText(String param){
183         return "<span style='font-size: 20px'>"+param+"</span>";
184     }
185
186     public static void main(String[] args) {
187         DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyyMMdd");
188         SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
189         String format1 = format.format(new Date());
190         System.out.println("Difference in days: " + getRemainder("20231215",format1));
191     }
192
193     public static String getRemainder(String currentDate,String tableDate){
194         DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyyMMdd");
195         LocalDate localDate1 = LocalDate.parse(currentDate, dateFormatter);
196         LocalDate localDate2 = LocalDate.parse(tableDate, dateFormatter);
21fde8 197         long days = ChronoUnit.DAYS.between(localDate1, localDate2);
b26949 198         return String.valueOf(days);
199     }
200
201     public static String getDuaDate(String str){
202         String year = str.substring(1,3);
203         String month = getMonth(str.substring(3,4));
204         String day = str.substring(4,6);
205         return "20"+year+month+day;
206     }
207
208     public static String getLocationCode(String str){
209         String locationCode = "";
210         switch (str.substring(0,1)) {
211             case "X":
212                 locationCode = "DOP020";
213                 break;
214             case "Y":
215                 locationCode = "OP050";
216                 break;
217             case "Z":
9b98a7 218                 locationCode = "BOP030/040";
b26949 219                 break;
220             default:
221                 break;
222         }
223         return locationCode;
224     }
225
226     public static String getMonth(String str){
227         String Month = "";
228         switch (str) {
229             case "A":
9a8790 230                 Month = "01";
b26949 231                 break;
232             case "B":
9a8790 233                 Month = "02";
b26949 234                 break;
235             case "C":
9a8790 236                 Month = "03";
b26949 237                 break;
238             case "D":
9a8790 239                 Month = "04";
b26949 240                 break;
241             case "E":
9a8790 242                 Month = "05";
b26949 243                 break;
244             case "F":
9a8790 245                 Month = "06";
b26949 246                 break;
247             case "G":
9a8790 248                 Month = "07";
b26949 249                 break;
250             case "H":
9a8790 251                 Month = "08";
b26949 252                 break;
253             case "I":
9a8790 254                 Month = "09";
b26949 255                 break;
256             case "J":
257                 Month = "10";
258                 break;
259             case "K":
260                 Month = "11";
261                 break;
262             case "L":
263                 Month = "12";
264                 break;
265             default:
266                 break;
267         }
268         return Month;
269     }
270
271
272     /**
273      * 编辑接口
274      *
275      * @author cl
276      * @Date 2022-10-31
277      */
278     @RequestMapping("/editKanBanConfItem")
279     @ResponseBody
280     public ResponseData editItem(KanbanConfParam kanbanConfParam) {
281         this.kanbanConfService.update(kanbanConfParam);
282         return ResponseData.success();
283     }
284
285     /**
286      * 查询列表
287      *
288      * @author cl
289      * @Date 2022-10-31
290      */
291     @ResponseBody
292     @RequestMapping("/qryKBConflist")
293     public LayuiPageInfo list(KanbanConfParam kanbanConfParam, HttpServletRequest request) {
294         String realIp = IPUtil.getRealIp(request);
295         kanbanConfParam.setIpAddress(realIp);
296
297         return this.kanbanConfService.findPageBySpec(kanbanConfParam);
298     }
299 }