BillCleanServiceImpl.java 55 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010
  1. package com.huimv.receive.service.impl;
  2. import cn.hutool.core.util.ObjectUtil;
  3. import com.alibaba.fastjson.JSONObject;
  4. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  5. import com.baomidou.mybatisplus.core.toolkit.StringUtils;
  6. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  7. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  8. import com.huimv.receive.common.token.TokenSign;
  9. import com.huimv.receive.common.utils.*;
  10. import com.huimv.receive.entity.*;
  11. import com.huimv.receive.entity.vo.CleanAndDryVo;
  12. import com.huimv.receive.entity.vo.CleanAndDryVo2;
  13. import com.huimv.receive.entity.vo.CleanVo;
  14. import com.huimv.receive.entity.vo.PcrVo1;
  15. import com.huimv.receive.mapper.*;
  16. import com.huimv.receive.service.IBillCleanService;
  17. import org.springframework.beans.factory.annotation.Autowired;
  18. import org.springframework.stereotype.Service;
  19. import org.springframework.transaction.interceptor.TransactionAspectSupport;
  20. import org.springframework.web.multipart.MultipartFile;
  21. import javax.annotation.Resource;
  22. import javax.servlet.http.HttpServletRequest;
  23. import javax.servlet.http.HttpServletResponse;
  24. import java.io.IOException;
  25. import java.text.ParseException;
  26. import java.text.SimpleDateFormat;
  27. import java.time.LocalDateTime;
  28. import java.util.*;
  29. /**
  30. * <p>
  31. * 洗消表 服务实现类
  32. * </p>
  33. *
  34. * @author author
  35. * @since 2023-07-21
  36. */
  37. @Service
  38. public class BillCleanServiceImpl extends ServiceImpl<BillCleanMapper, BillClean> implements IBillCleanService {
  39. @Autowired
  40. private BillCleanMapper cleanMapper;
  41. @Autowired
  42. private BillIsolateMapper isolateMapper;
  43. @Autowired
  44. private BillPcrMapper pcrMapper;
  45. @Autowired
  46. private BaseProcessMapper processMapper;
  47. @Autowired
  48. private BaseLocationMapper locationMapper;
  49. @Autowired
  50. private UploadImage uploadImage;
  51. @Autowired
  52. private BillDryMapper dryMapper;
  53. @Autowired
  54. private BillPersonnelAdmissionMapper admissionMapper;
  55. @Autowired
  56. private ConfigurationMapper configurationMapper;
  57. @Override
  58. public Result listAll(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
  59. String type = paramsMap.get("type");//展示类型 0-6
  60. String data = paramsMap.get("data");//状态
  61. String farmId = paramsMap.get("farmId");
  62. String pageNum = paramsMap.get("pageNum");
  63. String pageSize = paramsMap.get("pageSize");
  64. if ("".equals(pageNum) || null == pageNum) {
  65. pageNum = "1";
  66. }
  67. if ("".equals(pageSize) || null == pageSize) {
  68. pageSize = "20";
  69. }
  70. if ("".equals(type) || null == type) {
  71. type = "1";
  72. }
  73. if ("".equals(data) || null == data) {
  74. data = "0";
  75. }
  76. if (type.equals("0")) {
  77. QueryWrapper<BaseLocation> queryWrapper1 = new QueryWrapper<>();
  78. queryWrapper1.eq("farm_id", farmId).eq("location_type", TokenSign.getWorkIdByJwtToken(httpServletRequest));
  79. List<BaseLocation> baseLocations = locationMapper.selectList(queryWrapper1);
  80. List<Integer> ids = new ArrayList<>();
  81. for (BaseLocation baseLocation : baseLocations) {
  82. ids.add(baseLocation.getId());
  83. }
  84. Page<BillClean> page = new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
  85. QueryWrapper<BillClean> queryWrapper = new QueryWrapper<>();
  86. queryWrapper.eq("farm_id", farmId).eq("vistit_type", type).orderByDesc("sub_date")
  87. .in("test_location_id", ids);
  88. if ("0".equals(data)) {
  89. queryWrapper.in("bill_status", 0, 1, 2);
  90. }
  91. if ("1".equals(data)) {
  92. queryWrapper.eq("bill_status", 0);
  93. }
  94. if ("2".equals(data)) {
  95. queryWrapper.eq("bill_status", 1);
  96. }
  97. QueryWrapper<BillClean> queryWrapper2 = new QueryWrapper<>();
  98. queryWrapper2.eq("farm_id", farmId).eq("vistit_type", type).orderByDesc("sub_date")
  99. .in("test_location_id", ids).eq("bill_status", 0);
  100. return new Result(ResultCode.SUCCESS, cleanMapper.selectPage(page, queryWrapper), cleanMapper.selectCount(queryWrapper2));
  101. }/* else if (type.equals("4")) {
  102. Page<BillClean> page = new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
  103. QueryWrapper<BillClean> queryWrapper = new QueryWrapper<>();
  104. queryWrapper.eq("farm_id", farmId).eq("vistit_type", 4).orderByDesc("sub_date")
  105. .eq("test_location_id", TokenSign.getWorkIdByJwtToken(httpServletRequest));
  106. if ("0".equals(data)) {
  107. queryWrapper.in("bill_status", 0, 1, 2);
  108. }
  109. if ("1".equals(data)) {
  110. queryWrapper.eq("bill_status", 0);
  111. }
  112. if ("2".equals(data)) {
  113. queryWrapper.eq("bill_status", 1);
  114. }
  115. return new Result(ResultCode.SUCCESS, cleanMapper.selectPage(page, queryWrapper));
  116. }*/ else {
  117. Page<CleanAndDryVo2> cleanAndDryVo2Page = null;
  118. Page<CleanAndDryVo2> page = new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
  119. QueryWrapper<BaseLocation> queryWrapper1 = new QueryWrapper<>();
  120. queryWrapper1.eq("farm_id", farmId).eq("location_type", TokenSign.getWorkIdByJwtToken(httpServletRequest));
  121. List<BaseLocation> baseLocations = locationMapper.selectList(queryWrapper1);
  122. QueryWrapper<BillClean> queryWrapper = new QueryWrapper<>();
  123. queryWrapper.eq("farm_id", farmId).eq("vistit_type", type);
  124. QueryWrapper<BillDry> queryWrapper2 = new QueryWrapper<>();
  125. queryWrapper2.eq("farm_id", farmId).eq("vistit_type", type);
  126. if ("0".equals(data)) {
  127. ArrayList<String> arrayList = new ArrayList<>();
  128. for (BaseLocation baseLocation : baseLocations) {
  129. arrayList.add(baseLocation.getId().toString());
  130. }
  131. String[] s = arrayList.toArray(new String[arrayList.size()]);
  132. System.out.println("传入自定义sql的位置参数形式:" + s);
  133. cleanAndDryVo2Page = cleanMapper.CleanAndDry(page, farmId, type, "0,1".split(","), s);
  134. queryWrapper.in("test_location_id", arrayList);
  135. queryWrapper2.in("test_location_id", arrayList);
  136. }
  137. if ("1".equals(data)) {
  138. ArrayList<String> integerArrayList = new ArrayList<>();
  139. for (BaseLocation baseLocation : baseLocations) {
  140. integerArrayList.add(baseLocation.getId().toString());
  141. }
  142. String[] ids = integerArrayList.toArray(new String[integerArrayList.size()]);
  143. ArrayList<String> arrayList = new ArrayList<>();
  144. arrayList.add("0");
  145. String[] s = arrayList.toArray(new String[arrayList.size()]);
  146. cleanAndDryVo2Page = cleanMapper.CleanAndDry(page, farmId, type, s, ids);
  147. queryWrapper.in("test_location_id", integerArrayList);
  148. queryWrapper2.in("test_location_id", integerArrayList);
  149. }
  150. if ("2".equals(data)) {
  151. ArrayList<String> integerArrayList = new ArrayList<>();
  152. for (BaseLocation baseLocation : baseLocations) {
  153. integerArrayList.add(baseLocation.getId().toString());
  154. }
  155. String[] ids = integerArrayList.toArray(new String[integerArrayList.size()]);
  156. ArrayList<String> arrayList = new ArrayList<>();
  157. arrayList.add("1");
  158. String[] s = arrayList.toArray(new String[arrayList.size()]);
  159. cleanAndDryVo2Page = cleanMapper.CleanAndDry(page, farmId, type, s, ids);
  160. queryWrapper.in("test_location_id", integerArrayList);
  161. queryWrapper2.in("test_location_id", integerArrayList);
  162. }
  163. queryWrapper.eq("img_status", 0);
  164. queryWrapper2.eq("img_status", 0);
  165. Integer integer = cleanMapper.selectCount(queryWrapper);
  166. Integer integer1 = dryMapper.selectCount(queryWrapper2);
  167. return new Result(ResultCode.SUCCESS, cleanAndDryVo2Page, integer + integer1);
  168. }
  169. }
  170. @Override
  171. public Result listById(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
  172. String id = paramsMap.get("id");
  173. BillClean billClean = cleanMapper.selectById(id);
  174. return new Result(ResultCode.SUCCESS, billClean);
  175. }
  176. @Override
  177. public Result listByIdDry(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
  178. String id = paramsMap.get("id");
  179. return new Result(ResultCode.SUCCESS, dryMapper.selectById(id));
  180. }
  181. @Override
  182. public Result commitClean(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) throws ParseException {
  183. String result = paramsMap.get("result");// 结果
  184. String farmId = paramsMap.get("farmId");
  185. String id = paramsMap.get("id");
  186. String date = paramsMap.get("date");
  187. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
  188. if (StringUtils.isBlank(date)) {
  189. date = sdf.format(new Date());
  190. }
  191. BillClean billClean = cleanMapper.selectById(id);//某条洗消记录
  192. QueryWrapper<BaseProcess> queryWrapper = new QueryWrapper<>();
  193. queryWrapper.eq("farm_id", farmId).eq("id", billClean.getProcessId());
  194. BaseProcess baseProcess = processMapper.selectOne(queryWrapper);//某条进程
  195. QueryWrapper<BaseLocation> locationQueryWrapper = new QueryWrapper<>();
  196. locationQueryWrapper.eq("farm_id", farmId).eq("id", billClean.getTestLocationId());
  197. BaseLocation baseLocation = locationMapper.selectOne(locationQueryWrapper);//当前所在的位置
  198. QueryWrapper<Configuration> queryWrapper3 = new QueryWrapper<>();
  199. queryWrapper3.eq("farm_id", farmId);
  200. Configuration configuration = configurationMapper.selectOne(queryWrapper3);
  201. if (baseProcess.getProcessType() == 2 || baseProcess.getProcessType() == 1) {
  202. return new Result(10001, "修改失败!该申请已提前结束或者被拒绝", false);
  203. } else {
  204. if (billClean.getDestId() >= billClean.getTestLocationId()) { //不是目的地
  205. if ("1".equals(result)) {
  206. billClean.setBillStatus(1);
  207. billClean.setPassUserName(TokenSign.getUserNameByJwtToken(httpServletRequest));
  208. billClean.setPassUserId(TokenSign.getMemberIdByJwtToken(httpServletRequest));
  209. billClean.setTestLocation(baseLocation.getLocationName());
  210. billClean.setTestLocationId(baseLocation.getId());
  211. billClean.setCheckDate(sdf.parse(date));
  212. billClean.setPassDate(sdf.parse(sdf.format(new Date())));
  213. if (baseLocation.getId() == 1 && baseProcess.getDestId() > 2) {
  214. //生成pcr检测申请
  215. BillPcr billPcr = new BillPcr();
  216. billPcr.setPcrType(0);
  217. billPcr.setPhone(billClean.getPhone());
  218. billPcr.setVistitType(billClean.getVistitType());
  219. billPcr.setDestName(billClean.getDestName());
  220. billPcr.setDestId(billClean.getDestId());
  221. billPcr.setAdmissionUserName(billClean.getAdmissionUserName());
  222. billPcr.setAdmissionUserId(billClean.getAdmissionUserId());
  223. billPcr.setVistitDate(billClean.getVistitDate());
  224. billPcr.setSubDate(LocalDateTime.now());
  225. billPcr.setBillStatus(0);
  226. billPcr.setProcessId(billClean.getProcessId());
  227. billPcr.setFarmId(billClean.getFarmId());
  228. billPcr.setTestLocation("人员二级洗消站");
  229. billPcr.setTestLocationId(3);
  230. billPcr.setQualifiedDate(configuration.getPcr());
  231. pcrMapper.insert(billPcr);
  232. String status = baseProcess.getAllLocationStatus();
  233. String[] split1 = status.split(",");
  234. split1[0] = "2";
  235. split1[1] = "2";
  236. split1[2] = "1";
  237. baseProcess.setAllLocationStatus(split1[0] +","+ split1[1] +","+split1[2]+ status.substring(5));
  238. }
  239. if (baseLocation.getId() == 3) {
  240. //生成隔离申请
  241. BillIsolate isolate = new BillIsolate();
  242. isolate.setPhone(billClean.getPhone());
  243. isolate.setVistitType(billClean.getVistitType());
  244. isolate.setDestName(billClean.getDestName());
  245. isolate.setDestId(billClean.getDestId());
  246. isolate.setAdmissionUserName(billClean.getAdmissionUserName());
  247. isolate.setAdmissionUserId(billClean.getAdmissionUserId());
  248. isolate.setVistitDate(billClean.getVistitDate());
  249. isolate.setSubDate(billClean.getSubDate());
  250. isolate.setFarmId(billClean.getFarmId());
  251. isolate.setBillStatus(0);
  252. isolate.setIsolateDayNum("");
  253. isolate.setProcessId(billClean.getProcessId());
  254. isolate.setIsolateLocation(baseLocation.getLocationName());
  255. isolate.setIsolateLocationId(baseLocation.getId());
  256. isolateMapper.insert(isolate);
  257. String status = baseProcess.getAllLocationStatus();
  258. String[] split1 = status.split(",");
  259. split1[0] = "2";
  260. split1[1] = "2";
  261. split1[2] = "2";
  262. split1[3] = "1";
  263. baseProcess.setAllLocationStatus(split1[0] +","+ split1[1] +","+ split1[2]+","+split1[3] + status.substring(7));
  264. }
  265. if (baseLocation.getId() == 4) {
  266. QueryWrapper<BillPcr> queryWrapper1 = new QueryWrapper<>();
  267. queryWrapper1.eq("farm_id", farmId).eq("process_id", baseProcess.getId()).eq("test_location_id", 4);
  268. if (ObjectUtil.isEmpty(pcrMapper.selectOne(queryWrapper1))) {
  269. //生成pcr检测申请
  270. BillPcr billPcr = new BillPcr();
  271. billPcr.setPcrType(0);
  272. billPcr.setPhone(billClean.getPhone());
  273. billPcr.setVistitType(billClean.getVistitType());
  274. billPcr.setDestName(billClean.getDestName());
  275. billPcr.setDestId(billClean.getDestId());
  276. billPcr.setAdmissionUserName(billClean.getAdmissionUserName());
  277. billPcr.setAdmissionUserId(billClean.getAdmissionUserId());
  278. billPcr.setVistitDate(billClean.getVistitDate());
  279. billPcr.setSubDate(LocalDateTime.now());
  280. billPcr.setBillStatus(0);
  281. billPcr.setProcessId(billClean.getProcessId());
  282. billPcr.setFarmId(billClean.getFarmId());
  283. billPcr.setTestLocation("场内");
  284. billPcr.setTestLocationId(4);
  285. billPcr.setQualifiedDate(configuration.getPcr());
  286. pcrMapper.insert(billPcr);
  287. String status = baseProcess.getAllLocationStatus();
  288. String[] split1 = status.split(",");
  289. split1[0] = "2";
  290. split1[1] = "2";
  291. split1[2] = "2";
  292. split1[3] = "2";
  293. split1[4] = "1";
  294. baseProcess.setAllLocationStatus(split1[0] +","+ split1[1] +","+ split1[2] +","+ split1[3]+","+split1[4]+ status.substring(9));
  295. } else {
  296. //生成隔离申请
  297. BillIsolate isolate = new BillIsolate();
  298. isolate.setPhone(billClean.getPhone());
  299. isolate.setVistitType(billClean.getVistitType());
  300. isolate.setDestName(billClean.getDestName());
  301. isolate.setDestId(billClean.getDestId());
  302. isolate.setAdmissionUserName(billClean.getAdmissionUserName());
  303. isolate.setAdmissionUserId(billClean.getAdmissionUserId());
  304. isolate.setVistitDate(billClean.getVistitDate());
  305. isolate.setSubDate(LocalDateTime.now());
  306. isolate.setFarmId(billClean.getFarmId());
  307. isolate.setBillStatus(0);
  308. isolate.setIsolateDayNum("");
  309. isolate.setProcessId(billClean.getProcessId());
  310. isolate.setIsolateLocation(baseLocation.getNextLocation());
  311. isolate.setIsolateLocationId(baseLocation.getNextId());
  312. isolateMapper.insert(isolate);
  313. String status = baseProcess.getAllLocationStatus();
  314. String[] split1 = status.split(",");
  315. split1[0] = "2";
  316. split1[1] = "2";
  317. split1[2] = "2";
  318. split1[3] = "2";
  319. split1[4] = "2";
  320. baseProcess.setAllLocationStatus(split1[0]+"," + split1[1] +","+ split1[2] +","+ split1[3] +","+ split1[4]);
  321. }
  322. }
  323. baseProcess.setUpdateDate(baseProcess.getUpdateDate() + "," + sdf.format(new Date()));
  324. baseProcess.setCurrentLocation(baseProcess.getCurrentLocation() + "," + baseLocation.getLocationName());
  325. baseProcess.setCurrentLocationId(baseProcess.getCurrentLocationId() + "," + baseLocation.getId());
  326. String status = baseProcess.getCurrentStatus();
  327. String substring = status.substring(0, status.length() - 1);
  328. baseProcess.setCurrentStatus(substring + "1," + 0);
  329. } else {
  330. billClean.setBillStatus(2);
  331. billClean.setPassUserName(TokenSign.getUserNameByJwtToken(httpServletRequest));
  332. billClean.setPassUserId(TokenSign.getMemberIdByJwtToken(httpServletRequest));
  333. billClean.setTestLocation(baseLocation.getLocationName());
  334. billClean.setTestLocationId(baseLocation.getId());
  335. billClean.setCheckDate(sdf.parse(date));
  336. billClean.setPassDate(sdf.parse(sdf.format(new Date())));
  337. baseProcess.setProcessType(2);
  338. baseProcess.setUpdateDate(baseProcess.getUpdateDate() + "," + sdf.format(new Date()));
  339. baseProcess.setCurrentLocation(baseProcess.getCurrentLocation());
  340. baseProcess.setCurrentLocationId(baseProcess.getCurrentLocationId());
  341. String status = baseProcess.getCurrentStatus();
  342. String substring = status.substring(0, status.length() - 1);
  343. baseProcess.setCurrentStatus(substring + "2");
  344. }
  345. cleanMapper.updateById(billClean);
  346. processMapper.updateById(baseProcess);
  347. return new Result(10000, "修改成功!", true);
  348. } else {
  349. //当前是目的地
  350. if ("1".equals(result)) {
  351. billClean.setBillStatus(1);
  352. baseProcess.setProcessType(1);
  353. } else {
  354. billClean.setBillStatus(2);
  355. baseProcess.setProcessType(2);
  356. }
  357. billClean.setPassUserName(TokenSign.getUserNameByJwtToken(httpServletRequest));
  358. billClean.setPassUserId(TokenSign.getMemberIdByJwtToken(httpServletRequest));
  359. billClean.setTestLocation(baseLocation.getLocationName());
  360. billClean.setTestLocationId(baseLocation.getId());
  361. billClean.setCheckDate(sdf.parse(date));
  362. billClean.setPassDate(sdf.parse(sdf.format(new Date())));
  363. baseProcess.setUpdateDate(baseProcess.getUpdateDate() + "," + sdf.format(new Date()));
  364. baseProcess.setCurrentLocation(baseProcess.getCurrentLocation());
  365. baseProcess.setCurrentLocationId(baseProcess.getCurrentLocationId());
  366. String status = baseProcess.getCurrentStatus();
  367. String substring = status.substring(0, status.length() - 1);
  368. baseProcess.setCurrentStatus(substring + "1");
  369. String s = baseProcess.getAllLocationId();
  370. String[] split = s.split(",");
  371. Integer s2 = 0;
  372. for (int i = 0; i < split.length; i++) {
  373. if (Integer.parseInt(split[i]) == baseLocation.getId()) {
  374. s2 = i;
  375. }
  376. }
  377. String status1 = baseProcess.getAllLocationStatus();
  378. StringBuilder split1 = new StringBuilder(status1);
  379. split1.replace(s2, s2 + 1, "3");
  380. baseProcess.setAllLocationStatus(split1.toString());
  381. processMapper.updateById(baseProcess);
  382. cleanMapper.updateById(billClean);
  383. return new Result(10000, "修改成功!", true);
  384. }
  385. }
  386. }
  387. @Resource
  388. private BillCleanMapper billCleanMapper;
  389. @Override
  390. public Result listPersonalClean(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
  391. String pageNo = paramsMap.get("pageNum");
  392. String pageSize = paramsMap.get("pageSize");
  393. String vistitType = paramsMap.get("vistitType");
  394. Page<BillClean> page = new Page<>(Integer.parseInt(pageNo), Integer.parseInt(pageSize));
  395. QueryWrapper<BillClean> queryWrapper = new QueryWrapper<>();
  396. queryWrapper.eq(StringUtils.isNotBlank(vistitType), "vistit_type", vistitType).eq("admission_user_id", TokenSign.getMemberIdByJwtToken(httpServletRequest)).orderByDesc("sub_date");
  397. return new Result(ResultCode.SUCCESS, billCleanMapper.selectPage(page, new QueryWrapper<BillClean>().eq(StringUtils.isNotBlank(vistitType), "vistit_type", vistitType).eq("admission_user_id", TokenSign.getMemberIdByJwtToken(httpServletRequest)).orderByDesc("sub_date")), billCleanMapper.selectCount(queryWrapper));
  398. }
  399. @Override
  400. public Result carClean(HttpServletRequest httpServletRequest, String farmId, String id, String data, MultipartFile img1, MultipartFile img2, MultipartFile img3, MultipartFile img4, MultipartFile img5, String type) throws ParseException, IOException {
  401. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
  402. if (StringUtils.isBlank(data)) {
  403. data = sdf.format(new Date());
  404. }
  405. if ("1".equals(type)) {
  406. //洗消上传
  407. BillClean billClean = cleanMapper.selectById(id);//某条洗消记录
  408. System.out.println("洗消记录的id:" + billClean.getTestLocationId());
  409. Integer testId = billClean.getTestLocationId();
  410. QueryWrapper<BaseLocation> locationQueryWrapper = new QueryWrapper<>();
  411. locationQueryWrapper.eq("farm_id", farmId).eq("id", testId);
  412. BaseLocation baseLocation = locationMapper.selectOne(locationQueryWrapper);//当前所在的位置
  413. QueryWrapper<BaseProcess> queryWrapper = new QueryWrapper<>();
  414. queryWrapper.eq("farm_id", farmId).eq("id", billClean.getProcessId());
  415. BaseProcess baseProcess = processMapper.selectOne(queryWrapper);//某条进程
  416. billClean.setBillStatus(0);
  417. billClean.setImgStatus(1);
  418. billClean.setPassUserName(TokenSign.getUserNameByJwtToken(httpServletRequest));
  419. billClean.setPassUserId(TokenSign.getMemberIdByJwtToken(httpServletRequest));
  420. billClean.setTestLocation(baseLocation.getLocationName());
  421. billClean.setTestLocationId(baseLocation.getId());
  422. billClean.setCheckDate(sdf.parse(data));
  423. billClean.setPassDate(sdf.parse(sdf.format(new Date())));
  424. String s1 = "";
  425. String s2 = "";
  426. String s3 = "";
  427. String s4 = "";
  428. String s5 = "";
  429. if (ObjectUtil.isNotEmpty(img1)) {
  430. if (uploadImage.getImageCom(img1).equals("上传失败")) {
  431. TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
  432. return new Result(10001, "图片1上传失败", false);
  433. }
  434. s1 = uploadImage.uploadImg(img1);
  435. }
  436. if (ObjectUtil.isNotEmpty(img2)) {
  437. if (uploadImage.getImageCom(img2).equals("上传失败")) {
  438. TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
  439. return new Result(10001, "图片2上传失败", false);
  440. }
  441. s2 = "," + uploadImage.uploadImg(img2);
  442. }
  443. if (ObjectUtil.isNotEmpty(img3)) {
  444. if (uploadImage.getImageCom(img3).equals("上传失败")) {
  445. TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
  446. return new Result(10001, "图片3上传失败", false);
  447. }
  448. s3 = "," + uploadImage.uploadImg(img3);
  449. }
  450. if (ObjectUtil.isNotEmpty(img4)) {
  451. if (uploadImage.getImageCom(img4).equals("上传失败")) {
  452. TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
  453. return new Result(10001, "图片4上传失败", false);
  454. }
  455. s4 = "," + uploadImage.uploadImg(img4);
  456. }
  457. if (ObjectUtil.isNotEmpty(img5)) {
  458. if (uploadImage.getImageCom(img5).equals("上传失败")) {
  459. TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
  460. return new Result(10001, "图片5上传失败", false);
  461. }
  462. s5 = "," + uploadImage.uploadImg(img5);
  463. }
  464. String s = s1 + s2 + s3 + s4 + s5;
  465. billClean.setImgUrl(s);
  466. cleanMapper.updateById(billClean);
  467. //物资车生成二次申请
  468. } else {
  469. BillDry billClean = dryMapper.selectById(id);//某条烘干记录
  470. System.out.println("洗消记录的id:" + billClean.getTestLocationId());
  471. Integer testId = billClean.getTestLocationId();
  472. QueryWrapper<BaseLocation> locationQueryWrapper = new QueryWrapper<>();
  473. locationQueryWrapper.eq("farm_id", farmId).eq("id", testId);
  474. BaseLocation baseLocation = locationMapper.selectOne(locationQueryWrapper);//当前所在的位置
  475. QueryWrapper<BaseProcess> queryWrapper = new QueryWrapper<>();
  476. queryWrapper.eq("farm_id", farmId).eq("id", billClean.getProcessId());
  477. BaseProcess baseProcess = processMapper.selectOne(queryWrapper);//某条进程
  478. billClean.setBillStatus(0);
  479. billClean.setImgStatus(1);
  480. billClean.setPassUserName(TokenSign.getUserNameByJwtToken(httpServletRequest));
  481. billClean.setPassUserId(TokenSign.getMemberIdByJwtToken(httpServletRequest));
  482. billClean.setTestLocation(baseLocation.getLocationName());
  483. billClean.setTestLocationId(baseLocation.getId());
  484. billClean.setCheckDate(sdf.parse(data));
  485. billClean.setPassDate(sdf.parse(sdf.format(new Date())));
  486. String s1 = "";
  487. String s2 = "";
  488. String s3 = "";
  489. String s4 = "";
  490. String s5 = "";
  491. if (ObjectUtil.isNotEmpty(img1)) {
  492. if (uploadImage.getImageCom(img1).equals("上传失败")) {
  493. TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
  494. return new Result(10001, "图片1上传失败", false);
  495. }
  496. s1 = uploadImage.uploadImg(img1);
  497. }
  498. if (ObjectUtil.isNotEmpty(img2)) {
  499. if (uploadImage.getImageCom(img2).equals("上传失败")) {
  500. TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
  501. return new Result(10001, "图片2上传失败", false);
  502. }
  503. s2 = "," + uploadImage.uploadImg(img2);
  504. }
  505. if (ObjectUtil.isNotEmpty(img3)) {
  506. if (uploadImage.getImageCom(img3).equals("上传失败")) {
  507. TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
  508. return new Result(10001, "图片3上传失败", false);
  509. }
  510. s3 = "," + uploadImage.uploadImg(img3);
  511. }
  512. if (ObjectUtil.isNotEmpty(img4)) {
  513. if (uploadImage.getImageCom(img4).equals("上传失败")) {
  514. TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
  515. return new Result(10001, "图片4上传失败", false);
  516. }
  517. s4 = "," + uploadImage.uploadImg(img4);
  518. }
  519. if (ObjectUtil.isNotEmpty(img5)) {
  520. if (uploadImage.getImageCom(img5).equals("上传失败")) {
  521. TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
  522. return new Result(10001, "图片5上传失败", false);
  523. }
  524. s5 = "," + uploadImage.uploadImg(img5);
  525. }
  526. String s = s1 + s2 + s3 + s4 + s5;
  527. billClean.setImgUrl(s);
  528. dryMapper.updateById(billClean);
  529. }
  530. return new Result(10000, "提交成功!", true);
  531. }
  532. @Override
  533. public Result listCleanAndDry(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
  534. String type = paramsMap.get("type");
  535. String pageNo = paramsMap.get("pageNum");
  536. String pageSize = paramsMap.get("pageSize");
  537. Page<CleanAndDryVo> page = new Page<>(Integer.parseInt(pageNo), Integer.parseInt(pageSize));
  538. Page<CleanAndDryVo> cleanAndDryVoPage;
  539. switch (type) {
  540. case "1":
  541. cleanAndDryVoPage = billCleanMapper.listCleanAndDry(page, Integer.parseInt(TokenSign.getFarmIds(httpServletRequest)), 0);
  542. break;
  543. case "2":
  544. cleanAndDryVoPage = billCleanMapper.listCleanAndDry(page, Integer.parseInt(TokenSign.getFarmIds(httpServletRequest)), 1);
  545. break;
  546. case "3":
  547. cleanAndDryVoPage = billCleanMapper.listCleanAndDry(page, Integer.parseInt(TokenSign.getFarmIds(httpServletRequest)), 2);
  548. break;
  549. default:
  550. cleanAndDryVoPage = billCleanMapper.listCleanAndDry(page, Integer.parseInt(TokenSign.getFarmIds(httpServletRequest)));
  551. break;
  552. }
  553. return new Result(ResultCode.SUCCESS, cleanAndDryVoPage, cleanAndDryVoPage.getSize());
  554. }
  555. @Override
  556. public Result listPersonalCleanAndDry(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
  557. String pageNo = paramsMap.get("pageNum");
  558. String pageSize = paramsMap.get("pageSize");
  559. String vistitType = paramsMap.get("vistitType");
  560. Page<CleanAndDryVo> page = new Page<>(Integer.parseInt(pageNo), Integer.parseInt(pageSize));
  561. Integer userId = TokenSign.getMemberIdByJwtToken(httpServletRequest);
  562. Page<CleanAndDryVo> cleanAndDryVoPage = cleanMapper.listPersonalCleanAndDry(page, userId, vistitType);
  563. return new Result(ResultCode.SUCCESS, cleanAndDryVoPage, cleanAndDryVoPage.getSize());
  564. }
  565. @Override
  566. public Result goodsCarClean(HttpServletRequest httpServletRequest, String farmId, String id, String date, MultipartFile img1,
  567. MultipartFile img2, MultipartFile img3, MultipartFile img4, MultipartFile img5, String type, String result
  568. ) throws ParseException, IOException {
  569. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
  570. if (StringUtils.isBlank(date)) {
  571. date = sdf.format(new Date());
  572. }
  573. String s1 = "";
  574. String s2 = "";
  575. String s3 = "";
  576. String s4 = "";
  577. String s5 = "";
  578. if (ObjectUtil.isNotEmpty(img1)) {
  579. if (uploadImage.getImageCom(img1).equals("上传失败")) {
  580. TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
  581. return new Result(10001, "图片1上传失败", false);
  582. }
  583. s1 = uploadImage.uploadImg(img1);
  584. }
  585. if (ObjectUtil.isNotEmpty(img2)) {
  586. if (uploadImage.getImageCom(img2).equals("上传失败")) {
  587. TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
  588. return new Result(10001, "图片2上传失败", false);
  589. }
  590. s2 = "," + uploadImage.uploadImg(img2);
  591. }
  592. if (ObjectUtil.isNotEmpty(img3)) {
  593. if (uploadImage.getImageCom(img3).equals("上传失败")) {
  594. TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
  595. return new Result(10001, "图片3上传失败", false);
  596. }
  597. s3 = "," + uploadImage.uploadImg(img3);
  598. }
  599. if (ObjectUtil.isNotEmpty(img4)) {
  600. if (uploadImage.getImageCom(img4).equals("上传失败")) {
  601. TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
  602. return new Result(10001, "图片4上传失败", false);
  603. }
  604. s4 = "," + uploadImage.uploadImg(img4);
  605. }
  606. if (ObjectUtil.isNotEmpty(img5)) {
  607. if (uploadImage.getImageCom(img5).equals("上传失败")) {
  608. TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
  609. return new Result(10001, "图片5上传失败", false);
  610. }
  611. s5 = "," + uploadImage.uploadImg(img5);
  612. }
  613. String s = s1 + s2 + s3 + s4 + s5;
  614. if ("1".equals(type)) {
  615. BillClean billClean = cleanMapper.selectById(id);//某条洗消记录
  616. QueryWrapper<BaseProcess> queryWrapper = new QueryWrapper<>();
  617. queryWrapper.eq("farm_id", farmId).eq("id", billClean.getProcessId());
  618. BaseProcess baseProcess = processMapper.selectOne(queryWrapper);//某条进程
  619. QueryWrapper<BaseLocation> locationQueryWrapper = new QueryWrapper<>();
  620. locationQueryWrapper.eq("farm_id", farmId).eq("id", billClean.getTestLocationId());
  621. BaseLocation baseLocation = locationMapper.selectOne(locationQueryWrapper);//当前所在的位置
  622. if (baseProcess.getProcessType() == 2 || baseProcess.getProcessType() == 1) {
  623. return new Result(10001, "修改失败!该申请已提前结束或者被拒绝", false);
  624. } else {
  625. if (billClean.getDestId() >= billClean.getTestLocationId() || billClean.getDestId() == 7) { //不是目的地
  626. if ("1".equals(result)) {
  627. billClean.setBillStatus(1);
  628. billClean.setPassUserName(TokenSign.getUserNameByJwtToken(httpServletRequest));
  629. billClean.setPassUserId(TokenSign.getMemberIdByJwtToken(httpServletRequest));
  630. billClean.setTestLocation(baseLocation.getLocationName());
  631. billClean.setTestLocationId(baseLocation.getId());
  632. billClean.setCheckDate(sdf.parse(date));
  633. billClean.setPassDate(sdf.parse(sdf.format(new Date())));
  634. billClean.setImgUrl(s);
  635. billClean.setImgStatus(1);
  636. cleanMapper.updateById(billClean);
  637. if (billClean.getTestLocationId() == 9 || billClean.getTestLocationId() == 10) {
  638. if (billClean.getDestId() > 9 || billClean.getDestId() > 10) {
  639. Integer processId = billClean.getProcessId();
  640. QueryWrapper<BillPersonnelAdmission> queryWrapper1 = new QueryWrapper<>();
  641. queryWrapper1.eq("farm_id", farmId).eq("process_id", processId);
  642. BillPersonnelAdmission admission = admissionMapper.selectOne(queryWrapper1);
  643. admission.setBillStatus(1);
  644. admission.setPassDate(LocalDateTime.now());
  645. admission.setPassUserId(TokenSign.getMemberIdByJwtToken(httpServletRequest));
  646. admission.setPassUserName(TokenSign.getUserNameByJwtToken(httpServletRequest));
  647. admissionMapper.updateById(admission);
  648. if (billClean.getTestLocationId() == 10) {
  649. baseProcess.setAllLocationStatus("2,2,2,0");
  650. } else {
  651. baseProcess.setAllLocationStatus("2,2,0,0");
  652. }
  653. }
  654. }
  655. //第一次通过生成洗消
  656. if (billClean.getTestLocationId() == 6) {
  657. BillClean clean = new BillClean();
  658. clean.setVistitType(billClean.getVistitType());
  659. clean.setVistitDate(billClean.getVistitDate());
  660. clean.setDestName(billClean.getDestName());
  661. clean.setDestId(billClean.getDestId());
  662. clean.setAdmissionUserId(billClean.getAdmissionUserId());
  663. clean.setAdmissionUserName(billClean.getAdmissionUserName());
  664. clean.setSubDate(LocalDateTime.now());
  665. clean.setBillStatus(0);
  666. clean.setImgStatus(0);
  667. clean.setFarmId(billClean.getFarmId());
  668. clean.setCarNum(billClean.getCarNum());
  669. clean.setPhone(billClean.getPhone());
  670. clean.setProcessId(billClean.getProcessId());
  671. clean.setTestLocationId(baseLocation.getNextId());
  672. clean.setTestLocation(baseLocation.getNextLocation());
  673. cleanMapper.insert(clean);
  674. if (billClean.getDestId() == 7) {
  675. baseProcess.setAllLocationStatus("2,2,1");
  676. } else {
  677. baseProcess.setAllLocationStatus("2,2,1,0");
  678. }
  679. }
  680. if (billClean.getTestLocationId() == 7) {
  681. //生成烘干申请
  682. BillDry billPcr = new BillDry();
  683. billPcr.setPhone(billClean.getPhone());
  684. billPcr.setVistitType(billClean.getVistitType());
  685. billPcr.setDestName(billClean.getDestName());
  686. billPcr.setDestId(billClean.getDestId());
  687. billPcr.setAdmissionUserName(billClean.getAdmissionUserName());
  688. billPcr.setAdmissionUserId(billClean.getAdmissionUserId());
  689. billPcr.setVistitDate(billClean.getVistitDate());
  690. billPcr.setSubDate(LocalDateTime.now());
  691. billPcr.setBillStatus(0);
  692. billPcr.setImgStatus(0);
  693. billPcr.setCarNum(billClean.getCarNum());
  694. billPcr.setProcessId(billClean.getProcessId());
  695. billPcr.setFarmId(billClean.getFarmId());
  696. billPcr.setTestLocation(baseLocation.getLocationName());
  697. billPcr.setTestLocationId(baseLocation.getId());
  698. dryMapper.insert(billPcr);
  699. baseProcess.setAllLocationStatus("2,2,2,1");
  700. }
  701. baseProcess.setUpdateDate(baseProcess.getUpdateDate() + "," + sdf.format(new Date()));
  702. baseProcess.setCurrentLocation(baseProcess.getCurrentLocation() + "," + baseLocation.getLocationName());
  703. baseProcess.setCurrentLocationId(baseProcess.getCurrentLocationId() + "," + baseLocation.getId());
  704. String status = baseProcess.getCurrentStatus();
  705. String substring = status.substring(0, status.length() - 1);
  706. baseProcess.setCurrentStatus(substring + "1," + 0);
  707. processMapper.updateById(baseProcess);
  708. } else {
  709. billClean.setImgStatus(1);
  710. billClean.setImgUrl(s);
  711. billClean.setBillStatus(2);
  712. billClean.setPassUserName(TokenSign.getUserNameByJwtToken(httpServletRequest));
  713. billClean.setPassUserId(TokenSign.getMemberIdByJwtToken(httpServletRequest));
  714. billClean.setTestLocation(baseLocation.getLocationName());
  715. billClean.setTestLocationId(baseLocation.getId());
  716. billClean.setCheckDate(sdf.parse(date));
  717. billClean.setPassDate(sdf.parse(sdf.format(new Date())));
  718. cleanMapper.updateById(billClean);
  719. baseProcess.setProcessType(2);
  720. baseProcess.setUpdateDate(baseProcess.getUpdateDate() + "," + sdf.format(new Date()));
  721. baseProcess.setCurrentLocation(baseProcess.getCurrentLocation());
  722. baseProcess.setCurrentLocationId(baseProcess.getCurrentLocationId());
  723. String status = baseProcess.getCurrentStatus();
  724. String substring = status.substring(0, status.length() - 1);
  725. baseProcess.setCurrentStatus(substring + "2");
  726. processMapper.updateById(baseProcess);
  727. }
  728. return new Result(10000, "修改成功!", true);
  729. } else if (billClean.getDestId() == 53) {
  730. if ("1".equals(result)) {
  731. billClean.setBillStatus(1);
  732. baseProcess.setProcessType(1);
  733. } else {
  734. billClean.setBillStatus(2);
  735. baseProcess.setProcessType(2);
  736. }
  737. Integer processId = billClean.getProcessId();
  738. QueryWrapper<BillPersonnelAdmission> queryWrapper1 = new QueryWrapper<>();
  739. queryWrapper1.eq("farm_id", farmId).eq("process_id", processId);
  740. BillPersonnelAdmission admission = admissionMapper.selectOne(queryWrapper1);
  741. admission.setBillStatus(1);
  742. admission.setPassDate(LocalDateTime.now());
  743. admission.setPassUserId(TokenSign.getMemberIdByJwtToken(httpServletRequest));
  744. admission.setPassUserName(TokenSign.getUserNameByJwtToken(httpServletRequest));
  745. admissionMapper.updateById(admission);
  746. billClean.setImgStatus(1);
  747. billClean.setImgUrl(s);
  748. billClean.setPassUserName(TokenSign.getUserNameByJwtToken(httpServletRequest));
  749. billClean.setPassUserId(TokenSign.getMemberIdByJwtToken(httpServletRequest));
  750. billClean.setTestLocation(baseLocation.getLocationName());
  751. billClean.setTestLocationId(baseLocation.getId());
  752. billClean.setCheckDate(sdf.parse(date));
  753. billClean.setPassDate(sdf.parse(sdf.format(new Date())));
  754. baseProcess.setUpdateDate(baseProcess.getUpdateDate() + "," + sdf.format(new Date()));
  755. baseProcess.setCurrentLocation(baseProcess.getCurrentLocation());
  756. baseProcess.setCurrentLocationId(baseProcess.getCurrentLocationId());
  757. String status = baseProcess.getCurrentStatus();
  758. String substring = status.substring(0, status.length() - 1);
  759. baseProcess.setCurrentStatus(substring + "1");
  760. processMapper.updateById(baseProcess);
  761. cleanMapper.updateById(billClean);
  762. return new Result(10000, "修改成功!", true);
  763. } else {
  764. //当前是目的地
  765. if ("1".equals(result)) {
  766. billClean.setBillStatus(1);
  767. baseProcess.setProcessType(1);
  768. } else {
  769. billClean.setBillStatus(2);
  770. baseProcess.setProcessType(2);
  771. }
  772. billClean.setImgStatus(1);
  773. billClean.setImgUrl(s);
  774. billClean.setPassUserName(TokenSign.getUserNameByJwtToken(httpServletRequest));
  775. billClean.setPassUserId(TokenSign.getMemberIdByJwtToken(httpServletRequest));
  776. billClean.setTestLocation(baseLocation.getLocationName());
  777. billClean.setTestLocationId(baseLocation.getId());
  778. billClean.setCheckDate(sdf.parse(date));
  779. billClean.setPassDate(sdf.parse(sdf.format(new Date())));
  780. baseProcess.setUpdateDate(baseProcess.getUpdateDate() + "," + sdf.format(new Date()));
  781. baseProcess.setCurrentLocation(baseProcess.getCurrentLocation());
  782. baseProcess.setCurrentLocationId(baseProcess.getCurrentLocationId());
  783. String status = baseProcess.getCurrentStatus();
  784. String substring = status.substring(0, status.length() - 1);
  785. baseProcess.setCurrentStatus(substring + "1");
  786. processMapper.updateById(baseProcess);
  787. cleanMapper.updateById(billClean);
  788. return new Result(10000, "修改成功!", true);
  789. }
  790. }
  791. } else {
  792. BillDry billClean = dryMapper.selectById(id);//某条烘干记录
  793. QueryWrapper<BaseProcess> queryWrapper = new QueryWrapper<>();
  794. queryWrapper.eq("farm_id", farmId).eq("id", billClean.getProcessId());
  795. BaseProcess baseProcess = processMapper.selectOne(queryWrapper);//某条进程
  796. QueryWrapper<BaseLocation> locationQueryWrapper = new QueryWrapper<>();
  797. locationQueryWrapper.eq("farm_id", farmId).eq("id", billClean.getTestLocationId());
  798. BaseLocation baseLocation = locationMapper.selectOne(locationQueryWrapper);//当前所在的位置
  799. if (baseProcess.getProcessType() == 2 || baseProcess.getProcessType() == 1) {
  800. return new Result(10001, "修改失败!该申请已提前结束或者被拒绝", false);
  801. } else {
  802. if ("1".equals(result)) {
  803. //烘干通过
  804. billClean.setImgUrl(s);
  805. billClean.setBillStatus(1);
  806. billClean.setPassDate(new Date());
  807. billClean.setCheckDate(new Date());
  808. billClean.setPhone(billClean.getPhone());
  809. billClean.setCarNum(billClean.getCarNum());
  810. billClean.setImgStatus(1);
  811. billClean.setPassUserName(TokenSign.getUserNameByJwtToken(httpServletRequest));
  812. billClean.setPassUserId(TokenSign.getMemberIdByJwtToken(httpServletRequest));
  813. billClean.setTestLocation(baseLocation.getLocationName());
  814. billClean.setTestLocationId(baseLocation.getId());
  815. dryMapper.updateById(billClean);
  816. baseProcess.setProcessType(1);
  817. baseProcess.setUpdateDate(baseProcess.getUpdateDate() + "," + sdf.format(new Date()));
  818. baseProcess.setCurrentLocation(baseProcess.getCurrentLocation());
  819. baseProcess.setCurrentLocationId(baseProcess.getCurrentLocationId());
  820. String status = baseProcess.getCurrentStatus();
  821. String substring = status.substring(0, status.length() - 1);
  822. baseProcess.setCurrentStatus(substring + "1");
  823. baseProcess.setAllLocationStatus("2,2,2,2");
  824. processMapper.updateById(baseProcess);
  825. } else {
  826. billClean.setImgStatus(1);
  827. billClean.setImgUrl(s);
  828. billClean.setBillStatus(2);
  829. billClean.setPassUserName(TokenSign.getUserNameByJwtToken(httpServletRequest));
  830. billClean.setPassUserId(TokenSign.getMemberIdByJwtToken(httpServletRequest));
  831. billClean.setTestLocation(baseLocation.getLocationName());
  832. billClean.setTestLocationId(baseLocation.getId());
  833. billClean.setCheckDate(sdf.parse(date));
  834. billClean.setPassDate(sdf.parse(sdf.format(new Date())));
  835. dryMapper.updateById(billClean);
  836. baseProcess.setProcessType(2);
  837. baseProcess.setUpdateDate(baseProcess.getUpdateDate() + "," + sdf.format(new Date()));
  838. baseProcess.setCurrentLocation(baseProcess.getCurrentLocation());
  839. baseProcess.setCurrentLocationId(baseProcess.getCurrentLocationId());
  840. String status = baseProcess.getCurrentStatus();
  841. String substring = status.substring(0, status.length() - 1);
  842. baseProcess.setCurrentStatus(substring + "2");
  843. baseProcess.setAllLocationStatus("2,2,2,3");
  844. processMapper.updateById(baseProcess);
  845. }
  846. return new Result(10000, "修改成功!", true);
  847. }
  848. }
  849. }
  850. @Override
  851. public Result listCount(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
  852. String farmId = paramsMap.get("farmId");
  853. Date timesmorning = DataUill.getTimesmorning();
  854. QueryWrapper<BillClean> queryWrapper = new QueryWrapper<>();
  855. queryWrapper.eq("farm_id", farmId).ge("sub_date", timesmorning);
  856. queryWrapper.eq("bill_status", 1);
  857. Integer count = billCleanMapper.selectCount(queryWrapper);//合格
  858. QueryWrapper<BillClean> queryWrapper1 = new QueryWrapper<>();
  859. queryWrapper1.eq("farm_id", farmId).ge("sub_date", timesmorning);
  860. queryWrapper1.eq("bill_status", 2);
  861. Integer count1 = billCleanMapper.selectCount(queryWrapper1);//异常
  862. Integer allCount = count + count1;
  863. Double rank = (Double.valueOf(count.toString()) / Double.valueOf(allCount.toString())) * 100;
  864. JSONObject jsonObject = new JSONObject();
  865. jsonObject.put("count", allCount);
  866. jsonObject.put("count1", count);
  867. jsonObject.put("count2", count1);
  868. jsonObject.put("rank", rank);
  869. return new Result(ResultCode.SUCCESS, jsonObject);
  870. }
  871. @Override
  872. public Result AllClean(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
  873. String farmId = paramsMap.get("farmId");
  874. String personType = paramsMap.get("personType");
  875. String type = paramsMap.get("type");
  876. if ("".equals(type) || null == type) {
  877. type = "1";
  878. }
  879. List<CleanVo> pcrVos = null;
  880. QueryWrapper<BillClean> queryWrapper = new QueryWrapper<>();
  881. queryWrapper.eq("farm_id", farmId).in("bill_status", 1, 2);
  882. if ("".equals(personType) || null == personType) {
  883. } else {
  884. queryWrapper.eq("vistit_type", personType);
  885. }
  886. if ("1".equals(type)) {
  887. Date timesmorning = DataUill.getTimesmorning();
  888. queryWrapper.ge("sub_date", timesmorning);
  889. } else if ("2".equals(type)) {
  890. Calendar calendar = Calendar.getInstance();
  891. calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) - 7);
  892. queryWrapper.ge("sub_date", calendar.getTime());
  893. } else if ("3".equals(type)) {
  894. Date monthmorning = DataUill.getTimesMonthmorning();
  895. queryWrapper.ge("sub_date", monthmorning);
  896. }
  897. pcrVos = billCleanMapper.listAll(queryWrapper);
  898. for (CleanVo pcrVo : pcrVos) {
  899. pcrVo.setAllCount(pcrVo.getPassCount() + pcrVo.getRefuseCount());
  900. }
  901. return new Result(ResultCode.SUCCESS, pcrVos);
  902. }
  903. @Override
  904. public Result CleanSelect(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
  905. String farmId = paramsMap.get("farmId");
  906. String type = paramsMap.get("type");//来访类型
  907. String startTime = paramsMap.get("startTime");
  908. String endTime = paramsMap.get("endTime");
  909. String pageNum = paramsMap.get("pageNum");
  910. String pageSize = paramsMap.get("pageSize");
  911. if ("".equals(pageNum) || null == pageNum) {
  912. pageNum = "1";
  913. }
  914. if ("".equals(pageSize) || null == pageSize) {
  915. pageSize = "10";
  916. }
  917. if ("".equals(startTime) || null == startTime) {
  918. startTime = DataUill.getTimesmorning().toString();
  919. endTime = LocalDateTime.now() + " 23:59:59";
  920. }
  921. QueryWrapper<BillClean> queryWrapper = new QueryWrapper<>();
  922. queryWrapper.eq("farm_id", farmId);
  923. queryWrapper.between("check_date", startTime, endTime);
  924. if ("".equals(type) || null == type) {
  925. } else {
  926. queryWrapper.eq("vistit_type", type);
  927. }
  928. Page<BillClean> page = new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
  929. return new Result(ResultCode.SUCCESS, billCleanMapper.selectPage(page, queryWrapper));
  930. }
  931. @Override
  932. public void printClean(HttpServletResponse httpServletRequest, Map<String, String> paramsMap) throws Exception {
  933. String ids = paramsMap.get("ids");
  934. String[] split = ids.split(",");
  935. List<BillClean> list = new ArrayList<>();
  936. for (String s : split) {
  937. BillClean admission = billCleanMapper.selectById(s);
  938. list.add(admission);
  939. }
  940. Print.printClean(list);
  941. }
  942. }