QpQualificationApplyController.java 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562
  1. package com.zd.airbottle.controller;
  2. import com.zd.airbottle.domain.QpFlowDetail;
  3. import com.zd.airbottle.domain.QpQualificationApply;
  4. import com.zd.airbottle.domain.QpQualificationApplyRecord;
  5. import com.zd.airbottle.domain.vo.*;
  6. import com.zd.airbottle.service.*;
  7. import com.zd.common.core.domain.R;
  8. import com.zd.common.core.exception.ServiceException;
  9. import com.zd.common.core.utils.poi.ExcelUtil;
  10. import com.zd.common.core.web.controller.BaseController;
  11. import com.zd.common.core.web.domain.AjaxResult;
  12. import com.zd.common.core.web.page.TableDataInfo;
  13. import com.zd.common.log.annotation.Log;
  14. import com.zd.common.log.enums.BusinessType;
  15. import com.zd.common.response.ResultData;
  16. import com.zd.common.security.service.TokenService;
  17. import com.zd.system.api.domain.SysUser;
  18. import com.zd.system.api.laboratory.RemoteLaboratoryService;
  19. import com.zd.system.api.message.RemoteMessageService;
  20. import io.swagger.annotations.Api;
  21. import io.swagger.annotations.ApiOperation;
  22. import org.springframework.beans.factory.annotation.Autowired;
  23. import org.springframework.web.bind.annotation.*;
  24. import javax.servlet.http.HttpServletResponse;
  25. import java.io.IOException;
  26. import java.text.SimpleDateFormat;
  27. import java.time.LocalDate;
  28. import java.util.*;
  29. import java.util.stream.Collectors;
  30. /**
  31. * 用气资格申请Controller
  32. *
  33. * @author zd
  34. * @date 2022-05-10
  35. */
  36. @RestController
  37. @Api(tags = "【用气资格申请】")
  38. //作者手动加入 ,在接口上加作者@ApiOperationSupport(author = "XXX")
  39. //@ApiSupport(author = Knife4jConfiguration.Author.)
  40. @RequestMapping("/qualificationApply")
  41. public class QpQualificationApplyController extends BaseController
  42. {
  43. @Autowired
  44. private IQpQualificationApplyService qpQualificationApplyService;
  45. @Autowired
  46. private IQpQualificationApplyDetailService qpQualificationApplyDetailService;
  47. @Autowired
  48. private IQpAirBottleService qpAirBottleService;
  49. @Autowired
  50. private IQpQualificationApplyRecordService qpQualificationApplyRecordService;
  51. @Autowired
  52. private TokenService tokenService;
  53. @Autowired
  54. private IQpTaskService qpTaskService;
  55. @Autowired
  56. private IQpUsegasApplyService qpUsegasApplyService;
  57. @Autowired
  58. private IQpAirGoodsConfigService qpAirGoodsConfigService;
  59. @Autowired
  60. private IQpFlowDetailService qpFlowDetailService;
  61. @Autowired
  62. private RemoteLaboratoryService remoteLaboratoryService;
  63. @Autowired
  64. private RemoteMessageService remoteMessageService;
  65. /**
  66. * 查询资格申请列表
  67. */
  68. //@PreAuthorize(hasPermi = "airbottle:apply:list")
  69. //@PreAuthorize(hasPermi = PerPrefix.AIRBOTTLE_QUALIFICATIONAPPLY+ PerFun.LIST)
  70. @GetMapping("/list")
  71. @ApiOperation(value = "查询资格申请列表")
  72. public TableDataInfo<QpQualificationApplyVO> list(QpQualificationApplyVO qpQualificationApply)
  73. {
  74. //获取当前登录用户信息
  75. SysUser sysUser = tokenService.getLoginUser().getSysUser();
  76. qpQualificationApply.setUserId(sysUser.getUserId());//当前登陆人申请数据
  77. startPage();
  78. List<QpQualificationApplyVO> list = qpQualificationApplyService.selectQpQualificationApplyList(qpQualificationApply);
  79. return getDataTable(list);
  80. }
  81. /***
  82. * 资格审核列表
  83. * @param applyVO
  84. * @return
  85. */
  86. //@PreAuthorize(hasPermi = PerPrefix.AIRBOTTLE_QUALIFICATIONAPPLYMANAGE+ "auditList")
  87. @GetMapping("/auditList")
  88. @ApiOperation(value = "用气资格管理列表")
  89. public TableDataInfo<QpQualificationApplyVO> auditList(QpQualificationApplyVO applyVO)
  90. {
  91. //获取当前登录用户信息
  92. SysUser sysUser = tokenService.getLoginUser().getSysUser();
  93. Map map = new HashMap();
  94. String type="lead";
  95. //查询当前用户负责的实验室集合
  96. /*map.put("userId",sysUser.getUserId());
  97. R<Object> sub = remoteLaboratoryService.mySubjectList(map);
  98. List<Map> listSub = (List<Map>) sub.getData();*/
  99. List<Map<String, Object>> listSubject = qpQualificationApplyService.selectMySubject(sysUser.getUserId());
  100. List<Long> subIds = Optional.ofNullable(listSubject).orElseGet(Collections::emptyList).stream()
  101. .map(a->(Long.parseLong(a.get("id")+""))).collect(Collectors.toList());
  102. if(subIds.size()>0){
  103. applyVO.setIds(subIds);
  104. }
  105. //登陆人是否有实验中心资格审核权限-用气
  106. QpFlowDetail zgCheck = qpFlowDetailService.selectYqCenterByUserIdIs(sysUser.getUserId());
  107. if(zgCheck!=null){
  108. applyVO.setZgBoolean(true);
  109. applyVO.setYqBoolean(true);
  110. applyVO.setIds(null);
  111. //applyVO.setDeptId(sysUser.getDeptId());
  112. type="center";
  113. }else{
  114. applyVO.setZgBoolean(false);
  115. applyVO.setYqBoolean(false);
  116. }
  117. startPage();
  118. List<QpQualificationApplyVO> list = qpQualificationApplyService.selectQpApplyListManageApp(applyVO);
  119. for (int i=0;i<list.size();i++){
  120. if("lead".equals(type)){
  121. //实验室负责人
  122. if(list.get(i).getLeadAuditStatus()==0){
  123. list.get(i).setAuditStatus(0);//待审核
  124. }else if(list.get(i).getLeadAuditStatus()==1){
  125. list.get(i).setAuditStatus(1);//通过
  126. }else if(list.get(i).getLeadAuditStatus()==2 ){
  127. list.get(i).setAuditStatus(2);//驳回
  128. }
  129. }else if("center".equals(type)){
  130. //实验中心
  131. if(list.get(i).getCenterAuditStatus()==0){
  132. list.get(i).setAuditStatus(0);//待审核
  133. }else if(list.get(i).getCenterAuditStatus()==1){
  134. list.get(i).setAuditStatus(1);//通过
  135. }else if(list.get(i).getCenterAuditStatus()==2 ){
  136. list.get(i).setAuditStatus(2);//驳回
  137. }
  138. }
  139. }
  140. return getDataTable(list);
  141. }
  142. //@PreAuthorize(hasPermi = "airbottle:apply:list")
  143. //@PreAuthorize(hasPermi = PerPrefix.AIRBOTTLE_QUALIFICATIONAPPLY+ PerFun.LIST)
  144. @GetMapping("/qualificationList")
  145. @ApiOperation(value = "查询当前用户申请的资格实验室")
  146. public TableDataInfo<QpQualificationApplyVO> qualificationList()
  147. {
  148. //获取当前登录用户信息
  149. SysUser sysUser = tokenService.getLoginUser().getSysUser();
  150. QpQualificationApplyVO qpQualificationApply = new QpQualificationApplyVO();
  151. qpQualificationApply.setUserId(sysUser.getUserId());//当前登陆人申请数据
  152. qpQualificationApply.setLeadAuditStatus(2);
  153. qpQualificationApply.setCenterAuditStatus(2);
  154. List<QpQualificationApplyVO> list = qpQualificationApplyService.selectQpQualificationApplyList(qpQualificationApply);
  155. return getDataTable(list);
  156. }
  157. /**
  158. * 导出资格申请列表
  159. */
  160. @ApiOperation(value = "导出资格申请列表")
  161. //@PreAuthorize(hasPermi = "airbottle:apply:export")
  162. //@PreAuthorize(hasPermi = PerPrefix.AIRBOTTLE_QUALIFICATIONAPPLY+ PerFun.EXPORT)
  163. @Log(title = "资格申请", businessType = BusinessType.EXPORT)
  164. @PostMapping("/export")
  165. public void export(HttpServletResponse response, QpQualificationApplyVO qpQualificationApply) throws IOException
  166. {
  167. //获取当前登录用户信息
  168. //SysUser sysUser = tokenService.getLoginUser().getSysUser();
  169. //qpQualificationApply.setApplyUserid(sysUser.getUserId());//当前登陆人申请数据
  170. qpQualificationApply.setCenterAuditStatus(1);//审核通过的数据
  171. qpQualificationApply.setRemark("100");
  172. List<QpQualificationApplyVO> list = qpQualificationApplyService.selectQpQualificationApplyList(qpQualificationApply);
  173. List<QpQualificationApplyExcelVo> listExcel = new ArrayList<>();
  174. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  175. for (QpQualificationApplyVO applyVO:list) {
  176. QpQualificationApplyExcelVo excelVo = new QpQualificationApplyExcelVo();
  177. excelVo.setApplyUser(applyVO.getApplyUser());//申请人
  178. excelVo.setPhone(applyVO.getPhone());//电话
  179. //excelVo.setLocation(applyVO.getRoom()+"("+applyVO.getLocation()+")");//实验地点
  180. excelVo.setLocation(applyVO.getLocation());//实验地点
  181. excelVo.setBottleNumber(applyVO.getBottleNumber());//气瓶数量
  182. excelVo.setStrTime(sdf.format(applyVO.getStartTime())+"~"+ sdf.format(applyVO.getEndTime()));//使用期限
  183. listExcel.add(excelVo);
  184. }
  185. LocalDate nowDate = LocalDate.now();
  186. ExcelUtil<QpQualificationApplyExcelVo> util = new ExcelUtil<>(QpQualificationApplyExcelVo.class);
  187. util.exportExcel(response, listExcel, "资格数据", null, "资格信息导出表"+nowDate);
  188. }
  189. /**
  190. * 获取资格申请详细信息
  191. */
  192. @ApiOperation(value = "获取资格申请详细信息")
  193. // @PreAuthorize(hasPermi = "airbottle:apply:query")
  194. //@PreAuthorize(hasPermi = PerPrefix.AIRBOTTLE_QUALIFICATIONAPPLY+ PerFun.QUERY)
  195. @GetMapping(value = "/{id}")
  196. public ResultData<QpQualificationApply> getInfo(@PathVariable("id") Long id)
  197. {
  198. return ResultData.success(qpQualificationApplyService.selectQpQualificationApplyById(id));
  199. }
  200. /**
  201. * 获取资格申请详细信息
  202. */
  203. @ApiOperation(value = "获取资格申请详细信息")
  204. //@PreAuthorize(hasPermi = "airbottle:apply:query")
  205. //@PreAuthorize(hasPermi = PerPrefix.AIRBOTTLE_QUALIFICATIONAPPLY+ PerFun.QUERY)
  206. @GetMapping("/getById")
  207. public AjaxResult getById( Long id)
  208. {
  209. Map<String,Object> map = new HashMap<>();
  210. //申请单详情
  211. QpQualificationApply qpQualificationApply =qpQualificationApplyService.selectQpQualificationApplyById(id);
  212. map.put("apply",qpQualificationApply);
  213. //申请气瓶详情
  214. /*QpQualificationApplyDetailVO detailVO = new QpQualificationApplyDetailVO();
  215. detailVO.setQualificateApplyId(qpQualificationApply.getId());
  216. List<QpQualificationApplyDetailVO> airBottlelist = qpQualificationApplyDetailService.selectQpQualificationApplyDetailListRelation(detailVO);
  217. */
  218. List<QpAirGoodsConfigRelationVo> airBottlelist = qpQualificationApplyDetailService.selectQpQualificationApplyDetailListRelation(qpQualificationApply.getId());
  219. map.put("airBottlelist",airBottlelist);
  220. //审核记录
  221. QpQualificationApplyRecord auditlog = new QpQualificationApplyRecord();
  222. auditlog.setQualificationApplyId(id);
  223. List<QpQualificationApplyRecord> auditlist= qpQualificationApplyRecordService.selectQpQualificationApplyRecordList(auditlog);
  224. map.put("auditlist",auditlist);
  225. return AjaxResult.success(map);
  226. }
  227. /**
  228. * 获取资格申请详细信息-根据id查询
  229. */
  230. @ApiOperation(value = "获取资格申请详细信息-根据id查询")
  231. //@PreAuthorize(hasPermi = "airbottle:apply:query")
  232. //@PreAuthorize(hasPermi = PerPrefix.AIRBOTTLE_QUALIFICATIONAPPLY+ PerFun.QUERY)
  233. @GetMapping("/getDetails")
  234. public AjaxResult getDetails( Long id)
  235. {
  236. //获取当前登录用户信息
  237. SysUser sysUser = tokenService.getLoginUser().getSysUser();
  238. Map<String,Object> map = new HashMap<>();
  239. //申请单详情
  240. QpQualificationApplyVO qpQualificationApply =qpQualificationApplyService.selectQpQualificationApplyById(id);
  241. map.put("apply",qpQualificationApply);
  242. boolean isAdmin =false;//是否实验室负责人
  243. boolean audit = false;//是否有审核资格
  244. //判断当前的登录用户是否该实验室负责人
  245. if(sysUser.getUserId().equals(qpQualificationApply.getAdminId()) ) {
  246. isAdmin=true;
  247. }
  248. //待审核或者驳回
  249. if(0 == qpQualificationApply.getLeadAuditStatus() || 2 == qpQualificationApply.getLeadAuditStatus()){
  250. //查询是否有审核资格
  251. /*QpFlowDetailVO qpFlowDetail = new QpFlowDetailVO();
  252. qpFlowDetail.setUserType(1L);//1实验室 2实验中心
  253. qpFlowDetail.setUserIds(sysUser.getUserId());//登录人id
  254. qpFlowDetail.setFlowType(1);//资格申请
  255. List<QpFlowDetailVO> flowDetailList = qpFlowDetailService.selectQpFlowDetailList(qpFlowDetail);
  256. if(flowDetailList.size()>0){
  257. audit=true;
  258. }*/
  259. if(sysUser.getUserId().equals(qpQualificationApply.getAdminId()) ) {
  260. audit=true;
  261. }
  262. }else if(1 == qpQualificationApply.getLeadAuditStatus()){
  263. //查询登录用户是否有实验中心审核资格
  264. QpFlowDetailVO qpFlowDetail = new QpFlowDetailVO();
  265. //qpFlowDetail.setUserType(2L);//1实验室 2实验中心
  266. qpFlowDetail.setUserId(sysUser.getUserId());//登录人id
  267. //qpFlowDetail.setFlowType(1);//资格申请
  268. List<QpFlowDetailVO> flowDetailList = qpFlowDetailService.selectQpFlowDetailList(qpFlowDetail);
  269. if(flowDetailList.size()>0){
  270. audit=true;
  271. }
  272. }
  273. map.put("isAdmin",isAdmin);
  274. map.put("audit",audit);
  275. //申请气瓶详情
  276. /*QpQualificationApplyDetailVO detailVO = new QpQualificationApplyDetailVO();
  277. detailVO.setQualificateApplyId(qpQualificationApply.getId());
  278. List<QpQualificationApplyDetailVO> airBottlelist = qpQualificationApplyDetailService.selectQpQualificationApplyDetailListRelation(detailVO);
  279. */
  280. List<QpAirGoodsConfigRelationVo> airBottlelist = qpQualificationApplyDetailService.selectQpQualificationApplyDetailListRelation(qpQualificationApply.getId());
  281. map.put("airBottlelist",airBottlelist);
  282. //审核记录
  283. QpQualificationApplyRecord auditlog = new QpQualificationApplyRecord();
  284. auditlog.setQualificationApplyId(id);
  285. List<QpQualificationApplyRecord> auditlist= qpQualificationApplyRecordService.selectQpQualificationApplyRecordList(auditlog);
  286. map.put("auditlist",auditlist);
  287. return AjaxResult.success(map);
  288. }
  289. /**
  290. * 新增资格申请
  291. */
  292. @ApiOperation(value = "新增资格申请")
  293. // @PreAuthorize(hasPermi = "airbottle:apply:add")
  294. @Log(title = "资格申请", businessType = BusinessType.INSERT)
  295. //@PreAuthorize(hasPermi = PerPrefix.AIRBOTTLE_QUALIFICATIONAPPLY+ PerFun.ADD)
  296. @PostMapping
  297. public ResultData<Boolean> add(@RequestBody QpQualificationApplyVO qpQualificationApplyVo)
  298. {
  299. return ResultData.result(qpQualificationApplyService.insertQpQualificationApply(qpQualificationApplyVo));
  300. }
  301. @ApiOperation(value = "新增资格重新申请")
  302. // @PreAuthorize(hasPermi = "airbottle:apply:add")
  303. @Log(title = "资格重新申请", businessType = BusinessType.INSERT)
  304. //@PreAuthorize(hasPermi = PerPrefix.AIRBOTTLE_QUALIFICATIONAPPLY+ PerFun.ADD)
  305. @PostMapping("/reapply")
  306. public ResultData<Boolean> reapply(@RequestBody QpQualificationApply qpQualificationApply)
  307. {
  308. return ResultData.result(qpQualificationApplyService.updateQpQualificationApplyRepeat(qpQualificationApply));
  309. }
  310. /**
  311. * 修改资格申请
  312. */
  313. @ApiOperation(value = "修改资格申请")
  314. // @PreAuthorize(hasPermi = "airbottle:apply:edit")
  315. //@PreAuthorize(hasPermi = PerPrefix.AIRBOTTLE_QUALIFICATIONAPPLY+ PerFun.EDIT)
  316. @Log(title = "资格申请", businessType = BusinessType.UPDATE)
  317. @PutMapping
  318. public ResultData<Boolean> edit(@RequestBody QpQualificationApply qpQualificationApply)
  319. {
  320. return ResultData.result(qpQualificationApplyService.updateQpQualificationApply(qpQualificationApply));
  321. }
  322. /**
  323. * 实验中心审核
  324. */
  325. @ApiOperation(value = "实验中心审核")
  326. // @PreAuthorize(hasPermi = "airbottle:apply:centerexamine")
  327. //@PreAuthorize(hasPermi = PerPrefix.AIRBOTTLE_QUALIFICATIONAPPLY+ "centerexamine")
  328. @Log(title = "实验中心审核", businessType = BusinessType.UPDATE)
  329. @PostMapping("/centerExamine")
  330. public ResultData<Boolean> centerExamine(@RequestBody QpQualificationApply qpQualificationApply)
  331. {
  332. //获取当前登录用户信息
  333. SysUser sysUser = tokenService.getLoginUser().getSysUser();
  334. //审核表数据录入
  335. QpQualificationApplyRecord record = new QpQualificationApplyRecord();
  336. record.setAuditUser(sysUser.getNickName());
  337. record.setAuditUserid(sysUser.getUserId());
  338. record.setAuditTime(new Date());
  339. record.setAuditStatus(qpQualificationApply.getCenterAuditStatus());
  340. record.setRemark(qpQualificationApply.getCenterAuditCause());
  341. record.setQualificationApplyId(qpQualificationApply.getId());
  342. record.setAuditType(2L);
  343. qpQualificationApplyRecordService.insertQpQualificationApplyRecord(record);
  344. qpQualificationApply.setCenterAuditUserid(sysUser.getUserId());
  345. qpQualificationApply.setCenterAuditUsername(sysUser.getNickName());
  346. qpQualificationApply.setCenterAuditTime(new Date());
  347. //消息发送
  348. QpQualificationApplyVO qualificationApply = qpQualificationApplyService.selectQpQualificationApplyById(qpQualificationApply.getId());
  349. /*checkType "审核类型 1:资格申请 2:用气申请"),
  350. checkStatus "审核状态 1:通过 2:已驳回"),
  351. checkTime "审核时间")*/
  352. remoteMessageService.check(qualificationApply.getUserId(),1,qpQualificationApply.getCenterAuditStatus(),new Date(),qualificationApply.getId());
  353. return ResultData.result(qpQualificationApplyService.updateQpQualificationApply(qpQualificationApply));
  354. }
  355. /**
  356. * 实验室负责人审核
  357. */
  358. @ApiOperation(value = "实验室负责人审核")
  359. // @PreAuthorize(hasPermi = "airbottle:apply:leadexamine")
  360. //@PreAuthorize(hasPermi = PerPrefix.AIRBOTTLE_QUALIFICATIONAPPLY+ "leadexamine")
  361. @Log(title = "实验室负责人审核", businessType = BusinessType.UPDATE)
  362. @PostMapping("/leadExamine")
  363. public ResultData<Boolean> leadExamine(@RequestBody QpQualificationApply qpQualificationApply)
  364. {
  365. //获取当前登录用户信息
  366. SysUser sysUser = tokenService.getLoginUser().getSysUser();
  367. //审核表数据录入
  368. QpQualificationApplyRecord record = new QpQualificationApplyRecord();
  369. record.setAuditUser(sysUser.getNickName());
  370. record.setAuditUserid(sysUser.getUserId());
  371. record.setAuditTime(new Date());
  372. record.setAuditStatus(qpQualificationApply.getLeadAuditStatus());
  373. record.setRemark(qpQualificationApply.getLeadAuditCause());
  374. record.setQualificationApplyId(qpQualificationApply.getId());
  375. record.setAuditType(1L);
  376. qpQualificationApplyRecordService.insertQpQualificationApplyRecord(record);
  377. qpQualificationApply.setLeadAuditUserid(sysUser.getUserId());
  378. qpQualificationApply.setLeadAuditUsername(sysUser.getNickName());
  379. qpQualificationApply.setLeadAuditTime(new Date());
  380. if(2==qpQualificationApply.getLeadAuditStatus()){
  381. //实验室审核驳回时 消息发送
  382. QpQualificationApplyVO qualificationApply = qpQualificationApplyService.selectQpQualificationApplyById(qpQualificationApply.getId());
  383. /*checkType "审核类型 1:资格申请 2:用气申请"),
  384. checkStatus "审核状态 1:通过 2:已驳回"),
  385. checkTime "审核时间")*/
  386. remoteMessageService.check(qualificationApply.getUserId(),1,2,new Date(),qualificationApply.getId());
  387. }
  388. return ResultData.result(qpQualificationApplyService.updateQpQualificationApply(qpQualificationApply));
  389. }
  390. /**
  391. * 删除资格申请
  392. */
  393. @ApiOperation(value = "删除资格申请")
  394. // @PreAuthorize(hasPermi = "airbottle:apply:remove")
  395. // @PreAuthorize(hasPermi = PerPrefix.AIRBOTTLE_QUALIFICATIONAPPLY+ PerFun.REMOVE)
  396. @Log(title = "资格申请", businessType = BusinessType.DELETE)
  397. @DeleteMapping("/{ids}")
  398. public ResultData<Boolean> remove(@PathVariable Long[] ids)
  399. {
  400. return ResultData.result(qpQualificationApplyService.deleteQpQualificationApplyByIds(ids));
  401. }
  402. /**
  403. * 获取当前登录用户信息
  404. */
  405. @ApiOperation(value = "获取资格申请详细信息")
  406. @GetMapping("/getLoginUser")
  407. public ResultData<SysUser> getLoginUser()
  408. {
  409. //获取当前登录用户信息
  410. SysUser sysUser = tokenService.getLoginUser().getSysUser();
  411. return ResultData.success(sysUser);
  412. }
  413. /***
  414. * 查询所有供应商气瓶信息
  415. * @param relationVo
  416. * @return
  417. */
  418. @GetMapping("/listAllGoods")
  419. @ApiOperation(value = "查询资格申请气瓶列表")
  420. public TableDataInfo<QpAirGoodsConfigRelationVo> listAllGoods(QpAirGoodsConfigRelationVo relationVo)
  421. {
  422. startPage();
  423. List<QpAirGoodsConfigRelationVo> list = qpAirGoodsConfigService.selectQpAirGoodsConfigRelationList(relationVo);
  424. return getDataTable(list);
  425. }
  426. /***
  427. * 获取当前登录用户的申请总数
  428. * @return
  429. */
  430. @ApiOperation(value = "获取当前登录用户的申请总数")
  431. //@PreAuthorize(hasPermi = "airbottle:apply:query")
  432. //@PreAuthorize(hasPermi = PerPrefix.AIRBOTTLE_QUALIFICATIONAPPLY+ PerFun.QUERY)
  433. @GetMapping("/getUserApplyCount")
  434. public AjaxResult getUserApplyCount( )
  435. {
  436. Map<String,Object> map = new HashMap<>();
  437. //获取当前登录用户信息
  438. SysUser sysUser = tokenService.getLoginUser().getSysUser();
  439. map.put("sysUser",sysUser);
  440. int zgCount=0;//资格申请总数
  441. int yqCount=0;//用气申请总数
  442. int userApplyNumberZg=0;//资格申请通过数
  443. int userApplyNumberYq=0;//用气申请总数
  444. //查询当前用户资格申请总数
  445. QpQualificationApplyVO applyVO = new QpQualificationApplyVO();
  446. applyVO.setUserId(sysUser.getUserId());
  447. List<QpQualificationApplyVO> list = qpQualificationApplyService.selectApplyListCount(applyVO);
  448. for (QpQualificationApplyVO applyvo:list) {
  449. userApplyNumberZg++;
  450. }
  451. if(list.size()>0){
  452. zgCount=list.size();
  453. }
  454. //查询是否有用气资格
  455. QpUsegasApplyVO usegasApply = new QpUsegasApplyVO();
  456. usegasApply.setUserId(sysUser.getUserId());
  457. List<QpUsegasApplyVO> usegasList= qpUsegasApplyService.selectQpUsegasApplyList(usegasApply);
  458. for (QpUsegasApplyVO useApplyvo:usegasList) {
  459. userApplyNumberYq++;
  460. }
  461. if(usegasList.size()>0){
  462. yqCount=usegasList.size();
  463. }
  464. map.put("userApplyNumberYq",userApplyNumberYq);
  465. map.put("userApplyNumberZg",userApplyNumberZg);
  466. map.put("yqCount",yqCount);
  467. map.put("zgCount",zgCount);
  468. return AjaxResult.success(map);
  469. }
  470. /***
  471. * 查询申请的实验室是否有准入资格
  472. * @param subjectId
  473. * @return
  474. */
  475. @ApiOperation(value = "查询申请的实验室是否有准入资格")
  476. @GetMapping("/applyCheck")
  477. public AjaxResult applyCheck(Long subjectId)
  478. {
  479. Map<String,Object> map = new HashMap<>();
  480. SysUser sysUser = tokenService.getLoginUser().getSysUser();
  481. Integer count=0;
  482. map.put("userId",sysUser.getUserId());
  483. if("22".equals(sysUser.getUserType())){
  484. //学生
  485. map.put("subjectId",subjectId);
  486. count = Integer.valueOf(qpQualificationApplyService.checkStudentQualification(map)) ;
  487. map.put("count",count);
  488. }else if("11".equals(sysUser.getUserType())){
  489. //老师
  490. count = Integer.valueOf(qpQualificationApplyService.checkTeacherQualification(map));
  491. map.put("count",count);
  492. }else{
  493. throw new ServiceException("非老师和学生,暂无法申请!");
  494. }
  495. return AjaxResult.success(map);
  496. }
  497. }