BillPcrServiceImpl.java 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618
  1. package com.huimv.receive.service.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  3. import com.baomidou.mybatisplus.core.toolkit.StringUtils;
  4. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  5. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  6. import com.huimv.receive.common.token.TokenSign;
  7. import com.huimv.receive.common.utils.DataUill;
  8. import com.huimv.receive.common.utils.Print;
  9. import com.huimv.receive.common.utils.Result;
  10. import com.huimv.receive.common.utils.ResultCode;
  11. import com.huimv.receive.entity.*;
  12. import com.huimv.receive.entity.dto.PcrDto;
  13. import com.huimv.receive.entity.vo.PcrVo;
  14. import com.huimv.receive.entity.vo.PcrVo1;
  15. import com.huimv.receive.mapper.*;
  16. import com.huimv.receive.service.IBillPcrService;
  17. import org.springframework.beans.factory.annotation.Autowired;
  18. import org.springframework.stereotype.Service;
  19. import javax.annotation.Resource;
  20. import javax.servlet.http.HttpServletRequest;
  21. import javax.servlet.http.HttpServletResponse;
  22. import java.text.ParseException;
  23. import java.text.SimpleDateFormat;
  24. import java.time.LocalDateTime;
  25. import java.util.*;
  26. import java.util.concurrent.Executors;
  27. import java.util.concurrent.ScheduledExecutorService;
  28. import java.util.concurrent.TimeUnit;
  29. /**
  30. * <p>
  31. * pcr 表 服务实现类
  32. * </p>
  33. *
  34. * @author author
  35. * @since 2023-07-21
  36. */
  37. @Service
  38. public class BillPcrServiceImpl extends ServiceImpl<BillPcrMapper, BillPcr> implements IBillPcrService {
  39. @Resource
  40. private BillPcrMapper billPcrMapper;
  41. @Override
  42. public Result listPersonalPcr(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
  43. String pageNo = paramsMap.get("pageNum");
  44. String pageSize = paramsMap.get("pageSize");
  45. String vistitType = paramsMap.get("vistitType");
  46. Page<BillPcr> page = new Page<>(Integer.parseInt(pageNo), Integer.parseInt(pageSize));
  47. Page<BillPcr> billPcrPage = billPcrMapper.selectPage(page, new QueryWrapper<BillPcr>().eq(StringUtils.isNotBlank(vistitType), "vistit_type", vistitType).eq("admission_user_id", TokenSign.getMemberIdByJwtToken(httpServletRequest)).orderByDesc("sub_date"));
  48. QueryWrapper<BillPcr> queryWrapper = new QueryWrapper<>();
  49. queryWrapper.eq(StringUtils.isNotBlank(vistitType), "vistit_type", vistitType).eq("admission_user_id", TokenSign.getMemberIdByJwtToken(httpServletRequest)).orderByDesc("sub_date");
  50. return new Result(ResultCode.SUCCESS, billPcrPage, billPcrMapper.selectCount(queryWrapper));
  51. }
  52. @Override
  53. public Result pcrWhole(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
  54. String farmId = paramsMap.get("farmId");
  55. Date timesmorning = DataUill.getTimesmorning();
  56. QueryWrapper<BillPcr> queryWrapper = new QueryWrapper<>();
  57. queryWrapper.eq("farm_id", farmId).eq("bill_status", 1).ge("sub_date", timesmorning);//今日合格
  58. Integer count = billPcrMapper.selectCount(queryWrapper);
  59. QueryWrapper<BillPcr> queryWrapper1 = new QueryWrapper<>();
  60. queryWrapper1.eq("farm_id", farmId).eq("bill_status", 2).ge("sub_date", timesmorning);//今日异常
  61. Integer count1 = billPcrMapper.selectCount(queryWrapper1);
  62. QueryWrapper<BillPcr> queryWrapper2 = new QueryWrapper<>();
  63. queryWrapper2.eq("farm_id", farmId).eq("bill_status", 3).ge("sub_date", timesmorning);//今日失效
  64. Integer count2 = billPcrMapper.selectCount(queryWrapper2);
  65. PcrDto dto = new PcrDto();
  66. dto.setWholeCount(count + count1);
  67. dto.setPassCount(count);
  68. dto.setRefuseCount(count1);
  69. dto.setLoseCount(count2);
  70. return new Result(ResultCode.SUCCESS, dto);
  71. }
  72. @Override
  73. public Result listType(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
  74. String farmId = paramsMap.get("farmId");
  75. String type = paramsMap.get("type");
  76. if ("".equals(type) || null == type) {
  77. type = "1";
  78. }
  79. List<PcrVo> pcrVos = null;
  80. QueryWrapper<BillPcr> queryWrapper = new QueryWrapper<>();
  81. queryWrapper.eq("farm_id", farmId).in("bill_status", 1, 2);
  82. if ("1".equals(type)) {
  83. Date timesmorning = DataUill.getTimesmorning();
  84. queryWrapper.ge("sub_date", timesmorning);
  85. } else if ("2".equals(type)) {
  86. Calendar calendar = Calendar.getInstance();
  87. calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) - 7);
  88. queryWrapper.ge("sub_date", calendar.getTime());
  89. } else if ("3".equals(type)) {
  90. Date monthmorning = DataUill.getTimesMonthmorning();
  91. queryWrapper.ge("sub_date", monthmorning);
  92. }
  93. pcrVos = billPcrMapper.listPcr(queryWrapper);
  94. for (PcrVo pcrVo : pcrVos) {
  95. if (pcrVo.getType().equals("0")) {
  96. pcrVo.setType("人员");
  97. } else if (pcrVo.getType().equals("1")) {
  98. pcrVo.setType("环保车");
  99. } else if (pcrVo.getType().equals("2")) {
  100. pcrVo.setType("拉猪车");
  101. } else if (pcrVo.getType().equals("3")) {
  102. pcrVo.setType("饲料车");
  103. } else if (pcrVo.getType().equals("4")) {
  104. pcrVo.setType("送猪车");
  105. } else if (pcrVo.getType().equals("5")) {
  106. pcrVo.setType("物资车");
  107. }
  108. }
  109. return new Result(ResultCode.SUCCESS, pcrVos);
  110. }
  111. @Override
  112. public Result listLocation(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
  113. String farmId = paramsMap.get("farmId");
  114. String type = paramsMap.get("type");
  115. if ("".equals(type) || null == type) {
  116. type = "1";
  117. }
  118. List<PcrVo> pcrVos = null;
  119. QueryWrapper<BillPcr> queryWrapper = new QueryWrapper<>();
  120. queryWrapper.eq("farm_id", farmId).in("bill_status", 1, 2);
  121. if ("1".equals(type)) {
  122. Date timesmorning = DataUill.getTimesmorning();
  123. queryWrapper.ge("sub_date", timesmorning);
  124. } else if ("2".equals(type)) {
  125. Calendar calendar = Calendar.getInstance();
  126. calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) - 7);
  127. queryWrapper.ge("sub_date", calendar.getTime());
  128. } else if ("3".equals(type)) {
  129. Date monthmorning = DataUill.getTimesMonthmorning();
  130. queryWrapper.ge("sub_date", monthmorning);
  131. }
  132. pcrVos = billPcrMapper.listLocation(queryWrapper);
  133. return new Result(ResultCode.SUCCESS, pcrVos);
  134. }
  135. @Override
  136. public Result listAll(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
  137. String farmId = paramsMap.get("farmId");
  138. String personType = paramsMap.get("personType");
  139. String type = paramsMap.get("type");
  140. if ("".equals(type) || null == type) {
  141. type = "1";
  142. }
  143. List<PcrVo1> pcrVos = null;
  144. QueryWrapper<BillPcr> queryWrapper = new QueryWrapper<>();
  145. queryWrapper.eq("farm_id", farmId).in("bill_status", 1, 2);
  146. if ("".equals(personType) || null == personType) {
  147. } else {
  148. queryWrapper.eq("vistit_type", personType);
  149. }
  150. if ("1".equals(type)) {
  151. Date timesmorning = DataUill.getTimesmorning();
  152. queryWrapper.ge("sub_date", timesmorning);
  153. } else if ("2".equals(type)) {
  154. Calendar calendar = Calendar.getInstance();
  155. calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) - 7);
  156. queryWrapper.ge("sub_date", calendar.getTime());
  157. } else if ("3".equals(type)) {
  158. Date monthmorning = DataUill.getTimesMonthmorning();
  159. queryWrapper.ge("sub_date", monthmorning);
  160. }
  161. pcrVos = billPcrMapper.listAll(queryWrapper);
  162. for (PcrVo1 pcrVo : pcrVos) {
  163. pcrVo.setAllCount(pcrVo.getPassCount() + pcrVo.getRefuseCount());
  164. }
  165. return new Result(ResultCode.SUCCESS, pcrVos);
  166. }
  167. @Override
  168. public Result selectList(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
  169. String farmId = paramsMap.get("farmId");
  170. String type = paramsMap.get("type");//来访类型
  171. String destId = paramsMap.get("destId");//目的地
  172. String startTime = paramsMap.get("startTime");
  173. String endTime = paramsMap.get("endTime");
  174. String pageNum = paramsMap.get("pageNum");
  175. String pageSize = paramsMap.get("pageSize");
  176. if ("".equals(pageNum) || null == pageNum) {
  177. pageNum = "1";
  178. }
  179. if ("".equals(pageSize) || null == pageSize) {
  180. pageSize = "10";
  181. }
  182. if ("".equals(startTime) || null == startTime) {
  183. startTime = DataUill.getTimesmorning().toString();
  184. endTime = LocalDateTime.now() + " 23:59:59";
  185. }
  186. QueryWrapper<BillPcr> queryWrapper = new QueryWrapper<>();
  187. queryWrapper.in("bill_status", 1, 2);
  188. queryWrapper.eq("farm_id", farmId).eq(StringUtils.isNotBlank(destId), "dest_id", destId).eq(StringUtils.isNotBlank(type), "vistit_type", type);
  189. queryWrapper.between("check_date", startTime, endTime);
  190. Page<BillPcr> page = new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
  191. return new Result(ResultCode.SUCCESS, billPcrMapper.selectPage(page, queryWrapper));
  192. }
  193. @Override
  194. public void printPcr(HttpServletResponse httpServletRequest, Map<String, String> paramsMap) throws Exception {
  195. String ids = paramsMap.get("ids");
  196. String[] split = ids.split(",");
  197. List<BillPcr> list = new ArrayList<>();
  198. for (String s : split) {
  199. BillPcr admission = billPcrMapper.selectById(s);
  200. list.add(admission);
  201. }
  202. Print.printPcr(list);
  203. }
  204. @Autowired
  205. private BillPcrMapper pcrMapper;
  206. @Autowired
  207. private BaseProcessMapper processMapper;
  208. @Autowired
  209. private BaseLocationMapper locationMapper;
  210. @Autowired
  211. private BillCleanMapper cleanMapper;
  212. @Autowired
  213. private BillGoodsInventoryMapper goodsInventoryMapper;
  214. @Autowired
  215. private ConfigurationMapper configurationMapper;
  216. @Override
  217. public Result list(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
  218. String farmId = paramsMap.get("farmId");
  219. String type = paramsMap.get("type");//展示类型
  220. String pageNum = paramsMap.get("pageNum");
  221. String pageSize = paramsMap.get("pageSize");
  222. if ("".equals(pageNum) || null == pageNum) {
  223. pageNum = "1";
  224. }
  225. if ("".equals(pageSize) || null == pageSize) {
  226. pageSize = "20";
  227. }
  228. Page<BillPcr> page = new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
  229. QueryWrapper<BaseLocation> queryWrapper1 = new QueryWrapper<>();
  230. queryWrapper1.eq("farm_id", farmId).eq("location_type", TokenSign.getWorkIdByJwtToken(httpServletRequest));
  231. List<BaseLocation> baseLocations = locationMapper.selectList(queryWrapper1);
  232. List<Integer> ids = new ArrayList<>();
  233. for (BaseLocation baseLocation : baseLocations) {
  234. ids.add(baseLocation.getId());
  235. }
  236. QueryWrapper<BillPcr> queryWrapper = new QueryWrapper<>();
  237. queryWrapper.eq("farm_id", farmId).in("test_location_id", ids).orderByDesc("sub_date");
  238. if ("0".equals(type)) {
  239. queryWrapper.in("bill_status", 0, 1, 2, 3);
  240. }
  241. if ("1".equals(type)) {
  242. queryWrapper.eq("bill_status", 0);
  243. }
  244. if ("2".equals(type)) {
  245. queryWrapper.eq("bill_status", 1);
  246. }
  247. if ("3".equals(type)) {
  248. queryWrapper.in("bill_status", 2, 3);
  249. }
  250. QueryWrapper<BillPcr> queryWrapper2 = new QueryWrapper<>();
  251. queryWrapper2.eq("farm_id", farmId).in("test_location_id", ids).orderByDesc("sub_date");
  252. queryWrapper2.eq("bill_status", 0);
  253. return new Result(ResultCode.SUCCESS, pcrMapper.selectPage(page, queryWrapper), pcrMapper.selectCount(queryWrapper2));
  254. }
  255. @Override
  256. public Result listById(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
  257. String id = paramsMap.get("id");
  258. BillPcr billPcr = pcrMapper.selectById(id);
  259. return new Result(ResultCode.SUCCESS, billPcr);
  260. }
  261. @Override
  262. public Result edit(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) throws ParseException {
  263. String result = paramsMap.get("result");//1为合格2为异常
  264. String id = paramsMap.get("id");
  265. String farmId = paramsMap.get("farmId");
  266. String date = paramsMap.get("date");
  267. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
  268. if (StringUtils.isBlank(date)) {
  269. date = sdf.format(new Date());
  270. }
  271. BillPcr billPcr = pcrMapper.selectById(id);
  272. QueryWrapper<BaseProcess> processQueryWrapper = new QueryWrapper<>();
  273. processQueryWrapper.eq("farm_id", farmId).eq("id", billPcr.getProcessId());
  274. BaseProcess baseProcess = processMapper.selectOne(processQueryWrapper);//进程
  275. QueryWrapper<BaseLocation> locationQueryWrapper = new QueryWrapper<>();
  276. locationQueryWrapper.eq("farm_id", farmId).eq("id", billPcr.getTestLocationId());
  277. BaseLocation baseLocation = locationMapper.selectOne(locationQueryWrapper);//当前pcr检测所在的位置
  278. QueryWrapper<Configuration> queryWrapper = new QueryWrapper<>();
  279. queryWrapper.eq("farm_id", farmId);
  280. Configuration configuration = configurationMapper.selectOne(queryWrapper);
  281. if (billPcr.getBillStatus() != 0) {
  282. return new Result(10001, "该订单已通过,无需再次提交!", false);
  283. }
  284. if (baseProcess.getProcessType() == 2 || baseProcess.getProcessType() == 1) {
  285. return new Result(10001, "修改失败!该申请已提前结束或者被拒绝", false);
  286. } else {
  287. if (billPcr.getDestId() >= billPcr.getTestLocationId() || billPcr.getTestLocationId() == 9 || billPcr.getTestLocationId() == 10 || billPcr.getTestLocationId() == 11 || billPcr.getTestLocationId() == 6) { //说明当前不是目的地
  288. if ("1".equals(result)) {
  289. billPcr.setBillStatus(1);
  290. billPcr.setPassUserName(TokenSign.getUserNameByJwtToken(httpServletRequest));
  291. billPcr.setPassUserId(TokenSign.getMemberIdByJwtToken(httpServletRequest));
  292. billPcr.setTestLocation(baseLocation.getLocationName());
  293. billPcr.setTestLocationId(baseLocation.getId());
  294. billPcr.setCheckDate(sdf.parse(date));
  295. billPcr.setPassDate(sdf.parse(sdf.format(new Date())));
  296. billPcr.setQualifiedDate(configuration.getPcr());
  297. //通过生成洗消记录
  298. BillClean billClean = new BillClean();
  299. billClean.setVistitType(billPcr.getVistitType());
  300. billClean.setDestName(billPcr.getDestName());
  301. billClean.setDestId(billPcr.getDestId());
  302. billClean.setAdmissionUserName(billPcr.getAdmissionUserName());
  303. billClean.setAdmissionUserId(billPcr.getAdmissionUserId());
  304. billClean.setVistitDate(billPcr.getVistitDate());
  305. billClean.setSubDate(LocalDateTime.now());
  306. billClean.setFarmId(billPcr.getFarmId());
  307. billClean.setPassUserName(billPcr.getPassUserName());
  308. billClean.setPassDate(billPcr.getPassDate());
  309. billClean.setPassUserId(billPcr.getPassUserId());
  310. billClean.setProcessId(billPcr.getProcessId());
  311. billClean.setTestLocation(baseLocation.getLocationName());
  312. billClean.setTestLocationId(baseLocation.getId());
  313. billClean.setPhone(billPcr.getPhone());
  314. billClean.setImgStatus(0);
  315. billClean.setCarNum(billPcr.getCarNum());
  316. cleanMapper.insert(billClean);
  317. baseProcess.setUpdateDate(baseProcess.getUpdateDate() + "," + sdf.format(new Date()));
  318. baseProcess.setCurrentLocation(baseProcess.getCurrentLocation() + "," + baseLocation.getLocationName());
  319. baseProcess.setCurrentLocationId(baseProcess.getCurrentLocationId() + "," + baseLocation.getId());
  320. String status = baseProcess.getCurrentStatus();
  321. String substring = status.substring(0, status.length() - 1);
  322. baseProcess.setCurrentStatus(substring + "1," + 0);
  323. if (billPcr.getDestId() == 11) {
  324. baseProcess.setAllLocationStatus("2,1");
  325. }
  326. if (billPcr.getDestId() == 10) {
  327. baseProcess.setAllLocationStatus("2,1");
  328. }
  329. if (billPcr.getDestId() == 9) {
  330. baseProcess.setAllLocationStatus("2,1");
  331. }
  332. processMapper.updateById(baseProcess);
  333. pcrMapper.updateById(billPcr);
  334. return new Result(10000, "修改成功!", true);
  335. } else {
  336. billPcr.setBillStatus(2);
  337. billPcr.setPassUserName(TokenSign.getUserNameByJwtToken(httpServletRequest));
  338. billPcr.setPassUserId(TokenSign.getMemberIdByJwtToken(httpServletRequest));
  339. billPcr.setTestLocation(baseLocation.getLocationName());
  340. billPcr.setTestLocationId(baseLocation.getId());
  341. billPcr.setCheckDate(sdf.parse(date));
  342. billPcr.setPassDate(sdf.parse(sdf.format(new Date())));
  343. baseProcess.setUpdateDate(baseProcess.getUpdateDate() + "," + sdf.format(new Date()));
  344. String status = baseProcess.getCurrentStatus();
  345. String substring = status.substring(0, status.length() - 1);
  346. baseProcess.setCurrentStatus(substring + "2," + 0);
  347. if (baseLocation.getId() == 1) {
  348. //第一次检测不合格
  349. billPcr.setPcrType(1);
  350. baseProcess.setCurrentLocation(baseProcess.getCurrentLocation() + ",初级洗消站污区");
  351. baseProcess.setCurrentLocationId(baseProcess.getCurrentLocationId() + ",2");
  352. }
  353. if (baseLocation.getId() == 12) {
  354. //环保车第一次不合格
  355. billPcr.setPcrType(1);
  356. baseProcess.setCurrentLocation(baseProcess.getCurrentLocation() + ",销售中转站");
  357. baseProcess.setCurrentLocationId(baseProcess.getCurrentLocationId() + ",2");
  358. }
  359. if (baseLocation.getId() == 15) {
  360. //拉猪车第一次不合格
  361. billPcr.setPcrType(1);
  362. baseProcess.setCurrentLocation(baseProcess.getCurrentLocation() + ",销售中转站");
  363. baseProcess.setCurrentLocationId(baseProcess.getCurrentLocationId() + ",2");
  364. }
  365. if (baseLocation.getId() == 6) {
  366. //饲料车第一次不合格
  367. billPcr.setPcrType(1);
  368. baseProcess.setCurrentLocation(baseProcess.getCurrentLocation() + ",车辆初级洗消站");
  369. baseProcess.setCurrentLocationId(baseProcess.getCurrentLocationId() + ",2");
  370. }
  371. if (baseLocation.getId() == 3) {
  372. //第二次检测不合格
  373. baseProcess.setProcessType(2);
  374. baseProcess.setCurrentLocation(baseProcess.getCurrentLocation());
  375. baseProcess.setCurrentLocationId(baseProcess.getCurrentLocationId());
  376. String status1 = baseProcess.getAllLocationStatus();
  377. String[] split = status1.split(",");
  378. split[0] = "2";
  379. split[1] = "2";
  380. split[2] = "2";
  381. split[3] = "3";
  382. baseProcess.setAllLocationStatus(split[0] + "," + split[1] + "," + split[2] + "," + split[3] + status1.substring(7));
  383. }
  384. if (baseLocation.getId() == 4) {
  385. //第三次不合格
  386. baseProcess.setProcessType(2);
  387. baseProcess.setCurrentLocation(baseProcess.getCurrentLocation());
  388. baseProcess.setCurrentLocationId(baseProcess.getCurrentLocationId());
  389. String status1 = baseProcess.getAllLocationStatus();
  390. String[] split = status1.split(",");
  391. split[0] = "2";
  392. split[1] = "2";
  393. split[2] = "2";
  394. split[3] = "2";
  395. split[4] = "3";
  396. baseProcess.setAllLocationStatus(split[0] + "," + split[1] + "," + split[2] + "," + split[3] + "," + split[4] + status1.substring(9));
  397. }
  398. if (baseLocation.getId() == 17) {
  399. String status1 = baseProcess.getAllLocationStatus();
  400. String[] split = status1.split(",");
  401. split[0] = "2";
  402. split[1] = "3";
  403. baseProcess.setAllLocationStatus(split[0] + "," + split[1] + status1.substring(3));
  404. }
  405. if (baseLocation.getId() == 15) {
  406. String status1 = baseProcess.getAllLocationStatus();
  407. String[] split = status1.split(",");
  408. split[0] = "2";
  409. split[1] = "3";
  410. baseProcess.setAllLocationStatus(split[0] + "," + split[1] + status1.substring(3));
  411. }
  412. if (baseLocation.getId() == 9) {
  413. String status1 = baseProcess.getAllLocationStatus();
  414. String[] split = status1.split(",");
  415. split[0] = "2";
  416. split[1] = "3";
  417. baseProcess.setAllLocationStatus(split[0] + "," + split[1] + status1.substring(3));
  418. }
  419. if (baseLocation.getId() == 10) {
  420. String status1 = baseProcess.getAllLocationStatus();
  421. String[] split = status1.split(",");
  422. split[0] = "2";
  423. split[1] = "3";
  424. baseProcess.setAllLocationStatus(split[0] + "," + split[1] + status1.substring(3));
  425. }
  426. if (baseLocation.getId() == 11) {
  427. String status1 = baseProcess.getAllLocationStatus();
  428. String[] split = status1.split(",");
  429. split[0] = "2";
  430. split[1] = "3";
  431. baseProcess.setAllLocationStatus(split[0] + "," + split[1] + status1.substring(3));
  432. }
  433. processMapper.updateById(baseProcess);
  434. pcrMapper.updateById(billPcr);
  435. return new Result(10000, "修改成功!", true);
  436. }
  437. } else {
  438. if ("1".equals(result)) {
  439. billPcr.setBillStatus(1);
  440. billPcr.setPassUserName(TokenSign.getUserNameByJwtToken(httpServletRequest));
  441. billPcr.setPassUserId(TokenSign.getMemberIdByJwtToken(httpServletRequest));
  442. billPcr.setTestLocation(baseLocation.getLocationName());
  443. billPcr.setTestLocationId(baseLocation.getId());
  444. billPcr.setQualifiedDate(configuration.getPcr());
  445. billPcr.setCheckDate(sdf.parse(date));
  446. billPcr.setPassDate(sdf.parse(sdf.format(new Date())));
  447. baseProcess.setUpdateDate(baseProcess.getUpdateDate() + "," + sdf.format(new Date()));
  448. baseProcess.setCurrentLocation(baseProcess.getCurrentLocation());
  449. baseProcess.setCurrentLocationId(baseProcess.getCurrentLocationId());
  450. String status = baseProcess.getCurrentStatus();
  451. String substring = status.substring(0, status.length() - 1);
  452. baseProcess.setCurrentStatus(substring + "1");
  453. baseProcess.setProcessType(1);
  454. if (baseLocation.getId() == 9) {
  455. baseProcess.setAllLocationStatus("2,2");
  456. }
  457. if (baseLocation.getId() == 10) {
  458. baseProcess.setAllLocationStatus("2,2");
  459. }
  460. if (baseLocation.getId() == 11) {
  461. baseProcess.setAllLocationStatus("2,2");
  462. }
  463. processMapper.updateById(baseProcess);
  464. pcrMapper.updateById(billPcr);
  465. return new Result(10000, "修改成功!", true);
  466. } else {
  467. if (baseLocation.getId() == 1) {
  468. //第一次检测不合格
  469. billPcr.setPcrType(1);
  470. baseProcess.setProcessType(2);
  471. } else if (baseLocation.getId() == 12) {
  472. //环保车检测不合格
  473. billPcr.setPcrType(1);
  474. baseProcess.setProcessType(2);
  475. } else if (baseLocation.getId() == 15) {
  476. //拉猪车检测不合格
  477. billPcr.setPcrType(1);
  478. baseProcess.setProcessType(2);
  479. } else if (baseLocation.getId() == 6) {
  480. //饲料车检测不合格
  481. billPcr.setPcrType(1);
  482. baseProcess.setProcessType(2);
  483. } else {
  484. baseProcess.setUpdateDate(baseProcess.getUpdateDate() + "," + sdf.format(new Date()));
  485. baseProcess.setProcessType(2);
  486. }
  487. if (baseLocation.getId() == 15) {
  488. String status1 = baseProcess.getAllLocationStatus();
  489. String[] split = status1.split(",");
  490. split[0] = "2";
  491. split[1] = "3";
  492. baseProcess.setAllLocationStatus(split[0] + "," + split[1] + status1.substring(3));
  493. }
  494. baseProcess.setUpdateDate(baseProcess.getUpdateDate() + "," + sdf.format(new Date()));
  495. baseProcess.setCurrentLocation(baseProcess.getCurrentLocation());
  496. baseProcess.setCurrentLocationId(baseProcess.getCurrentLocationId());
  497. String status = baseProcess.getCurrentStatus();
  498. String substring = status.substring(0, status.length() - 1);
  499. baseProcess.setCurrentStatus(substring + "2," + 0);
  500. if (baseLocation.getId() == 9) {
  501. String status1 = baseProcess.getAllLocationStatus();
  502. String[] split = status1.split(",");
  503. split[0] = "2";
  504. split[1] = "3";
  505. baseProcess.setAllLocationStatus(split[0] + "," + split[1] + status1.substring(3));
  506. }
  507. if (baseLocation.getId() == 10) {
  508. String status1 = baseProcess.getAllLocationStatus();
  509. String[] split = status1.split(",");
  510. split[0] = "2";
  511. split[1] = "3";
  512. baseProcess.setAllLocationStatus(split[0] + "," + split[1] + status1.substring(3));
  513. }
  514. if (baseLocation.getId() == 11) {
  515. String status1 = baseProcess.getAllLocationStatus();
  516. String[] split = status1.split(",");
  517. split[0] = "2";
  518. split[1] = "3";
  519. baseProcess.setAllLocationStatus(split[0] + "," + split[1] + status1.substring(3));
  520. }
  521. if (baseLocation.getId() == 17) {
  522. String status1 = baseProcess.getAllLocationStatus();
  523. String[] split = status1.split(",");
  524. split[0] = "2";
  525. split[1] = "3";
  526. baseProcess.setAllLocationStatus(split[0] + "," + split[1] + status1.substring(3));
  527. }
  528. billPcr.setBillStatus(2);
  529. billPcr.setPassUserName(TokenSign.getUserNameByJwtToken(httpServletRequest));
  530. billPcr.setPassUserId(TokenSign.getMemberIdByJwtToken(httpServletRequest));
  531. billPcr.setTestLocation(baseLocation.getLocationName());
  532. billPcr.setTestLocationId(baseLocation.getId());
  533. billPcr.setCheckDate(sdf.parse(date));
  534. billPcr.setPassDate(sdf.parse(sdf.format(new Date())));
  535. processMapper.updateById(baseProcess);
  536. pcrMapper.updateById(billPcr);
  537. return new Result(10000, "修改成功!", true);
  538. }
  539. }
  540. }
  541. }
  542. private void xiugaiPro(BaseProcess baseProcess, BillPcr billPcr) {
  543. baseProcess.setUpdateDate(baseProcess.getUpdateDate() + "," + new Date());
  544. baseProcess.setCurrentLocation(baseProcess.getCurrentLocation() + "," + billPcr.getTestLocation());
  545. baseProcess.setCurrentLocationId(baseProcess.getCurrentLocationId() + "," + billPcr.getTestLocationId());
  546. baseProcess.setCurrentStatus(baseProcess.getCurrentStatus() + "," + 2);
  547. }
  548. public String add() {
  549. ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(10);
  550. Runnable task = new Runnable() {
  551. @Override
  552. public void run() {
  553. //这里写业务
  554. System.out.println();
  555. }
  556. };
  557. // 设定延迟时间(两小时后执行,单位为秒)
  558. long delay = 3;
  559. // 执行定时任务
  560. scheduler.schedule(task, delay, TimeUnit.SECONDS);
  561. System.out.println("完结");
  562. return "成功";
  563. }
  564. }