ShenChanTimer.java 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304
  1. package com.huimv.admin.timer;
  2. import cn.hutool.core.codec.Base64;
  3. import cn.hutool.core.date.DateTime;
  4. import cn.hutool.core.date.DateUtil;
  5. import cn.hutool.core.util.ObjectUtil;
  6. import cn.hutool.json.JSONObject;
  7. import cn.hutool.json.JSONUtil;
  8. import com.alibaba.fastjson.JSON;
  9. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  10. import com.baomidou.mybatisplus.core.toolkit.StringUtils;
  11. import com.huimv.admin.common.utils.Digests;
  12. import com.huimv.admin.common.utils.HttpClientSSLUtils;
  13. import com.huimv.admin.entity.*;
  14. import com.huimv.admin.entity.zengxindto.*;
  15. import com.huimv.admin.service.*;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.context.annotation.Configuration;
  18. import org.springframework.http.*;
  19. import org.springframework.scheduling.annotation.EnableScheduling;
  20. import org.springframework.scheduling.annotation.Scheduled;
  21. import org.springframework.transaction.annotation.Transactional;
  22. import org.springframework.web.bind.annotation.GetMapping;
  23. import org.springframework.web.client.RestTemplate;
  24. import java.time.LocalDate;
  25. import java.util.*;
  26. @Configuration
  27. @EnableScheduling
  28. public class ShenChanTimer {
  29. //生产数据
  30. @Autowired
  31. private RestTemplate restTemplate;
  32. @Autowired
  33. private IProdStockService prodStockService;
  34. @Scheduled(cron = "0 0 */4 * * ? ")
  35. // @Scheduled(cron = "0 * * * * ?")
  36. @GetMapping("/test")
  37. private void getShenChan() throws Exception {
  38. Integer farmId = 21;
  39. List<Integer> farmIds = new ArrayList();
  40. farmIds.add(21);
  41. farmIds.add(23);
  42. // farmIds.add(24);
  43. farmIds.add(26);
  44. farmIds.add(27);
  45. String time = LocalDate.now().toString();
  46. String token = login();
  47. // System.out.println("token"+token);
  48. DateTime dateTime = DateUtil.beginOfDay(new Date());
  49. System.out.println(token);
  50. String url = "http://test.htpig.cn/rest/db/storedproc";
  51. Map<String, Object> map = new HashMap<String, Object>();
  52. map.put("db_name","MSSQL");
  53. map.put("proc_name","rep_yz_kc_hz");
  54. map.put("method","open_proc");
  55. HashMap<String, Object> maps = new HashMap<>();
  56. List list = new ArrayList();
  57. maps.put("name","@fdate");
  58. maps.put("value",time);
  59. list.add(maps);
  60. map.put("params",list);
  61. String params = JSON.toJSONString(map);
  62. System.out.println(" ====== getStock请求参数:【" + params + "】");
  63. String data = HttpClientSSLUtils.doPost(url+"?token="+token+"&data=", params);
  64. ProdStockDto prodStockDto = JSONUtil.toBean(data, ProdStockDto.class);
  65. List<List<Object>> stockData = prodStockDto.getData();
  66. System.out.println(prodStockDto.toString());
  67. for (Integer id : farmIds) {
  68. ProdStock prodStock = prodStockService.getOne(new QueryWrapper<ProdStock>().ge("creat_time",dateTime).eq("farm_id", id).orderByDesc("creat_time").last("limit 1"));
  69. for (List stock : stockData) {
  70. if ("正康".equals(stock.get(0))){
  71. if (ObjectUtil.isNotEmpty(prodStock)){
  72. prodStock.setZzcl(Integer.parseInt(stock.get(11).toString()));
  73. prodStock.setByzcl(Integer.parseInt(stock.get(13).toString()));
  74. prodStock.setYfzcl(Integer.parseInt(stock.get(14).toString()));
  75. prodStock.setZcl(Integer.parseInt(stock.get(15).toString()));
  76. prodStock.setCreatTime(new Date());
  77. prodStock.setFarmId(21);
  78. prodStockService.updateById(prodStock);
  79. }else {
  80. prodStock = new ProdStock();
  81. prodStock.setZzcl(Integer.parseInt(stock.get(11).toString()));
  82. prodStock.setByzcl(Integer.parseInt(stock.get(13).toString()));
  83. prodStock.setYfzcl(Integer.parseInt(stock.get(14).toString()));
  84. prodStock.setZcl(Integer.parseInt(stock.get(15).toString()));
  85. prodStock.setMzcl(100);
  86. prodStock.setGzcl(200);
  87. prodStock.setBrzcl(452);
  88. prodStock.setHbzcl(100);
  89. prodStock.setRszcl(30);
  90. prodStock.setBrmzcl(20);
  91. prodStock.setKhzcl(212);
  92. prodStock.setSpzcl(1020);
  93. prodStock.setCreatTime(new Date());
  94. prodStock.setFarmId(21);
  95. prodStockService.save(prodStock);
  96. }
  97. }
  98. /* if ("东阳".equals(stock.get(0))){
  99. if (ObjectUtil.isNotEmpty(prodStock)){
  100. // prodStock.setZzcl(Integer.parseInt(stock.get(11).toString()));
  101. prodStock.setZzcl(5433);
  102. // prodStock.setByzcl(Integer.parseInt(stock.get(13).toString()));
  103. prodStock.setByzcl(6760);
  104. // prodStock.setYfzcl(Integer.parseInt(stock.get(14).toString()));
  105. prodStock.setYfzcl(4361);
  106. // prodStock.setZcl(Integer.parseInt(stock.get(15).toString()));
  107. prodStock.setZcl(16554);
  108. prodStock.setCreatTime(new Date());
  109. prodStock.setFarmId(24);
  110. prodStockService.updateById(prodStock);
  111. System.out.println("东阳--》");
  112. }else {
  113. prodStock = new ProdStock();
  114. // prodStock.setZzcl(Integer.parseInt(stock.get(11).toString()));
  115. prodStock.setZzcl(5433);
  116. // prodStock.setByzcl(Integer.parseInt(stock.get(13).toString()));
  117. prodStock.setByzcl(6760);
  118. // prodStock.setYfzcl(Integer.parseInt(stock.get(14).toString()));
  119. prodStock.setYfzcl(4361);
  120. // prodStock.setZcl(Integer.parseInt(stock.get(15).toString()));
  121. prodStock.setZcl(16554);
  122. prodStock.setMzcl(100);
  123. prodStock.setGzcl(200);
  124. prodStock.setBrzcl(452);
  125. prodStock.setHbzcl(100);
  126. prodStock.setRszcl(30);
  127. prodStock.setBrmzcl(20);
  128. prodStock.setKhzcl(212);
  129. prodStock.setSpzcl(1020);
  130. prodStock.setCreatTime(new Date());
  131. prodStock.setFarmId(24);
  132. prodStockService.save(prodStock);
  133. System.out.println("东阳");
  134. }
  135. }*/
  136. if ("浦江".equals(stock.get(0))){
  137. if (ObjectUtil.isNotEmpty(prodStock)){
  138. // prodStock.setZzcl(Integer.parseInt(stock.get(11).toString()));
  139. prodStock.setZzcl(9980);
  140. // prodStock.setByzcl(Integer.parseInt(stock.get(13).toString()));
  141. prodStock.setByzcl(16384);
  142. // prodStock.setYfzcl(Integer.parseInt(stock.get(14).toString()));
  143. prodStock.setYfzcl(32999);
  144. // prodStock.setZcl(Integer.parseInt(stock.get(15).toString()));
  145. prodStock.setZcl(66381);
  146. prodStock.setCreatTime(new Date());
  147. prodStock.setFarmId(23);
  148. prodStockService.updateById(prodStock);
  149. System.out.println("浦江--》");
  150. }else {
  151. prodStock = new ProdStock();
  152. // prodStock.setZzcl(Integer.parseInt(stock.get(11).toString()));
  153. prodStock.setZzcl(9980);
  154. // prodStock.setByzcl(Integer.parseInt(stock.get(13).toString()));
  155. prodStock.setByzcl(16384);
  156. // prodStock.setYfzcl(Integer.parseInt(stock.get(14).toString()));
  157. prodStock.setYfzcl(32999);
  158. // prodStock.setZcl(Integer.parseInt(stock.get(15).toString()));
  159. prodStock.setZcl(66381);
  160. prodStock.setMzcl(100);
  161. prodStock.setGzcl(200);
  162. prodStock.setBrzcl(452);
  163. prodStock.setHbzcl(100);
  164. prodStock.setRszcl(30);
  165. prodStock.setBrmzcl(20);
  166. prodStock.setKhzcl(212);
  167. prodStock.setSpzcl(1020);
  168. prodStock.setCreatTime(new Date());
  169. prodStock.setFarmId(23);
  170. prodStockService.save(prodStock);
  171. System.out.println("浦江--》");
  172. }
  173. }
  174. if ("横路".equals(stock.get(0))){
  175. if (ObjectUtil.isNotEmpty(prodStock)){
  176. // prodStock.setZzcl(Integer.parseInt(stock.get(11).toString()));
  177. prodStock.setZzcl(9980);
  178. // prodStock.setByzcl(Integer.parseInt(stock.get(13).toString()));
  179. prodStock.setByzcl(16384);
  180. // prodStock.setYfzcl(Integer.parseInt(stock.get(14).toString()));
  181. prodStock.setYfzcl(32999);
  182. // prodStock.setZcl(Integer.parseInt(stock.get(15).toString()));
  183. prodStock.setZcl(66381);
  184. prodStock.setCreatTime(new Date());
  185. prodStock.setFarmId(26);
  186. prodStockService.updateById(prodStock);
  187. System.out.println("横路--》");
  188. }else {
  189. prodStock = new ProdStock();
  190. // prodStock.setZzcl(Integer.parseInt(stock.get(11).toString()));
  191. prodStock.setZzcl(9980);
  192. // prodStock.setByzcl(Integer.parseInt(stock.get(13).toString()));
  193. prodStock.setByzcl(16384);
  194. // prodStock.setYfzcl(Integer.parseInt(stock.get(14).toString()));
  195. prodStock.setYfzcl(32999);
  196. // prodStock.setZcl(Integer.parseInt(stock.get(15).toString()));
  197. prodStock.setZcl(66381);
  198. prodStock.setMzcl(100);
  199. prodStock.setGzcl(200);
  200. prodStock.setBrzcl(452);
  201. prodStock.setHbzcl(100);
  202. prodStock.setRszcl(30);
  203. prodStock.setBrmzcl(20);
  204. prodStock.setKhzcl(212);
  205. prodStock.setSpzcl(1020);
  206. prodStock.setCreatTime(new Date());
  207. prodStock.setFarmId(26);
  208. prodStockService.save(prodStock);
  209. System.out.println("横路--》");
  210. }
  211. }
  212. if ("天台".equals(stock.get(0))){
  213. if (ObjectUtil.isNotEmpty(prodStock)){
  214. // prodStock.setZzcl(Integer.parseInt(stock.get(11).toString()));
  215. prodStock.setZzcl(9980);
  216. // prodStock.setByzcl(Integer.parseInt(stock.get(13).toString()));
  217. prodStock.setByzcl(16384);
  218. // prodStock.setYfzcl(Integer.parseInt(stock.get(14).toString()));
  219. prodStock.setYfzcl(32999);
  220. // prodStock.setZcl(Integer.parseInt(stock.get(15).toString()));
  221. prodStock.setZcl(66381);
  222. prodStock.setCreatTime(new Date());
  223. prodStock.setFarmId(27);
  224. prodStockService.updateById(prodStock);
  225. System.out.println("天台--》");
  226. }else {
  227. prodStock = new ProdStock();
  228. // prodStock.setZzcl(Integer.parseInt(stock.get(11).toString()));
  229. prodStock.setZzcl(9980);
  230. // prodStock.setByzcl(Integer.parseInt(stock.get(13).toString()));
  231. prodStock.setByzcl(16384);
  232. // prodStock.setYfzcl(Integer.parseInt(stock.get(14).toString()));
  233. prodStock.setYfzcl(32999);
  234. // prodStock.setZcl(Integer.parseInt(stock.get(15).toString()));
  235. prodStock.setZcl(66381);
  236. prodStock.setMzcl(100);
  237. prodStock.setGzcl(200);
  238. prodStock.setBrzcl(452);
  239. prodStock.setHbzcl(100);
  240. prodStock.setRszcl(30);
  241. prodStock.setBrmzcl(20);
  242. prodStock.setKhzcl(212);
  243. prodStock.setSpzcl(1020);
  244. prodStock.setCreatTime(new Date());
  245. prodStock.setFarmId(27);
  246. prodStockService.save(prodStock);
  247. System.out.println("天台--》");
  248. }
  249. }
  250. }
  251. }
  252. }
  253. public static void main(String[] args) throws Exception {
  254. RestTemplate restTemplate = new RestTemplate();
  255. StockLoginDto stockLoginDto = restTemplate.getForObject("http://test.htpig.cn/rest/user/login?user_name=test&password=e10adc3949ba59abbe56e057f20f883e&db_name=MSSQL", StockLoginDto.class);
  256. String token = stockLoginDto.getToken();
  257. String time = LocalDate.now().toString();
  258. System.out.println(token);
  259. String url = "http://test.htpig.cn/rest/db/storedproc";
  260. Map<String, Object> map = new HashMap<String, Object>();
  261. map.put("db_name","MSSQL");
  262. map.put("proc_name","rep_yz_kc_hz");
  263. map.put("method","open_proc");
  264. HashMap<String, Object> maps = new HashMap<>();
  265. List list = new ArrayList();
  266. maps.put("name","@fdate");
  267. maps.put("value",time);
  268. list.add(maps);
  269. map.put("params",list);
  270. String params = JSON.toJSONString(map);
  271. System.out.println(" ====== getStock请求参数:【" + params + "】");
  272. String data = HttpClientSSLUtils.doPost(url+"?token="+token+"&data=", params);
  273. ProdStockDto prodStockDto = JSONUtil.toBean(data, ProdStockDto.class);
  274. System.out.println(prodStockDto.toString());
  275. }
  276. private String login() throws Exception {
  277. StockLoginDto stockLoginDto = restTemplate.getForObject("http://test.htpig.cn/rest/user/login?user_name=test&password=e10adc3949ba59abbe56e057f20f883e&db_name=MSSQL", StockLoginDto.class);
  278. if (stockLoginDto.getStatus() != 0){
  279. return null;
  280. }
  281. return stockLoginDto.getToken();
  282. }
  283. }