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.

452 lines
15 KiB

7 months ago
7 months ago
2 months ago
2 months ago
2 months ago
7 months ago
7 months ago
5 months ago
7 months ago
7 months ago
5 months ago
7 months ago
5 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
2 months ago
2 months ago
2 months ago
7 months ago
  1. package com.gaotao.modules.notify.controller;
  2. import com.gaotao.common.utils.PageUtils;
  3. import com.gaotao.common.utils.R;
  4. import com.gaotao.modules.base.entity.SOScheduledRoutingData;
  5. import com.gaotao.modules.customer.entity.dto.ShipmentIssueDto;
  6. import com.gaotao.modules.notify.entity.*;
  7. import com.gaotao.modules.notify.entity.dto.NewSoIssueNotifyDto;
  8. import com.gaotao.modules.notify.entity.dto.NoOrderNotifyDto;
  9. import com.gaotao.modules.notify.entity.vo.*;
  10. import com.gaotao.modules.notify.service.IssureNotifyService;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.web.bind.annotation.*;
  13. import org.springframework.web.multipart.MultipartFile;
  14. import java.text.ParseException;
  15. import java.util.List;
  16. @RestController
  17. @RequestMapping("orderIssure/issureNotify")
  18. public class IssureNotifyController {
  19. @Autowired
  20. private IssureNotifyService issureNotifyService;
  21. /**
  22. * @Description 获取用户下面未下达领料申请单
  23. * @Title getUserNotifyNo
  24. * @param data
  25. * @author rq
  26. * @date 2024/8/30 14:36
  27. * @return R
  28. * @throw
  29. */
  30. @PostMapping(value="/getUserNotifyNo")
  31. @ResponseBody
  32. public R getUserNotifyNo(@RequestBody SOIssueNotifyHeaderData data) {
  33. SOIssueNotifyHeaderData row = issureNotifyService.getUserNotifyNo(data);
  34. return R.ok().put("row", row);
  35. }
  36. @PostMapping(value="/createNotify")
  37. @ResponseBody
  38. public R createNotify(@RequestBody SOIssueNotifyHeaderData data) throws ParseException {
  39. issureNotifyService.createNotify(data);
  40. return R.ok();
  41. }
  42. @PostMapping(value="/updateNotifyBu")
  43. @ResponseBody
  44. public R updateNotifyBu(@RequestBody SOIssueNotifyHeaderData data) {
  45. issureNotifyService.updateNotifyBu(data);
  46. return R.ok();
  47. }
  48. /**
  49. * @Description 查询子订单
  50. * @Title getNotifyNoDetail
  51. * @param data
  52. * @author rq
  53. * @date 2024/9/1 19:01
  54. * @return R
  55. * @throw
  56. */
  57. @PostMapping(value="/getNotifyNoDetail")
  58. @ResponseBody
  59. public R getNotifyNoDetail(@RequestBody SOIssueNotifyHeaderData data) {
  60. List<SOIssueNotifyOrderListData> rows = issureNotifyService.getNotifyNoDetail(data);
  61. return R.ok().put("rows", rows);
  62. }
  63. /**
  64. * @Title getSOScheduledRoutingListForIssure
  65. * @param data
  66. * @author rq
  67. * @date 2024/9/2 9:33
  68. * @return R
  69. * @throw
  70. */
  71. @PostMapping(value="/getSOScheduledRoutingListForIssure")
  72. @ResponseBody
  73. public R getSOScheduledRoutingListForIssure(@RequestBody SOScheduledRoutingData data) throws Exception{
  74. //TODO 调用rifs接口获取列表数据
  75. List<SOScheduledRoutingData> rows = issureNotifyService.getSOScheduledRoutingListForIssure(data);
  76. return R.ok().put("rows", rows);
  77. }
  78. /**
  79. * 获取ifs
  80. */
  81. @PostMapping(value="/getIFSShopOrderByOrderNo")
  82. @ResponseBody
  83. public R getIFSShopOrderByOrderNo(@RequestBody SOScheduledRoutingData data) throws Exception{
  84. //TODO 调用rifs接口获取shoporder
  85. List<ShopOrderVo> shopOrderVo = issureNotifyService.getIFSShopOrderByOrderNo(data);
  86. return R.ok().put("shopOrderVo", shopOrderVo);
  87. }
  88. @PostMapping(value="/getSOSBOMForIssure")
  89. @ResponseBody
  90. public R getSOSBOMForIssure(@RequestBody SOScheduledRoutingData data) throws Exception{
  91. List<ShopOrderMaterialVo> rows = issureNotifyService.getSOSBOMForIssure(data);
  92. return R.ok().put("rows", rows);
  93. }
  94. /**
  95. * @Description 查看其他已申请物料
  96. * @Title searchOtherPart
  97. * @param data
  98. * @author rq
  99. * @date 2024/10/28 9:49
  100. * @return R
  101. * @throw
  102. */
  103. @PostMapping(value="/searchOtherPart")
  104. @ResponseBody
  105. public R searchOtherPart(@RequestBody SOIssueNotifyOrderMaterialListData data) {
  106. List<SOIssueNotifyOrderMaterialListData> rows = issureNotifyService.searchOtherPart(data);
  107. return R.ok().put("rows", rows);
  108. }
  109. /**
  110. * @Description 保存申请单派工单记录
  111. * @Title saveSOIssueNotifyOrderList
  112. * @param data
  113. * @author rq
  114. * @date 2024/9/2 16:06
  115. * @return R
  116. * @throw
  117. */
  118. @PostMapping(value="/saveSOIssueNotifyOrderList")
  119. @ResponseBody
  120. public R saveSOIssueNotifyOrderList(@RequestBody SOIssueNotifyOrderList data) {
  121. Integer itemNo= issureNotifyService.saveSOIssueNotifyOrderList(data);
  122. return R.ok().put("itemNo",itemNo);
  123. }
  124. /**
  125. * @Description TODO
  126. * @Title saveMaterialDetail
  127. * @param data
  128. * @author rq
  129. * @date 2024/9/2 17:05
  130. * @return R
  131. * @throw
  132. */
  133. @PostMapping(value="/saveMaterialDetail")
  134. @ResponseBody
  135. public R saveMaterialDetail(@RequestBody List<SOIssueNotifyOrderMaterialListData> data) {
  136. issureNotifyService.saveMaterialDetail(data);
  137. return R.ok();
  138. }
  139. @PostMapping(value="/updateMaterialDetail")
  140. @ResponseBody
  141. public R updateMaterialDetail(@RequestBody SOIssueNotifyOrderMaterialList data) {
  142. int i = issureNotifyService.updateMaterialDetail(data);
  143. if(i >0){
  144. return R.ok();
  145. }
  146. return R.error("修改失败");
  147. }
  148. /**
  149. * @Description TODO
  150. * @Title deleteNotifySOS
  151. * @param data
  152. * @author rq
  153. * @date 2024/9/3 9:09
  154. * @return R
  155. * @throw
  156. */
  157. @PostMapping(value="/deleteNotifySOS")
  158. @ResponseBody
  159. public R deleteNotifySOS(@RequestBody SOIssueNotifyOrderListData data) {
  160. issureNotifyService.deleteNotifySOS(data);
  161. return R.ok();
  162. }
  163. @PostMapping(value="/xiadaNotify")
  164. @ResponseBody
  165. public R xiadaNotifyHeader(@RequestBody SOIssueNotifyHeaderData data) {
  166. issureNotifyService.xiadaNotifyHeader(data);
  167. return R.ok();
  168. }
  169. @PostMapping(value="/deleteNotify")
  170. @ResponseBody
  171. public R deleteNotifyHeader(@RequestBody SOIssueNotifyHeaderData data) {
  172. issureNotifyService.deleteNotifyHeader(data);
  173. return R.ok("删除成功");
  174. }
  175. @PostMapping(value="/searchNotifyHeader")
  176. @ResponseBody
  177. public R searchNotifyHeader(@RequestBody SOIssueNotifyHeaderData data) {
  178. PageUtils page = issureNotifyService.searchNotifyHeader(data);
  179. return R.ok().put("page", page);
  180. }
  181. @PostMapping(value="/searchNotifyOrderList")
  182. @ResponseBody
  183. public R searchNotifyOrderList(@RequestBody SOIssueNotifyHeaderData data) {
  184. List<SOIssueNotifyOrderListData> rows = issureNotifyService.searchNotifyOrderList(data);
  185. return R.ok().put("rows", rows);
  186. }
  187. @PostMapping(value="/searchNotifyMaterialList")
  188. @ResponseBody
  189. public R searchNotifyMaterialList(@RequestBody SOIssueNotifyHeaderData data) {
  190. List<SOIssueNotifyOrderMaterialListData> rows = issureNotifyService.searchNotifyMaterialList(data);
  191. return R.ok().put("rows", rows);
  192. }
  193. @PostMapping(value="/searchSumNotifyMaterialList")
  194. @ResponseBody
  195. public R searchSumNotifyMaterialList(@RequestBody SOIssueNotifyHeaderData data) {
  196. List<SOIssueNotifyOrderMaterialListData> rows = issureNotifyService.searchSumNotifyMaterialList(data);
  197. return R.ok().put("rows", rows);
  198. }
  199. /*
  200. * @Description 非BOM物料
  201. * @Title getNoControlPartList
  202. * @param data
  203. * @author rq
  204. * @date 2024/10/28 9:36
  205. * @return R
  206. * @throw
  207. */
  208. /*@PostMapping(value="/getPartList")
  209. @ResponseBody
  210. public R getPartList(@RequestBody PartData data) {
  211. List<PartData> rows = issureNotifyService.getPartList(data);
  212. return R.ok().put("rows", rows);
  213. }
  214. @PostMapping(value="/getNoControlPartList")
  215. @ResponseBody
  216. public R getNoControlPartList(@RequestBody PartData data) {
  217. List<PartData> rows = issureNotifyService.getNoControlPartList(data);
  218. return R.ok().put("rows", rows);
  219. }
  220. @PostMapping(value="/searchNotifyLog")
  221. @ResponseBody
  222. public R searchNotifyLog(@RequestBody IssueNotifyChangeLog data) {
  223. List<IssueNotifyChangeLog> rows = issureNotifyService.searchIssueNotifyChangeLog(data);
  224. return R.ok().put("rows", rows);
  225. }*/
  226. @PostMapping(value = "/checkPartStock")
  227. @ResponseBody
  228. public R checkPartStock(@RequestBody SOIssueNotifyHeaderData data){
  229. List<SOIssueNotifyOrderMaterialListData> rows = issureNotifyService.checkPartStock(data);
  230. return R.ok().put("rows", rows);
  231. }
  232. @PostMapping(value="/deleteNotifySOSPlus")
  233. @ResponseBody
  234. public R deleteNotifySOSPlus(@RequestBody SOIssueNotifyOrderListData data) {
  235. //issureNotifyService.deleteNotifySOSPlus(data);
  236. return R.ok();
  237. }
  238. @PostMapping(value="/updateNotifyStatus")
  239. @ResponseBody
  240. public R updateNotifyStatus(@RequestBody SOIssueNotifyHeaderData data) {
  241. issureNotifyService.updateNotifyStatus(data);
  242. return R.ok();
  243. }
  244. @PostMapping(value="/deleteNotifyMaterial")
  245. @ResponseBody
  246. public R deleteNotifyMaterial(@RequestBody SOIssueNotifyOrderMaterialListData data) {
  247. //issureNotifyService.deleteNotifyMaterial(data);
  248. return R.ok();
  249. }
  250. @PostMapping(value="/deleteNotifyMaterialWithOutLog")
  251. @ResponseBody
  252. public R deleteNotifyMaterialWithOutLog(@RequestBody SOIssueNotifyOrderMaterialListData data) {
  253. //issureNotifyService.deleteNotifyMaterialWithOutLog(data);
  254. return R.ok();
  255. }
  256. /**
  257. * @Description 保存非bom和管控物料
  258. * @Title saveOtherPart
  259. * @param data
  260. * @author rq
  261. * @date 2024/10/25 17:52
  262. * @return R
  263. * @throw
  264. */
  265. @PostMapping(value="/saveOtherPart")
  266. @ResponseBody
  267. public R saveOtherPart(@RequestBody SOIssueNotifyOrderMaterialListData data) {
  268. //issureNotifyService.saveOtherPart(data);
  269. return R.ok();
  270. }
  271. /*@PostMapping(value="/searchNotifyLogClose")
  272. @ResponseBody
  273. public R searchNotifyLogClose(@RequestBody SOIssueNotifyLogData data) {
  274. List<SOIssueNotifyLogData> rows = issureNotifyService.searchNotifyLogClose(data);
  275. return R.ok().put("rows", rows);
  276. }*/
  277. @PostMapping(value="/updateNotifyConfirmStatus")
  278. @ResponseBody
  279. public R updateNotifyConfirmStatus(@RequestBody SOIssueNotifyHeaderData data) throws Exception{
  280. /*Boolean flag = issureNotifyService.updateNotifyConfirmStatus(data);
  281. if(flag){
  282. return R.ok();
  283. }*/
  284. return R.error();
  285. }
  286. @PostMapping(value="/updateNotifyBatchConfirmStatus")
  287. public R updateNotifyBatchConfirmStatus(@RequestBody String[] notifyNos){
  288. /*Boolean flag = issureNotifyService.updateBatchConfirmStatus(notifyNos);
  289. if(flag){
  290. return R.ok();
  291. }*/
  292. return R.error();
  293. }
  294. /**
  295. * 导入领用单
  296. * @param file
  297. * @param data
  298. * @return
  299. */
  300. @PostMapping("/saveIssureNotifyByExcel")
  301. public R saveIssureNotifyByExcel(@RequestParam(value = "file") MultipartFile file, @ModelAttribute SOIssueNotifyHeaderData data){
  302. String msg = issureNotifyService.saveIssureNotifyByExcel(file, data);
  303. //String msg = issureNotifyService.importIssureNotifyByExcel(file);
  304. return R.ok().put("errorMsg", msg);
  305. }
  306. /**
  307. * @Description 检查用户是否有未下达的shoporder申请单 - rqrq
  308. * @Title checkUserHasUnissueShopOrder
  309. * @param data 查询条件包含site和username
  310. * @return R
  311. * @author rqrq
  312. * @date 2025/11/03
  313. */
  314. @PostMapping(value="/checkUserHasUnissueShopOrder")
  315. @ResponseBody
  316. public R checkUserHasUnissueShopOrder(@RequestBody SOIssueNotifyHeaderData data) throws Exception {
  317. SOIssueNotifyHeaderData row = issureNotifyService.checkUserHasUnissueShopOrder(data);
  318. return R.ok().put("row", row);
  319. }
  320. /**
  321. * @Description 取消下达申请单 - rqrq
  322. * @Title cancelIssueNotify
  323. * @param data 申请单数据包含site和notifyNo
  324. * @return R
  325. * @author rqrq
  326. * @date 2025/11/03
  327. */
  328. @PostMapping(value="/cancelIssueNotify")
  329. @ResponseBody
  330. public R cancelIssueNotify(@RequestBody SOIssueNotifyHeaderData data) throws Exception {
  331. issureNotifyService.cancelIssueNotify(data);
  332. return R.ok();
  333. }
  334. @PostMapping(value="/saveNewSoIssueNotify")
  335. public R saveNewSoIssueNotify(@RequestBody NewSoIssueNotifyDto data) throws Exception {
  336. String rows = issureNotifyService.saveNewSoIssueNotify(data);
  337. if("200".equals(rows)){
  338. return R.ok("操作成功");
  339. }
  340. return R.error("操作失败");
  341. }
  342. /**-----------------------------------------无订单时的接口---------------------------------------------------------*/
  343. @PostMapping(value="/getUserNoOrderNotifyNo")
  344. @ResponseBody
  345. public R getUserNoOrderNotifyNo(@RequestBody SOIssueNotifyHeaderData data) {
  346. SOIssueNotifyHeaderData row = issureNotifyService.getUserNoOrderNotifyNo(data);
  347. return R.ok().put("row", row);
  348. }
  349. @PostMapping(value="/createNoOrderNotify")
  350. @ResponseBody
  351. public R createNoOrderNotify(@RequestBody SOIssueNotifyHeaderData data) throws ParseException {
  352. issureNotifyService.createNoOrderNotify(data);
  353. return R.ok();
  354. }
  355. @PostMapping(value="/saveNoOrderNotify")
  356. public R saveNoOrderNotify(@RequestBody NoOrderNotifyDto data) throws Exception {
  357. String rows = issureNotifyService.saveNoOrderNotify(data);
  358. if("200".equals(rows)){
  359. return R.ok("操作成功");
  360. }
  361. return R.error("操作失败");
  362. }
  363. @PostMapping(value="/getNotifyNoOrderDetail")
  364. @ResponseBody
  365. public R getNotifyNoOrderDetail(@RequestBody SOIssueNotifyHeaderData data) {
  366. List<SOIssueNotifyOrderListData> rows = issureNotifyService.getNotifyNoOrderDetail(data);
  367. return R.ok().put("rows", rows);
  368. }
  369. @PostMapping(value="/getNoOrderMaterialList")
  370. @ResponseBody
  371. public R getNoOrderMaterialList(@RequestBody SOIssueNotifyOrderMaterialList data) {
  372. List<NoOrderMaterialListVo> rows = issureNotifyService.getNoOrderMaterialList(data);
  373. return R.ok().put("rows", rows);
  374. }
  375. @PostMapping(value="/saveNoOrderMaterialDetail")
  376. @ResponseBody
  377. public R saveNoOrderMaterialDetail(@RequestBody List<SOIssueNotifyOrderMaterialList> data) {
  378. issureNotifyService.saveNoOrderMaterialDetail(data);
  379. return R.ok();
  380. }
  381. @PostMapping(value="/searchNoOrderNotifyHeader")
  382. @ResponseBody
  383. public R searchNoOrderNotifyHeader(@RequestBody ShipmentIssueDto data) {
  384. PageUtils page = issureNotifyService.searchNoOrderNotifyHeader(data);
  385. return R.ok().put("page", page);
  386. }
  387. @PostMapping(value="/getNotifyNoOrderDetailByType")
  388. @ResponseBody
  389. public R getNotifyNoOrderDetailByType(@RequestBody SOIssueNotifyOrderList data)throws Exception {
  390. List<SOIssueNotifyOrderList> rows = issureNotifyService.getNotifyNoOrderDetailByType(data);
  391. return R.ok().put("rows", rows);
  392. }
  393. @PostMapping(value="/uploadNoorderNotifyExcel")
  394. public R uploadNoorderNotifyExcel(@RequestParam("file") MultipartFile file,
  395. @RequestParam("site") String site,
  396. @RequestParam("notifyNo") String notifyNo) {
  397. try {
  398. List<ImportPartAttrVo> importPartAttrVos = issureNotifyService.uploadNoorderNotifyExcel(file, site, notifyNo);
  399. return R.ok().put("rows",importPartAttrVos);
  400. } catch (Exception e) {
  401. return R.error("Excel导入失败: " + e.getMessage());
  402. }
  403. }
  404. }