赫艾后端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2541 lines
76 KiB

4 weeks ago
3 months ago
6 months ago
3 months ago
2 months ago
  1. package com.heai.modules.pms.controller;
  2. import com.heai.common.utils.PageUtils;
  3. import com.heai.common.utils.R;
  4. import com.heai.modules.base.entity.BuData;
  5. import com.heai.modules.oss.entity.SysOssEntity;
  6. import com.heai.modules.pms.data.*;
  7. import com.heai.modules.pms.entity.vo.CheckSubDetailValueVo;
  8. import com.heai.modules.pms.service.EamService;
  9. import com.heai.modules.pms.service.QcService;
  10. import com.heai.modules.pms.util.ResponseData;
  11. import com.heai.modules.sys.entity.SysRoleEntity;
  12. import com.heai.modules.sys.entity.SysSceneDynamicControlModelEntity;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.web.bind.annotation.*;
  15. import org.springframework.web.multipart.MultipartFile;
  16. import javax.servlet.http.HttpServletResponse;
  17. import java.io.BufferedInputStream;
  18. import java.io.File;
  19. import java.io.FileInputStream;
  20. import java.io.IOException;
  21. import java.io.OutputStream;
  22. import java.util.*;
  23. /**
  24. * @description: 质量管理控制层
  25. * @author: fengyuan_yang
  26. * @date: 2023/3/20 17:02
  27. **/
  28. @RestController
  29. @RequestMapping("/pms/qc")
  30. public class QcController {
  31. @Autowired
  32. private QcService qcService;
  33. @Autowired
  34. private EamService eamService;
  35. // ======================= 检验方法API =======================
  36. /**
  37. * @description: 条件查询检验方法
  38. * @author: fengyuan_yang
  39. * @date: 2023/3/24 11:28
  40. * @param: [data]
  41. * @return: java.util.Map<java.lang.String,java.lang.Object>
  42. **/
  43. @PostMapping("/qcMethodSearch")
  44. public R qcMethodSearch(@RequestBody QcMethodData data){
  45. PageUtils page = qcService.qcMethodSearch(data);
  46. return R.ok().put("page", page);
  47. }
  48. /**
  49. * @description: 新增检验方法
  50. * @author: fengyuan_yang
  51. * @date: 2023/3/24 11:30
  52. * @param: [data]
  53. * @return: com.heai.modules.pms.util.ResponseData
  54. **/
  55. @PostMapping(value="/qcMethodSave")
  56. public R qcMethodSave (@RequestBody QcMethodData data) {
  57. qcService.qcMethodSave(data);
  58. return R.ok();
  59. }
  60. /**
  61. * @description: 修改检验方法
  62. * @author: fengyuan_yang
  63. * @date: 2023/3/24 11:31
  64. * @param: [data]
  65. * @return: com.heai.modules.pms.util.ResponseData
  66. **/
  67. @PostMapping(value="/qcMethodUpdate")
  68. public R qcMethodUpdate(@RequestBody QcMethodData data){
  69. qcService.qcMethodUpdate(data);
  70. return R.ok();
  71. }
  72. /**
  73. * @description: 删除检验方法
  74. * @author: fengyuan_yang
  75. * @date: 2023/3/24 11:32
  76. * @param: [data]
  77. * @return: com.heai.modules.pms.util.ResponseData
  78. **/
  79. @PostMapping(value="/qcMethodDelete")
  80. @ResponseBody
  81. public R qcMethodDelete(@RequestBody QcMethodData data){
  82. qcService.qcMethodDelete(data);
  83. return R.ok();
  84. }
  85. // ======================= 检验项目API =======================
  86. /**
  87. * @description: 查询检验项目
  88. * @author: fengyuan_yang
  89. * @date: 2023/3/20 17:03
  90. * @param: [data]
  91. * @return: java.lang.Object
  92. **/
  93. @PostMapping(value="/qcItemSearch")
  94. public R qcItemSearch(@RequestBody QcItemData data){
  95. PageUtils page = qcService.qcItemSearch(data);
  96. return R.ok().put("page", page);
  97. }
  98. /**
  99. * @description: 新增检验项目
  100. * @author: fengyuan_yang
  101. * @date: 2023/3/20 21:46
  102. * @param: [data]
  103. * @return: java.lang.Object
  104. **/
  105. @PostMapping(value="/qcItemSave")
  106. public R qcItemSave(@RequestBody QcItemData data){
  107. qcService.qcItemSave(data);
  108. return R.ok();
  109. }
  110. /**
  111. * @description: 修改检验项目
  112. * @author: fengyuan_yang
  113. * @date: 2023/3/20 22:27
  114. * @param: [data]
  115. * @return: java.lang.Object
  116. **/
  117. @PostMapping(value="/qcItemUpdate")
  118. @ResponseBody
  119. public R qcItemUpdate(@RequestBody QcItemData data){
  120. qcService.qcItemUpdate(data);
  121. return R.ok();
  122. }
  123. /**
  124. * @description: 删除检验项目
  125. * @author: fengyuan_yang
  126. * @date: 2023/3/20 23:12
  127. * @param: [data]
  128. * @return: java.lang.Object
  129. **/
  130. @PostMapping(value="/qcItemDelete")
  131. @ResponseBody
  132. public R qcItemDelete(@RequestBody QcItemData data){
  133. qcService.qcItemDelete(data);
  134. return R.ok();
  135. }
  136. /**
  137. * @description: 检验项目导入
  138. * @author: fengyuan_yang
  139. * @date: 2023/4/15 12:58
  140. * @param: [file]
  141. * @return: com.heai.common.utils.R
  142. **/
  143. @PostMapping("/uploadExcel")
  144. public R taskUploadExcel(@RequestParam(value = "file") MultipartFile file, @ModelAttribute GetParamInData data){
  145. qcService.taskUploadExcel(file, data);
  146. return R.ok();
  147. }
  148. // ======================= 根据物料设置检验模板API =======================
  149. /**
  150. * @description: 快速获取模板列表
  151. * @author: fengyuan_yang
  152. * @date: 2023/3/30 11:29
  153. * @param: [inData]
  154. * @return: com.heai.common.utils.R
  155. **/
  156. @PostMapping("/getItemLists")
  157. public R getItemLists(@RequestBody QcTemplateData data){
  158. // 可选模板
  159. List<QcTemplateData> row1 = qcService.getTemplateList(data);
  160. // 已有模板
  161. List<QcTemplateData> row2 = qcService.getPartTemplateList(data);
  162. return R.ok().put("row1", row1).put("row2", row2);
  163. }
  164. /**
  165. * @description: 物料属性设置模板新增
  166. * @author: fengyuan_yang
  167. * @date: 2023/7/9 22:55
  168. * @param: [data]
  169. * @return: com.heai.common.utils.R
  170. **/
  171. @PostMapping("/getPartTemplateLists")
  172. public R getPartTemplateLists(@RequestBody QcTemplateData data){
  173. // 可选模板
  174. List<QcTemplateData> row1 = qcService.getTemplateListAll(data);
  175. // 已有模板
  176. List<QcTemplateData> row2 = qcService.getPartTemplateList(data);
  177. return R.ok().put("row1", row1).put("row2", row2);
  178. }
  179. // ======================= 质检员信息维护API =======================
  180. /**
  181. * @description: 查询质检员信息列表
  182. * @author: fengyuan_yang
  183. * @date: 2023/3/31 8:48
  184. * @param: [data]
  185. * @return: com.heai.common.utils.R
  186. **/
  187. @PostMapping(value="/inspectorSearch")
  188. public R inspectorSearch(){
  189. List<QcInspectorData> list = qcService.inspectorSearch();
  190. return R.ok().put("rows", list);
  191. }
  192. /**
  193. * @description: 新增质检员信息
  194. * @author: fengyuan_yang
  195. * @date: 2023/3/31 8:59
  196. * @param: [data]
  197. * @return: com.heai.common.utils.R
  198. **/
  199. @PostMapping("/inspectorSave")
  200. public ResponseData inspectorSave(@RequestBody QcInspectorData data){
  201. ResponseData responseData = new ResponseData();
  202. try {
  203. responseData = qcService.inspectorSave(data);
  204. } catch (Exception e) {
  205. responseData.setCode("400");
  206. responseData.setMsg(e.getMessage());
  207. }
  208. return responseData;
  209. }
  210. /**
  211. * @description: 修改质检员信息
  212. * @author: fengyuan_yang
  213. * @date: 2023/3/31 9:03
  214. * @param: [data]
  215. * @return: com.heai.common.utils.R
  216. **/
  217. @PostMapping("/inspectorUpdate")
  218. public ResponseData inspectorUpdate(@RequestBody QcInspectorData data){
  219. ResponseData responseData = new ResponseData();
  220. try {
  221. responseData = qcService.inspectorUpdate(data);
  222. } catch (Exception e) {
  223. responseData.setCode("400");
  224. responseData.setMsg(e.getMessage());
  225. }
  226. return responseData;
  227. }
  228. /**
  229. * @description: 删除质检员信息
  230. * @author: fengyuan_yang
  231. * @date: 2023/3/31 9:07
  232. * @param: [data]
  233. * @return: com.heai.common.utils.R
  234. **/
  235. @PostMapping("/inspectorDelete")
  236. public ResponseData inspectorDelete(@RequestBody QcInspectorData data){
  237. ResponseData responseData = new ResponseData();
  238. try {
  239. responseData = qcService.inspectorDelete(data);
  240. } catch (Exception e) {
  241. responseData.setCode("400");
  242. responseData.setMsg(e.getMessage());
  243. }
  244. return responseData;
  245. }
  246. // ======================= 样本量字码矩阵维护API =======================
  247. /**
  248. * @description: 查询抽检方案
  249. * @author: fengyuan_yang
  250. * @date: 2023/4/7 16:14
  251. * @param: [data]
  252. * @return: com.heai.common.utils.R
  253. **/
  254. @PostMapping(value="/samplingInspectionPlanSearch")
  255. public R samplingInspectionPlanSearch(@RequestBody QcSamplingInspectionPlanData data){
  256. PageUtils page = qcService.samplingInspectionPlanSearch(data);
  257. return R.ok().put("page", page);
  258. }
  259. /**
  260. * @description: 新增抽样方案
  261. * @author: fengyuan_yang
  262. * @date: 2023/4/10 9:48
  263. * @param: [data]
  264. * @return: com.heai.common.utils.R
  265. **/
  266. @PostMapping(value="/samplingInspectionPlanSave")
  267. public R samplingInspectionPlanSave(@RequestBody QcSamplingInspectionPlanData data){
  268. qcService.samplingInspectionPlanSave(data);
  269. return R.ok();
  270. }
  271. /**
  272. * @description: 修改抽样方案
  273. * @author: fengyuan_yang
  274. * @date: 2023/4/10 12:58
  275. * @param: [data]
  276. * @return: com.heai.common.utils.R
  277. **/
  278. @PostMapping(value="/samplingInspectionPlanUpdate")
  279. public R samplingInspectionPlanUpdate(@RequestBody QcSamplingInspectionPlanData data){
  280. qcService.samplingInspectionPlanUpdate(data);
  281. return R.ok();
  282. }
  283. /**
  284. * @description: 删除抽样方案
  285. * @author: fengyuan_yang
  286. * @date: 2023/4/10 13:02
  287. * @param: [data]
  288. * @return: com.heai.common.utils.R
  289. **/
  290. @PostMapping(value="/samplingInspectionPlanDelete")
  291. public R samplingInspectionPlanDelete(@RequestBody QcSamplingInspectionPlanData data){
  292. qcService.samplingInspectionPlanDelete(data);
  293. return R.ok();
  294. }
  295. // ======================= 检验模板API =======================
  296. /**
  297. * @description: 查询模板
  298. * @author: fengyuan_yang
  299. * @date: 2023/4/10 15:55
  300. * @param: [data]
  301. * @return: com.heai.common.utils.R
  302. **/
  303. @PostMapping(value="/templateSearch")
  304. public R templateSearch(@RequestBody QcTemplateData data){
  305. PageUtils page = qcService.templateSearch(data);
  306. return R.ok().put("page", page);
  307. }
  308. /**
  309. * @description: 新增模板
  310. * @author: fengyuan_yang
  311. * @date: 2023/4/10 17:12
  312. * @param: [data]
  313. * @return: com.heai.common.utils.R
  314. **/
  315. @PostMapping(value="/templateSave")
  316. public R templateSave(@RequestBody QcTemplateData data){
  317. qcService.templateSave(data);
  318. return R.ok();
  319. }
  320. /**
  321. * @description: 修改模板
  322. * @author: fengyuan_yang
  323. * @date: 2023/4/10 17:38
  324. * @param: [data]
  325. * @return: com.heai.common.utils.R
  326. **/
  327. @PostMapping(value="/templateUpdate")
  328. public R templateUpdate(@RequestBody QcTemplateData data){
  329. qcService.templateUpdate(data);
  330. return R.ok();
  331. }
  332. /**
  333. * @description: 删除模板
  334. * @author: fengyuan_yang
  335. * @date: 2023/4/12 14:27
  336. * @param: [data]
  337. * @return: com.heai.common.utils.R
  338. **/
  339. @PostMapping(value="/templateDelete")
  340. public R templateDelete(@RequestBody QcTemplateData data){
  341. qcService.templateDelete(data);
  342. return R.ok();
  343. }
  344. /**
  345. * @description: 搜索所有检验类型
  346. * @author: fengyuan_yang
  347. * @date: 2023/4/18 17:09
  348. * @param: []
  349. * @return: com.heai.common.utils.R
  350. **/
  351. @PostMapping(value="/inspectionTypeSearch")
  352. public R inspectionTypeSearch(@RequestBody QcInspectionTypeData data){
  353. List<QcInspectionTypeData> list = qcService.inspectionTypeSearch(data);
  354. return R.ok().put("rows", list);
  355. }
  356. /**
  357. * @description: 搜索所有设备
  358. * @author: fengyuan_yang
  359. * @date: 2023/4/19 14:35
  360. * @param: []
  361. * @return: com.heai.common.utils.R
  362. **/
  363. @PostMapping(value="/objectSearch")
  364. public R objectSearch (@RequestBody EamObjectData data) {
  365. List<EamObjectData> list = qcService.objectSearch(data);
  366. return R.ok().put("rows", list);
  367. }
  368. /**
  369. * @description: 查询项目列表
  370. * @author: fengyuan_yang
  371. * @date: 2023/4/11 9:39
  372. * @param: [data]
  373. * @return: com.heai.common.utils.R
  374. **/
  375. @PostMapping(value="/templateDetailsSearch")
  376. public R templateDetailsSearch(@RequestBody QcTemplateData data){
  377. List<QcTemplateData> list = qcService.templateDetailsSearch(data);
  378. return R.ok().put("rows", list);
  379. }
  380. /**
  381. * @description: 新增模板的检验项目
  382. * @author: fengyuan_yang
  383. * @date: 2023/4/11 10:04
  384. * @param: [data]
  385. * @return: com.heai.common.utils.R
  386. **/
  387. @PostMapping("/addItemDetails")
  388. public R addItemDetails(@RequestBody QcTemplateData data){
  389. qcService.addItemDetails(data);
  390. return R.ok();
  391. }
  392. /**
  393. * @description: 快速新增
  394. * @author: fengyuan_yang
  395. * @date: 2023/4/12 13:45
  396. * @param: [inData]
  397. * @return: com.heai.common.utils.R
  398. **/
  399. @PostMapping("/getItemList")
  400. public R getItemList(@RequestBody QcTemplateData data){
  401. // 获取当前项目不包含的明细
  402. List<QcTemplateData> row1 = qcService.getItemList(data);
  403. // 获取当前项目所包含的明细
  404. List<QcTemplateData> row2 = qcService.templateDetailsSearch(data);
  405. return R.ok().put("row1", row1).put("row2", row2);
  406. }
  407. /**
  408. * @description: 查询项目
  409. * @author: fengyuan_yang
  410. * @date: 2023/11/19 13:03
  411. * @param: [data]
  412. * @return: com.heai.common.utils.R
  413. **/
  414. @PostMapping("/getItem")
  415. public R getItem(@RequestBody QcTemplateData data){
  416. List<QcTemplateData> rows = qcService.getItem(data);
  417. return R.ok().put("rows", rows);
  418. }
  419. /**
  420. * @description: 删除模板的检验项目
  421. * @author: fengyuan_yang
  422. * @date: 2023/4/11 10:57
  423. * @param: [inData]
  424. * @return: com.heai.common.utils.R
  425. **/
  426. @PostMapping("/delItemDetails")
  427. public R delItemDetails(@RequestBody QcTemplateData data){
  428. qcService.delItemDetails(data);
  429. return R.ok();
  430. }
  431. /**
  432. * @description: 新增项目明细的最大最小值
  433. * @author: fengyuan_yang
  434. * @date: 2023/4/16 17:26
  435. * @param: [data]
  436. * @return: com.heai.common.utils.R
  437. **/
  438. @PostMapping("/saveItemDetailed")
  439. public R saveItemDetailed(@RequestBody QcTemplateData data){
  440. qcService.saveItemDetailed(data);
  441. return R.ok();
  442. }
  443. /**
  444. * @description: 检验模板导入
  445. * @author: fengyuan_yang
  446. * @date: 2023/4/22 16:29
  447. * @param: [file]
  448. * @return: com.heai.common.utils.R
  449. **/
  450. @PostMapping("/uploadTemplateExcel")
  451. public R uploadTemplateExcel(@RequestParam(value = "file") MultipartFile file, @ModelAttribute GetParamInData data){
  452. qcService.uploadTemplateExcel(file, data);
  453. return R.ok();
  454. }
  455. // ======================= 样本量API =======================
  456. /**
  457. * @description: 查询样本量
  458. * @author: fengyuan_yang
  459. * @date: 2023/4/17 10:48
  460. * @param: [data]
  461. * @return: com.heai.common.utils.R
  462. **/
  463. @PostMapping("/samplingQtySearch")
  464. public R samplingQtySearch(@RequestBody QcSamplingInspectionQtyData data){
  465. PageUtils page = qcService.samplingQtySearch(data);
  466. return R.ok().put("page", page);
  467. }
  468. /**
  469. * @description: 新增样本量
  470. * @author: fengyuan_yang
  471. * @date: 2023/4/17 11:24
  472. * @param: [data]
  473. * @return: com.heai.common.utils.R
  474. **/
  475. @PostMapping("/samplingQtySave")
  476. public R samplingQtySave(@RequestBody QcSamplingInspectionQtyData data){
  477. qcService.samplingQtySave(data);
  478. return R.ok();
  479. }
  480. /**
  481. * @description: 修改样本量
  482. * @author: fengyuan_yang
  483. * @date: 2023/4/17 13:01
  484. * @param: [data]
  485. * @return: com.heai.common.utils.R
  486. **/
  487. @PostMapping("/samplingQtyUpdate")
  488. public R samplingQtyUpdate(@RequestBody QcSamplingInspectionQtyData data){
  489. qcService.samplingQtyUpdate(data);
  490. return R.ok();
  491. }
  492. /**
  493. * @description: 删除样本量
  494. * @author: fengyuan_yang
  495. * @date: 2023/4/17 13:22
  496. * @param: [data]
  497. * @return: com.heai.common.utils.R
  498. **/
  499. @PostMapping("/samplingQtyDelete")
  500. public R samplingQtyDelete(@RequestBody QcSamplingInspectionQtyData data){
  501. qcService.samplingQtyDelete(data);
  502. return R.ok();
  503. }
  504. // ======================= 批量级次API =======================
  505. /**
  506. * @description: 查询批量级次
  507. * @author: fengyuan_yang
  508. * @date: 2023/4/17 13:38
  509. * @param: [data]
  510. * @return: com.heai.common.utils.R
  511. **/
  512. @PostMapping("/samplingQtyRankSearch")
  513. public R samplingQtyRankSearch(@RequestBody QcSamplingInspectionQtyRankData data){
  514. PageUtils page = qcService.samplingQtyRankSearch(data);
  515. return R.ok().put("page", page);
  516. }
  517. /**
  518. * @description: 新增批量级次
  519. * @author: fengyuan_yang
  520. * @date: 2023/4/17 11:24
  521. * @param: [data]
  522. * @return: com.heai.common.utils.R
  523. **/
  524. @PostMapping("/samplingQtyRankSave")
  525. public R samplingQtyRankSave(@RequestBody QcSamplingInspectionQtyRankData data){
  526. qcService.samplingQtyRankSave(data);
  527. return R.ok();
  528. }
  529. /**
  530. * @description: 修改批量级次
  531. * @author: fengyuan_yang
  532. * @date: 2023/4/17 13:01
  533. * @param: [data]
  534. * @return: com.heai.common.utils.R
  535. **/
  536. @PostMapping("/samplingQtyRankUpdate")
  537. public R samplingQtyRankUpdate(@RequestBody QcSamplingInspectionQtyRankData data){
  538. qcService.samplingQtyRankUpdate(data);
  539. return R.ok();
  540. }
  541. /**
  542. * @description: 删除批量级次
  543. * @author: fengyuan_yang
  544. * @date: 2023/4/17 13:22
  545. * @param: [data]
  546. * @return: com.heai.common.utils.R
  547. **/
  548. @PostMapping("/samplingQtyRankDelete")
  549. public R samplingQtyRankDelete(@RequestBody QcSamplingInspectionQtyRankData data){
  550. qcService.samplingQtyRankDelete(data);
  551. return R.ok();
  552. }
  553. // ======================= 检验等级API =======================
  554. /**
  555. * @description: 查询检验等级
  556. * @author: fengyuan_yang
  557. * @date: 2023/4/17 13:38
  558. * @param: [data]
  559. * @return: com.heai.common.utils.R
  560. **/
  561. @PostMapping("/samplingLevelSearch")
  562. public R samplingLevelSearch(@RequestBody QcSamplingInspectionLevelData data){
  563. PageUtils page = qcService.samplingLevelSearch(data);
  564. return R.ok().put("page", page);
  565. }
  566. /**
  567. * @description: 新增检验等级
  568. * @author: fengyuan_yang
  569. * @date: 2023/4/17 11:24
  570. * @param: [data]
  571. * @return: com.heai.common.utils.R
  572. **/
  573. @PostMapping("/samplingLevelSave")
  574. public R samplingLevelSave(@RequestBody QcSamplingInspectionLevelData data){
  575. qcService.samplingLevelSave(data);
  576. return R.ok();
  577. }
  578. /**
  579. * @description: 修改检验等级
  580. * @author: fengyuan_yang
  581. * @date: 2023/4/17 13:01
  582. * @param: [data]
  583. * @return: com.heai.common.utils.R
  584. **/
  585. @PostMapping("/samplingLevelUpdate")
  586. public R samplingLevelUpdate(@RequestBody QcSamplingInspectionLevelData data){
  587. qcService.samplingLevelUpdate(data);
  588. return R.ok();
  589. }
  590. /**
  591. * @description: 删除检验等级
  592. * @author: fengyuan_yang
  593. * @date: 2023/4/17 13:22
  594. * @param: [data]
  595. * @return: com.heai.common.utils.R
  596. **/
  597. @PostMapping("/samplingLevelDelete")
  598. public R samplingLevelDelete(@RequestBody QcSamplingInspectionLevelData data){
  599. qcService.samplingLevelDelete(data);
  600. return R.ok();
  601. }
  602. // ======================= 物料属性设置API =======================
  603. /**
  604. * @description: 查询物料属性
  605. * @author: fengyuan_yang
  606. * @date: 2023/4/19 11:42
  607. * @param: [data]
  608. * @return: com.heai.common.utils.R
  609. **/
  610. @PostMapping(value="/qcPartAttributeSearch")
  611. public R qcPartAttributeSearch(@RequestBody QcPartAttributeData data){
  612. PageUtils page = qcService.qcPartAttributeSearch(data);
  613. return R.ok().put("page", page);
  614. }
  615. /**
  616. * @description: 新增物料属性
  617. * @author: fengyuan_yang
  618. * @date: 2023/4/19 17:14
  619. * @param: [data]
  620. * @return: com.heai.common.utils.R
  621. **/
  622. @PostMapping("/qcPartAttributeSave")
  623. public R qcPartAttributeSave(@RequestBody QcPartAttributeData data){
  624. qcService.qcPartAttributeSave(data);
  625. return R.ok();
  626. }
  627. /**
  628. * @description: 物料属性修改
  629. * @author: fengyuan_yang
  630. * @date: 2023/10/27 13:25
  631. * @param: [data]
  632. * @return: com.heai.common.utils.R
  633. **/
  634. @PostMapping("/overLoadSearchPartInfo")
  635. public R overLoadSearchPartInfo(@RequestBody QcPartAttributeData data){
  636. PageUtils page = qcService.qcPartAttributeSearch(data);
  637. return R.ok().put("list", page.getList());
  638. }
  639. /**
  640. * @description: 物料属性修改
  641. * @author: fengyuan_yang
  642. * @date: 2023/10/27 13:25
  643. * @param: [data]
  644. * @return: com.heai.common.utils.R
  645. **/
  646. @PostMapping("/qcPartAttributeEdit")
  647. public R qcPartAttributeEdit(@RequestBody QcPartAttributeData data){
  648. qcService.qcPartAttributeEdit(data);
  649. return R.ok();
  650. }
  651. /**
  652. * @description: 删除物料属性
  653. * @author: fengyuan_yang
  654. * @date: 2023/4/20 16:42
  655. * @param: [data]
  656. * @return: com.heai.common.utils.R
  657. **/
  658. @PostMapping("/qcPartAttributeDelete")
  659. public R qcPartAttributeDelete(@RequestBody QcPartAttributeData data){
  660. qcService.qcPartAttributeDelete(data);
  661. return R.ok();
  662. }
  663. /**
  664. * @description: 查询物料模板
  665. * @author: fengyuan_yang
  666. * @date: 2023/4/19 17:50
  667. * @param: [data]
  668. * @return: com.heai.common.utils.R
  669. **/
  670. @PostMapping("/searchPartAttributeDetails")
  671. public R searchPartAttributeDetails(@RequestBody QcTemplateData data){
  672. List<QcTemplateData> list = qcService.searchPartAttributeDetails(data);
  673. return R.ok().put("rows", list).put("total", list.size());
  674. }
  675. /**
  676. * @description: 新增物料属性模板
  677. * @author: fengyuan_yang
  678. * @date: 2023/4/20 9:33
  679. * @param: [data]
  680. * @return: com.heai.common.utils.R
  681. **/
  682. @PostMapping("/savePartAttributeDetails")
  683. public R savePartAttributeDetails(@RequestBody QcTemplateData data){
  684. qcService.savePartAttributeDetails(data);
  685. return R.ok();
  686. }
  687. /**
  688. * 根据检验模板检验项目同步到物料属性检验标准qc_part_attr_detailed
  689. */
  690. @PostMapping("/syncPartAttrDetailedFromTemplate")
  691. public R syncPartAttrDetailedFromTemplate(@RequestBody QcTemplateData data) {
  692. qcService.syncPartAttrDetailedFromTemplate(data);
  693. return R.ok();
  694. }
  695. /**
  696. * @description: 删除物料属性模板
  697. * @author: fengyuan_yang
  698. * @date: 2023/4/20 13:10
  699. * @param: [data]
  700. * @return: com.heai.common.utils.R
  701. **/
  702. @PostMapping("/deletePartAttributeDetails")
  703. public R deletePartAttributeDetails(@RequestBody QcTemplateData data){
  704. qcService.deletePartAttributeDetails(data);
  705. return R.ok();
  706. }
  707. /**
  708. * @description: 新增物料属性模板详情
  709. * @author: fengyuan_yang
  710. * @date: 2023/4/20 15:32
  711. * @param: [data]
  712. * @return: com.heai.common.utils.R
  713. **/
  714. @PostMapping("/saveAttributeDetailed")
  715. public R saveAttributeDetailed(@RequestBody QcTemplateData data){
  716. qcService.saveAttributeDetailed(data);
  717. return R.ok();
  718. }
  719. /**
  720. * 物料属性-检验标准明细qc_part_attr_detailed
  721. */
  722. @PostMapping("/partAttrDetailedSearch")
  723. public R partAttrDetailedSearch(@RequestBody QcTemplateData data) {
  724. List<QcTemplateData> list = qcService.partAttrDetailedSearch(data);
  725. return R.ok().put("rows", list);
  726. }
  727. @PostMapping("/getPartAttrItemList")
  728. public R getPartAttrItemList(@RequestBody QcTemplateData data) {
  729. List<QcTemplateData> row1 = qcService.getPartAttrItemList(data);
  730. List<QcTemplateData> row2 = qcService.partAttrDetailedSearch(data);
  731. return R.ok().put("row1", row1).put("row2", row2);
  732. }
  733. @PostMapping("/getPartAttrItem")
  734. public R getPartAttrItem(@RequestBody QcTemplateData data) {
  735. List<QcTemplateData> rows = qcService.getPartAttrItem(data);
  736. return R.ok().put("rows", rows);
  737. }
  738. @PostMapping("/addPartAttrItemDetails")
  739. public R addPartAttrItemDetails(@RequestBody QcTemplateData data) {
  740. qcService.addPartAttrItemDetails(data);
  741. return R.ok();
  742. }
  743. @PostMapping("/delPartAttrItemDetails")
  744. public R delPartAttrItemDetails(@RequestBody QcTemplateData data) {
  745. qcService.delPartAttrItemDetails(data);
  746. return R.ok();
  747. }
  748. @PostMapping("/savePartAttrDetailed")
  749. public R savePartAttrDetailed(@RequestBody QcTemplateData data) {
  750. qcService.savePartAttrDetailed(data);
  751. return R.ok();
  752. }
  753. @PostMapping("/goUpPartAttrItem")
  754. public R goUpPartAttrItem(@RequestBody QcTemplateData data) {
  755. qcService.goUpPartAttrItem(data);
  756. return R.ok();
  757. }
  758. @PostMapping("/goDownPartAttrItem")
  759. public R goDownPartAttrItem(@RequestBody QcTemplateData data) {
  760. qcService.goDownPartAttrItem(data);
  761. return R.ok();
  762. }
  763. /**
  764. * @description: 物料属性导入
  765. * @author: fengyuan_yang
  766. * @date: 2023/4/23 11:33
  767. * @param: [file]
  768. * @return: com.heai.common.utils.R
  769. **/
  770. @PostMapping("/uploadPartAttributeExcel")
  771. public R uploadPartAttributeExcel(@RequestParam(value = "file") MultipartFile file, @ModelAttribute GetParamInData data){
  772. qcService.uploadPartAttributeExcel(file, data);
  773. return R.ok();
  774. }
  775. // ======================= IPQC 巡检特殊配置(按工序) =======================
  776. @PostMapping("/getPatrolConfigList")
  777. public R getPatrolConfigList(@RequestBody Map<String, String> params) {
  778. List<Map<String, Object>> list = qcService.getPatrolConfigList(params);
  779. return R.ok().put("rows", list);
  780. }
  781. @PostMapping("/savePatrolConfig")
  782. public R savePatrolConfig(@RequestBody Map<String, Object> data) {
  783. qcService.savePatrolConfig(data);
  784. return R.ok();
  785. }
  786. @PostMapping("/updatePatrolConfig")
  787. public R updatePatrolConfig(@RequestBody Map<String, Object> data) {
  788. qcService.updatePatrolConfig(data);
  789. return R.ok();
  790. }
  791. @PostMapping("/deletePatrolConfig")
  792. public R deletePatrolConfig(@RequestBody Map<String, Object> params) {
  793. qcService.deletePatrolConfig(params);
  794. return R.ok();
  795. }
  796. @PostMapping("/getPatrolOperationDescList")
  797. public R getPatrolOperationDescList(@RequestBody Map<String, String> params) {
  798. List<String> list = qcService.getPatrolOperationDescList(params);
  799. return R.ok().put("rows", list);
  800. }
  801. @PostMapping("/patrolConfigUpload")
  802. public R patrolConfigUpload(@RequestParam(value = "file") MultipartFile file, @ModelAttribute GetParamInData data) {
  803. qcService.patrolConfigUpload(file, data);
  804. return R.ok().put("msg", "导入成功");
  805. }
  806. // ======================= 分类属性设置API =======================
  807. /**
  808. * @description: 查询类别属性
  809. * @author: fengyuan_yang
  810. * @date: 2023/4/21 9:08
  811. * @param: [data]
  812. * @return: com.heai.common.utils.R
  813. **/
  814. @PostMapping(value="/qcFamilyAttributeSearch")
  815. public R qcFamilyAttributeSearch(@RequestBody QcPartAttributeData data){
  816. PageUtils page = qcService.qcFamilyAttributeSearch(data);
  817. return R.ok().put("page", page);
  818. }
  819. /**
  820. * @description: 新增类别属性
  821. * @author: fengyuan_yang
  822. * @date: 2023/4/21 9:29
  823. * @param: [data]
  824. * @return: com.heai.common.utils.R
  825. **/
  826. @PostMapping("/qcFamilyAttributeSave")
  827. public R qcFamilyAttributeSave(@RequestBody QcPartAttributeData data){
  828. qcService.qcFamilyAttributeSave(data);
  829. return R.ok();
  830. }
  831. /**
  832. * @description: 删除类别属性
  833. * @author: fengyuan_yang
  834. * @date: 2023/4/21 9:56
  835. * @param: [data]
  836. * @return: com.heai.common.utils.R
  837. **/
  838. @PostMapping("/qcFamilyAttributeDelete")
  839. public R qcFamilyAttributeDelete(@RequestBody QcPartAttributeData data){
  840. qcService.qcFamilyAttributeDelete(data);
  841. return R.ok();
  842. }
  843. /**
  844. * @description: 类别属性导入
  845. * @author: fengyuan_yang
  846. * @date: 2023/4/23 15:58
  847. * @param: [file]
  848. * @return: com.heai.common.utils.R
  849. **/
  850. @PostMapping("/uploadFamilyAttributeExcel")
  851. public R uploadFamilyAttributeExcel(@RequestParam(value = "file") MultipartFile file, @ModelAttribute GetParamInData data){
  852. qcService.uploadFamilyAttributeExcel(file, data);
  853. return R.ok();
  854. }
  855. // ======================= 抽样方案API =======================
  856. /**
  857. * @description: 查询抽样方案
  858. * @author: fengyuan_yang
  859. * @date: 2023/4/21 13:32
  860. * @param: [data]
  861. * @return: com.heai.common.utils.R
  862. **/
  863. @PostMapping(value="/samplingProgrammeSearch")
  864. public R samplingProgrammeSearch(@RequestBody QcSamplingInspectionProgrammeData data){
  865. PageUtils page = qcService.samplingProgrammeSearch(data);
  866. return R.ok().put("page", page);
  867. }
  868. /**
  869. * @description: 新增抽样方案
  870. * @author: fengyuan_yang
  871. * @date: 2023/4/21 13:47
  872. * @param: [data]
  873. * @return: com.heai.common.utils.R
  874. **/
  875. @PostMapping("/samplingProgrammeSave")
  876. public R samplingProgrammeSave(@RequestBody QcSamplingInspectionProgrammeData data){
  877. qcService.samplingProgrammeSave(data);
  878. return R.ok();
  879. }
  880. /**
  881. * @description: 删除抽样方案
  882. * @author: fengyuan_yang
  883. * @date: 2023/4/23 8:58
  884. * @param: [data]
  885. * @return: com.heai.common.utils.R
  886. **/
  887. @PostMapping("/samplingProgrammeDelete")
  888. public R samplingProgrammeDelete(@RequestBody QcSamplingInspectionProgrammeData data){
  889. qcService.samplingProgrammeDelete(data);
  890. return R.ok();
  891. }
  892. /**
  893. * @description: 搜索抽样方案中的矩阵
  894. * @author: fengyuan_yang
  895. * @date: 2023/4/21 15:43
  896. * @param: [data]
  897. * @return: com.heai.common.utils.R
  898. **/
  899. @PostMapping("/searchSamplingProgrammeDetails")
  900. public R searchSamplingProgrammeDetails(@RequestBody QcSamplingInspectionProgrammeData data){
  901. List<QcSamplingInspectionProgrammeData> list = qcService.searchSamplingProgrammeDetails(data);
  902. return R.ok().put("rows", list);
  903. }
  904. /**
  905. * @description: 获取矩阵列表
  906. * @author: fengyuan_yang
  907. * @date: 2023/4/21 16:38
  908. * @param: [data]
  909. * @return: com.heai.common.utils.R
  910. **/
  911. @PostMapping("/getPlanLists")
  912. public R getPlanLists(@RequestBody QcSamplingInspectionProgrammeData data){
  913. // 获取该方案不包含的矩阵
  914. List<QcSamplingInspectionProgrammeData> row1 = qcService.getPlanList(data);
  915. // 获取当前方案所包含的矩阵
  916. List<QcSamplingInspectionProgrammeData> row2 = qcService.getProgrammePlanList(data);
  917. return R.ok().put("row1", row1).put("row2", row2);
  918. }
  919. /**
  920. * @description: 新增抽样方案中的矩阵
  921. * @author: fengyuan_yang
  922. * @date: 2023/4/21 17:41
  923. * @param: [data]
  924. * @return: com.heai.common.utils.R
  925. **/
  926. @PostMapping("/saveSamplingProgrammeDetails")
  927. public R saveSamplingProgrammeDetails(@RequestBody QcSamplingInspectionProgrammeData data){
  928. qcService.saveSamplingProgrammeDetails(data);
  929. return R.ok();
  930. }
  931. /**
  932. * @description: 删除抽样方案中的矩阵
  933. * @author: fengyuan_yang
  934. * @date: 2023/4/21 17:52
  935. * @param: [data]
  936. * @return: com.heai.common.utils.R
  937. **/
  938. @PostMapping("/deleteSamplingProgrammeDetails")
  939. public R deleteSamplingProgrammeDetails(@RequestBody QcSamplingInspectionProgrammeData data){
  940. qcService.deleteSamplingProgrammeDetails(data);
  941. return R.ok();
  942. }
  943. // ======================= FAI检验API =======================
  944. /**
  945. * @description: FAI记录查询
  946. * @author: fengyuan_yang
  947. * @date: 2023/4/24 10:10
  948. * @param: [data]
  949. * @return: com.heai.common.utils.R
  950. **/
  951. @PostMapping(value="/qcFAIInspectionSearch")
  952. public R qcFAIInspectionSearch(@RequestBody QcFAIRecordData data){
  953. PageUtils page = qcService.qcFAIInspectionSearch(data);
  954. return R.ok().put("page", page);
  955. }
  956. /**
  957. * @description: FAI明细记录查询
  958. * @author: fengyuan_yang
  959. * @date: 2023/4/25 9:16
  960. * @param: [data]
  961. * @return: com.heai.common.utils.R
  962. **/
  963. @PostMapping("/faiDetailSearch")
  964. public R faiDetailSearch(@RequestBody QcFAIRecordData data){
  965. List<QcFAIRecordData> list = qcService.faiDetailSearch(data);
  966. return R.ok().put("rows", list);
  967. }
  968. /**
  969. * @description: 保存FAI检验记录
  970. * @author: fengyuan_yang
  971. * @date: 2023/3/30 8:50
  972. * @param: [data]
  973. * @return: com.heai.common.utils.R
  974. **/
  975. @PostMapping("/saveFAIDetailedRecord")
  976. public R saveFAIDetailedRecord(@RequestBody QcFAIRecordData data){
  977. qcService.saveFAIDetailedRecord(data);
  978. return R.ok();
  979. }
  980. /**
  981. * @description: 删除FAI检验记录
  982. * @author: fengyuan_yang
  983. * @date: 2023/3/30 9:03
  984. * @param: [data]
  985. * @return: com.heai.common.utils.R
  986. **/
  987. @PostMapping("/faiRecordDelete")
  988. public R faiRecordDelete(@RequestBody QcFAIRecordData data){
  989. qcService.faiRecordDelete(data);
  990. return R.ok();
  991. }
  992. /**
  993. * @description: FAI审核
  994. * @author: fengyuan_yang
  995. * @date: 2023/3/31 17:17
  996. * @param: [data]
  997. * @return: com.heai.common.utils.R
  998. **/
  999. @PostMapping("/saveFAISubmitResult")
  1000. public R saveFAISubmitResult(@RequestBody QcFAIRecordData data){
  1001. qcService.saveFAISubmitResult(data);
  1002. return R.ok();
  1003. }
  1004. /**
  1005. * @description: 新增FAI子明细
  1006. * @author: fengyuan_yang
  1007. * @date: 2023/4/4 13:50
  1008. * @param: [data]
  1009. * @return: com.heai.common.utils.R
  1010. **/
  1011. @PostMapping("/saveFAISubDetailed")
  1012. public R saveFAISubDetailed(@RequestBody QcSubDetailInformationData data){
  1013. Integer count = qcService.saveFAISubDetailed(data);
  1014. return R.ok().put("count", count);
  1015. }
  1016. /**
  1017. * @description: 查询FAI子明细
  1018. * @author: fengyuan_yang
  1019. * @date: 2023/4/4 16:06
  1020. * @param: [data]
  1021. * @return: com.heai.common.utils.R
  1022. **/
  1023. @PostMapping("/selectFAISubDetailedRecord")
  1024. public R selectFAISubDetailedRecord(@RequestBody SubDetailValues data){
  1025. List<SubDetailValues> list = qcService.selectFAISubDetailedRecord(data);
  1026. return R.ok().put("rows", list);
  1027. }
  1028. /**
  1029. * @description: 检查FAI是否已提交
  1030. * @author: fengyuan_yang
  1031. * @date: 2023/4/5 9:50
  1032. * @param: [data]
  1033. * @return: com.heai.common.utils.R
  1034. **/
  1035. @PostMapping("/checkFAIIsSubmit")
  1036. public R checkFAIIsSubmit(@RequestBody SubDetailValues data){
  1037. Integer flag = qcService.checkFAIIsSubmit(data);
  1038. return R.ok().put("flag", flag);
  1039. }
  1040. /**
  1041. * @description: 检查FAI子明细中的实测值是否在规定范围
  1042. * @author: fengyuan_yang
  1043. * @date: 2023/4/6 16:13
  1044. * @param: [data]
  1045. * @return: com.heai.common.utils.R
  1046. **/
  1047. @PostMapping("/checkFAISubDetailValue")
  1048. public R checkFAISubDetailValue(@RequestBody CheckSubDetailValueVo data){
  1049. Integer flag = qcService.checkFAISubDetailValue(data);
  1050. return R.ok().put("flag", flag);
  1051. }
  1052. /**
  1053. * @description: 新增FAI检验
  1054. * @author: fengyuan_yang
  1055. * @date: 2023/9/18 10:03
  1056. * @param: [data]
  1057. * @return: com.heai.common.utils.R
  1058. **/
  1059. @PostMapping("/saveFAIInspection")
  1060. public R saveFAIInspection(@RequestBody QcFAIRecordData data){
  1061. qcService.saveFAIInspection(data);
  1062. return R.ok();
  1063. }
  1064. // ======================= FQC检验API =======================
  1065. /**
  1066. * @description: FQC记录查询
  1067. * @author: fengyuan_yang
  1068. * @date: 2023/9/18 11:32
  1069. * @param: [data]
  1070. * @return: com.heai.common.utils.R
  1071. **/
  1072. @PostMapping(value="/qcFQCInspectionSearch")
  1073. public R qcFQCInspectionSearch(@RequestBody QcFAIRecordData data){
  1074. PageUtils page = qcService.qcFQCInspectionSearch(data);
  1075. return R.ok().put("page", page);
  1076. }
  1077. /**
  1078. * @description: FQC记录新增
  1079. * @author: fengyuan_yang
  1080. * @date: 2023/9/18 11:34
  1081. * @param: [data]
  1082. * @return: com.heai.common.utils.R
  1083. **/
  1084. @PostMapping("/saveFQCInspection")
  1085. public R saveFQCInspection(@RequestBody QcFAIRecordData data){
  1086. qcService.saveFQCInspection(data);
  1087. return R.ok();
  1088. }
  1089. /**
  1090. * @description: FQC明细记录查询
  1091. * @author: fengyuan_yang
  1092. * @date: 2023/9/18 13:04
  1093. * @param: [data]
  1094. * @return: com.heai.common.utils.R
  1095. **/
  1096. @PostMapping("/fqcDetailSearch")
  1097. public R fqcDetailSearch(@RequestBody QcFAIRecordData data){
  1098. List<QcFAIRecordData> list = qcService.fqcDetailSearch(data);
  1099. return R.ok().put("rows", list);
  1100. }
  1101. /**
  1102. * @description: 删除FQC检验记录
  1103. * @author: fengyuan_yang
  1104. * @date: 2023/9/18 13:07
  1105. * @param: [data]
  1106. * @return: com.heai.common.utils.R
  1107. **/
  1108. @PostMapping("/fqcRecordDelete")
  1109. public R fqcRecordDelete(@RequestBody QcFAIRecordData data){
  1110. qcService.fqcRecordDelete(data);
  1111. return R.ok();
  1112. }
  1113. /**
  1114. * @description: 保存FQC检验记录
  1115. * @author: fengyuan_yang
  1116. * @date: 2023/9/18 13:12
  1117. * @param: [data]
  1118. * @return: com.heai.common.utils.R
  1119. **/
  1120. @PostMapping("/saveFQCDetailedRecord")
  1121. public R saveFQCDetailedRecord(@RequestBody QcFAIRecordData data){
  1122. qcService.saveFQCDetailedRecord(data);
  1123. return R.ok();
  1124. }
  1125. /**
  1126. * @description: FQC审核
  1127. * @author: fengyuan_yang
  1128. * @date: 2023/9/18 13:20
  1129. * @param: [data]
  1130. * @return: com.heai.common.utils.R
  1131. **/
  1132. @PostMapping("/saveFQCSubmitResult")
  1133. public R saveFQCSubmitResult(@RequestBody QcFAIRecordData data){
  1134. qcService.saveFQCSubmitResult(data);
  1135. return R.ok();
  1136. }
  1137. /**
  1138. * @description: 新增FQC子明细
  1139. * @author: fengyuan_yang
  1140. * @date: 2023/9/18 13:24
  1141. * @param: [data]
  1142. * @return: com.heai.common.utils.R
  1143. **/
  1144. @PostMapping("/saveFQCSubDetailed")
  1145. public R saveFQCSubDetailed(@RequestBody QcSubDetailInformationData data){
  1146. Integer count = qcService.saveFQCSubDetailed(data);
  1147. return R.ok().put("count", count);
  1148. }
  1149. /**
  1150. * @description: 查询FQC子明细
  1151. * @author: fengyuan_yang
  1152. * @date: 2023/9/18 13:28
  1153. * @param: [data]
  1154. * @return: com.heai.common.utils.R
  1155. **/
  1156. @PostMapping("/selectFQCSubDetailedRecord")
  1157. public R selectFQCSubDetailedRecord(@RequestBody SubDetailValues data){
  1158. List<SubDetailValues> list = qcService.selectFQCSubDetailedRecord(data);
  1159. return R.ok().put("rows", list);
  1160. }
  1161. /**
  1162. * @description: 检查是否已提交
  1163. * @author: fengyuan_yang
  1164. * @date: 2023/9/18 13:31
  1165. * @param: [data]
  1166. * @return: com.heai.common.utils.R
  1167. **/
  1168. @PostMapping("/checkFQCIsSubmit")
  1169. public R checkFQCIsSubmit(@RequestBody SubDetailValues data){
  1170. Integer flag = qcService.checkFQCIsSubmit(data);
  1171. return R.ok().put("flag", flag);
  1172. }
  1173. /**
  1174. * @description: 检查FQC子明细中的实测值是否在规定范围
  1175. * @author: fengyuan_yang
  1176. * @date: 2023/9/18 13:35
  1177. * @param: [data]
  1178. * @return: com.heai.common.utils.R
  1179. **/
  1180. @PostMapping("/checkFQCSubDetailValue")
  1181. public R checkFQCSubDetailValue(@RequestBody CheckSubDetailValueVo data){
  1182. Integer flag = qcService.checkFQCSubDetailValue(data);
  1183. return R.ok().put("flag", flag);
  1184. }
  1185. // ======================= IPQC检验API =======================
  1186. /**
  1187. * @description: IPQC记录查询
  1188. * @author: fengyuan_yang
  1189. * @date: 2023/4/24 10:10
  1190. * @param: [data]
  1191. * @return: com.heai.common.utils.R
  1192. **/
  1193. @PostMapping(value="/qcIPQCInspectionSearch")
  1194. public R qcIPQCInspectionSearch(@RequestBody QcFAIRecordData data){
  1195. PageUtils page = qcService.qcIPQCInspectionSearch(data);
  1196. return R.ok().put("page", page);
  1197. }
  1198. /**
  1199. * @description: IPQC明细记录查询
  1200. * @author: fengyuan_yang
  1201. * @date: 2023/4/25 9:16
  1202. * @param: [data]
  1203. * @return: com.heai.common.utils.R
  1204. **/
  1205. @PostMapping("/ipqcDetailSearch")
  1206. public R ipqcDetailSearch(@RequestBody QcFAIRecordData data){
  1207. List<QcFAIRecordData> list = qcService.ipqcDetailSearch(data);
  1208. return R.ok().put("rows", list);
  1209. }
  1210. /**
  1211. * @description: 删除IPQC检验记录
  1212. * @author: fengyuan_yang
  1213. * @date: 2023/3/30 9:03
  1214. * @param: [data]
  1215. * @return: com.heai.common.utils.R
  1216. **/
  1217. @PostMapping("/ipqcRecordDelete")
  1218. public R ipqcRecordDelete(@RequestBody QcFAIRecordData data){
  1219. qcService.ipqcRecordDelete(data);
  1220. return R.ok();
  1221. }
  1222. /**
  1223. * @description: 保存IPQC检验记录
  1224. * @author: fengyuan_yang
  1225. * @date: 2023/4/26 17:26
  1226. * @param: [data]
  1227. * @return: com.heai.common.utils.R
  1228. **/
  1229. @PostMapping("/saveIPQCDetailedRecord")
  1230. public R saveIPQCDetailedRecord(@RequestBody QcFAIRecordData data){
  1231. qcService.saveIPQCDetailedRecord(data);
  1232. return R.ok();
  1233. }
  1234. /**
  1235. * @description: IPQC审核
  1236. * @author: fengyuan_yang
  1237. * @date: 2023/4/26 17:36
  1238. * @param: [data]
  1239. * @return: com.heai.common.utils.R
  1240. **/
  1241. @PostMapping("/saveIPQCSubmitResult")
  1242. public R saveIPQCSubmitResult(@RequestBody QcFAIRecordData data){
  1243. qcService.saveIPQCSubmitResult(data);
  1244. return R.ok();
  1245. }
  1246. /**
  1247. * @description: 新增IPQC子明细信息
  1248. * @author: fengyuan_yang
  1249. * @date: 2023/4/26 17:46
  1250. * @param: [data]
  1251. * @return: com.heai.common.utils.R
  1252. **/
  1253. @PostMapping("/saveIPQCSubDetailed")
  1254. public R saveIPQCSubDetailed(@RequestBody QcSubDetailInformationData data){
  1255. Integer count = qcService.saveIPQCSubDetailed(data);
  1256. return R.ok().put("count", count);
  1257. }
  1258. /**
  1259. * @description: 查询IPQC子明细
  1260. * @author: fengyuan_yang
  1261. * @date: 2023/4/26 17:56
  1262. * @param: [data]
  1263. * @return: com.heai.common.utils.R
  1264. **/
  1265. @PostMapping("/selectIPQCSubDetailedRecord")
  1266. public R selectIPQCSubDetailedRecord(@RequestBody SubDetailValues data){
  1267. List<SubDetailValues> list = qcService.selectIPQCSubDetailedRecord(data);
  1268. return R.ok().put("rows", list);
  1269. }
  1270. /**
  1271. * @description: 检查IPQC是否已提交
  1272. * @author: fengyuan_yang
  1273. * @date: 2023/4/27 8:59
  1274. * @param: [data]
  1275. * @return: com.heai.common.utils.R
  1276. **/
  1277. @PostMapping("/checkIPQCIsSubmit")
  1278. public R checkIPQCIsSubmit(@RequestBody SubDetailValues data){
  1279. Integer flag = qcService.checkIPQCIsSubmit(data);
  1280. return R.ok().put("flag", flag);
  1281. }
  1282. /**
  1283. * @description: 检查IPQC子明细中的实测值是否在规定范围
  1284. * @author: fengyuan_yang
  1285. * @date: 2023/4/27 9:06
  1286. * @param: [data]
  1287. * @return: com.heai.common.utils.R
  1288. **/
  1289. @PostMapping("/checkIPQCSubDetailValue")
  1290. public R checkIPQCSubDetailValue(@RequestBody CheckSubDetailValueVo data){
  1291. Integer flag = qcService.checkIPQCSubDetailValue(data);
  1292. return R.ok().put("flag", flag);
  1293. }
  1294. /**
  1295. * @description: 查询工序列表
  1296. * @author: fengyuan_yang
  1297. * @date: 2023/4/27 15:30
  1298. * @param: [data]
  1299. * @return: com.heai.common.utils.R
  1300. **/
  1301. @PostMapping("/getOperationList")
  1302. public R getOperationList(@RequestBody QcFAIRecordData data){
  1303. List<QcFAIRecordData> list = qcService.getOperationList(data);
  1304. return R.ok().put("rows", list);
  1305. }
  1306. /**
  1307. * @description: 查询机台列表
  1308. * @author: fengyuan_yang
  1309. * @date: 2023/4/27 17:01
  1310. * @param: [data]
  1311. * @return: com.heai.common.utils.R
  1312. **/
  1313. @PostMapping("/getResourceList")
  1314. public R getResourceList(@RequestBody QcFAIRecordData data){
  1315. List<QcFAIRecordData> list = qcService.getResourceList(data);
  1316. return R.ok().put("rows", list);
  1317. }
  1318. /**
  1319. * @description: 查询物料列表
  1320. * @author: fengyuan_yang
  1321. * @date: 2023/4/27 17:36
  1322. * @param: [data]
  1323. * @return: com.heai.common.utils.R
  1324. **/
  1325. @PostMapping("/getPartList")
  1326. public R getPartList(@RequestBody QcFAIRecordData data){
  1327. List<QcFAIRecordData> list = qcService.getPartList(data);
  1328. return R.ok().put("rows", list);
  1329. }
  1330. /**
  1331. * @description: 新增巡检记录
  1332. * @author: fengyuan_yang
  1333. * @date: 2023/4/27 18:19
  1334. * @param: [data]
  1335. * @return: com.heai.common.utils.R
  1336. **/
  1337. @PostMapping("/saveOsInspection")
  1338. public R saveOsInspection(@RequestBody QcFAIRecordData data){
  1339. qcService.saveOsInspection(data);
  1340. return R.ok();
  1341. }
  1342. /**
  1343. * @description: 检查动控是否开启
  1344. * @author: fengyuan_yang
  1345. * @date: 2023/10/18 13:22
  1346. * @param: [data]
  1347. * @return: com.heai.common.utils.R
  1348. **/
  1349. @PostMapping("/queryController")
  1350. public R queryController(@RequestBody SysSceneDynamicControlModelEntity data){
  1351. List<SysSceneDynamicControlModelEntity> list = qcService.queryController(data);
  1352. if (!list.isEmpty()){
  1353. return R.ok().put("rows", list.get(0));
  1354. }
  1355. return R.ok().put("rows", null);
  1356. }
  1357. /**
  1358. * @description: 获取检验模板列表
  1359. * @author: fengyuan_yang
  1360. * @date: 2023/10/18 13:50
  1361. * @param: [data]
  1362. * @return: com.heai.common.utils.R
  1363. **/
  1364. @PostMapping("/queryTemplateList")
  1365. public R queryTemplateList(@RequestBody QcTemplateData data){
  1366. List<QcTemplateData> list = qcService.queryTemplateList(data);
  1367. return R.ok().put("rows", list);
  1368. }
  1369. // ======================= IQC检验API =======================
  1370. /**
  1371. * @description: IQC检验记录查询
  1372. * @author: fengyuan_yang
  1373. * @date: 2023/4/29 13:38
  1374. * @param: [data]
  1375. * @return: com.heai.common.utils.R
  1376. **/
  1377. @PostMapping(value="/qcIQCInspectionSearch")
  1378. public R qcIQCInspectionSearch(@RequestBody QcFAIRecordData data){
  1379. PageUtils page = qcService.qcIQCInspectionSearch(data);
  1380. return R.ok().put("page", page);
  1381. }
  1382. /**
  1383. * @description: iqc检验记录查询
  1384. * @author: fengyuan_yang
  1385. * @date: 2023/5/4 11:46
  1386. * @param: [data]
  1387. * @return: com.heai.common.utils.R
  1388. **/
  1389. @PostMapping("/iqcDetailSearch")
  1390. public R iqcDetailSearch(@RequestBody QcFAIRecordData data){
  1391. List<QcFAIRecordData> list = qcService.iqcDetailSearch(data);
  1392. return R.ok().put("rows", list);
  1393. }
  1394. /**
  1395. * @description: 查询IQC子明细记录
  1396. * @author: fengyuan_yang
  1397. * @date: 2023/5/4 13:11
  1398. * @param: [data]
  1399. * @return: com.heai.common.utils.R
  1400. **/
  1401. @PostMapping("/selectIQCSubDetailedRecord")
  1402. public R selectIQCSubDetailedRecord(@RequestBody SubDetailValues data){
  1403. List<SubDetailValues> list = qcService.selectIQCSubDetailedRecord(data);
  1404. return R.ok().put("rows", list);
  1405. }
  1406. /**
  1407. * @description: 检查子明细中的实测值是否在规定范围
  1408. * @author: fengyuan_yang
  1409. * @date: 2023/5/4 13:17
  1410. * @param: [data]
  1411. * @return: com.heai.common.utils.R
  1412. **/
  1413. @PostMapping("/checkIQCSubDetailValue")
  1414. public R checkIQCSubDetailValue(@RequestBody CheckSubDetailValueVo data){
  1415. Integer flag = qcService.checkIQCSubDetailValue(data);
  1416. return R.ok().put("flag", flag);
  1417. }
  1418. /**
  1419. * @description: 新增明细信息
  1420. * @author: fengyuan_yang
  1421. * @date: 2023/5/4 13:27
  1422. * @param: [data]
  1423. * @return: com.heai.common.utils.R
  1424. **/
  1425. @PostMapping("/saveIQCDetailedRecord")
  1426. public R saveIQCDetailedRecord(@RequestBody QcFAIRecordData data){
  1427. qcService.saveIQCDetailedRecord(data);
  1428. return R.ok();
  1429. }
  1430. /**
  1431. * @description: 检查是否已提交
  1432. * @author: fengyuan_yang
  1433. * @date: 2023/5/4 13:59
  1434. * @param: [data]
  1435. * @return: com.heai.common.utils.R
  1436. **/
  1437. @PostMapping("/checkIQCIsSubmit")
  1438. public R checkIQCIsSubmit(@RequestBody SubDetailValues data){
  1439. Integer flag = qcService.checkIQCIsSubmit(data);
  1440. return R.ok().put("flag", flag);
  1441. }
  1442. /**
  1443. * @description: 新增子明细信息
  1444. * @author: fengyuan_yang
  1445. * @date: 2023/5/4 15:54
  1446. * @param: [data]
  1447. * @return: com.heai.common.utils.R
  1448. **/
  1449. @PostMapping("/saveIQCSubDetailed")
  1450. public R saveIQCSubDetailed(@RequestBody QcSubDetailInformationData data){
  1451. Integer count = qcService.saveIQCSubDetailed(data);
  1452. return R.ok().put("count", count);
  1453. }
  1454. /**
  1455. * @description: 审核
  1456. * @author: fengyuan_yang
  1457. * @date: 2023/5/4 17:31
  1458. * @param: [data]
  1459. * @return: com.heai.common.utils.R
  1460. **/
  1461. @PostMapping("/saveIQCSubmitResult")
  1462. public R saveIQCSubmitResult(@RequestBody QcFAIRecordData data){
  1463. qcService.saveIQCSubmitResult(data);
  1464. return R.ok();
  1465. }
  1466. /**
  1467. * 取消审核
  1468. * @param data
  1469. * @return
  1470. */
  1471. @PostMapping("/cancelApproval")
  1472. public R cancelApproval(@RequestBody QcFAIRecordData data){
  1473. qcService.cancelApproval(data);
  1474. return R.ok();
  1475. }
  1476. /**
  1477. * 取消审核
  1478. * @param data
  1479. * @return
  1480. */
  1481. @PostMapping("/cancelApproval2")
  1482. public R cancelApproval2(@RequestBody QcFAIRecordData data){
  1483. qcService.cancelApproval2(data);
  1484. return R.ok();
  1485. }
  1486. /**
  1487. * SQC取消审核
  1488. */
  1489. @PostMapping("/cancelSQCApproval")
  1490. public R cancelSQCApproval(@RequestBody QcFAIRecordData data){
  1491. qcService.cancelSQCApproval(data);
  1492. return R.ok();
  1493. }
  1494. /**
  1495. * @description: 删除检验记录
  1496. * @author: fengyuan_yang
  1497. * @date: 2023/5/4 17:38
  1498. * @param: [data]
  1499. * @return: com.heai.common.utils.R
  1500. **/
  1501. @PostMapping("/iqcRecordDelete")
  1502. public R iqcRecordDelete(@RequestBody QcFAIRecordData data){
  1503. qcService.iqcRecordDelete(data);
  1504. return R.ok();
  1505. }
  1506. /**
  1507. * 任务重载
  1508. * @param data
  1509. * @return
  1510. */
  1511. @PostMapping("/iqcRecordOverLoad")
  1512. public R iqcRecordOverLoad(@RequestBody QcFAIRecordData data){
  1513. qcService.iqcRecordOverLoad(data);
  1514. return R.ok();
  1515. }
  1516. @PostMapping("/faiRecordOverLoad")
  1517. public R faiRecordOverLoad(@RequestBody QcFAIRecordData data){
  1518. qcService.faiRecordOverLoad(data);
  1519. return R.ok();
  1520. }
  1521. @PostMapping("/ipqcRecordOverLoad")
  1522. public R ipqcRecordOverLoad(@RequestBody QcFAIRecordData data){
  1523. qcService.ipqcRecordOverLoad(data);
  1524. return R.ok();
  1525. }
  1526. @PostMapping("/fqcRecordOverLoad")
  1527. public R fqcRecordOverLoad(@RequestBody QcFAIRecordData data){
  1528. qcService.fqcRecordOverLoad(data);
  1529. return R.ok();
  1530. }
  1531. // ======================= SQC检验API =======================
  1532. @PostMapping(value="/qcSQCInspectionSearch")
  1533. public R qcSQCInspectionSearch(@RequestBody QcFAIRecordData data){
  1534. PageUtils page = qcService.qcSQCInspectionSearch(data);
  1535. return R.ok().put("page", page);
  1536. }
  1537. @PostMapping("/sqcDetailSearch")
  1538. public R sqcDetailSearch(@RequestBody QcFAIRecordData data){
  1539. List<QcFAIRecordData> list = qcService.sqcDetailSearch(data);
  1540. return R.ok().put("rows", list);
  1541. }
  1542. @PostMapping("/selectSQCSubDetailedRecord")
  1543. public R selectSQCSubDetailedRecord(@RequestBody SubDetailValues data){
  1544. List<SubDetailValues> list = qcService.selectSQCSubDetailedRecord(data);
  1545. return R.ok().put("rows", list);
  1546. }
  1547. @PostMapping("/checkSQCSubDetailValue")
  1548. public R checkSQCSubDetailValue(@RequestBody CheckSubDetailValueVo data){
  1549. Integer flag = qcService.checkSQCSubDetailValue(data);
  1550. return R.ok().put("flag", flag);
  1551. }
  1552. @PostMapping("/saveSQCDetailedRecord")
  1553. public R saveSQCDetailedRecord(@RequestBody QcFAIRecordData data){
  1554. qcService.saveSQCDetailedRecord(data);
  1555. return R.ok();
  1556. }
  1557. @PostMapping("/checkSQCIsSubmit")
  1558. public R checkSQCIsSubmit(@RequestBody SubDetailValues data){
  1559. Integer flag = qcService.checkSQCIsSubmit(data);
  1560. return R.ok().put("flag", flag);
  1561. }
  1562. @PostMapping("/saveSQCSubDetailed")
  1563. public R saveSQCSubDetailed(@RequestBody QcSubDetailInformationData data){
  1564. Integer count = qcService.saveSQCSubDetailed(data);
  1565. return R.ok().put("count", count);
  1566. }
  1567. @PostMapping("/saveSQCSubmitResult")
  1568. public R saveSQCSubmitResult(@RequestBody QcFAIRecordData data){
  1569. qcService.saveSQCSubmitResult(data);
  1570. return R.ok();
  1571. }
  1572. @PostMapping("/sqcRecordDelete")
  1573. public R sqcRecordDelete(@RequestBody QcFAIRecordData data){
  1574. qcService.sqcRecordDelete(data);
  1575. return R.ok();
  1576. }
  1577. @PostMapping("/sqcRecordOverLoad")
  1578. public R sqcRecordOverLoad(@RequestBody QcFAIRecordData data){
  1579. qcService.sqcRecordOverLoad(data);
  1580. return R.ok();
  1581. }
  1582. /**
  1583. * @description: 查询文件ID
  1584. * @author: fengyuan_yang
  1585. * @date: 2023/7/5 9:18
  1586. * @param: [data]
  1587. * @return: com.heai.common.utils.R
  1588. **/
  1589. @PostMapping("/queryFileId")
  1590. public R queryFileId(@RequestBody SysOssEntity data){
  1591. SysOssEntity sysOss = qcService.queryFileId(data);
  1592. return R.ok().put("data",sysOss);
  1593. }
  1594. /**
  1595. * @description: 获取工序列表
  1596. * @author: fengyuan_yang
  1597. * @date: 2023/7/7 15:39
  1598. * @param: [data]
  1599. * @return: com.heai.common.utils.R
  1600. **/
  1601. @PostMapping("/getOperationDescList")
  1602. public R getOperationDescList(@RequestBody QcPartAttributeData data){
  1603. List<QcPartAttributeData> list = qcService.getOperationDescList(data);
  1604. return R.ok().put("rows", list);
  1605. }
  1606. /**
  1607. * @description: 获取供应商列表
  1608. * @author: fengyuan_yang
  1609. * @date: 2023/7/9 22:32
  1610. * @param: [data]
  1611. * @return: com.heai.common.utils.R
  1612. **/
  1613. @PostMapping("/getManufacturerList")
  1614. public R getManufacturerList(@RequestBody QcPartAttributeData data){
  1615. List<QcPartAttributeData> list = qcService.getManufacturerList(data);
  1616. return R.ok().put("rows", list);
  1617. }
  1618. /**
  1619. * @description: 获取客户列表物料检验模板 OQC
  1620. **/
  1621. @PostMapping("/getCustomerList")
  1622. public R getCustomerList(@RequestBody QcPartAttributeData data){
  1623. List<QcPartAttributeData> list = qcService.getCustomerList(data);
  1624. return R.ok().put("rows", list);
  1625. }
  1626. /**
  1627. * @description: 获取所有机台
  1628. * @author: fengyuan_yang
  1629. * @date: 2023/9/15 11:36
  1630. * @param: [data]
  1631. * @return: com.heai.common.utils.R
  1632. **/
  1633. @PostMapping("/getAllResourceList")
  1634. public R getAllResourceList(@RequestBody QcFAIRecordData data){
  1635. List<QcFAIRecordData> list = qcService.getAllResourceList(data);
  1636. return R.ok().put("rows", list);
  1637. }
  1638. /**
  1639. * @description: 获取工单列表
  1640. * @author: fengyuan_yang
  1641. * @date: 2023/9/15 15:59
  1642. * @param: [data]
  1643. * @return: com.heai.common.utils.R
  1644. **/
  1645. @PostMapping("/getOrderNoList")
  1646. public R getOrderNoList(@RequestBody QcFAIRecordData data){
  1647. // PageUtils page = qcService.getOrderNoList(data);
  1648. // return R.ok().put("page", page);
  1649. List<QcFAIRecordData> list = qcService.getOrderNoList(data);
  1650. return R.ok().put("rows", list);
  1651. }
  1652. /**
  1653. * @description: 获取物料其它信息
  1654. * @author: fengyuan_yang
  1655. * @date: 2023/10/20 15:19
  1656. * @param: [data]
  1657. * @return: com.heai.common.utils.R
  1658. **/
  1659. @PostMapping("/getPartInformation")
  1660. public R getPartInformation(@RequestBody QcFAIRecordData data){
  1661. List<QcFAIRecordData> list = qcService.getPartInformation(data);
  1662. return R.ok().put("rows", list);
  1663. }
  1664. /**
  1665. * @description: 获取特殊工序列表
  1666. * @author: fengyuan_yang
  1667. * @date: 2023/10/20 15:30
  1668. * @param: [data]
  1669. * @return: com.heai.common.utils.R
  1670. **/
  1671. @PostMapping("/getSpecialOperationList")
  1672. public R getSpecialOperationList(@RequestBody QcFAIRecordData data){
  1673. List<QcFAIRecordData> list = qcService.getSpecialOperationList(data);
  1674. return R.ok().put("rows", list);
  1675. }
  1676. /**
  1677. * @description: 获取处置措施列表
  1678. * @author: fengyuan_yang
  1679. * @date: 2023/10/23 13:14
  1680. * @param: []
  1681. * @return: com.heai.common.utils.R
  1682. **/
  1683. @PostMapping(value="/disposalMeasuresSearch")
  1684. public R disposalMeasuresSearch(@RequestBody QcFAIRecordData data){
  1685. List<QcFAIRecordData> list = qcService.disposalMeasuresSearch(data);
  1686. return R.ok().put("rows", list);
  1687. }
  1688. /**
  1689. * @description: 查询文件路径
  1690. * @author: fengyuan_yang
  1691. * @date: 2023/11/1 16:48
  1692. * @param: [data]
  1693. * @return: com.heai.common.utils.R
  1694. **/
  1695. @PostMapping("/searchItemFileUrl")
  1696. public R searchItemFileUrl(@RequestBody QcFAIRecordData data){
  1697. List<SysOssEntity> list = qcService.searchItemFileUrl(data);
  1698. return R.ok().put("rows", list);
  1699. }
  1700. /**
  1701. * @description: 删除图片
  1702. * @author: fengyuan_yang
  1703. * @date: 2023/11/1 16:53
  1704. * @param: [data]
  1705. * @return: com.heai.common.utils.R
  1706. **/
  1707. @PostMapping("/imageDelete")
  1708. public R imageDelete(@RequestBody SysOssEntity data){
  1709. qcService.imageDelete(data);
  1710. return R.ok();
  1711. }
  1712. /**
  1713. * @description: 模糊查询标签号
  1714. * @author: fengyuan_yang
  1715. * @date: 2023/11/3 16:48
  1716. * @param: [data]
  1717. * @return: com.heai.common.utils.R
  1718. **/
  1719. @PostMapping("/getRollNo")
  1720. public R getRollNo(@RequestBody QcFAIRecordData data){
  1721. List<QcFAIRecordData> list = qcService.getRollNo(data);
  1722. return R.ok().put("rows", list);
  1723. }
  1724. /**
  1725. * @description: 标签号回车事件
  1726. * @author: fengyuan_yang
  1727. * @date: 2023/11/7 10:22
  1728. * @param: [data]
  1729. * @return: com.heai.common.utils.R
  1730. **/
  1731. @PostMapping("/rollNoEnter")
  1732. public R rollNoEnter(@RequestBody QcFAIRecordData data){
  1733. List<QcFAIRecordData> list = qcService.rollNoEnter(data);
  1734. return R.ok().put("rows", list);
  1735. }
  1736. /**
  1737. * @description: 查询物料集合
  1738. * @author: fengyuan_yang
  1739. * @date: 2023/11/7 14:48
  1740. * @param: [data]
  1741. * @return: com.heai.common.utils.R
  1742. **/
  1743. @PostMapping("/queryPartList")
  1744. public R queryPartList(@RequestBody QcFAIRecordData data){
  1745. List<QcFAIRecordData> list = qcService.queryPartList(data);
  1746. return R.ok().put("rows", list);
  1747. }
  1748. /**
  1749. * @description: 查询单位列表
  1750. * @author: fengyuan_yang
  1751. * @date: 2023/11/8 9:27
  1752. * @param: [data]
  1753. * @return: com.heai.common.utils.R
  1754. **/
  1755. @PostMapping(value="/umSearch")
  1756. public R umSearch(@RequestBody QcFAIRecordData data){
  1757. List<QcFAIRecordData> list = qcService.umSearch(data);
  1758. return R.ok().put("rows", list);
  1759. }
  1760. /**
  1761. * @description: 检验单子明细导入
  1762. * @author: fengyuan_yang
  1763. * @date: 2023/11/12 12:13
  1764. * @param: [file, data]
  1765. * @return: com.heai.common.utils.R
  1766. **/
  1767. @PostMapping("/subDetailUpload")
  1768. public R subDetailUpload(@RequestParam(value = "file") MultipartFile file, @ModelAttribute GetParamInData data){
  1769. Map<String, Integer> countMap = qcService.subDetailUpload(file, data);
  1770. return R.ok().put("countMap", countMap);
  1771. }
  1772. /**
  1773. * 获取检验方法列表
  1774. * @param data
  1775. * @return
  1776. */
  1777. @PostMapping("/queryMethodList")
  1778. public R queryMethodList(@RequestBody QcMethodData data) {
  1779. List<QcMethodData> list = qcService.queryMethodList(data);
  1780. return R.ok().put("rows", list);
  1781. }
  1782. /**
  1783. * 文件上传
  1784. * @param list
  1785. * @param inData
  1786. * @return
  1787. */
  1788. @PostMapping("/upload")
  1789. public R upload(@RequestParam("file") MultipartFile[] list, @ModelAttribute GetParamInData inData){
  1790. List<SysOssEntity> ossEntity = qcService.upload(list, inData);
  1791. return R.ok().put("ossEntity", ossEntity);
  1792. }
  1793. /**
  1794. * 获取用户bu
  1795. * @param data
  1796. * @return
  1797. */
  1798. @PostMapping("/getSiteAndBuByUserName")
  1799. public R getSiteAndBuByUserName(@RequestBody BuData data){
  1800. List<BuData> list = eamService.getSiteAndBuByUserName(data);
  1801. return R.ok().put("rows", list);
  1802. }
  1803. /**
  1804. * 获取用户bu
  1805. * @param data
  1806. * @return
  1807. */
  1808. @PostMapping("/getSiteAndBuByUserName2")
  1809. public R getSiteAndBuByUserName2(@RequestBody BuData data){
  1810. List<BuData> list = eamService.getSiteAndBuByUserName2(data);
  1811. return R.ok().put("rows", list);
  1812. }
  1813. /**
  1814. * 获取派工单号
  1815. * @param data
  1816. * @return
  1817. */
  1818. @PostMapping("/searchSeqInfo")
  1819. public R searchSeqInfo(@RequestBody QcFAIRecordData data){
  1820. List<QcFAIRecordData> list = qcService.searchSeqInfo(data);
  1821. return R.ok().put("rows", list);
  1822. }
  1823. /**
  1824. * 获取物料信息
  1825. * @param data
  1826. * @return
  1827. */
  1828. @PostMapping("/searchPartInfo")
  1829. public R searchPartInfo(@RequestBody QcFAIRecordData data){
  1830. List<QcFAIRecordData> list = qcService.searchPartInfo(data);
  1831. return R.ok().put("rows", list);
  1832. }
  1833. /**
  1834. * 获取采购类型
  1835. * @return
  1836. */
  1837. @PostMapping("/orderTypeSearch")
  1838. public R orderTypeSearch(){
  1839. List<QcFAIRecordData> list = qcService.orderTypeSearch();
  1840. return R.ok().put("rows", list);
  1841. }
  1842. /**
  1843. * 开始检验
  1844. * @param data
  1845. * @return
  1846. */
  1847. @PostMapping("/actionIQCInspection")
  1848. public R actionIQCInspection(@RequestBody EamObjectInData data){
  1849. qcService.actionIQCInspection(data);
  1850. return R.ok();
  1851. }
  1852. @PostMapping("/actionSQCInspection")
  1853. public R actionSQCInspection(@RequestBody EamObjectInData data){
  1854. qcService.actionSQCInspection(data);
  1855. return R.ok();
  1856. }
  1857. /**
  1858. * 开始检验
  1859. * @param data
  1860. * @return
  1861. */
  1862. @PostMapping("/actionFAIInspection")
  1863. public R actionFAIInspection(@RequestBody EamObjectInData data){
  1864. qcService.actionFAIInspection(data);
  1865. return R.ok();
  1866. }
  1867. /**
  1868. * 开始检验
  1869. * @param data
  1870. * @return
  1871. */
  1872. @PostMapping("/actionIPQCInspection")
  1873. public R actionIPQCInspection(@RequestBody EamObjectInData data){
  1874. qcService.actionIPQCInspection(data);
  1875. return R.ok();
  1876. }
  1877. /**
  1878. * 开始检验
  1879. * @param data
  1880. * @return
  1881. */
  1882. @PostMapping("/actionFQCInspection")
  1883. public R actionFQCInspection(@RequestBody EamObjectInData data){
  1884. qcService.actionFQCInspection(data);
  1885. return R.ok();
  1886. }
  1887. /**
  1888. * 数据采集
  1889. * @param data
  1890. * @return
  1891. */
  1892. @PostMapping("/dataAcquisition")
  1893. public R dataAcquisition(@RequestBody QcFAIRecordData data){
  1894. Map<String, Integer> countMap = qcService.dataAcquisition(data);
  1895. return R.ok().put("rows", countMap);
  1896. }
  1897. /**
  1898. * 获取采集条件路径
  1899. * @return
  1900. */
  1901. @PostMapping("/getEquipmentNoList")
  1902. public R getEquipmentNoList(@RequestBody EquipmentFolderLocationData data) {
  1903. List<EquipmentFolderLocationData> list = qcService.getEquipmentNoList(data);
  1904. return R.ok().put("rows", list);
  1905. }
  1906. /**
  1907. * 获取责任人列表
  1908. * @param data
  1909. * @return
  1910. */
  1911. @PostMapping("/getResponsibleOperatorList")
  1912. public R getResponsibleOperatorList(@RequestBody EamAdminData data){
  1913. List<EamAdminData> list = qcService.getResponsibleOperatorList(data);
  1914. return R.ok().put("rows", list);
  1915. }
  1916. /**
  1917. * 获取采集数据内容
  1918. * @return
  1919. */
  1920. @PostMapping("/getDataContentList")
  1921. public R getDataContentList(@RequestBody QcCollectionDataContentData data) {
  1922. List<QcCollectionDataContentData> list = qcService.getDataContentList(data);
  1923. return R.ok().put("rows", list);
  1924. }
  1925. /**
  1926. * 查询设备列表
  1927. * @param data
  1928. * @return
  1929. */
  1930. @PostMapping("getObjectList")
  1931. public R getObjectList(@RequestBody EamObjectInData data) {
  1932. // 获取当前项目不包含的设备
  1933. List<EamObjectInData> row1 = qcService.getObjectList1(data);
  1934. // 获取当前项目所包含的设备
  1935. List<EamObjectInData> row2 = qcService.getObjectList2(data);
  1936. return R.ok().put("row1", row1).put("row2", row2);
  1937. }
  1938. /**
  1939. * 根据条件查询可选设备
  1940. * @param data
  1941. * @return
  1942. */
  1943. @PostMapping("getObjectListBy")
  1944. public R getObjectListBy(@RequestBody EamObjectInData data) {
  1945. List<EamObjectInData> rows = qcService.getObjectListBy(data);
  1946. return R.ok().put("rows", rows);
  1947. }
  1948. /**
  1949. * 新增项目设备
  1950. * @param data
  1951. * @return
  1952. */
  1953. @PostMapping("/addItemObject")
  1954. public R addItemObject(@RequestBody EamObjectInData data){
  1955. qcService.addItemObject(data);
  1956. return R.ok();
  1957. }
  1958. /**
  1959. * 删除项目设备
  1960. * @param data
  1961. * @return
  1962. */
  1963. @PostMapping("/deleteItemObject")
  1964. public R deleteItemObject(@RequestBody EamObjectInData data){
  1965. qcService.deleteItemObject(data);
  1966. return R.ok();
  1967. }
  1968. /**
  1969. * 删除项目设备
  1970. * @param data
  1971. * @return
  1972. */
  1973. @PostMapping("/updateItemObject")
  1974. public R updateItemObject(@RequestBody EamObjectInData data){
  1975. qcService.updateItemObject(data);
  1976. return R.ok();
  1977. }
  1978. /**
  1979. * 查询项目设备
  1980. * @param data
  1981. * @return
  1982. */
  1983. @PostMapping("/getIQCItemObjectList")
  1984. public R getIQCItemObjectList(@RequestBody EamObjectInData data){
  1985. List<EamObjectInData> list = qcService.getIQCItemObjectList(data);
  1986. return R.ok().put("rows", list);
  1987. }
  1988. @PostMapping("/getSQCItemObjectList")
  1989. public R getSQCItemObjectList(@RequestBody EamObjectInData data){
  1990. List<EamObjectInData> list = qcService.getSQCItemObjectList(data);
  1991. return R.ok().put("rows", list);
  1992. }
  1993. /**
  1994. * 查询项目设备
  1995. * @param data
  1996. * @return
  1997. */
  1998. @PostMapping("/getFAIItemObjectList")
  1999. public R getFAIItemObjectList(@RequestBody EamObjectInData data){
  2000. List<EamObjectInData> list = qcService.getFAIItemObjectList(data);
  2001. return R.ok().put("rows", list);
  2002. }
  2003. /**
  2004. * 查询项目设备
  2005. * @param data
  2006. * @return
  2007. */
  2008. @PostMapping("/getFQCItemObjectList")
  2009. public R getFQCItemObjectList(@RequestBody EamObjectInData data){
  2010. List<EamObjectInData> list = qcService.getFQCItemObjectList(data);
  2011. return R.ok().put("rows", list);
  2012. }
  2013. /**
  2014. * 查询项目设备
  2015. * @param data
  2016. * @return
  2017. */
  2018. @PostMapping("/getIPQCItemObjectList")
  2019. public R getIPQCItemObjectList(@RequestBody EamObjectInData data){
  2020. List<EamObjectInData> list = qcService.getIPQCItemObjectList(data);
  2021. return R.ok().put("rows", list);
  2022. }
  2023. /**
  2024. * 获取检验标准
  2025. * @param data
  2026. * @return
  2027. */
  2028. @PostMapping("/getInspectionStandards")
  2029. public R getInspectionStandards(@RequestBody QcInspectionStandardData data){
  2030. List<QcInspectionStandardData> list = qcService.getInspectionStandards(data);
  2031. return R.ok().put("rows", list);
  2032. }
  2033. /**
  2034. * 新增检验标准
  2035. * @param data
  2036. * @return
  2037. */
  2038. @PostMapping("/saveInspectionStandard")
  2039. public R saveInspectionStandard(@RequestBody QcInspectionStandardData data){
  2040. qcService.saveInspectionStandard(data);
  2041. return R.ok();
  2042. }
  2043. /**
  2044. * 根据项目数据采集
  2045. * @param data
  2046. * @return
  2047. */
  2048. @PostMapping("/dataAcquisitionByItem")
  2049. public R dataAcquisitionByItem(@RequestBody QcFAIRecordData data){
  2050. Map<String, Integer> countMap = qcService.dataAcquisitionByItem(data);
  2051. return R.ok().put("rows", countMap);
  2052. }
  2053. /**
  2054. * @Description 属性上移
  2055. * @Title goUpItemForBM
  2056. * @param inData
  2057. * @author rq
  2058. * @date 2023/11/28 16:20
  2059. * @return R
  2060. * @throw
  2061. */
  2062. @PostMapping("/goUpItemQC")
  2063. @ResponseBody
  2064. public R goUpItemQC(@RequestBody QcTemplateData inData){
  2065. qcService.goUpItem(inData);
  2066. return R.ok();
  2067. }
  2068. /**
  2069. * @Description 属性下移
  2070. * @Title goDownForBM
  2071. * @param inData
  2072. * @author rq
  2073. * @date 2023/11/28 16:20
  2074. * @return R
  2075. * @throw
  2076. */
  2077. @PostMapping("/goDownItemQC")
  2078. @ResponseBody
  2079. public R goDownItemQC(@RequestBody QcTemplateData inData){
  2080. qcService.goDownItem(inData);
  2081. return R.ok();
  2082. }
  2083. // ======================== OQC 检验项目 / FQAS / SOP(与 boying OQCResultEntry 对齐) ========================
  2084. @PostMapping("/getOQCItemList")
  2085. public R getOQCItemList(@RequestBody Map<String, Object> params) {
  2086. Map<String, Object> result = qcService.getOQCItemList(params);
  2087. return R.ok().put("code", result.get("code")).put("row1", result.get("row1")).put("row2", result.get("row2"));
  2088. }
  2089. @PostMapping("/addOQCItemDetails")
  2090. public R addOQCItemDetails(@RequestBody Map<String, Object> params) {
  2091. qcService.addOQCItemDetails(params);
  2092. return R.ok();
  2093. }
  2094. @PostMapping("/deleteOQCItemDetails")
  2095. public R deleteOQCItemDetails(@RequestBody Map<String, Object> params) {
  2096. qcService.deleteOQCItemDetails(params);
  2097. return R.ok();
  2098. }
  2099. @PostMapping("/getOQCTemplateList")
  2100. public R getOQCTemplateList(@RequestBody Map<String, Object> params) {
  2101. List<Map<String, Object>> list = qcService.getOQCTemplateList(params);
  2102. return R.ok().put("code", 0).put("rows", list);
  2103. }
  2104. @PostMapping("/importOQCTemplateItems")
  2105. public R importOQCTemplateItems(@RequestBody Map<String, Object> params) {
  2106. int importCount = qcService.importOQCTemplateItems(params);
  2107. return R.ok().put("code", 0).put("importCount", importCount);
  2108. }
  2109. @PostMapping("/deleteObjectFile")
  2110. public R deleteObjectFile(@RequestBody SysOssEntity inData) {
  2111. qcService.deleteObjectFile(inData);
  2112. return R.ok();
  2113. }
  2114. @PostMapping("/getUserRoleList")
  2115. public R getUserRoleList() {
  2116. List<SysRoleEntity> list = qcService.getUserRoleList();
  2117. return R.ok().put("rows", list);
  2118. }
  2119. @PostMapping(value = "/qcOQCInspectionSearch")
  2120. public R qcOQCInspectionSearch(@RequestBody QcFAIRecordData data) {
  2121. PageUtils page = qcService.qcOQCInspectionSearch(data);
  2122. return R.ok().put("page", page);
  2123. }
  2124. @PostMapping("/fqasDetailSearch")
  2125. public R fqasDetailSearch(@RequestBody QcFAIRecordData data) {
  2126. List<QcFAIRecordData> list = qcService.fqasDetailSearch(data);
  2127. return R.ok().put("rows", list);
  2128. }
  2129. @PostMapping("/selectFQASSubDetailedRecord")
  2130. public R selectFQASSubDetailedRecord(@RequestBody SubDetailValues data) {
  2131. List<SubDetailValues> list = qcService.selectFQASSubDetailedRecord(data);
  2132. return R.ok().put("rows", list);
  2133. }
  2134. @PostMapping("/saveFQASDetailedRecord")
  2135. public R saveFQASDetailedRecord(@RequestBody QcFAIRecordData data) {
  2136. qcService.saveFQASDetailedRecord(data);
  2137. return R.ok();
  2138. }
  2139. @PostMapping("/checkFQASIsSubmit")
  2140. public R checkFQASIsSubmit(@RequestBody SubDetailValues data) {
  2141. Integer flag = qcService.checkFQASIsSubmit(data);
  2142. return R.ok().put("flag", flag);
  2143. }
  2144. @PostMapping("/saveFQASSubDetailed")
  2145. public R saveFQASSubDetailed(@RequestBody QcSubDetailInformationData data) {
  2146. Integer count = qcService.saveFQASSubDetailed(data);
  2147. return R.ok().put("count", count);
  2148. }
  2149. @PostMapping("/saveFQASSubmitResult")
  2150. public R saveFQASSubmitResult(@RequestBody QcFAIRecordData data) {
  2151. qcService.saveFQASSubmitResult(data);
  2152. return R.ok();
  2153. }
  2154. @PostMapping("/cancelFQASSubmitResult")
  2155. public R cancelFQASSubmitResult(@RequestBody QcFAIRecordData data) {
  2156. qcService.cancelFQASSubmitResult(data);
  2157. return R.ok();
  2158. }
  2159. @PostMapping("/fqasRecordDelete")
  2160. public R fqasRecordDelete(@RequestBody QcFAIRecordData data) {
  2161. qcService.fqasRecordDelete(data);
  2162. return R.ok();
  2163. }
  2164. @PostMapping("/fqasRecordOverLoad")
  2165. public R fqasRecordOverLoad(@RequestBody QcFAIRecordData data) {
  2166. qcService.fqasRecordOverLoad(data);
  2167. return R.ok();
  2168. }
  2169. @PostMapping("/actionFQASInspection")
  2170. public R actionFQASInspection(@RequestBody QcFAIRecordData data) {
  2171. qcService.actionFQASInspection(data);
  2172. return R.ok();
  2173. }
  2174. @PostMapping("/changeInspectionWay")
  2175. public R changeInspectionWay(@RequestBody QcFAIRecordData data) {
  2176. qcService.changeInspectionWay(data);
  2177. return R.ok();
  2178. }
  2179. @PostMapping("/getOperatorList")
  2180. public R getOperatorList(@RequestBody EamAdminData data) {
  2181. List<EamAdminData> list = qcService.getOperatorList(data);
  2182. return R.ok().put("rows", list);
  2183. }
  2184. @PostMapping("/searchQcSopFileList")
  2185. public R searchQcSopFileList(@RequestBody Map<String, Object> params) {
  2186. List<Map<String, Object>> list = qcService.searchQcSopFileList(params);
  2187. return R.ok().put("rows", list);
  2188. }
  2189. @PostMapping("/downloadSopFile")
  2190. public void downloadSopFile(@RequestParam("sopUrl") String sopUrl, HttpServletResponse response) {
  2191. if (sopUrl == null || sopUrl.isEmpty()) {
  2192. throw new RuntimeException("文件路径不能为空");
  2193. }
  2194. File file = new File(sopUrl);
  2195. if (!file.exists()) {
  2196. throw new RuntimeException("文件不存在: " + sopUrl);
  2197. }
  2198. String fileName = file.getName();
  2199. String fileSuffix = "";
  2200. if (fileName.contains(".")) {
  2201. fileSuffix = fileName.substring(fileName.lastIndexOf(".") + 1).toLowerCase();
  2202. }
  2203. String contentType = "application/octet-stream";
  2204. if ("pdf".equals(fileSuffix)) {
  2205. contentType = "application/pdf";
  2206. } else if ("jpg".equals(fileSuffix) || "jpeg".equals(fileSuffix)) {
  2207. contentType = "image/jpeg";
  2208. } else if ("png".equals(fileSuffix)) {
  2209. contentType = "image/png";
  2210. } else if ("gif".equals(fileSuffix)) {
  2211. contentType = "image/gif";
  2212. } else if ("bmp".equals(fileSuffix)) {
  2213. contentType = "image/bmp";
  2214. } else if ("mp4".equals(fileSuffix)) {
  2215. contentType = "video/mp4";
  2216. } else if ("txt".equals(fileSuffix)) {
  2217. contentType = "text/plain";
  2218. }
  2219. response.setContentType(contentType);
  2220. response.setHeader("Content-Disposition", "inline; filename=\"" + fileName + "\"");
  2221. try (FileInputStream fis = new FileInputStream(file);
  2222. BufferedInputStream bis = new BufferedInputStream(fis);
  2223. OutputStream os = response.getOutputStream()) {
  2224. byte[] buffer = new byte[4096];
  2225. int bytesRead;
  2226. while ((bytesRead = bis.read(buffer)) != -1) {
  2227. os.write(buffer, 0, bytesRead);
  2228. }
  2229. os.flush();
  2230. } catch (IOException e) {
  2231. throw new RuntimeException("文件读取失败: " + e.getMessage());
  2232. }
  2233. }
  2234. /**
  2235. * @Description 查询 外采设备维护 数据
  2236. * @Title queryEquipmentFolderLocationList
  2237. * @param inData
  2238. * @author zhb
  2239. * @date 2025/8/11
  2240. * @return R
  2241. * @throw
  2242. */
  2243. @PostMapping("/queryEquipmentFolderLocationList")
  2244. @ResponseBody
  2245. public R queryEquipmentFolderLocationList(@RequestBody QCEquipmentFolderLocation inData){
  2246. List<QCEquipmentFolderLocation> list = qcService.queryEquipmentFolderLocationList(inData);
  2247. return R.ok().put("rows", list).put("total", list.size());
  2248. }
  2249. /**
  2250. * @Description 删除外采设备维护 数据
  2251. * @Title queryEquipmentFolderLocationList
  2252. * @param inData
  2253. * @author zhb
  2254. * @date 2025/8/11
  2255. * @return R
  2256. * @throw
  2257. */
  2258. @PostMapping("/deleteEquipmentFolderLocationList")
  2259. @ResponseBody
  2260. public R deleteEquipmentFolderLocationList(@RequestBody List<QCEquipmentFolderLocation> inData){
  2261. qcService.deleteEquipmentFolderLocationList(inData);
  2262. return R.ok();
  2263. }
  2264. /**
  2265. * @Description 获取外采设备维护 采集方式列表
  2266. * @Title getSuffixList
  2267. * @author zhb
  2268. * @date 2025/8/12
  2269. * @return R
  2270. * @throw
  2271. */
  2272. @PostMapping("/getSuffixList")
  2273. @ResponseBody
  2274. public R getSuffixList(){
  2275. List<String> list = qcService.getSuffixList();
  2276. return R.ok().put("rows", list);
  2277. }
  2278. /**
  2279. * @Description 保存外采设备维护 数据
  2280. * @Title queryEquipmentFolderLocationList
  2281. * @param inData
  2282. * @author zhb
  2283. * @date 2025/8/11
  2284. * @return R
  2285. * @throw
  2286. */
  2287. @PostMapping("/saveEquipmentFolderLocationList")
  2288. @ResponseBody
  2289. public R saveEquipmentFolderLocationList(@RequestBody QCEquipmentFolderLocation inData){
  2290. R r = qcService.saveEquipmentFolderLocationList(inData);
  2291. return r;
  2292. }
  2293. }