BillCleanServiceImpl.java 89 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639
  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.CleanDryGoodsVo;
  14. import com.huimv.receive.entity.vo.CleanVo;
  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.annotation.Transactional;
  20. import org.springframework.transaction.interceptor.TransactionAspectSupport;
  21. import org.springframework.web.multipart.MultipartFile;
  22. import javax.annotation.Resource;
  23. import javax.servlet.http.HttpServletRequest;
  24. import javax.servlet.http.HttpServletResponse;
  25. import java.io.IOException;
  26. import java.text.DecimalFormat;
  27. import java.text.ParseException;
  28. import java.text.SimpleDateFormat;
  29. import java.time.LocalDateTime;
  30. import java.util.*;
  31. /**
  32. * <p>
  33. * 洗消表 服务实现类
  34. * </p>
  35. *
  36. * @author author
  37. * @since 2023-07-21
  38. */
  39. @Service
  40. public class BillCleanServiceImpl extends ServiceImpl<BillCleanMapper, BillClean> implements IBillCleanService {
  41. @Autowired
  42. private BillCleanMapper cleanMapper;
  43. @Autowired
  44. private BillIsolateMapper isolateMapper;
  45. @Autowired
  46. private BillPcrMapper pcrMapper;
  47. @Autowired
  48. private BaseProcessMapper processMapper;
  49. @Autowired
  50. private BaseLocationMapper locationMapper;
  51. @Autowired
  52. private BaseWashoutPointMapper baseWashoutPointMapper;
  53. @Autowired
  54. private UploadImage uploadImage;
  55. @Autowired
  56. private BillDryMapper dryMapper;
  57. @Autowired
  58. private BillPersonnelAdmissionMapper admissionMapper;
  59. @Autowired
  60. private ConfigurationMapper configurationMapper;
  61. @Autowired
  62. private ExistMapper existMapper;
  63. @Autowired
  64. private BillGoodsInventoryMapper inventoryMapper;
  65. @Override
  66. public Result listAll(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
  67. String type = paramsMap.get("type");//展示类型 0-6
  68. String data = paramsMap.get("data");//状态
  69. String farmId = paramsMap.get("farmId");
  70. String pageNum = paramsMap.get("pageNum");
  71. String pageSize = paramsMap.get("pageSize");
  72. if ("".equals(pageNum) || null == pageNum) {
  73. pageNum = "1";
  74. }
  75. if ("".equals(pageSize) || null == pageSize) {
  76. pageSize = "20";
  77. }
  78. if ("".equals(type) || null == type) {
  79. type = "1";
  80. }
  81. if ("".equals(data) || null == data) {
  82. data = "0";
  83. }
  84. if (type.equals("0")) {
  85. BaseLocation baseLocation = locationMapper.selectById(TokenSign.getWorkIdByJwtToken(httpServletRequest));
  86. Page<BillClean> page = new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
  87. QueryWrapper<BillClean> queryWrapper = new QueryWrapper<>();
  88. queryWrapper.eq("vistit_type", type).orderByDesc("sub_date").eq("test_location_id", baseLocation.getId());
  89. if ("0".equals(data)) {
  90. queryWrapper.in("bill_status", 0, 1, 2,3);
  91. }
  92. if ("1".equals(data)) {
  93. queryWrapper.eq("bill_status", 0);
  94. }
  95. if ("2".equals(data)) {
  96. queryWrapper.eq("bill_status", 1);
  97. }
  98. QueryWrapper<BillClean> queryWrapper2 = new QueryWrapper<>();
  99. queryWrapper2.eq("vistit_type", type).orderByDesc("sub_date")
  100. .eq("test_location_id", baseLocation.getId()).eq("bill_status", 0);
  101. return new Result(ResultCode.SUCCESS, cleanMapper.selectPage(page, queryWrapper), cleanMapper.selectCount(queryWrapper2));
  102. } else if ("5".equals(type)) {
  103. Page<CleanDryGoodsVo> cleanDryGoodPage = null;
  104. Page<CleanDryGoodsVo> page = new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
  105. QueryWrapper<BillClean> queryWrapper = new QueryWrapper<>();
  106. queryWrapper.eq("vistit_type", type);
  107. QueryWrapper<BillDry> queryWrapper2 = new QueryWrapper<>();
  108. queryWrapper2.eq("vistit_type", type);
  109. QueryWrapper<BillGoodsInventory> queryWrapper3 = new QueryWrapper<>();
  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("vistit_type", type);
  150. QueryWrapper<BillDry> queryWrapper2 = new QueryWrapper<>();
  151. queryWrapper2.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(),billClean.getMidId(),billClean.getMidName());
  842. if (nextId == 0) {
  843. if (splits.length == 1) {
  844. baseProcess.setProcessType(1);
  845. String[] strings = allLocationId.split(",");
  846. String ss2 = "";
  847. for (int i = 0; i < strings.length; i++) {
  848. strings[i].replaceAll(strings[i], "2");
  849. if (i == strings.length - 1) {
  850. ss2 = ss2 + strings[i].replaceAll(strings[i], "2");
  851. } else {
  852. ss2 = strings[i].replaceAll(strings[i], "2") + "," + ss2;
  853. }
  854. }
  855. baseProcess.setAllLocationStatus(ss2);
  856. } else {
  857. String[] strings = allLocationId.split(",");
  858. Integer index = 0;
  859. for (int i = 0; i < strings.length; i++) {
  860. if ((baseLocation.getId().toString()).equals(strings[i])) {
  861. index = i;
  862. }
  863. }
  864. QueryWrapper<BaseLocation> queryWrapper1 = new QueryWrapper();
  865. queryWrapper1.eq("id", strings[index + 2]);
  866. BaseLocation location = locationMapper.selectOne(queryWrapper1);
  867. FlowUtil flowUtil = new FlowUtil();
  868. Object entity = flowUtil.getEntity(Integer.parseInt(splits[1]), billClean.getVistitType(), billClean.getDestName()
  869. , billClean.getDestId(), billClean.getAdmissionUserId(), billClean.getAdmissionUserName(), billClean.getPhone(),
  870. billClean.getVistitDate(), location.getId(), location.getLocationName(), Integer.parseInt(farmId)
  871. , baseProcess.getId(), billClean.getDepartureName(), billClean.getDepartureId(),billClean.getMidId(),billClean.getMidName());
  872. if (Integer.parseInt(splits[1]) == 1) {
  873. //新增采样
  874. BillSampling billSampling = (BillSampling) entity;
  875. if (billClean.getVistitType() != 0) {
  876. billSampling.setCarNum(billClean.getCarNum());
  877. }
  878. if (billClean.getVistitType() == 5) {
  879. billSampling.setResource(billClean.getResource());
  880. billSampling.setFeedImgUrl(billClean.getFeedImgUrl());
  881. billSampling.setRemark(billClean.getRemark());
  882. }
  883. samplingMapper.insert(billSampling);
  884. } else if (Integer.parseInt(splits[1]) == 2) {
  885. //新增pcr
  886. BillPcr billClean1 = (BillPcr) entity;
  887. if (billClean.getVistitType() != 0) {
  888. billClean1.setCarNum(billClean.getCarNum());
  889. }
  890. if (billClean.getVistitType() == 5) {
  891. billClean1.setResource(billClean.getResource());
  892. billClean1.setFeedImgUrl(billClean.getFeedImgUrl());
  893. billClean1.setRemark(billClean.getRemark());
  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. }
  907. cleanMapper.insert(billClean1);
  908. } else if (Integer.parseInt(splits[1]) == 4) {
  909. //新增隔离
  910. BillIsolate pcr = (BillIsolate) entity;
  911. if (billClean.getVistitType() != 0) {
  912. pcr.setCarNum(billClean.getCarNum());
  913. }
  914. if (billClean.getVistitType() == 5) {
  915. pcr.setResource(billClean.getResource());
  916. pcr.setFeedImgUrl(billClean.getFeedImgUrl());
  917. pcr.setRemark(billClean.getRemark());
  918. }
  919. isolateMapper.insert(pcr);
  920. } else if (Integer.parseInt(splits[1]) == 5) {
  921. BillDry billClean1 = (BillDry) entity;
  922. if (billClean.getVistitType() != 0) {
  923. billClean1.setCarNum(billClean.getCarNum());
  924. }
  925. if (billClean.getVistitType() == 5) {
  926. billClean1.setResource(billClean.getResource());
  927. billClean1.setFeedImgUrl(billClean.getFeedImgUrl());
  928. billClean1.setRemark(billClean.getRemark());
  929. }
  930. dryMapper.insert(billClean1);
  931. //新增烘干
  932. } else if (Integer.parseInt(splits[1]) == 6) {
  933. //新增洗澡前拍照
  934. BillCleanBefore before = (BillCleanBefore) entity;
  935. if (billClean.getVistitType() != 0) {
  936. before.setCarNum(billClean.getCarNum());
  937. }
  938. if (billClean.getVistitType() == 5) {
  939. before.setResource(billClean.getResource());
  940. before.setFeedImgUrl(billClean.getFeedImgUrl());
  941. before.setRemark(billClean.getRemark());
  942. }
  943. beforeMapper.insert(before);
  944. } else if (Integer.parseInt(splits[1]) == 7) {
  945. //新增洗澡前拍照
  946. BillGoodsInventory before = (BillGoodsInventory) entity;
  947. if (billClean.getVistitType() != 0) {
  948. before.setCarNum(billClean.getCarNum());
  949. }
  950. if (billClean.getVistitType() == 5) {
  951. before.setResource(billClean.getResource());
  952. before.setFeedImgUrl(billClean.getFeedImgUrl());
  953. before.setRemark(billClean.getRemark());
  954. }
  955. inventoryMapper.insert(before);
  956. }
  957. baseProcess.setCurrentFlowId(baseProcess.getCurrentFlowId() + "," + nextId + "," + splits[1]);
  958. Integer locationId = billClean.getTestLocationId();
  959. String[] split2 = allLocationId.split(",");
  960. int a=0;
  961. for (int i = 0; i < split2.length; i++) {
  962. if (locationId.toString().equals(split2[i])) {
  963. a = i + 1;
  964. }
  965. }
  966. int indexOf = 2 * (a - 2);//当前位置在所有流程位置中的下标
  967. String substring = baseProcess.getAllLocationStatus().substring(0, indexOf + 3);//截取已经过的位置状态
  968. String[] split1 = substring.split(",");
  969. String sb2 = "";
  970. for (int i = 0; i < split1.length; i++) {
  971. if (i == split1.length - 1) {
  972. sb2 = sb2 + split1[i].replaceAll(split1[i], "2");
  973. } else {
  974. sb2 = split1[i].replaceAll(split1[i], "2") + "," + sb2;
  975. }
  976. }
  977. sb2 = sb2 + baseProcess.getAllLocationStatus().substring(indexOf + 3);
  978. StringBuilder sb = new StringBuilder(sb2);
  979. sb.replace(indexOf + 4, indexOf + 5, "2");
  980. sb.replace(indexOf + 6, indexOf + 7, "1");
  981. baseProcess.setAllLocationStatus(sb.toString());
  982. }
  983. } else if (nextId == 1) {
  984. //新增采样
  985. BillSampling billSampling = (BillSampling) newObject;
  986. if (billClean.getVistitType() != 0) {
  987. billSampling.setCarNum(billClean.getCarNum());
  988. }
  989. if (billClean.getVistitType() == 5) {
  990. billSampling.setResource(billClean.getResource());
  991. billSampling.setFeedImgUrl(billClean.getFeedImgUrl());
  992. billSampling.setRemark(billClean.getRemark());
  993. }
  994. samplingMapper.insert(billSampling);
  995. baseProcess.setCurrentFlowId(baseProcess.getCurrentFlowId() + "," + nextId);
  996. } else if (nextId == 2) {
  997. //新增pcr
  998. BillPcr billClean1 = (BillPcr) newObject;
  999. if (billClean.getVistitType() != 0) {
  1000. billClean1.setCarNum(billClean.getCarNum());
  1001. }
  1002. if (billClean.getVistitType() == 5) {
  1003. billClean1.setResource(billClean.getResource());
  1004. billClean1.setFeedImgUrl(billClean.getFeedImgUrl());
  1005. billClean1.setRemark(billClean.getRemark());
  1006. }
  1007. pcrMapper.insert(billClean1);
  1008. baseProcess.setCurrentFlowId(baseProcess.getCurrentFlowId() + "," + nextId);
  1009. } else if (nextId == 3) {
  1010. //新增洗澡
  1011. BillClean billClean2 = (BillClean) newObject;
  1012. if (billClean.getVistitType() != 0) {
  1013. billClean2.setCarNum(billClean.getCarNum());
  1014. }
  1015. if (billClean.getVistitType() == 5) {
  1016. billClean2.setResource(billClean.getResource());
  1017. billClean2.setFeedImgUrl(billClean.getFeedImgUrl());
  1018. billClean2.setRemark(billClean.getRemark());
  1019. }
  1020. cleanMapper.insert(billClean2);
  1021. baseProcess.setCurrentFlowId(baseProcess.getCurrentFlowId() + "," + nextId);
  1022. } else if (nextId == 4) {
  1023. //新增隔离
  1024. BillIsolate pcr = (BillIsolate) newObject;
  1025. if (billClean.getVistitType() != 0) {
  1026. pcr.setCarNum(billClean.getCarNum());
  1027. }
  1028. if (billClean.getVistitType() == 5) {
  1029. pcr.setResource(billClean.getResource());
  1030. pcr.setFeedImgUrl(billClean.getFeedImgUrl());
  1031. pcr.setRemark(billClean.getRemark());
  1032. }
  1033. isolateMapper.insert(pcr);
  1034. baseProcess.setCurrentFlowId(baseProcess.getCurrentFlowId() + "," + nextId);
  1035. } else if (nextId == 5) {
  1036. BillDry billClean2 = (BillDry) newObject;
  1037. if (billClean.getVistitType() != 0) {
  1038. billClean2.setCarNum(billClean.getCarNum());
  1039. }
  1040. if (billClean.getVistitType() == 5) {
  1041. billClean2.setResource(billClean.getResource());
  1042. billClean2.setFeedImgUrl(billClean.getFeedImgUrl());
  1043. billClean2.setRemark(billClean.getRemark());
  1044. }
  1045. dryMapper.insert(billClean2);
  1046. baseProcess.setCurrentFlowId(baseProcess.getCurrentFlowId() + "," + nextId);
  1047. //新增烘干
  1048. } else if (nextId == 6) {
  1049. //新增洗澡前拍照
  1050. BillCleanBefore before = (BillCleanBefore) newObject;
  1051. if (billClean.getVistitType() != 0) {
  1052. before.setCarNum(billClean.getCarNum());
  1053. }
  1054. if (billClean.getVistitType() == 5) {
  1055. before.setResource(billClean.getResource());
  1056. before.setFeedImgUrl(billClean.getFeedImgUrl());
  1057. before.setRemark(billClean.getRemark());
  1058. }
  1059. beforeMapper.insert(before);
  1060. baseProcess.setCurrentFlowId(baseProcess.getCurrentFlowId() + "," + nextId);
  1061. } else if (nextId == 7) {
  1062. //新增洗澡前拍照
  1063. BillGoodsInventory before = (BillGoodsInventory) newObject;
  1064. if (billClean.getVistitType() != 0) {
  1065. before.setCarNum(billClean.getCarNum());
  1066. }
  1067. if (billClean.getVistitType() == 5) {
  1068. before.setResource(billClean.getResource());
  1069. before.setFeedImgUrl(billClean.getFeedImgUrl());
  1070. before.setRemark(billClean.getRemark());
  1071. }
  1072. inventoryMapper.insert(before);
  1073. baseProcess.setCurrentFlowId(baseProcess.getCurrentFlowId() + "," + nextId);
  1074. }
  1075. baseProcess.setUpdateDate(baseProcess.getUpdateDate() + "," + sdf.format(new Date()));
  1076. baseProcess.setCurrentLocation(baseProcess.getCurrentLocation() + "," + baseLocation.getLocationName());
  1077. baseProcess.setCurrentLocationId(baseProcess.getCurrentLocationId() + "," + baseLocation.getId());
  1078. String status = baseProcess.getCurrentStatus();
  1079. String substring = status.substring(0, status.length() - 1);
  1080. baseProcess.setCurrentStatus(substring + "1," + 0);
  1081. processMapper.updateById(baseProcess);
  1082. } else {
  1083. billClean.setImgStatus(1);
  1084. billClean.setImgUrl(s);
  1085. billClean.setBillStatus(2);
  1086. billClean.setPassUserName(TokenSign.getUserNameByJwtToken(httpServletRequest));
  1087. billClean.setPassUserId(TokenSign.getMemberIdByJwtToken(httpServletRequest));
  1088. billClean.setTestLocation(baseLocation.getLocationName());
  1089. billClean.setTestLocationId(baseLocation.getId());
  1090. billClean.setCheckDate(sdf.parse(date));
  1091. billClean.setPassDate(sdf.parse(sdf.format(new Date())));
  1092. billClean.setCleanTime("10");
  1093. baseProcess.setProcessType(2);
  1094. baseProcess.setUpdateDate(baseProcess.getUpdateDate() + "," + sdf.format(new Date()));
  1095. baseProcess.setCurrentLocation(baseProcess.getCurrentLocation());
  1096. baseProcess.setCurrentLocationId(baseProcess.getCurrentLocationId());
  1097. String status = baseProcess.getCurrentStatus();
  1098. String substring = status.substring(0, status.length() - 1);
  1099. baseProcess.setCurrentStatus(substring + "2");
  1100. int i = allLocationId.indexOf(billClean.getTestLocationId().toString());
  1101. String status1 = baseProcess.getAllLocationStatus();
  1102. System.out.println(status1);
  1103. StringBuilder sb = new StringBuilder(status1);
  1104. sb.setCharAt(i, '3');
  1105. baseProcess.setAllLocationStatus(sb.toString());
  1106. cleanMapper.updateById(billClean);
  1107. processMapper.updateById(baseProcess);
  1108. }
  1109. return new Result(10000, "修改成功!", true);
  1110. } else {
  1111. BillDry billClean = dryMapper.selectById(id);//某条烘干记录
  1112. if (billClean.getBillStatus() != 0) {
  1113. return new Result(10001, "此条记录已被他人修改,请退出刷新查看!", false);
  1114. }
  1115. QueryWrapper<BaseProcess> queryWrapper = new QueryWrapper<>();
  1116. queryWrapper.eq("farm_id", farmId).eq("id", billClean.getProcessId());
  1117. BaseProcess baseProcess = processMapper.selectOne(queryWrapper);//某条进程
  1118. QueryWrapper<BaseLocation> locationQueryWrapper = new QueryWrapper<>();
  1119. locationQueryWrapper.eq("id", billClean.getTestLocationId());
  1120. BaseLocation baseLocation = locationMapper.selectOne(locationQueryWrapper);//当前所在的位置
  1121. String allLocationId = baseProcess.getAllLocationId();//所有的位置id
  1122. String allFlowId = baseProcess.getAllFlowId();//所有的流程id
  1123. String currentFlowId = baseProcess.getCurrentFlowId();//当前已经完成的流程id
  1124. String substring1 = allFlowId.substring(currentFlowId.length() + 1, allFlowId.length());
  1125. String[] splits = substring1.split(",");
  1126. Integer nextId = Integer.parseInt(splits[0]);
  1127. if (baseProcess.getProcessType() == 2 || baseProcess.getProcessType() == 1) {
  1128. return new Result(10001, "修改失败!该申请已提前结束或者被拒绝", false);
  1129. } else {
  1130. if ("1".equals(result)) {
  1131. //烘干通过
  1132. billClean.setImgUrl(s);
  1133. billClean.setBillStatus(1);
  1134. billClean.setPassDate(new Date());
  1135. billClean.setCheckDate(new Date());
  1136. billClean.setPhone(billClean.getPhone());
  1137. billClean.setCarNum(billClean.getCarNum());
  1138. billClean.setImgStatus(1);
  1139. billClean.setPassUserName(TokenSign.getUserNameByJwtToken(httpServletRequest));
  1140. billClean.setPassUserId(TokenSign.getMemberIdByJwtToken(httpServletRequest));
  1141. billClean.setTestLocation(baseLocation.getLocationName());
  1142. billClean.setTestLocationId(baseLocation.getId());
  1143. billClean.setDryTime("10");
  1144. billClean.setDryTem("70");
  1145. dryMapper.updateById(billClean);
  1146. Object newObject = BillPcrServiceImpl.getNewObject(nextId, billClean.getDestName(), billClean.getDestId(), billClean.getAdmissionUserName(),
  1147. billClean.getAdmissionUserId(), billClean.getVistitDate(), billClean.getSubDate(),
  1148. billClean.getProcessId(), billClean.getFarmId(), billClean.getTestLocation(), billClean.getTestLocationId(),
  1149. billClean.getVistitType(), billClean.getPhone(), billClean.getDepartureName(), billClean.getDepartureId(),billClean.getMidId(),billClean.getMidName());
  1150. if (nextId == 0) {
  1151. if (splits.length == 1) {
  1152. baseProcess.setProcessType(1);
  1153. String[] strings = allLocationId.split(",");
  1154. String ss2 = "";
  1155. for (int i = 0; i < strings.length; i++) {
  1156. strings[i].replaceAll(strings[i], "2");
  1157. if (i == strings.length - 1) {
  1158. ss2 = ss2 + strings[i].replaceAll(strings[i], "2");
  1159. } else {
  1160. ss2 = strings[i].replaceAll(strings[i], "2") + "," + ss2;
  1161. }
  1162. }
  1163. baseProcess.setAllLocationStatus(ss2);
  1164. } else {
  1165. String[] strings = allLocationId.split(",");
  1166. Integer index = 0;
  1167. for (int i = 0; i < strings.length; i++) {
  1168. if ((baseLocation.getId().toString()).equals(strings[i])) {
  1169. index = i;
  1170. }
  1171. }
  1172. QueryWrapper<BaseLocation> queryWrapper1 = new QueryWrapper();
  1173. queryWrapper1.eq("id", strings[index + 2]);
  1174. BaseLocation location = locationMapper.selectOne(queryWrapper1);
  1175. FlowUtil flowUtil = new FlowUtil();
  1176. Object entity = flowUtil.getEntity(Integer.parseInt(splits[1]), billClean.getVistitType(), billClean.getDestName()
  1177. , billClean.getDestId(), billClean.getAdmissionUserId(), billClean.getAdmissionUserName(), billClean.getPhone(),
  1178. billClean.getVistitDate(), location.getId(), location.getLocationName(), Integer.parseInt(farmId)
  1179. , baseProcess.getId(), billClean.getDepartureName(), billClean.getDepartureId(),billClean.getMidId(),billClean.getMidName());
  1180. if (Integer.parseInt(splits[1]) == 1) {
  1181. //新增采样
  1182. BillSampling billSampling = (BillSampling) entity;
  1183. if (billClean.getVistitType() != 0) {
  1184. billSampling.setCarNum(billClean.getCarNum());
  1185. }
  1186. if (billClean.getVistitType() == 5) {
  1187. billSampling.setResource(billClean.getResource());
  1188. billSampling.setFeedImgUrl(billClean.getFeedImgUrl());
  1189. billSampling.setRemark(billClean.getRemark());
  1190. }
  1191. samplingMapper.insert(billSampling);
  1192. } else if (Integer.parseInt(splits[1]) == 2) {
  1193. //新增pcr
  1194. BillPcr billClean1 = (BillPcr) entity;
  1195. if (billClean.getVistitType() != 0) {
  1196. billClean1.setCarNum(billClean.getCarNum());
  1197. }
  1198. if (billClean.getVistitType() == 5) {
  1199. billClean1.setResource(billClean.getResource());
  1200. billClean1.setFeedImgUrl(billClean.getFeedImgUrl());
  1201. billClean1.setRemark(billClean.getRemark());
  1202. }
  1203. pcrMapper.insert(billClean1);
  1204. } else if (Integer.parseInt(splits[1]) == 3) {
  1205. //新增洗澡
  1206. BillClean billClean1 = (BillClean) entity;
  1207. if (billClean.getVistitType() != 0) {
  1208. billClean1.setCarNum(billClean.getCarNum());
  1209. }
  1210. if (billClean.getVistitType() == 5) {
  1211. billClean1.setResource(billClean.getResource());
  1212. billClean1.setFeedImgUrl(billClean.getFeedImgUrl());
  1213. billClean1.setRemark(billClean.getRemark());
  1214. }
  1215. cleanMapper.insert(billClean1);
  1216. } else if (Integer.parseInt(splits[1]) == 4) {
  1217. //新增隔离
  1218. BillIsolate pcr = (BillIsolate) entity;
  1219. if (billClean.getVistitType() != 0) {
  1220. pcr.setCarNum(billClean.getCarNum());
  1221. }
  1222. if (billClean.getVistitType() == 5) {
  1223. pcr.setResource(billClean.getResource());
  1224. pcr.setFeedImgUrl(billClean.getFeedImgUrl());
  1225. pcr.setRemark(billClean.getRemark());
  1226. }
  1227. isolateMapper.insert(pcr);
  1228. } else if (Integer.parseInt(splits[1]) == 5) {
  1229. BillDry billClean1 = (BillDry) entity;
  1230. if (billClean.getVistitType() != 0) {
  1231. billClean1.setCarNum(billClean.getCarNum());
  1232. }
  1233. if (billClean.getVistitType() == 5) {
  1234. billClean1.setResource(billClean.getResource());
  1235. billClean1.setFeedImgUrl(billClean.getFeedImgUrl());
  1236. billClean1.setRemark(billClean.getRemark());
  1237. }
  1238. dryMapper.insert(billClean1);
  1239. //新增烘干
  1240. } else if (Integer.parseInt(splits[1]) == 6) {
  1241. //新增洗澡前拍照
  1242. BillCleanBefore before = (BillCleanBefore) entity;
  1243. if (billClean.getVistitType() != 0) {
  1244. before.setCarNum(billClean.getCarNum());
  1245. }
  1246. if (billClean.getVistitType() == 5) {
  1247. before.setResource(billClean.getResource());
  1248. before.setFeedImgUrl(billClean.getFeedImgUrl());
  1249. before.setRemark(billClean.getRemark());
  1250. }
  1251. beforeMapper.insert(before);
  1252. } else if (Integer.parseInt(splits[1]) == 7) {
  1253. //新增洗澡前拍照
  1254. BillGoodsInventory before = (BillGoodsInventory) entity;
  1255. if (billClean.getVistitType() != 0) {
  1256. before.setCarNum(billClean.getCarNum());
  1257. }
  1258. if (billClean.getVistitType() == 5) {
  1259. before.setResource(billClean.getResource());
  1260. before.setFeedImgUrl(billClean.getFeedImgUrl());
  1261. before.setRemark(billClean.getRemark());
  1262. }
  1263. inventoryMapper.insert(before);
  1264. }
  1265. baseProcess.setCurrentFlowId(baseProcess.getCurrentFlowId() + "," + nextId + "," + splits[1]);
  1266. Integer locationId = billClean.getTestLocationId();
  1267. String[] split2 = allLocationId.split(",");
  1268. int a=0;
  1269. for (int i = 0; i < split2.length; i++) {
  1270. if (locationId.toString().equals(split2[i])) {
  1271. a = i + 1;
  1272. }
  1273. }
  1274. int indexOf = 2 * (a - 2);//当前位置在所有流程位置中的下标
  1275. String substring = baseProcess.getAllLocationStatus().substring(0, indexOf + 3);//截取已经过的位置状态
  1276. String[] split1 = substring.split(",");
  1277. String sb2 = "";
  1278. for (int i = 0; i < split1.length; i++) {
  1279. if (i == split1.length - 1) {
  1280. sb2 = sb2 + split1[i].replaceAll(split1[i], "2");
  1281. } else {
  1282. sb2 = split1[i].replaceAll(split1[i], "2") + "," + sb2;
  1283. }
  1284. }
  1285. sb2 = sb2 + baseProcess.getAllLocationStatus().substring(indexOf + 3);
  1286. StringBuilder sb = new StringBuilder(sb2);
  1287. sb.replace(indexOf + 4, indexOf + 5, "2");
  1288. sb.replace(indexOf + 6, indexOf + 7, "1");
  1289. baseProcess.setAllLocationStatus(sb.toString());
  1290. }
  1291. } else if (nextId == 1) {
  1292. //新增采样
  1293. BillSampling billSampling = (BillSampling) newObject;
  1294. if (billClean.getVistitType() != 0) {
  1295. billSampling.setCarNum(billClean.getCarNum());
  1296. }
  1297. if (billClean.getVistitType() == 5) {
  1298. billSampling.setResource(billClean.getResource());
  1299. billSampling.setFeedImgUrl(billClean.getFeedImgUrl());
  1300. billSampling.setRemark(billClean.getRemark());
  1301. }
  1302. samplingMapper.insert(billSampling);
  1303. baseProcess.setCurrentFlowId(baseProcess.getCurrentFlowId() + "," + nextId);
  1304. } else if (nextId == 2) {
  1305. //新增pcr
  1306. BillPcr billClean1 = (BillPcr) newObject;
  1307. if (billClean.getVistitType() != 0) {
  1308. billClean1.setCarNum(billClean.getCarNum());
  1309. }
  1310. if (billClean.getVistitType() == 5) {
  1311. billClean1.setResource(billClean.getResource());
  1312. billClean1.setFeedImgUrl(billClean.getFeedImgUrl());
  1313. billClean1.setRemark(billClean.getRemark());
  1314. }
  1315. pcrMapper.insert(billClean1);
  1316. baseProcess.setCurrentFlowId(baseProcess.getCurrentFlowId() + "," + nextId);
  1317. } else if (nextId == 3) {
  1318. //新增洗澡
  1319. BillClean billClean2 = (BillClean) newObject;
  1320. if (billClean.getVistitType() != 0) {
  1321. billClean2.setCarNum(billClean.getCarNum());
  1322. }
  1323. if (billClean.getVistitType() == 5) {
  1324. billClean2.setResource(billClean.getResource());
  1325. billClean2.setFeedImgUrl(billClean.getFeedImgUrl());
  1326. billClean2.setRemark(billClean.getRemark());
  1327. }
  1328. cleanMapper.insert(billClean2);
  1329. baseProcess.setCurrentFlowId(baseProcess.getCurrentFlowId() + "," + nextId);
  1330. } else if (nextId == 4) {
  1331. //新增隔离
  1332. BillIsolate pcr = (BillIsolate) newObject;
  1333. if (billClean.getVistitType() != 0) {
  1334. pcr.setCarNum(billClean.getCarNum());
  1335. }
  1336. if (billClean.getVistitType() == 5) {
  1337. pcr.setResource(billClean.getResource());
  1338. pcr.setFeedImgUrl(billClean.getFeedImgUrl());
  1339. pcr.setRemark(billClean.getRemark());
  1340. }
  1341. isolateMapper.insert(pcr);
  1342. baseProcess.setCurrentFlowId(baseProcess.getCurrentFlowId() + "," + nextId);
  1343. } else if (nextId == 5) {
  1344. BillDry billClean2 = (BillDry) newObject;
  1345. if (billClean.getVistitType() != 0) {
  1346. billClean2.setCarNum(billClean.getCarNum());
  1347. }
  1348. if (billClean.getVistitType() == 5) {
  1349. billClean2.setResource(billClean.getResource());
  1350. billClean2.setFeedImgUrl(billClean.getFeedImgUrl());
  1351. billClean2.setRemark(billClean.getRemark());
  1352. }
  1353. dryMapper.insert(billClean2);
  1354. baseProcess.setCurrentFlowId(baseProcess.getCurrentFlowId() + "," + nextId);
  1355. //新增烘干
  1356. } else if (nextId == 6) {
  1357. //新增洗澡前拍照
  1358. BillCleanBefore before = (BillCleanBefore) newObject;
  1359. if (billClean.getVistitType() != 0) {
  1360. before.setCarNum(billClean.getCarNum());
  1361. }
  1362. if (billClean.getVistitType() == 5) {
  1363. before.setResource(billClean.getResource());
  1364. before.setFeedImgUrl(billClean.getFeedImgUrl());
  1365. before.setRemark(billClean.getRemark());
  1366. }
  1367. beforeMapper.insert(before);
  1368. baseProcess.setCurrentFlowId(baseProcess.getCurrentFlowId() + "," + nextId);
  1369. } else if (nextId == 7) {
  1370. //新增洗澡前拍照
  1371. BillGoodsInventory before = (BillGoodsInventory) 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. }
  1380. inventoryMapper.insert(before);
  1381. baseProcess.setCurrentFlowId(baseProcess.getCurrentFlowId() + "," + nextId);
  1382. }
  1383. baseProcess.setUpdateDate(baseProcess.getUpdateDate() + "," + sdf.format(new Date()));
  1384. baseProcess.setCurrentLocation(baseProcess.getCurrentLocation() + "," + baseLocation.getLocationName());
  1385. baseProcess.setCurrentLocationId(baseProcess.getCurrentLocationId() + "," + baseLocation.getId());
  1386. String status = baseProcess.getCurrentStatus();
  1387. String substring = status.substring(0, status.length() - 1);
  1388. baseProcess.setCurrentStatus(substring + "1," + 0);
  1389. processMapper.updateById(baseProcess);
  1390. } else {
  1391. billClean.setImgStatus(1);
  1392. billClean.setImgUrl(s);
  1393. billClean.setBillStatus(2);
  1394. billClean.setPassUserName(TokenSign.getUserNameByJwtToken(httpServletRequest));
  1395. billClean.setPassUserId(TokenSign.getMemberIdByJwtToken(httpServletRequest));
  1396. billClean.setTestLocation(baseLocation.getLocationName());
  1397. billClean.setTestLocationId(baseLocation.getId());
  1398. billClean.setCheckDate(sdf.parse(date));
  1399. billClean.setPassDate(sdf.parse(sdf.format(new Date())));
  1400. billClean.setDryTime("10");
  1401. billClean.setDryTem("70");
  1402. dryMapper.updateById(billClean);
  1403. baseProcess.setProcessType(2);
  1404. baseProcess.setUpdateDate(baseProcess.getUpdateDate() + "," + sdf.format(new Date()));
  1405. baseProcess.setCurrentLocation(baseProcess.getCurrentLocation());
  1406. baseProcess.setCurrentLocationId(baseProcess.getCurrentLocationId());
  1407. String status = baseProcess.getCurrentStatus();
  1408. String substring = status.substring(0, status.length() - 1);
  1409. baseProcess.setCurrentStatus(substring + "2");
  1410. int i = allLocationId.indexOf(billClean.getTestLocationId().toString());
  1411. String status1 = baseProcess.getAllLocationStatus();
  1412. StringBuilder sb = new StringBuilder(status1);
  1413. sb.setCharAt(i, '3');
  1414. baseProcess.setAllLocationStatus(sb.toString());
  1415. processMapper.updateById(baseProcess);
  1416. }
  1417. return new Result(10000, "修改成功!", true);
  1418. }
  1419. }
  1420. }
  1421. @Override
  1422. public Result listCount(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
  1423. String farmId = paramsMap.get("farmId");
  1424. Date timesmorning = DataUill.getTimesmorning();
  1425. QueryWrapper<BillClean> queryWrapper = new QueryWrapper<>();
  1426. queryWrapper.eq("farm_id", farmId).ge("sub_date", timesmorning);
  1427. queryWrapper.eq("bill_status", 1);
  1428. Integer count = billCleanMapper.selectCount(queryWrapper);//合格
  1429. QueryWrapper<BillClean> queryWrapper1 = new QueryWrapper<>();
  1430. queryWrapper1.eq("farm_id", farmId).ge("sub_date", timesmorning);
  1431. queryWrapper1.eq("bill_status", 2);
  1432. Integer count1 = billCleanMapper.selectCount(queryWrapper1);//异常
  1433. Integer allCount = count + count1;
  1434. DecimalFormat def = new DecimalFormat("0.00");
  1435. String rank;
  1436. if (allCount == 0 || allCount == null) {
  1437. Double ranks = Double.valueOf("0.00");
  1438. rank = ranks.toString();
  1439. } else {
  1440. Double ranks = (Double.valueOf(count.toString()) / Double.valueOf(allCount.toString())) * 100;
  1441. rank = def.format(ranks);
  1442. }
  1443. JSONObject jsonObject = new JSONObject();
  1444. jsonObject.put("count", allCount);
  1445. jsonObject.put("count1", count);
  1446. jsonObject.put("count2", count1);
  1447. jsonObject.put("rank", rank);
  1448. return new Result(ResultCode.SUCCESS, jsonObject);
  1449. }
  1450. @Override
  1451. public Result AllClean(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
  1452. String farmId = paramsMap.get("farmId");
  1453. String personType = paramsMap.get("personType");
  1454. String type = paramsMap.get("type");
  1455. if ("".equals(type) || null == type) {
  1456. type = "1";
  1457. }
  1458. List<CleanVo> pcrVos = null;
  1459. QueryWrapper<BillClean> queryWrapper = new QueryWrapper<>();
  1460. queryWrapper.eq("farm_id", farmId).in("bill_status", 1, 2);
  1461. if ("".equals(personType) || null == personType) {
  1462. } else {
  1463. queryWrapper.eq("vistit_type", personType);
  1464. }
  1465. if ("1".equals(type)) {
  1466. Date timesmorning = DataUill.getTimesmorning();
  1467. queryWrapper.ge("sub_date", timesmorning);
  1468. } else if ("2".equals(type)) {
  1469. Calendar calendar = Calendar.getInstance();
  1470. calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) - 7);
  1471. queryWrapper.ge("sub_date", calendar.getTime());
  1472. } else if ("3".equals(type)) {
  1473. Date monthmorning = DataUill.getTimesMonthmorning();
  1474. queryWrapper.ge("sub_date", monthmorning);
  1475. }
  1476. pcrVos = billCleanMapper.listAll(queryWrapper);
  1477. for (CleanVo pcrVo : pcrVos) {
  1478. pcrVo.setAllCount(pcrVo.getPassCount() + pcrVo.getRefuseCount());
  1479. }
  1480. return new Result(ResultCode.SUCCESS, pcrVos);
  1481. }
  1482. @Override
  1483. public Result CleanSelect(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
  1484. String farmId = paramsMap.get("farmId");
  1485. String type = paramsMap.get("type");//来访类型
  1486. String startTime = paramsMap.get("startTime");
  1487. String endTime = paramsMap.get("endTime");
  1488. String pageNum = paramsMap.get("pageNum");
  1489. String pageSize = paramsMap.get("pageSize");
  1490. if ("".equals(pageNum) || null == pageNum) {
  1491. pageNum = "1";
  1492. }
  1493. if ("".equals(pageSize) || null == pageSize) {
  1494. pageSize = "10";
  1495. }
  1496. QueryWrapper<BillClean> queryWrapper = new QueryWrapper<>();
  1497. if (ObjectUtil.isNotEmpty(startTime)) {
  1498. startTime = startTime + " 00:00:00";
  1499. endTime = endTime + " 23:59:59";
  1500. queryWrapper.between("check_date", startTime, endTime);
  1501. }
  1502. queryWrapper.lambda().orderByDesc(BillClean::getId);
  1503. queryWrapper.eq("farm_id", farmId);
  1504. if ("".equals(type) || null == type) {
  1505. } else {
  1506. queryWrapper.eq("vistit_type", type);
  1507. }
  1508. Page<BillClean> page = new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
  1509. return new Result(ResultCode.SUCCESS, billCleanMapper.selectPage(page, queryWrapper));
  1510. }
  1511. @Override
  1512. public void printClean(HttpServletResponse httpServletRequest, Map<String, String> paramsMap) throws Exception {
  1513. String ids = paramsMap.get("ids");
  1514. String[] split = ids.split(",");
  1515. List<BillClean> list = new ArrayList<>();
  1516. for (String s : split) {
  1517. BillClean admission = billCleanMapper.selectById(s);
  1518. list.add(admission);
  1519. }
  1520. Print.printClean(list);
  1521. }
  1522. @Override
  1523. public Result listScreen(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
  1524. String farmId = paramsMap.get("farmId");
  1525. String type = paramsMap.get("type");
  1526. if ("".equals(type) || null == type) {
  1527. type = "1";
  1528. }
  1529. QueryWrapper<BillClean> queryWrapper = new QueryWrapper<>();
  1530. queryWrapper.orderByDesc("pass_date");
  1531. if ("21".equals(farmId)) {
  1532. queryWrapper.eq("farm_id", 26);
  1533. }else {
  1534. queryWrapper.eq("farm_id", farmId);
  1535. }
  1536. if (type.equals("1")) {
  1537. queryWrapper.eq("vistit_type", 0).ne("bill_status", 0);
  1538. } else {
  1539. queryWrapper.ne("vistit_type", 0).ne("bill_status", 0);
  1540. }
  1541. return new Result(ResultCode.SUCCESS, billCleanMapper.selectList(queryWrapper));
  1542. }
  1543. }