BillCleanServiceImpl.java 91 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645
  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.*;
  12. import com.huimv.receive.mapper.*;
  13. import com.huimv.receive.service.IBillCleanService;
  14. import com.huimv.receive.service.IBillPcrService;
  15. import org.springframework.beans.factory.annotation.Autowired;
  16. import org.springframework.stereotype.Service;
  17. import org.springframework.transaction.annotation.Transactional;
  18. import org.springframework.transaction.interceptor.TransactionAspectSupport;
  19. import org.springframework.web.multipart.MultipartFile;
  20. import javax.annotation.Resource;
  21. import javax.servlet.http.HttpServletRequest;
  22. import javax.servlet.http.HttpServletResponse;
  23. import java.io.IOException;
  24. import java.text.DecimalFormat;
  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 BaseWashoutPointMapper baseWashoutPointMapper;
  51. @Autowired
  52. private UploadImage uploadImage;
  53. @Autowired
  54. private BillDryMapper dryMapper;
  55. @Autowired
  56. private BillPersonnelAdmissionMapper admissionMapper;
  57. @Autowired
  58. private ConfigurationMapper configurationMapper;
  59. @Autowired
  60. private ExistMapper existMapper;
  61. @Autowired
  62. private BillGoodsInventoryMapper inventoryMapper;
  63. @Override
  64. public Result listAll(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
  65. String type = paramsMap.get("type");//展示类型 0-6
  66. String data = paramsMap.get("data");//状态
  67. String farmId = paramsMap.get("farmId");
  68. String pageNum = paramsMap.get("pageNum");
  69. String pageSize = paramsMap.get("pageSize");
  70. if ("".equals(pageNum) || null == pageNum) {
  71. pageNum = "1";
  72. }
  73. if ("".equals(pageSize) || null == pageSize) {
  74. pageSize = "20";
  75. }
  76. if ("".equals(type) || null == type) {
  77. type = "1";
  78. }
  79. if ("".equals(data) || null == data) {
  80. data = "0";
  81. }
  82. if (type.equals("0")) {
  83. BaseLocation baseLocation = locationMapper.selectById(TokenSign.getWorkIdByJwtToken(httpServletRequest));
  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. .eq("test_location_id", baseLocation.getId());
  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. .eq("test_location_id", baseLocation.getId()).eq("bill_status", 0);
  100. return new Result(ResultCode.SUCCESS, cleanMapper.selectPage(page, queryWrapper), cleanMapper.selectCount(queryWrapper2));
  101. } else if ("5".equals(type)) {
  102. Page<CleanDryGoodsVo> cleanDryGoodPage = null;
  103. Page<CleanDryGoodsVo> page = new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
  104. QueryWrapper<BillClean> queryWrapper = new QueryWrapper<>();
  105. queryWrapper.eq("farm_id", farmId).eq("vistit_type", type);
  106. QueryWrapper<BillDry> queryWrapper2 = new QueryWrapper<>();
  107. queryWrapper2.eq("farm_id", farmId).eq("vistit_type", type);
  108. QueryWrapper<BillGoodsInventory> queryWrapper3 = new QueryWrapper<>();
  109. queryWrapper3.eq("farm_id", farmId);
  110. if ("0".equals(data)) {
  111. String[] s = {TokenSign.getWorkIdByJwtToken(httpServletRequest)};
  112. System.out.println("传入自定义sql的位置参数形式:" + s);
  113. cleanDryGoodPage = cleanMapper.listCleanDryGoods(page, farmId, type, "0,1".split(","), s);
  114. queryWrapper.in("test_location_id", TokenSign.getWorkIdByJwtToken(httpServletRequest));
  115. queryWrapper2.in("test_location_id", TokenSign.getWorkIdByJwtToken(httpServletRequest));
  116. queryWrapper3.in("test_location_id", TokenSign.getWorkIdByJwtToken(httpServletRequest));
  117. }
  118. if ("1".equals(data)) {
  119. String[] ids = {TokenSign.getWorkIdByJwtToken(httpServletRequest)};
  120. ArrayList<String> arrayList = new ArrayList<>();
  121. arrayList.add("0");
  122. String[] s = arrayList.toArray(new String[arrayList.size()]);
  123. cleanDryGoodPage = cleanMapper.listCleanDryGoods(page, farmId, type, s, ids);
  124. queryWrapper.in("test_location_id", TokenSign.getWorkIdByJwtToken(httpServletRequest));
  125. queryWrapper2.in("test_location_id", TokenSign.getWorkIdByJwtToken(httpServletRequest));
  126. queryWrapper3.in("test_location_id", TokenSign.getWorkIdByJwtToken(httpServletRequest));
  127. }
  128. if ("2".equals(data)) {
  129. String[] ids = {TokenSign.getWorkIdByJwtToken(httpServletRequest)};
  130. ArrayList<String> arrayList = new ArrayList<>();
  131. arrayList.add("1");
  132. String[] s = arrayList.toArray(new String[arrayList.size()]);
  133. cleanDryGoodPage = cleanMapper.listCleanDryGoods(page, farmId, type, s, ids);
  134. queryWrapper.in("test_location_id", TokenSign.getWorkIdByJwtToken(httpServletRequest));
  135. queryWrapper2.in("test_location_id", TokenSign.getWorkIdByJwtToken(httpServletRequest));
  136. queryWrapper3.in("test_location_id", TokenSign.getWorkIdByJwtToken(httpServletRequest));
  137. }
  138. queryWrapper.eq("img_status", 0);
  139. queryWrapper2.eq("img_status", 0);
  140. queryWrapper3.eq("bill_status", 0);
  141. Integer integer = cleanMapper.selectCount(queryWrapper);
  142. Integer integer1 = dryMapper.selectCount(queryWrapper2);
  143. Integer integer2 = inventoryMapper.selectCount(queryWrapper3);
  144. return new Result(ResultCode.SUCCESS, cleanDryGoodPage, integer + integer1 + integer2);
  145. } else {
  146. Page<CleanAndDryVo2> cleanAndDryVo2Page = null;
  147. Page<CleanAndDryVo2> page = new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
  148. QueryWrapper<BillClean> queryWrapper = new QueryWrapper<>();
  149. queryWrapper.eq("farm_id", farmId).eq("vistit_type", type);
  150. QueryWrapper<BillDry> queryWrapper2 = new QueryWrapper<>();
  151. queryWrapper2.eq("farm_id", farmId).eq("vistit_type", type);
  152. if ("0".equals(data)) {
  153. String[] s = {TokenSign.getWorkIdByJwtToken(httpServletRequest)};
  154. System.out.println("传入自定义sql的位置参数形式:" + s);
  155. cleanAndDryVo2Page = cleanMapper.CleanAndDry(page, farmId, type, "0,1".split(","), s);
  156. queryWrapper.in("test_location_id", TokenSign.getWorkIdByJwtToken(httpServletRequest));
  157. queryWrapper2.in("test_location_id", TokenSign.getWorkIdByJwtToken(httpServletRequest));
  158. }
  159. if ("1".equals(data)) {
  160. String[] ids = {TokenSign.getWorkIdByJwtToken(httpServletRequest)};
  161. ArrayList<String> arrayList = new ArrayList<>();
  162. arrayList.add("0");
  163. String[] s = arrayList.toArray(new String[arrayList.size()]);
  164. cleanAndDryVo2Page = cleanMapper.CleanAndDry(page, farmId, type, s, ids);
  165. queryWrapper.in("test_location_id", TokenSign.getWorkIdByJwtToken(httpServletRequest));
  166. queryWrapper2.in("test_location_id", TokenSign.getWorkIdByJwtToken(httpServletRequest));
  167. }
  168. if ("2".equals(data)) {
  169. String[] ids = {TokenSign.getWorkIdByJwtToken(httpServletRequest)};
  170. ArrayList<String> arrayList = new ArrayList<>();
  171. arrayList.add("1");
  172. String[] s = arrayList.toArray(new String[arrayList.size()]);
  173. cleanAndDryVo2Page = cleanMapper.CleanAndDry(page, farmId, type, s, ids);
  174. queryWrapper.in("test_location_id", TokenSign.getWorkIdByJwtToken(httpServletRequest));
  175. queryWrapper2.in("test_location_id", TokenSign.getWorkIdByJwtToken(httpServletRequest));
  176. }
  177. queryWrapper.eq("img_status", 0);
  178. queryWrapper2.eq("img_status", 0);
  179. Integer integer = cleanMapper.selectCount(queryWrapper);
  180. Integer integer1 = dryMapper.selectCount(queryWrapper2);
  181. return new Result(ResultCode.SUCCESS, cleanAndDryVo2Page, integer + integer1);
  182. }
  183. }
  184. @Override
  185. public Result listPersonCleanAndDryAndGoods(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
  186. String farmId = paramsMap.get("farmId");
  187. String pageNum = paramsMap.get("pageNum");
  188. String pageSize = paramsMap.get("pageSize");
  189. Page<CleanDryGoodsVo> cleanDryGoodPage = null;
  190. Page<CleanDryGoodsVo> page = new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
  191. QueryWrapper<BillClean> queryWrapper = new QueryWrapper<>();
  192. queryWrapper.eq("farm_id", farmId).eq("vistit_type", 5);
  193. QueryWrapper<BillDry> queryWrapper2 = new QueryWrapper<>();
  194. queryWrapper2.eq("farm_id", farmId).eq("vistit_type", 5);
  195. QueryWrapper<BillGoodsInventory> queryWrapper3 = new QueryWrapper<>();
  196. queryWrapper3.eq("farm_id", farmId);
  197. String[] s = {TokenSign.getMemberIdByJwtToken(httpServletRequest).toString()};
  198. System.out.println("传入自定义sql的位置参数形式:" + s);
  199. cleanDryGoodPage = cleanMapper.listCleanDryGoods(page, farmId, "5", "0,1".split(","), s);
  200. // queryWrapper.in("test_location_id", TokenSign.getWorkIdByJwtToken(httpServletRequest));
  201. // queryWrapper2.in("test_location_id", TokenSign.getWorkIdByJwtToken(httpServletRequest));
  202. // queryWrapper3.in("current_location_id", TokenSign.getWorkIdByJwtToken(httpServletRequest));
  203. queryWrapper.eq("img_status", 0);
  204. queryWrapper2.eq("img_status", 0);
  205. queryWrapper3.eq("bill_status", 0);
  206. Integer integer = cleanMapper.selectCount(queryWrapper);
  207. Integer integer1 = dryMapper.selectCount(queryWrapper2);
  208. Integer integer2 = inventoryMapper.selectCount(queryWrapper3);
  209. return new Result(ResultCode.SUCCESS, cleanDryGoodPage, integer + integer1 + integer2);
  210. }
  211. @Override
  212. public Result listById(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
  213. String id = paramsMap.get("id");
  214. BillClean billClean = cleanMapper.selectById(id);
  215. return new Result(ResultCode.SUCCESS, billClean);
  216. }
  217. @Override
  218. public Result listByIdDry(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
  219. String id = paramsMap.get("id");
  220. return new Result(ResultCode.SUCCESS, dryMapper.selectById(id));
  221. }
  222. @Override
  223. @Transactional
  224. public Result commitClean(HttpServletRequest httpServletRequest, String farmId, String id, String date, String result
  225. , MultipartFile img1, MultipartFile img2, MultipartFile img3) throws ParseException, IOException {
  226. String s1 = "";
  227. String s2 = "";
  228. String s3 = "";
  229. if (ObjectUtil.isNotEmpty(img1)) {
  230. if (uploadImage.getImageCom(img1).equals("上传失败")) {
  231. TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
  232. return new Result(10001, "图片1上传失败", false);
  233. }
  234. s1 = uploadImage.uploadImg(img1);
  235. }
  236. if (ObjectUtil.isNotEmpty(img2)) {
  237. if (uploadImage.getImageCom(img2).equals("上传失败")) {
  238. TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
  239. return new Result(10001, "图片2上传失败", false);
  240. }
  241. s2 = "," + uploadImage.uploadImg(img2);
  242. }
  243. if (ObjectUtil.isNotEmpty(img3)) {
  244. if (uploadImage.getImageCom(img3).equals("上传失败")) {
  245. TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
  246. return new Result(10001, "图片3上传失败", false);
  247. }
  248. s3 = "," + uploadImage.uploadImg(img3);
  249. }
  250. String s = s1 + s2 + s3;
  251. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
  252. if (StringUtils.isBlank(date)) {
  253. date = sdf.format(new Date());
  254. }
  255. BillClean billClean = cleanMapper.selectById(id);//某条洗消记录
  256. billClean.setImgUrl(s);
  257. billClean.setImgStatus(1);
  258. QueryWrapper<BaseProcess> queryWrapper = new QueryWrapper<>();
  259. queryWrapper.eq("farm_id", farmId).eq("id", billClean.getProcessId());
  260. BaseProcess baseProcess = processMapper.selectOne(queryWrapper);//某条进程
  261. QueryWrapper<BaseLocation> locationQueryWrapper = new QueryWrapper<>();
  262. locationQueryWrapper.eq("id", billClean.getTestLocationId());
  263. BaseLocation baseLocation = locationMapper.selectOne(locationQueryWrapper);//当前所在的位置
  264. QueryWrapper<Configuration> queryWrapper3 = new QueryWrapper<>();
  265. queryWrapper3.eq("farm_id", farmId);
  266. Configuration configuration = configurationMapper.selectOne(queryWrapper3);
  267. QueryWrapper<Exist> existQueryWrapper = new QueryWrapper<>();
  268. existQueryWrapper.eq("farm_id", farmId);
  269. Exist exist = existMapper.selectOne(existQueryWrapper);//判断是否有二级洗消站
  270. if (billClean.getBillStatus() != 0) {
  271. return new Result(10001, "该订单已通过,无需再次提交!", false);
  272. }
  273. if (billClean.getDestId() >= billClean.getTestLocationId()) { //不是目的地
  274. if ("1".equals(result)) {
  275. billClean.setBillStatus(1);
  276. billClean.setPassUserName(TokenSign.getUserNameByJwtToken(httpServletRequest));
  277. billClean.setPassUserId(TokenSign.getMemberIdByJwtToken(httpServletRequest));
  278. billClean.setTestLocation(baseLocation.getLocationName());
  279. billClean.setTestLocationId(baseLocation.getId());
  280. billClean.setCheckDate(sdf.parse(date));
  281. billClean.setPassDate(sdf.parse(sdf.format(new Date())));
  282. billClean.setCleanTime("10");
  283. if (exist.getExist() == 0) {
  284. if (baseLocation.getId() == 1 && baseProcess.getDestId() > 2) {
  285. //生成pcr检测申请
  286. BillPcr billPcr = new BillPcr();
  287. billPcr.setPcrType(0);
  288. billPcr.setPhone(billClean.getPhone());
  289. billPcr.setVistitType(billClean.getVistitType());
  290. billPcr.setDestName(billClean.getDestName());
  291. billPcr.setDestId(billClean.getDestId());
  292. billPcr.setAdmissionUserName(billClean.getAdmissionUserName());
  293. billPcr.setAdmissionUserId(billClean.getAdmissionUserId());
  294. billPcr.setVistitDate(billClean.getVistitDate());
  295. billPcr.setSubDate(LocalDateTime.now());
  296. billPcr.setBillStatus(0);
  297. billPcr.setProcessId(billClean.getProcessId());
  298. billPcr.setFarmId(billClean.getFarmId());
  299. billPcr.setTestLocation("人员二级洗消站");
  300. billPcr.setTestLocationId(3);
  301. billPcr.setQualifiedDate(configuration.getPcr());
  302. pcrMapper.insert(billPcr);
  303. String status = baseProcess.getAllLocationStatus();
  304. String[] split1 = status.split(",");
  305. split1[0] = "2";
  306. split1[1] = "2";
  307. split1[2] = "2";
  308. split1[3] = "1";
  309. baseProcess.setAllLocationStatus(split1[0] + "," + split1[1] + "," + split1[2] + "," + split1[3] + status.substring(7));
  310. }
  311. if (baseLocation.getId() == 3) {
  312. //生成隔离申请
  313. BillIsolate isolate = new BillIsolate();
  314. isolate.setPhone(billClean.getPhone());
  315. isolate.setVistitType(billClean.getVistitType());
  316. isolate.setDestName(billClean.getDestName());
  317. isolate.setDestId(billClean.getDestId());
  318. isolate.setAdmissionUserName(billClean.getAdmissionUserName());
  319. isolate.setAdmissionUserId(billClean.getAdmissionUserId());
  320. isolate.setVistitDate(billClean.getVistitDate());
  321. isolate.setSubDate(billClean.getSubDate());
  322. isolate.setFarmId(billClean.getFarmId());
  323. isolate.setBillStatus(0);
  324. isolate.setIsolateDayNum("");
  325. isolate.setProcessId(billClean.getProcessId());
  326. isolate.setIsolateLocation(baseLocation.getLocationName());
  327. isolate.setIsolateLocationId(baseLocation.getId());
  328. isolateMapper.insert(isolate);
  329. String status = baseProcess.getAllLocationStatus();
  330. String[] split1 = status.split(",");
  331. split1[0] = "2";
  332. split1[1] = "2";
  333. split1[2] = "2";
  334. split1[3] = "1";
  335. baseProcess.setAllLocationStatus(split1[0] + "," + split1[1] + "," + split1[2] + "," + split1[3] + status.substring(7));
  336. }
  337. }
  338. if (exist.getExist() == 1 && billClean.getDestId() >= 4 && baseLocation.getId() == 1) {
  339. BillClean billClean1 = new BillClean();
  340. billClean1.setVistitType(billClean.getVistitType());
  341. billClean1.setDestName(billClean.getDestName());
  342. billClean1.setDestId(billClean.getDestId());
  343. billClean1.setAdmissionUserId(billClean.getAdmissionUserId());
  344. billClean1.setAdmissionUserName(billClean.getAdmissionUserName());
  345. billClean1.setVistitDate(billClean.getVistitDate());
  346. billClean1.setSubDate(LocalDateTime.now());
  347. billClean1.setFarmId(billClean.getFarmId());
  348. billClean1.setBillStatus(0);
  349. billClean1.setProcessId(billClean.getProcessId());
  350. billClean1.setPhone(billClean.getPhone());
  351. billClean1.setTestLocation("场内");
  352. billClean1.setTestLocationId(4);
  353. billCleanMapper.insert(billClean1);
  354. String status = baseProcess.getAllLocationStatus();
  355. String[] split1 = status.split(",");
  356. split1[0] = "2";
  357. split1[1] = "2";
  358. split1[2] = "2";
  359. split1[3] = "1";
  360. baseProcess.setAllLocationStatus(split1[0] + "," + split1[1] + "," + split1[2] + "," + split1[3] + status.substring(7));
  361. }
  362. if (baseLocation.getId() == 4) {
  363. QueryWrapper<BillPcr> queryWrapper1 = new QueryWrapper<>();
  364. queryWrapper1.eq("farm_id", farmId).eq("process_id", baseProcess.getId()).eq("test_location_id", 4);
  365. if (ObjectUtil.isEmpty(pcrMapper.selectOne(queryWrapper1))) {
  366. //生成pcr检测申请
  367. BillPcr billPcr = new BillPcr();
  368. billPcr.setPcrType(0);
  369. billPcr.setPhone(billClean.getPhone());
  370. billPcr.setVistitType(billClean.getVistitType());
  371. billPcr.setDestName(billClean.getDestName());
  372. billPcr.setDestId(billClean.getDestId());
  373. billPcr.setAdmissionUserName(billClean.getAdmissionUserName());
  374. billPcr.setAdmissionUserId(billClean.getAdmissionUserId());
  375. billPcr.setVistitDate(billClean.getVistitDate());
  376. billPcr.setSubDate(LocalDateTime.now());
  377. billPcr.setBillStatus(0);
  378. billPcr.setProcessId(billClean.getProcessId());
  379. billPcr.setFarmId(billClean.getFarmId());
  380. billPcr.setTestLocation("场内");
  381. billPcr.setTestLocationId(4);
  382. billPcr.setQualifiedDate(configuration.getPcr());
  383. pcrMapper.insert(billPcr);
  384. if (exist.getExist() == 0) {
  385. String status = baseProcess.getAllLocationStatus();
  386. String[] split1 = status.split(",");
  387. split1[0] = "2";
  388. split1[1] = "2";
  389. split1[2] = "2";
  390. split1[3] = "2";
  391. split1[4] = "1";
  392. baseProcess.setAllLocationStatus(split1[0] + "," + split1[1] + "," + split1[2] + "," + split1[3] + "," + split1[4] + status.substring(9));
  393. } else {
  394. String status = baseProcess.getAllLocationStatus();
  395. String[] split1 = status.split(",");
  396. split1[0] = "2";
  397. split1[1] = "2";
  398. split1[2] = "2";
  399. split1[3] = "1";
  400. baseProcess.setAllLocationStatus(split1[0] + "," + split1[1] + "," + split1[2] + "," + split1[3] + status.substring(7));
  401. }
  402. } else {
  403. //生成隔离申请
  404. BillIsolate isolate = new BillIsolate();
  405. isolate.setPhone(billClean.getPhone());
  406. isolate.setVistitType(billClean.getVistitType());
  407. isolate.setDestName(billClean.getDestName());
  408. isolate.setDestId(billClean.getDestId());
  409. isolate.setAdmissionUserName(billClean.getAdmissionUserName());
  410. isolate.setAdmissionUserId(billClean.getAdmissionUserId());
  411. isolate.setVistitDate(billClean.getVistitDate());
  412. isolate.setSubDate(LocalDateTime.now());
  413. isolate.setFarmId(billClean.getFarmId());
  414. isolate.setBillStatus(0);
  415. isolate.setIsolateDayNum("");
  416. isolate.setProcessId(billClean.getProcessId());
  417. // isolate.setIsolateLocation(baseLocation.getNextLocation());
  418. // isolate.setIsolateLocationId(baseLocation.getNextId());
  419. isolateMapper.insert(isolate);
  420. if (exist.getExist() == 0) {
  421. String status = baseProcess.getAllLocationStatus();
  422. String[] split1 = status.split(",");
  423. split1[0] = "2";
  424. split1[1] = "2";
  425. split1[2] = "2";
  426. split1[3] = "2";
  427. split1[4] = "2";
  428. baseProcess.setAllLocationStatus(split1[0] + "," + split1[1] + "," + split1[2] + "," + split1[3] + "," + split1[4] + "," + "1");
  429. } else {
  430. String status = baseProcess.getAllLocationStatus();
  431. String[] split1 = status.split(",");
  432. split1[0] = "2";
  433. split1[1] = "2";
  434. split1[2] = "2";
  435. split1[3] = "2";
  436. baseProcess.setAllLocationStatus(split1[0] + "," + split1[1] + "," + split1[2] + "," + split1[3] + "," + "1");
  437. }
  438. }
  439. }
  440. if (baseProcess.getDestId() == 1) {
  441. baseProcess.setAllLocationStatus("2,2");
  442. }
  443. if (baseProcess.getDestId() == 4 && baseLocation.getId() == 1) {
  444. baseProcess.setAllLocationStatus("2,2,2,1,0");
  445. }
  446. if (baseProcess.getDestId() == 2) {
  447. baseProcess.setAllLocationStatus("2,2,2");
  448. }
  449. baseProcess.setUpdateDate(baseProcess.getUpdateDate() + "," + sdf.format(new Date()));
  450. baseProcess.setCurrentLocation(baseProcess.getCurrentLocation() + "," + baseLocation.getLocationName());
  451. baseProcess.setCurrentLocationId(baseProcess.getCurrentLocationId() + "," + baseLocation.getId());
  452. String status = baseProcess.getCurrentStatus();
  453. String substring = status.substring(0, status.length() - 1);
  454. baseProcess.setCurrentStatus(substring + "1," + 0);
  455. } else {
  456. billClean.setBillStatus(2);
  457. billClean.setPassUserName(TokenSign.getUserNameByJwtToken(httpServletRequest));
  458. billClean.setPassUserId(TokenSign.getMemberIdByJwtToken(httpServletRequest));
  459. billClean.setTestLocation(baseLocation.getLocationName());
  460. billClean.setTestLocationId(baseLocation.getId());
  461. billClean.setCheckDate(sdf.parse(date));
  462. billClean.setPassDate(sdf.parse(sdf.format(new Date())));
  463. billClean.setCleanTime("10");
  464. if (baseProcess.getDestId() == 1) {
  465. baseProcess.setAllLocationStatus("2,3");
  466. }
  467. if (baseProcess.getDestId() == 2) {
  468. baseProcess.setAllLocationStatus("2,3,0");
  469. }
  470. if (baseProcess.getDestId() >= 3 && baseLocation.getId() == 3) {
  471. String status = baseProcess.getAllLocationStatus();
  472. String[] split1 = status.split(",");
  473. split1[0] = "2";
  474. split1[1] = "2";
  475. split1[2] = "2";
  476. split1[3] = "3";
  477. baseProcess.setAllLocationStatus(split1[0] + "," + split1[1] + "," + split1[2] + "," + split1[3] + status.substring(7));
  478. }
  479. if (baseLocation.getId() == 1 && baseProcess.getDestId() > 2) {
  480. String status = baseProcess.getAllLocationStatus();
  481. String[] split1 = status.split(",");
  482. split1[0] = "2";
  483. split1[1] = "3";
  484. split1[2] = "0";
  485. split1[3] = "0";
  486. baseProcess.setAllLocationStatus(split1[0] + "," + split1[1] + "," + split1[2] + "," + split1[3] + status.substring(7));
  487. }
  488. if (baseLocation.getId() == 4 && exist.getExist() == 0) {
  489. String status = baseProcess.getAllLocationStatus();
  490. String[] split1 = status.split(",");
  491. split1[0] = "2";
  492. split1[1] = "2";
  493. split1[2] = "2";
  494. split1[3] = "2";
  495. split1[4] = "3";
  496. baseProcess.setAllLocationStatus(split1[0] + "," + split1[1] + "," + split1[2] + "," + split1[3] + "," + split1[4] + status.substring(9));
  497. }
  498. if (exist.getExist() == 1 && baseProcess.getDestId() > 2 && baseLocation.getId() == 4) {
  499. String status = baseProcess.getAllLocationStatus();
  500. String[] split1 = status.split(",");
  501. split1[0] = "2";
  502. split1[1] = "2";
  503. split1[2] = "2";
  504. split1[3] = "3";
  505. baseProcess.setAllLocationStatus(split1[0] + "," + split1[1] + "," + split1[2] + "," + split1[3] + status.substring(7));
  506. }
  507. baseProcess.setProcessType(2);
  508. baseProcess.setUpdateDate(baseProcess.getUpdateDate() + "," + sdf.format(new Date()));
  509. baseProcess.setCurrentLocation(baseProcess.getCurrentLocation());
  510. baseProcess.setCurrentLocationId(baseProcess.getCurrentLocationId());
  511. String status = baseProcess.getCurrentStatus();
  512. String substring = status.substring(0, status.length() - 1);
  513. baseProcess.setCurrentStatus(substring + "2");
  514. }
  515. cleanMapper.updateById(billClean);
  516. processMapper.updateById(baseProcess);
  517. return new Result(10000, "修改成功!", true);
  518. } else {
  519. //当前是目的地
  520. if ("1".equals(result)) {
  521. billClean.setBillStatus(1);
  522. baseProcess.setProcessType(1);
  523. } else {
  524. billClean.setBillStatus(2);
  525. baseProcess.setProcessType(2);
  526. }
  527. billClean.setPassUserName(TokenSign.getUserNameByJwtToken(httpServletRequest));
  528. billClean.setPassUserId(TokenSign.getMemberIdByJwtToken(httpServletRequest));
  529. billClean.setTestLocation(baseLocation.getLocationName());
  530. billClean.setTestLocationId(baseLocation.getId());
  531. billClean.setCheckDate(sdf.parse(date));
  532. billClean.setPassDate(sdf.parse(sdf.format(new Date())));
  533. billClean.setCleanTime("10");
  534. baseProcess.setUpdateDate(baseProcess.getUpdateDate() + "," + sdf.format(new Date()));
  535. baseProcess.setCurrentLocation(baseProcess.getCurrentLocation());
  536. baseProcess.setCurrentLocationId(baseProcess.getCurrentLocationId());
  537. String status = baseProcess.getCurrentStatus();
  538. String substring = status.substring(0, status.length() - 1);
  539. baseProcess.setCurrentStatus(substring + "1");
  540. String ids = baseProcess.getAllLocationId();
  541. String[] split = ids.split(",");
  542. Integer s22 = 0;
  543. for (int i = 0; i < split.length; i++) {
  544. if (Integer.parseInt(split[i]) == baseLocation.getId()) {
  545. s22 = i;
  546. }
  547. }
  548. String status1 = baseProcess.getAllLocationStatus();
  549. StringBuilder split1 = new StringBuilder(status1);
  550. split1.replace(s22, s22 + 1, "3");
  551. baseProcess.setAllLocationStatus(split1.toString());
  552. if (baseProcess.getDestId() == 1) {
  553. baseProcess.setAllLocationStatus("2,3");
  554. }
  555. if (baseProcess.getDestId() == 3) {
  556. baseProcess.setAllLocationStatus("2,2,3");
  557. }
  558. if (baseProcess.getDestId() == 4) {
  559. baseProcess.setAllLocationStatus("2,2,2,3");
  560. }
  561. processMapper.updateById(baseProcess);
  562. cleanMapper.updateById(billClean);
  563. return new Result(10000, "修改成功!", true);
  564. }
  565. }
  566. @Resource
  567. private BillCleanMapper billCleanMapper;
  568. @Autowired
  569. private BillCleanBeforeMapper beforeMapper;
  570. @Autowired
  571. private BillSamplingMapper samplingMapper;
  572. @Override
  573. public Result listPersonalClean(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
  574. String pageNo = paramsMap.get("pageNum");
  575. String pageSize = paramsMap.get("pageSize");
  576. String vistitType = paramsMap.get("vistitType");
  577. Page<BillClean> page = new Page<>(Integer.parseInt(pageNo), Integer.parseInt(pageSize));
  578. QueryWrapper<BillClean> queryWrapper = new QueryWrapper<>();
  579. queryWrapper.eq(StringUtils.isNotBlank(vistitType), "vistit_type", vistitType).eq("admission_user_id", TokenSign.getMemberIdByJwtToken(httpServletRequest)).orderByDesc("sub_date");
  580. 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));
  581. }
  582. @Override
  583. @Transactional
  584. 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 {
  585. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
  586. if (StringUtils.isBlank(data)) {
  587. data = sdf.format(new Date());
  588. }
  589. if ("1".equals(type)) {
  590. BillClean billClean1 = cleanMapper.selectById(id);//某条洗消记录
  591. if (billClean1.getBillStatus() != 0) {
  592. return new Result(10001, "该订单已通过,无需再次提交!", false);
  593. }
  594. //洗消上传
  595. BillClean billClean = cleanMapper.selectById(id);//某条洗消记录
  596. System.out.println("洗消记录的id:" + billClean.getTestLocationId());
  597. Integer testId = billClean.getTestLocationId();
  598. QueryWrapper<BaseLocation> locationQueryWrapper = new QueryWrapper<>();
  599. locationQueryWrapper.eq("id", testId);
  600. BaseLocation baseLocation = locationMapper.selectOne(locationQueryWrapper);//当前所在的位置
  601. QueryWrapper<BaseProcess> queryWrapper = new QueryWrapper<>();
  602. queryWrapper.eq("farm_id", farmId).eq("id", billClean.getProcessId());
  603. BaseProcess baseProcess = processMapper.selectOne(queryWrapper);//某条进程
  604. billClean.setBillStatus(0);
  605. billClean.setImgStatus(1);
  606. billClean.setPassUserName(TokenSign.getUserNameByJwtToken(httpServletRequest));
  607. billClean.setPassUserId(TokenSign.getMemberIdByJwtToken(httpServletRequest));
  608. billClean.setTestLocation(baseLocation.getLocationName());
  609. billClean.setTestLocationId(baseLocation.getId());
  610. billClean.setCheckDate(sdf.parse(data));
  611. billClean.setPassDate(sdf.parse(sdf.format(new Date())));
  612. billClean.setCleanTime("10");
  613. String s1 = "";
  614. String s2 = "";
  615. String s3 = "";
  616. String s4 = "";
  617. String s5 = "";
  618. if (ObjectUtil.isNotEmpty(img1)) {
  619. if (uploadImage.getImageCom(img1).equals("上传失败")) {
  620. TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
  621. return new Result(10001, "图片1上传失败", false);
  622. }
  623. s1 = uploadImage.uploadImg(img1);
  624. }
  625. if (ObjectUtil.isNotEmpty(img2)) {
  626. if (uploadImage.getImageCom(img2).equals("上传失败")) {
  627. TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
  628. return new Result(10001, "图片2上传失败", false);
  629. }
  630. s2 = "," + uploadImage.uploadImg(img2);
  631. }
  632. if (ObjectUtil.isNotEmpty(img3)) {
  633. if (uploadImage.getImageCom(img3).equals("上传失败")) {
  634. TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
  635. return new Result(10001, "图片3上传失败", false);
  636. }
  637. s3 = "," + uploadImage.uploadImg(img3);
  638. }
  639. if (ObjectUtil.isNotEmpty(img4)) {
  640. if (uploadImage.getImageCom(img4).equals("上传失败")) {
  641. TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
  642. return new Result(10001, "图片4上传失败", false);
  643. }
  644. s4 = "," + uploadImage.uploadImg(img4);
  645. }
  646. if (ObjectUtil.isNotEmpty(img5)) {
  647. if (uploadImage.getImageCom(img5).equals("上传失败")) {
  648. TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
  649. return new Result(10001, "图片5上传失败", false);
  650. }
  651. s5 = "," + uploadImage.uploadImg(img5);
  652. }
  653. String s = s1 + s2 + s3 + s4 + s5;
  654. billClean.setImgUrl(s);
  655. cleanMapper.updateById(billClean);
  656. //物资车生成二次申请
  657. } else {
  658. BillDry billClean = dryMapper.selectById(id);//某条烘干记录
  659. if (billClean.getBillStatus() != 0) {
  660. return new Result(10001, "该订单已通过,无需再次提交!", false);
  661. }
  662. System.out.println("洗消记录的id:" + billClean.getTestLocationId());
  663. Integer testId = billClean.getTestLocationId();
  664. QueryWrapper<BaseLocation> locationQueryWrapper = new QueryWrapper<>();
  665. locationQueryWrapper.eq("id", testId);
  666. BaseLocation baseLocation = locationMapper.selectOne(locationQueryWrapper);//当前所在的位置
  667. QueryWrapper<BaseProcess> queryWrapper = new QueryWrapper<>();
  668. queryWrapper.eq("farm_id", farmId).eq("id", billClean.getProcessId());
  669. BaseProcess baseProcess = processMapper.selectOne(queryWrapper);//某条进程
  670. billClean.setBillStatus(0);
  671. billClean.setImgStatus(1);
  672. billClean.setPassUserName(TokenSign.getUserNameByJwtToken(httpServletRequest));
  673. billClean.setPassUserId(TokenSign.getMemberIdByJwtToken(httpServletRequest));
  674. billClean.setTestLocation(baseLocation.getLocationName());
  675. billClean.setTestLocationId(baseLocation.getId());
  676. billClean.setCheckDate(sdf.parse(data));
  677. billClean.setPassDate(sdf.parse(sdf.format(new Date())));
  678. billClean.setDryTem("70");
  679. billClean.setDryTime("10");
  680. String s1 = "";
  681. String s2 = "";
  682. String s3 = "";
  683. String s4 = "";
  684. String s5 = "";
  685. if (ObjectUtil.isNotEmpty(img1)) {
  686. if (uploadImage.getImageCom(img1).equals("上传失败")) {
  687. TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
  688. return new Result(10001, "图片1上传失败", false);
  689. }
  690. s1 = uploadImage.uploadImg(img1);
  691. }
  692. if (ObjectUtil.isNotEmpty(img2)) {
  693. if (uploadImage.getImageCom(img2).equals("上传失败")) {
  694. TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
  695. return new Result(10001, "图片2上传失败", false);
  696. }
  697. s2 = "," + uploadImage.uploadImg(img2);
  698. }
  699. if (ObjectUtil.isNotEmpty(img3)) {
  700. if (uploadImage.getImageCom(img3).equals("上传失败")) {
  701. TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
  702. return new Result(10001, "图片3上传失败", false);
  703. }
  704. s3 = "," + uploadImage.uploadImg(img3);
  705. }
  706. if (ObjectUtil.isNotEmpty(img4)) {
  707. if (uploadImage.getImageCom(img4).equals("上传失败")) {
  708. TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
  709. return new Result(10001, "图片4上传失败", false);
  710. }
  711. s4 = "," + uploadImage.uploadImg(img4);
  712. }
  713. if (ObjectUtil.isNotEmpty(img5)) {
  714. if (uploadImage.getImageCom(img5).equals("上传失败")) {
  715. TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
  716. return new Result(10001, "图片5上传失败", false);
  717. }
  718. s5 = "," + uploadImage.uploadImg(img5);
  719. }
  720. String s = s1 + s2 + s3 + s4 + s5;
  721. billClean.setImgUrl(s);
  722. dryMapper.updateById(billClean);
  723. }
  724. return new Result(10000, "提交成功!", true);
  725. }
  726. @Override
  727. public Result listCleanAndDry(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
  728. String type = paramsMap.get("type");
  729. String pageNo = paramsMap.get("pageNum");
  730. String pageSize = paramsMap.get("pageSize");
  731. Page<CleanAndDryVo> page = new Page<>(Integer.parseInt(pageNo), Integer.parseInt(pageSize));
  732. Page<CleanAndDryVo> cleanAndDryVoPage;
  733. switch (type) {
  734. case "1":
  735. cleanAndDryVoPage = billCleanMapper.listCleanAndDry(page, Integer.parseInt(TokenSign.getFarmIds(httpServletRequest)), 0);
  736. break;
  737. case "2":
  738. cleanAndDryVoPage = billCleanMapper.listCleanAndDry(page, Integer.parseInt(TokenSign.getFarmIds(httpServletRequest)), 1);
  739. break;
  740. case "3":
  741. cleanAndDryVoPage = billCleanMapper.listCleanAndDry(page, Integer.parseInt(TokenSign.getFarmIds(httpServletRequest)), 2);
  742. break;
  743. default:
  744. cleanAndDryVoPage = billCleanMapper.listCleanAndDry(page, Integer.parseInt(TokenSign.getFarmIds(httpServletRequest)));
  745. break;
  746. }
  747. return new Result(ResultCode.SUCCESS, cleanAndDryVoPage, cleanAndDryVoPage.getSize());
  748. }
  749. @Override
  750. public Result listPersonalCleanAndDry(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
  751. String pageNo = paramsMap.get("pageNum");
  752. String pageSize = paramsMap.get("pageSize");
  753. String vistitType = paramsMap.get("vistitType");
  754. Page<CleanAndDryVo> page = new Page<>(Integer.parseInt(pageNo), Integer.parseInt(pageSize));
  755. Integer userId = TokenSign.getMemberIdByJwtToken(httpServletRequest);
  756. Page<CleanAndDryVo> cleanAndDryVoPage = cleanMapper.listPersonalCleanAndDry(page, userId, vistitType);
  757. return new Result(ResultCode.SUCCESS, cleanAndDryVoPage, cleanAndDryVoPage.getSize());
  758. }
  759. @Override
  760. @Transactional
  761. public Result goodsCarClean(HttpServletRequest httpServletRequest, String farmId, String id, String date, MultipartFile img1,
  762. MultipartFile img2, MultipartFile img3, MultipartFile img4, MultipartFile img5, String type, String result
  763. ) throws ParseException, IOException {
  764. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
  765. if (StringUtils.isBlank(date)) {
  766. date = sdf.format(new Date());
  767. }
  768. String s1 = "";
  769. String s2 = "";
  770. String s3 = "";
  771. String s4 = "";
  772. String s5 = "";
  773. if (ObjectUtil.isNotEmpty(img1)) {
  774. if (uploadImage.getImageCom(img1).equals("上传失败")) {
  775. TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
  776. return new Result(10001, "图片1上传失败", false);
  777. }
  778. s1 = uploadImage.uploadImg(img1);
  779. }
  780. if (ObjectUtil.isNotEmpty(img2)) {
  781. if (uploadImage.getImageCom(img2).equals("上传失败")) {
  782. TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
  783. return new Result(10001, "图片2上传失败", false);
  784. }
  785. s2 = "," + uploadImage.uploadImg(img2);
  786. }
  787. if (ObjectUtil.isNotEmpty(img3)) {
  788. if (uploadImage.getImageCom(img3).equals("上传失败")) {
  789. TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
  790. return new Result(10001, "图片3上传失败", false);
  791. }
  792. s3 = "," + uploadImage.uploadImg(img3);
  793. }
  794. if (ObjectUtil.isNotEmpty(img4)) {
  795. if (uploadImage.getImageCom(img4).equals("上传失败")) {
  796. TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
  797. return new Result(10001, "图片4上传失败", false);
  798. }
  799. s4 = "," + uploadImage.uploadImg(img4);
  800. }
  801. if (ObjectUtil.isNotEmpty(img5)) {
  802. if (uploadImage.getImageCom(img5).equals("上传失败")) {
  803. TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
  804. return new Result(10001, "图片5上传失败", false);
  805. }
  806. s5 = "," + uploadImage.uploadImg(img5);
  807. }
  808. String s = s1 + s2 + s3 + s4 + s5;
  809. if ("1".equals(type)) {
  810. BillClean billClean = cleanMapper.selectById(id);//某条洗消记录
  811. if (billClean.getBillStatus() != 0) {
  812. return new Result(10001, "此条记录已被他人修改,请退出刷新查看!", false);
  813. }
  814. QueryWrapper<BaseProcess> queryWrapper = new QueryWrapper<>();
  815. queryWrapper.eq("farm_id", farmId).eq("id", billClean.getProcessId());
  816. BaseProcess baseProcess = processMapper.selectOne(queryWrapper);//某条进程
  817. QueryWrapper<BaseLocation> locationQueryWrapper = new QueryWrapper<>();
  818. locationQueryWrapper.eq("id", billClean.getTestLocationId());
  819. BaseLocation baseLocation = locationMapper.selectOne(locationQueryWrapper);//当前所在的位置
  820. String allLocationId = baseProcess.getAllLocationId();//所有的位置id
  821. String allFlowId = baseProcess.getAllFlowId();//所有的流程id
  822. String currentFlowId = baseProcess.getCurrentFlowId();//当前已经完成的流程id
  823. String substring1 = allFlowId.substring(currentFlowId.length() + 1, allFlowId.length());
  824. String[] splits = substring1.split(",");
  825. Integer nextId = Integer.parseInt(splits[0]);
  826. if ("1".equals(result)) {
  827. billClean.setBillStatus(1);
  828. billClean.setPassUserName(TokenSign.getUserNameByJwtToken(httpServletRequest));
  829. billClean.setPassUserId(TokenSign.getMemberIdByJwtToken(httpServletRequest));
  830. billClean.setTestLocation(baseLocation.getLocationName());
  831. billClean.setTestLocationId(baseLocation.getId());
  832. billClean.setCheckDate(sdf.parse(date));
  833. billClean.setPassDate(sdf.parse(sdf.format(new Date())));
  834. billClean.setImgUrl(s);
  835. billClean.setImgStatus(1);
  836. billClean.setCleanTime("10");
  837. cleanMapper.updateById(billClean);
  838. Object newObject = BillPcrServiceImpl.getNewObject(nextId, billClean.getDestName(), billClean.getDestId(), billClean.getAdmissionUserName(),
  839. billClean.getAdmissionUserId(), billClean.getVistitDate(), billClean.getSubDate(),
  840. billClean.getProcessId(), billClean.getFarmId(), billClean.getTestLocation(), billClean.getTestLocationId(),
  841. billClean.getVistitType(), billClean.getPhone(), billClean.getDepartureName(), billClean.getDepartureId());
  842. if (nextId == 0) {
  843. if (splits.length == 1) {
  844. baseProcess.setProcessType(1);
  845. if (allLocationId.length() > 9) {
  846. baseProcess.setAllLocationStatus("2,2,2,2,2,2,2");
  847. } else if (allLocationId.length() > 5 && allLocationId.length() < 10) {
  848. baseProcess.setAllLocationStatus("2,2,2,2,2");
  849. } else {
  850. baseProcess.setAllLocationStatus("2,2,2");
  851. }
  852. } else {
  853. String[] strings = allLocationId.split(",");
  854. Integer index = 0;
  855. for (int i = 0; i < strings.length; i++) {
  856. if ((baseLocation.getId().toString()).equals(strings[i])) {
  857. index = i;
  858. }
  859. }
  860. QueryWrapper<BaseLocation> queryWrapper1 = new QueryWrapper();
  861. queryWrapper1.eq("id", strings[index + 2]);
  862. BaseLocation location = locationMapper.selectOne(queryWrapper1);
  863. FlowUtil flowUtil = new FlowUtil();
  864. Object entity = flowUtil.getEntity(Integer.parseInt(splits[1]), billClean.getVistitType(), billClean.getDestName()
  865. , billClean.getDestId(), billClean.getAdmissionUserId(), billClean.getAdmissionUserName(), billClean.getPhone(),
  866. billClean.getVistitDate(), location.getId(), location.getLocationName(), Integer.parseInt(farmId)
  867. , baseProcess.getId(), billClean.getDepartureName(), billClean.getDepartureId());
  868. if (Integer.parseInt(splits[1]) == 1) {
  869. //新增采样
  870. BillSampling billSampling = (BillSampling) entity;
  871. if (billClean.getVistitType() != 0) {
  872. billSampling.setCarNum(billClean.getCarNum());
  873. }
  874. if (billClean.getVistitType() == 5) {
  875. billSampling.setResource(billClean.getResource());
  876. billSampling.setFeedImgUrl(billClean.getFeedImgUrl());
  877. billSampling.setRemark(billClean.getRemark());
  878. billSampling.setCleanName(billClean.getCleanName());
  879. billSampling.setCleanId(billClean.getCleanId());
  880. }
  881. samplingMapper.insert(billSampling);
  882. } else if (Integer.parseInt(splits[1]) == 2) {
  883. //新增pcr
  884. BillPcr billClean1 = (BillPcr) entity;
  885. if (billClean.getVistitType() != 0) {
  886. billClean1.setCarNum(billClean.getCarNum());
  887. }
  888. if (billClean.getVistitType() == 5) {
  889. billClean1.setResource(billClean.getResource());
  890. billClean1.setFeedImgUrl(billClean.getFeedImgUrl());
  891. billClean1.setRemark(billClean.getRemark());
  892. billClean1.setCleanName(billClean.getCleanName());
  893. billClean1.setCleanId(billClean.getCleanId());
  894. }
  895. pcrMapper.insert(billClean1);
  896. } else if (Integer.parseInt(splits[1]) == 3) {
  897. //新增洗澡
  898. BillClean billClean1 = (BillClean) entity;
  899. if (billClean.getVistitType() != 0) {
  900. billClean1.setCarNum(billClean.getCarNum());
  901. }
  902. if (billClean.getVistitType() == 5) {
  903. billClean1.setResource(billClean.getResource());
  904. billClean1.setFeedImgUrl(billClean.getFeedImgUrl());
  905. billClean1.setRemark(billClean.getRemark());
  906. billClean1.setCleanName(billClean.getCleanName());
  907. billClean1.setCleanId(billClean.getCleanId());
  908. }
  909. cleanMapper.insert(billClean1);
  910. } else if (Integer.parseInt(splits[1]) == 4) {
  911. //新增隔离
  912. BillIsolate pcr = (BillIsolate) entity;
  913. if (billClean.getVistitType() != 0) {
  914. pcr.setCarNum(billClean.getCarNum());
  915. }
  916. if (billClean.getVistitType() == 5) {
  917. pcr.setResource(billClean.getResource());
  918. pcr.setFeedImgUrl(billClean.getFeedImgUrl());
  919. pcr.setRemark(billClean.getRemark());
  920. pcr.setCleanName(billClean.getCleanName());
  921. pcr.setCleanId(billClean.getCleanId());
  922. }
  923. isolateMapper.insert(pcr);
  924. } else if (Integer.parseInt(splits[1]) == 5) {
  925. BillDry billClean1 = (BillDry) entity;
  926. if (billClean.getVistitType() != 0) {
  927. billClean1.setCarNum(billClean.getCarNum());
  928. }
  929. if (billClean.getVistitType() == 5) {
  930. billClean1.setResource(billClean.getResource());
  931. billClean1.setFeedImgUrl(billClean.getFeedImgUrl());
  932. billClean1.setRemark(billClean.getRemark());
  933. billClean1.setCleanName(billClean.getCleanName());
  934. billClean1.setCleanId(billClean.getCleanId());
  935. }
  936. dryMapper.insert(billClean1);
  937. //新增烘干
  938. } else if (Integer.parseInt(splits[1]) == 6) {
  939. //新增洗澡前拍照
  940. BillCleanBefore before = (BillCleanBefore) entity;
  941. if (billClean.getVistitType() != 0) {
  942. before.setCarNum(billClean.getCarNum());
  943. }
  944. if (billClean.getVistitType() == 5) {
  945. before.setResource(billClean.getResource());
  946. before.setFeedImgUrl(billClean.getFeedImgUrl());
  947. before.setRemark(billClean.getRemark());
  948. before.setCleanName(billClean.getCleanName());
  949. before.setCleanId(billClean.getCleanId());
  950. }
  951. beforeMapper.insert(before);
  952. } else if (Integer.parseInt(splits[1]) == 7) {
  953. //新增洗澡前拍照
  954. BillGoodsInventory before = (BillGoodsInventory) entity;
  955. if (billClean.getVistitType() != 0) {
  956. before.setCarNum(billClean.getCarNum());
  957. }
  958. if (billClean.getVistitType() == 5) {
  959. before.setResource(billClean.getResource());
  960. before.setFeedImgUrl(billClean.getFeedImgUrl());
  961. before.setRemark(billClean.getRemark());
  962. before.setCleanName(billClean.getCleanName());
  963. before.setCleanId(billClean.getCleanId());
  964. }
  965. inventoryMapper.insert(before);
  966. }
  967. baseProcess.setCurrentFlowId(baseProcess.getCurrentFlowId() + "," + nextId + "," + splits[1]);
  968. if (allLocationId.length() > 9) {
  969. if (index == 1) {
  970. baseProcess.setAllLocationStatus("2,2,2,1,0,0,0");
  971. } else {
  972. baseProcess.setAllLocationStatus("2,2,2,2,2,1,0");
  973. }
  974. } else if (allLocationId.length() > 5 && allLocationId.length() < 10) {
  975. baseProcess.setAllLocationStatus("2,2,2,1,0");
  976. }
  977. }
  978. } else if (nextId == 1) {
  979. //新增采样
  980. BillSampling billSampling = (BillSampling) newObject;
  981. if (billClean.getVistitType() != 0) {
  982. billSampling.setCarNum(billClean.getCarNum());
  983. }
  984. if (billClean.getVistitType() == 5) {
  985. billSampling.setResource(billClean.getResource());
  986. billSampling.setFeedImgUrl(billClean.getFeedImgUrl());
  987. billSampling.setRemark(billClean.getRemark());
  988. billSampling.setCleanName(billClean.getCleanName());
  989. billSampling.setCleanId(billClean.getCleanId());
  990. }
  991. samplingMapper.insert(billSampling);
  992. baseProcess.setCurrentFlowId(baseProcess.getCurrentFlowId() + "," + nextId);
  993. } else if (nextId == 2) {
  994. //新增pcr
  995. BillPcr billClean1 = (BillPcr) newObject;
  996. if (billClean.getVistitType() != 0) {
  997. billClean1.setCarNum(billClean.getCarNum());
  998. }
  999. if (billClean.getVistitType() == 5) {
  1000. billClean1.setResource(billClean.getResource());
  1001. billClean1.setFeedImgUrl(billClean.getFeedImgUrl());
  1002. billClean1.setRemark(billClean.getRemark());
  1003. billClean1.setCleanName(billClean.getCleanName());
  1004. billClean1.setCleanId(billClean.getCleanId());
  1005. }
  1006. pcrMapper.insert(billClean1);
  1007. baseProcess.setCurrentFlowId(baseProcess.getCurrentFlowId() + "," + nextId);
  1008. } else if (nextId == 3) {
  1009. //新增洗澡
  1010. BillClean billClean2 = (BillClean) newObject;
  1011. if (billClean.getVistitType() != 0) {
  1012. billClean2.setCarNum(billClean.getCarNum());
  1013. }
  1014. if (billClean.getVistitType() == 5) {
  1015. billClean2.setResource(billClean.getResource());
  1016. billClean2.setFeedImgUrl(billClean.getFeedImgUrl());
  1017. billClean2.setRemark(billClean.getRemark());
  1018. billClean2.setCleanName(billClean.getCleanName());
  1019. billClean2.setCleanId(billClean.getCleanId());
  1020. }
  1021. cleanMapper.insert(billClean2);
  1022. baseProcess.setCurrentFlowId(baseProcess.getCurrentFlowId() + "," + nextId);
  1023. } else if (nextId == 4) {
  1024. //新增隔离
  1025. BillIsolate pcr = (BillIsolate) newObject;
  1026. if (billClean.getVistitType() != 0) {
  1027. pcr.setCarNum(billClean.getCarNum());
  1028. }
  1029. if (billClean.getVistitType() == 5) {
  1030. pcr.setResource(billClean.getResource());
  1031. pcr.setFeedImgUrl(billClean.getFeedImgUrl());
  1032. pcr.setRemark(billClean.getRemark());
  1033. pcr.setCleanName(billClean.getCleanName());
  1034. pcr.setCleanId(billClean.getCleanId());
  1035. }
  1036. isolateMapper.insert(pcr);
  1037. baseProcess.setCurrentFlowId(baseProcess.getCurrentFlowId() + "," + nextId);
  1038. } else if (nextId == 5) {
  1039. BillDry billClean2 = (BillDry) newObject;
  1040. if (billClean.getVistitType() != 0) {
  1041. billClean2.setCarNum(billClean.getCarNum());
  1042. }
  1043. if (billClean.getVistitType() == 5) {
  1044. billClean2.setResource(billClean.getResource());
  1045. billClean2.setFeedImgUrl(billClean.getFeedImgUrl());
  1046. billClean2.setRemark(billClean.getRemark());
  1047. billClean2.setCleanName(billClean.getCleanName());
  1048. billClean2.setCleanId(billClean.getCleanId());
  1049. }
  1050. dryMapper.insert(billClean2);
  1051. baseProcess.setCurrentFlowId(baseProcess.getCurrentFlowId() + "," + nextId);
  1052. //新增烘干
  1053. } else if (nextId == 6) {
  1054. //新增洗澡前拍照
  1055. BillCleanBefore before = (BillCleanBefore) newObject;
  1056. if (billClean.getVistitType() != 0) {
  1057. before.setCarNum(billClean.getCarNum());
  1058. }
  1059. if (billClean.getVistitType() == 5) {
  1060. before.setResource(billClean.getResource());
  1061. before.setFeedImgUrl(billClean.getFeedImgUrl());
  1062. before.setRemark(billClean.getRemark());
  1063. before.setCleanName(billClean.getCleanName());
  1064. before.setCleanId(billClean.getCleanId());
  1065. }
  1066. beforeMapper.insert(before);
  1067. baseProcess.setCurrentFlowId(baseProcess.getCurrentFlowId() + "," + nextId);
  1068. } else if (nextId == 7) {
  1069. //新增洗澡前拍照
  1070. BillGoodsInventory before = (BillGoodsInventory) newObject;
  1071. if (billClean.getVistitType() != 0) {
  1072. before.setCarNum(billClean.getCarNum());
  1073. }
  1074. if (billClean.getVistitType() == 5) {
  1075. before.setResource(billClean.getResource());
  1076. before.setFeedImgUrl(billClean.getFeedImgUrl());
  1077. before.setRemark(billClean.getRemark());
  1078. before.setCleanName(billClean.getCleanName());
  1079. before.setCleanId(billClean.getCleanId());
  1080. }
  1081. inventoryMapper.insert(before);
  1082. baseProcess.setCurrentFlowId(baseProcess.getCurrentFlowId() + "," + nextId);
  1083. }
  1084. baseProcess.setUpdateDate(baseProcess.getUpdateDate() + "," + sdf.format(new Date()));
  1085. baseProcess.setCurrentLocation(baseProcess.getCurrentLocation() + "," + baseLocation.getLocationName());
  1086. baseProcess.setCurrentLocationId(baseProcess.getCurrentLocationId() + "," + baseLocation.getId());
  1087. String status = baseProcess.getCurrentStatus();
  1088. String substring = status.substring(0, status.length() - 1);
  1089. baseProcess.setCurrentStatus(substring + "1," + 0);
  1090. processMapper.updateById(baseProcess);
  1091. } else {
  1092. billClean.setImgStatus(1);
  1093. billClean.setImgUrl(s);
  1094. billClean.setBillStatus(2);
  1095. billClean.setPassUserName(TokenSign.getUserNameByJwtToken(httpServletRequest));
  1096. billClean.setPassUserId(TokenSign.getMemberIdByJwtToken(httpServletRequest));
  1097. billClean.setTestLocation(baseLocation.getLocationName());
  1098. billClean.setTestLocationId(baseLocation.getId());
  1099. billClean.setCheckDate(sdf.parse(date));
  1100. billClean.setPassDate(sdf.parse(sdf.format(new Date())));
  1101. billClean.setCleanTime("10");
  1102. cleanMapper.updateById(billClean);
  1103. baseProcess.setProcessType(2);
  1104. baseProcess.setUpdateDate(baseProcess.getUpdateDate() + "," + sdf.format(new Date()));
  1105. baseProcess.setCurrentLocation(baseProcess.getCurrentLocation());
  1106. baseProcess.setCurrentLocationId(baseProcess.getCurrentLocationId());
  1107. String status = baseProcess.getCurrentStatus();
  1108. String substring = status.substring(0, status.length() - 1);
  1109. baseProcess.setCurrentStatus(substring + "2");
  1110. String status1 = baseProcess.getAllLocationStatus();
  1111. StringBuilder sb = new StringBuilder(status1);
  1112. Integer a = status1.length() - 3;
  1113. sb.setCharAt(a, '3');
  1114. baseProcess.setAllLocationStatus(sb.toString());
  1115. processMapper.updateById(baseProcess);
  1116. }
  1117. return new Result(10000, "修改成功!", true);
  1118. } else {
  1119. BillDry billClean = dryMapper.selectById(id);//某条烘干记录
  1120. if (billClean.getBillStatus() != 0) {
  1121. return new Result(10001, "此条记录已被他人修改,请退出刷新查看!", false);
  1122. }
  1123. QueryWrapper<BaseProcess> queryWrapper = new QueryWrapper<>();
  1124. queryWrapper.eq("farm_id", farmId).eq("id", billClean.getProcessId());
  1125. BaseProcess baseProcess = processMapper.selectOne(queryWrapper);//某条进程
  1126. QueryWrapper<BaseLocation> locationQueryWrapper = new QueryWrapper<>();
  1127. locationQueryWrapper.eq("id", billClean.getTestLocationId());
  1128. BaseLocation baseLocation = locationMapper.selectOne(locationQueryWrapper);//当前所在的位置
  1129. String allLocationId = baseProcess.getAllLocationId();//所有的位置id
  1130. String allFlowId = baseProcess.getAllFlowId();//所有的流程id
  1131. String currentFlowId = baseProcess.getCurrentFlowId();//当前已经完成的流程id
  1132. String substring1 = allFlowId.substring(currentFlowId.length() + 1, allFlowId.length());
  1133. String[] splits = substring1.split(",");
  1134. Integer nextId = Integer.parseInt(splits[0]);
  1135. if (baseProcess.getProcessType() == 2 || baseProcess.getProcessType() == 1) {
  1136. return new Result(10001, "修改失败!该申请已提前结束或者被拒绝", false);
  1137. } else {
  1138. if ("1".equals(result)) {
  1139. //烘干通过
  1140. billClean.setImgUrl(s);
  1141. billClean.setBillStatus(1);
  1142. billClean.setPassDate(new Date());
  1143. billClean.setCheckDate(new Date());
  1144. billClean.setPhone(billClean.getPhone());
  1145. billClean.setCarNum(billClean.getCarNum());
  1146. billClean.setImgStatus(1);
  1147. billClean.setPassUserName(TokenSign.getUserNameByJwtToken(httpServletRequest));
  1148. billClean.setPassUserId(TokenSign.getMemberIdByJwtToken(httpServletRequest));
  1149. billClean.setTestLocation(baseLocation.getLocationName());
  1150. billClean.setTestLocationId(baseLocation.getId());
  1151. billClean.setDryTime("10");
  1152. billClean.setDryTem("70");
  1153. dryMapper.updateById(billClean);
  1154. Object newObject = BillPcrServiceImpl.getNewObject(nextId, billClean.getDestName(), billClean.getDestId(), billClean.getAdmissionUserName(),
  1155. billClean.getAdmissionUserId(), billClean.getVistitDate(), billClean.getSubDate(),
  1156. billClean.getProcessId(), billClean.getFarmId(), billClean.getTestLocation(), billClean.getTestLocationId(),
  1157. billClean.getVistitType(), billClean.getPhone(), billClean.getDepartureName(), billClean.getDepartureId());
  1158. if (nextId == 0) {
  1159. if (splits.length == 1) {
  1160. baseProcess.setProcessType(1);
  1161. if (allLocationId.length() > 9) {
  1162. baseProcess.setAllLocationStatus("2,2,2,2,2,2,2");
  1163. } else if (allLocationId.length() > 5 && allLocationId.length() < 10) {
  1164. baseProcess.setAllLocationStatus("2,2,2,2,2");
  1165. } else {
  1166. baseProcess.setAllLocationStatus("2,2,2");
  1167. }
  1168. } else {
  1169. String[] strings = allLocationId.split(",");
  1170. Integer index = 0;
  1171. for (int i = 0; i < strings.length; i++) {
  1172. if ((baseLocation.getId().toString()).equals(strings[i])) {
  1173. index = i;
  1174. }
  1175. }
  1176. QueryWrapper<BaseLocation> queryWrapper1 = new QueryWrapper();
  1177. queryWrapper1.eq("id", strings[index + 2]);
  1178. BaseLocation location = locationMapper.selectOne(queryWrapper1);
  1179. FlowUtil flowUtil = new FlowUtil();
  1180. Object entity = flowUtil.getEntity(Integer.parseInt(splits[1]), billClean.getVistitType(), billClean.getDestName()
  1181. , billClean.getDestId(), billClean.getAdmissionUserId(), billClean.getAdmissionUserName(), billClean.getPhone(),
  1182. billClean.getVistitDate(), location.getId(), location.getLocationName(), Integer.parseInt(farmId)
  1183. , baseProcess.getId(), billClean.getDepartureName(), billClean.getDepartureId());
  1184. if (Integer.parseInt(splits[1]) == 1) {
  1185. //新增采样
  1186. BillSampling billSampling = (BillSampling) entity;
  1187. if (billClean.getVistitType() != 0) {
  1188. billSampling.setCarNum(billClean.getCarNum());
  1189. }
  1190. if (billClean.getVistitType() == 5) {
  1191. billSampling.setResource(billClean.getResource());
  1192. billSampling.setFeedImgUrl(billClean.getFeedImgUrl());
  1193. billSampling.setRemark(billClean.getRemark());
  1194. billSampling.setCleanName(billClean.getCleanName());
  1195. billSampling.setCleanId(billClean.getCleanId());
  1196. }
  1197. samplingMapper.insert(billSampling);
  1198. } else if (Integer.parseInt(splits[1]) == 2) {
  1199. //新增pcr
  1200. BillPcr billClean1 = (BillPcr) entity;
  1201. if (billClean.getVistitType() != 0) {
  1202. billClean1.setCarNum(billClean.getCarNum());
  1203. }
  1204. if (billClean.getVistitType() == 5) {
  1205. billClean1.setResource(billClean.getResource());
  1206. billClean1.setFeedImgUrl(billClean.getFeedImgUrl());
  1207. billClean1.setRemark(billClean.getRemark());
  1208. billClean1.setCleanName(billClean.getCleanName());
  1209. billClean1.setCleanId(billClean.getCleanId());
  1210. }
  1211. pcrMapper.insert(billClean1);
  1212. } else if (Integer.parseInt(splits[1]) == 3) {
  1213. //新增洗澡
  1214. BillClean billClean1 = (BillClean) entity;
  1215. if (billClean.getVistitType() != 0) {
  1216. billClean1.setCarNum(billClean.getCarNum());
  1217. }
  1218. if (billClean.getVistitType() == 5) {
  1219. billClean1.setResource(billClean.getResource());
  1220. billClean1.setFeedImgUrl(billClean.getFeedImgUrl());
  1221. billClean1.setRemark(billClean.getRemark());
  1222. billClean1.setCleanName(billClean.getCleanName());
  1223. billClean1.setCleanId(billClean.getCleanId());
  1224. }
  1225. cleanMapper.insert(billClean1);
  1226. } else if (Integer.parseInt(splits[1]) == 4) {
  1227. //新增隔离
  1228. BillIsolate pcr = (BillIsolate) entity;
  1229. if (billClean.getVistitType() != 0) {
  1230. pcr.setCarNum(billClean.getCarNum());
  1231. }
  1232. if (billClean.getVistitType() == 5) {
  1233. pcr.setResource(billClean.getResource());
  1234. pcr.setFeedImgUrl(billClean.getFeedImgUrl());
  1235. pcr.setRemark(billClean.getRemark());
  1236. pcr.setCleanName(billClean.getCleanName());
  1237. pcr.setCleanId(billClean.getCleanId());
  1238. }
  1239. isolateMapper.insert(pcr);
  1240. } else if (Integer.parseInt(splits[1]) == 5) {
  1241. BillDry billClean1 = (BillDry) entity;
  1242. if (billClean.getVistitType() != 0) {
  1243. billClean1.setCarNum(billClean.getCarNum());
  1244. }
  1245. if (billClean.getVistitType() == 5) {
  1246. billClean1.setResource(billClean.getResource());
  1247. billClean1.setFeedImgUrl(billClean.getFeedImgUrl());
  1248. billClean1.setRemark(billClean.getRemark());
  1249. billClean1.setCleanName(billClean.getCleanName());
  1250. billClean1.setCleanId(billClean.getCleanId());
  1251. }
  1252. dryMapper.insert(billClean1);
  1253. //新增烘干
  1254. } else if (Integer.parseInt(splits[1]) == 6) {
  1255. //新增洗澡前拍照
  1256. BillCleanBefore before = (BillCleanBefore) entity;
  1257. if (billClean.getVistitType() != 0) {
  1258. before.setCarNum(billClean.getCarNum());
  1259. }
  1260. if (billClean.getVistitType() == 5) {
  1261. before.setResource(billClean.getResource());
  1262. before.setFeedImgUrl(billClean.getFeedImgUrl());
  1263. before.setRemark(billClean.getRemark());
  1264. before.setCleanName(billClean.getCleanName());
  1265. before.setCleanId(billClean.getCleanId());
  1266. }
  1267. beforeMapper.insert(before);
  1268. } else if (Integer.parseInt(splits[1]) == 7) {
  1269. //新增洗澡前拍照
  1270. BillGoodsInventory before = (BillGoodsInventory) entity;
  1271. if (billClean.getVistitType() != 0) {
  1272. before.setCarNum(billClean.getCarNum());
  1273. }
  1274. if (billClean.getVistitType() == 5) {
  1275. before.setResource(billClean.getResource());
  1276. before.setFeedImgUrl(billClean.getFeedImgUrl());
  1277. before.setRemark(billClean.getRemark());
  1278. before.setCleanName(billClean.getCleanName());
  1279. before.setCleanId(billClean.getCleanId());
  1280. }
  1281. inventoryMapper.insert(before);
  1282. }
  1283. baseProcess.setCurrentFlowId(baseProcess.getCurrentFlowId() + "," + nextId + "," + splits[1]);
  1284. if (allLocationId.length() > 9) {
  1285. if (index == 1) {
  1286. baseProcess.setAllLocationStatus("2,2,2,1,0,0,0");
  1287. } else {
  1288. baseProcess.setAllLocationStatus("2,2,2,2,2,1,0");
  1289. }
  1290. } else if (allLocationId.length() > 5 && allLocationId.length() < 10) {
  1291. baseProcess.setAllLocationStatus("2,2,2,1,0");
  1292. }
  1293. }
  1294. } else if (nextId == 1) {
  1295. //新增采样
  1296. BillSampling billSampling = (BillSampling) newObject;
  1297. if (billClean.getVistitType() != 0) {
  1298. billSampling.setCarNum(billClean.getCarNum());
  1299. }
  1300. if (billClean.getVistitType() == 5) {
  1301. billSampling.setResource(billClean.getResource());
  1302. billSampling.setFeedImgUrl(billClean.getFeedImgUrl());
  1303. billSampling.setRemark(billClean.getRemark());
  1304. billSampling.setCleanName(billClean.getCleanName());
  1305. billSampling.setCleanId(billClean.getCleanId());
  1306. }
  1307. samplingMapper.insert(billSampling);
  1308. baseProcess.setCurrentFlowId(baseProcess.getCurrentFlowId() + "," + nextId);
  1309. } else if (nextId == 2) {
  1310. //新增pcr
  1311. BillPcr billClean1 = (BillPcr) newObject;
  1312. if (billClean.getVistitType() != 0) {
  1313. billClean1.setCarNum(billClean.getCarNum());
  1314. }
  1315. if (billClean.getVistitType() == 5) {
  1316. billClean1.setResource(billClean.getResource());
  1317. billClean1.setFeedImgUrl(billClean.getFeedImgUrl());
  1318. billClean1.setRemark(billClean.getRemark());
  1319. billClean1.setCleanName(billClean.getCleanName());
  1320. billClean1.setCleanId(billClean.getCleanId());
  1321. }
  1322. pcrMapper.insert(billClean1);
  1323. baseProcess.setCurrentFlowId(baseProcess.getCurrentFlowId() + "," + nextId);
  1324. } else if (nextId == 3) {
  1325. //新增洗澡
  1326. BillClean billClean2 = (BillClean) newObject;
  1327. if (billClean.getVistitType() != 0) {
  1328. billClean2.setCarNum(billClean.getCarNum());
  1329. }
  1330. if (billClean.getVistitType() == 5) {
  1331. billClean2.setResource(billClean.getResource());
  1332. billClean2.setFeedImgUrl(billClean.getFeedImgUrl());
  1333. billClean2.setRemark(billClean.getRemark());
  1334. billClean2.setCleanName(billClean.getCleanName());
  1335. billClean2.setCleanId(billClean.getCleanId());
  1336. }
  1337. cleanMapper.insert(billClean2);
  1338. baseProcess.setCurrentFlowId(baseProcess.getCurrentFlowId() + "," + nextId);
  1339. } else if (nextId == 4) {
  1340. //新增隔离
  1341. BillIsolate pcr = (BillIsolate) newObject;
  1342. if (billClean.getVistitType() != 0) {
  1343. pcr.setCarNum(billClean.getCarNum());
  1344. }
  1345. if (billClean.getVistitType() == 5) {
  1346. pcr.setResource(billClean.getResource());
  1347. pcr.setFeedImgUrl(billClean.getFeedImgUrl());
  1348. pcr.setRemark(billClean.getRemark());
  1349. pcr.setCleanName(billClean.getCleanName());
  1350. pcr.setCleanId(billClean.getCleanId());
  1351. }
  1352. isolateMapper.insert(pcr);
  1353. baseProcess.setCurrentFlowId(baseProcess.getCurrentFlowId() + "," + nextId);
  1354. } else if (nextId == 5) {
  1355. BillDry billClean2 = (BillDry) newObject;
  1356. if (billClean.getVistitType() != 0) {
  1357. billClean2.setCarNum(billClean.getCarNum());
  1358. }
  1359. if (billClean.getVistitType() == 5) {
  1360. billClean2.setResource(billClean.getResource());
  1361. billClean2.setFeedImgUrl(billClean.getFeedImgUrl());
  1362. billClean2.setRemark(billClean.getRemark());
  1363. billClean2.setCleanName(billClean.getCleanName());
  1364. billClean2.setCleanId(billClean.getCleanId());
  1365. }
  1366. dryMapper.insert(billClean2);
  1367. baseProcess.setCurrentFlowId(baseProcess.getCurrentFlowId() + "," + nextId);
  1368. //新增烘干
  1369. } else if (nextId == 6) {
  1370. //新增洗澡前拍照
  1371. BillCleanBefore before = (BillCleanBefore) newObject;
  1372. if (billClean.getVistitType() != 0) {
  1373. before.setCarNum(billClean.getCarNum());
  1374. }
  1375. if (billClean.getVistitType() == 5) {
  1376. before.setResource(billClean.getResource());
  1377. before.setFeedImgUrl(billClean.getFeedImgUrl());
  1378. before.setRemark(billClean.getRemark());
  1379. before.setCleanName(billClean.getCleanName());
  1380. before.setCleanId(billClean.getCleanId());
  1381. }
  1382. beforeMapper.insert(before);
  1383. baseProcess.setCurrentFlowId(baseProcess.getCurrentFlowId() + "," + nextId);
  1384. } else if (nextId == 7) {
  1385. //新增洗澡前拍照
  1386. BillGoodsInventory before = (BillGoodsInventory) newObject;
  1387. if (billClean.getVistitType() != 0) {
  1388. before.setCarNum(billClean.getCarNum());
  1389. }
  1390. if (billClean.getVistitType() == 5) {
  1391. before.setResource(billClean.getResource());
  1392. before.setFeedImgUrl(billClean.getFeedImgUrl());
  1393. before.setRemark(billClean.getRemark());
  1394. before.setCleanName(billClean.getCleanName());
  1395. before.setCleanId(billClean.getCleanId());
  1396. }
  1397. inventoryMapper.insert(before);
  1398. baseProcess.setCurrentFlowId(baseProcess.getCurrentFlowId() + "," + nextId);
  1399. }
  1400. baseProcess.setUpdateDate(baseProcess.getUpdateDate() + "," + sdf.format(new Date()));
  1401. baseProcess.setCurrentLocation(baseProcess.getCurrentLocation() + "," + baseLocation.getLocationName());
  1402. baseProcess.setCurrentLocationId(baseProcess.getCurrentLocationId() + "," + baseLocation.getId());
  1403. String status = baseProcess.getCurrentStatus();
  1404. String substring = status.substring(0, status.length() - 1);
  1405. baseProcess.setCurrentStatus(substring + "1," + 0);
  1406. processMapper.updateById(baseProcess);
  1407. } else {
  1408. billClean.setImgStatus(1);
  1409. billClean.setImgUrl(s);
  1410. billClean.setBillStatus(2);
  1411. billClean.setPassUserName(TokenSign.getUserNameByJwtToken(httpServletRequest));
  1412. billClean.setPassUserId(TokenSign.getMemberIdByJwtToken(httpServletRequest));
  1413. billClean.setTestLocation(baseLocation.getLocationName());
  1414. billClean.setTestLocationId(baseLocation.getId());
  1415. billClean.setCheckDate(sdf.parse(date));
  1416. billClean.setPassDate(sdf.parse(sdf.format(new Date())));
  1417. billClean.setDryTime("10");
  1418. billClean.setDryTem("70");
  1419. dryMapper.updateById(billClean);
  1420. baseProcess.setProcessType(2);
  1421. baseProcess.setUpdateDate(baseProcess.getUpdateDate() + "," + sdf.format(new Date()));
  1422. baseProcess.setCurrentLocation(baseProcess.getCurrentLocation());
  1423. baseProcess.setCurrentLocationId(baseProcess.getCurrentLocationId());
  1424. String status = baseProcess.getCurrentStatus();
  1425. String substring = status.substring(0, status.length() - 1);
  1426. baseProcess.setCurrentStatus(substring + "2");
  1427. String status1 = baseProcess.getAllLocationStatus();
  1428. StringBuilder sb = new StringBuilder(status1);
  1429. Integer a = status1.length() - 3;
  1430. sb.setCharAt(a, '3');
  1431. baseProcess.setAllLocationStatus(sb.toString());
  1432. processMapper.updateById(baseProcess);
  1433. }
  1434. return new Result(10000, "修改成功!", true);
  1435. }
  1436. }
  1437. }
  1438. @Override
  1439. public Result listCount(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
  1440. String farmId = paramsMap.get("farmId");
  1441. Date timesmorning = DataUill.getTimesmorning();
  1442. QueryWrapper<BillClean> queryWrapper = new QueryWrapper<>();
  1443. queryWrapper.eq("farm_id", farmId).ge("sub_date", timesmorning);
  1444. queryWrapper.eq("bill_status", 1);
  1445. Integer count = billCleanMapper.selectCount(queryWrapper);//合格
  1446. QueryWrapper<BillClean> queryWrapper1 = new QueryWrapper<>();
  1447. queryWrapper1.eq("farm_id", farmId).ge("sub_date", timesmorning);
  1448. queryWrapper1.eq("bill_status", 2);
  1449. Integer count1 = billCleanMapper.selectCount(queryWrapper1);//异常
  1450. Integer allCount = count + count1;
  1451. DecimalFormat def = new DecimalFormat("0.00");
  1452. String rank;
  1453. if (allCount == 0 || allCount == null) {
  1454. Double ranks = Double.valueOf("0.00");
  1455. rank = ranks.toString();
  1456. } else {
  1457. Double ranks = (Double.valueOf(count.toString()) / Double.valueOf(allCount.toString())) * 100;
  1458. rank = def.format(ranks);
  1459. }
  1460. JSONObject jsonObject = new JSONObject();
  1461. jsonObject.put("count", allCount);
  1462. jsonObject.put("count1", count);
  1463. jsonObject.put("count2", count1);
  1464. jsonObject.put("rank", rank);
  1465. return new Result(ResultCode.SUCCESS, jsonObject);
  1466. }
  1467. @Override
  1468. public Result AllClean(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
  1469. String farmId = paramsMap.get("farmId");
  1470. String personType = paramsMap.get("personType");
  1471. String type = paramsMap.get("type");
  1472. if ("".equals(type) || null == type) {
  1473. type = "1";
  1474. }
  1475. List<CleanVo> pcrVos = null;
  1476. QueryWrapper<BillClean> queryWrapper = new QueryWrapper<>();
  1477. queryWrapper.eq("farm_id", farmId).in("bill_status", 1, 2);
  1478. if ("".equals(personType) || null == personType) {
  1479. } else {
  1480. queryWrapper.eq("vistit_type", personType);
  1481. }
  1482. if ("1".equals(type)) {
  1483. Date timesmorning = DataUill.getTimesmorning();
  1484. queryWrapper.ge("sub_date", timesmorning);
  1485. } else if ("2".equals(type)) {
  1486. Calendar calendar = Calendar.getInstance();
  1487. calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) - 7);
  1488. queryWrapper.ge("sub_date", calendar.getTime());
  1489. } else if ("3".equals(type)) {
  1490. Date monthmorning = DataUill.getTimesMonthmorning();
  1491. queryWrapper.ge("sub_date", monthmorning);
  1492. }
  1493. pcrVos = billCleanMapper.listAll(queryWrapper);
  1494. for (CleanVo pcrVo : pcrVos) {
  1495. pcrVo.setAllCount(pcrVo.getPassCount() + pcrVo.getRefuseCount());
  1496. }
  1497. return new Result(ResultCode.SUCCESS, pcrVos);
  1498. }
  1499. @Override
  1500. public Result CleanSelect(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
  1501. String farmId = paramsMap.get("farmId");
  1502. String type = paramsMap.get("type");//来访类型
  1503. String startTime = paramsMap.get("startTime");
  1504. String endTime = paramsMap.get("endTime");
  1505. String pageNum = paramsMap.get("pageNum");
  1506. String pageSize = paramsMap.get("pageSize");
  1507. if ("".equals(pageNum) || null == pageNum) {
  1508. pageNum = "1";
  1509. }
  1510. if ("".equals(pageSize) || null == pageSize) {
  1511. pageSize = "10";
  1512. }
  1513. QueryWrapper<BillClean> queryWrapper = new QueryWrapper<>();
  1514. if (ObjectUtil.isNotEmpty(startTime)) {
  1515. startTime = startTime + " 00:00:00";
  1516. endTime = endTime + " 23:59:59";
  1517. queryWrapper.between("check_date", startTime, endTime);
  1518. }
  1519. queryWrapper.lambda().orderByDesc(BillClean::getId);
  1520. queryWrapper.eq("farm_id", farmId);
  1521. if ("".equals(type) || null == type) {
  1522. } else {
  1523. queryWrapper.eq("vistit_type", type);
  1524. }
  1525. Page<BillClean> page = new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
  1526. return new Result(ResultCode.SUCCESS, billCleanMapper.selectPage(page, queryWrapper));
  1527. }
  1528. @Override
  1529. public void printClean(HttpServletResponse httpServletRequest, Map<String, String> paramsMap) throws Exception {
  1530. String ids = paramsMap.get("ids");
  1531. String[] split = ids.split(",");
  1532. List<BillClean> list = new ArrayList<>();
  1533. for (String s : split) {
  1534. BillClean admission = billCleanMapper.selectById(s);
  1535. list.add(admission);
  1536. }
  1537. Print.printClean(list);
  1538. }
  1539. @Override
  1540. public Result listScreen(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
  1541. String farmId = paramsMap.get("farmId");
  1542. String type = paramsMap.get("type");
  1543. if ("".equals(type) || null == type) {
  1544. type = "1";
  1545. }
  1546. QueryWrapper<BillClean> queryWrapper = new QueryWrapper<>();
  1547. queryWrapper.orderByDesc("pass_date");
  1548. if (type.equals("1")) {
  1549. queryWrapper.eq("farm_id", farmId).eq("vistit_type", 0).ne("bill_status", 0);
  1550. } else {
  1551. queryWrapper.eq("farm_id", farmId).ne("vistit_type", 0).ne("bill_status", 0);
  1552. }
  1553. return new Result(ResultCode.SUCCESS, billCleanMapper.selectList(queryWrapper));
  1554. }
  1555. }