PdaAgvCallController.java 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321
  1. package com.ruoyi.nieyan.controller.pda;
  2. import com.ruoyi.ams.config.domain.dto.AgvCallItemDTO;
  3. import com.ruoyi.ams.inv.domain.form.InvLotLocIdMoveForm;
  4. import com.ruoyi.ams.inv.service.IInvLotLocIdService;
  5. import com.ruoyi.ams.nieyan.domain.form.AgvCallForm;
  6. import com.ruoyi.ams.nieyan.service.AgvCallProxyService;
  7. import com.ruoyi.base.constant.Constant;
  8. import com.ruoyi.common.annotation.Log;
  9. import com.ruoyi.common.core.domain.AjaxResult;
  10. import com.ruoyi.common.enums.BusinessType;
  11. import com.ruoyi.common.utils.StringUtils;
  12. import io.swagger.annotations.Api;
  13. import io.swagger.annotations.ApiOperation;
  14. import lombok.extern.slf4j.Slf4j;
  15. import org.springframework.beans.factory.annotation.Autowired;
  16. import org.springframework.web.bind.annotation.PostMapping;
  17. import org.springframework.web.bind.annotation.RequestBody;
  18. import org.springframework.web.bind.annotation.RequestMapping;
  19. import org.springframework.web.bind.annotation.RestController;
  20. import java.util.List;
  21. /**
  22. * 镍盐PDA接口
  23. * Created by IntelliJ IDEA.
  24. * User: jwk
  25. * Date: 2023/05/25
  26. */
  27. @Api("镍盐PDA接口")
  28. @Slf4j
  29. @RestController
  30. @RequestMapping("/pda/agvCall")
  31. public class PdaAgvCallController {
  32. @Autowired
  33. private AgvCallProxyService agvCallProxyService;
  34. @Autowired
  35. private IInvLotLocIdService invLotLocIdService;
  36. /**
  37. * 补空托(空托暂存区)
  38. * 空托区1 -> 空托区2
  39. *
  40. * @param agvCallForm
  41. * @return
  42. */
  43. @ApiOperation("补空托(空托暂存区)")
  44. @PostMapping("supplementEmptyTray")
  45. public AjaxResult supplementEmptyTray(@RequestBody AgvCallForm agvCallForm) {
  46. if (StringUtils.isEmpty(agvCallForm.getLocationFrom())) {
  47. return AjaxResult.error("起始库位为空!");
  48. }
  49. String locationFrom = agvCallForm.getLocationFrom();
  50. String locationTo = agvCallForm.getLocationTo();
  51. String createUser = agvCallForm.getCreateUser();
  52. return agvCallProxyService.supplementEmptyTray(locationFrom, locationTo, createUser);
  53. }
  54. /**
  55. * 空托上料(硫酸镍)
  56. *
  57. * @param agvCallForm
  58. * @return
  59. */
  60. @ApiOperation("空托上料(硫酸镍)")
  61. @PostMapping("emptyFeedingLSN")
  62. public AjaxResult emptyFeedingLSN(@RequestBody AgvCallForm agvCallForm) {
  63. if (StringUtils.isEmpty(agvCallForm.getLocationTo())) {
  64. return AjaxResult.error("目标库位为空!");
  65. }
  66. String locationFrom = agvCallForm.getLocationFrom();
  67. String locationTo = agvCallForm.getLocationTo();
  68. String createUser = agvCallForm.getCreateUser();
  69. return agvCallProxyService.emptyFeedingLSN(locationFrom, locationTo, createUser);
  70. }
  71. /**
  72. * 空托上料(氯化镍)
  73. *
  74. * @param agvCallForm
  75. * @return
  76. */
  77. @ApiOperation("空托上料(氯化镍)")
  78. @PostMapping("emptyFeedingLHN")
  79. public AjaxResult emptyFeedingLHN(@RequestBody AgvCallForm agvCallForm) {
  80. if (StringUtils.isEmpty(agvCallForm.getLocationTo())) {
  81. return AjaxResult.error("目标库位为空!");
  82. }
  83. String locationFrom = agvCallForm.getLocationFrom();
  84. String locationTo = agvCallForm.getLocationTo();
  85. String createUser = agvCallForm.getCreateUser();
  86. return agvCallProxyService.emptyFeedingLHN(locationFrom, locationTo, createUser);
  87. }
  88. /**
  89. * 废料搬运(硫酸镍)
  90. *
  91. * @param agvCallForm
  92. * @return
  93. */
  94. @ApiOperation("废料搬运(硫酸镍)")
  95. @PostMapping("accessoriesHandlingLSN")
  96. public AjaxResult accessoriesHandlingLSN(@RequestBody AgvCallForm agvCallForm) {
  97. // if (StringUtils.isEmpty(agvCallForm.getLocationTo())) {
  98. // return AjaxResult.error("目标库位为空!");
  99. // }
  100. String locationFrom = agvCallForm.getLocationFrom();
  101. String locationTo = agvCallForm.getLocationTo();
  102. String createUser = agvCallForm.getCreateUser();
  103. return agvCallProxyService.accessoriesHandlingLSN(locationFrom, locationTo, createUser);
  104. }
  105. /**
  106. * 废料退空(硫酸镍)
  107. *
  108. * @param agvCallForm
  109. * @return
  110. */
  111. @ApiOperation("废料退空(硫酸镍)")
  112. @PostMapping("accessoriesReturnEmptyLSN")
  113. public AjaxResult accessoriesReturnEmptyLSN(@RequestBody AgvCallForm agvCallForm) {
  114. // if (StringUtils.isEmpty(agvCallForm.getLocationTo())) {
  115. // return AjaxResult.error("目标库位为空!");
  116. // }
  117. String locationFrom = agvCallForm.getLocationFrom();
  118. String locationTo = agvCallForm.getLocationTo();
  119. String createUser = agvCallForm.getCreateUser();
  120. return agvCallProxyService.accessoriesReturnEmptyLSN(locationFrom, locationTo, createUser);
  121. }
  122. /**
  123. * 废料搬运(氯化镍)
  124. *
  125. * @param agvCallForm
  126. * @return
  127. */
  128. @ApiOperation("废料搬运(氯化镍)")
  129. @PostMapping("accessoriesHandlingLHN")
  130. public AjaxResult accessoriesHandlingLHN(@RequestBody AgvCallForm agvCallForm) {
  131. // if (StringUtils.isEmpty(agvCallForm.getLocationTo())) {
  132. // return AjaxResult.error("目标库位为空!");
  133. // }
  134. String locationFrom = agvCallForm.getLocationFrom();
  135. String locationTo = agvCallForm.getLocationTo();
  136. String createUser = agvCallForm.getCreateUser();
  137. return agvCallProxyService.accessoriesHandlingLHN(locationFrom, locationTo, createUser);
  138. }
  139. /**
  140. * 废料退空(氯化镍)
  141. *
  142. * @param agvCallForm
  143. * @return
  144. */
  145. @ApiOperation("废料退空(氯化镍)")
  146. @PostMapping("accessoriesReturnEmptyLHN")
  147. public AjaxResult accessoriesReturnEmptyLHN(@RequestBody AgvCallForm agvCallForm) {
  148. if (StringUtils.isEmpty(agvCallForm.getLocationFrom())) {
  149. return AjaxResult.error("起始库位为空!");
  150. }
  151. String locationFrom = agvCallForm.getLocationFrom();
  152. String locationTo = agvCallForm.getLocationTo();
  153. String createUser = agvCallForm.getCreateUser();
  154. return agvCallProxyService.accessoriesReturnEmptyLHN(locationFrom, locationTo, createUser);
  155. }
  156. /**
  157. * 成品下线(硫酸镍)
  158. * 下线区 > 裹膜区|仓储区
  159. *
  160. * @param agvCallForm
  161. * @return
  162. */
  163. @ApiOperation("成品下线(硫酸镍)(下线区 > 裹膜区|仓储区)")
  164. @PostMapping("productsDownLineLSN")
  165. public AjaxResult productsDownLineLSN(@RequestBody AgvCallForm agvCallForm) {
  166. if (StringUtils.isEmpty(agvCallForm.getLocationFrom())) {
  167. return AjaxResult.error("起始库位为空!");
  168. }
  169. String locationFrom = agvCallForm.getLocationFrom();
  170. String locationTo = agvCallForm.getLocationTo();
  171. String createUser = agvCallForm.getCreateUser();
  172. Boolean theWrapped = agvCallForm.getTheWrapped(); // 是否裹膜
  173. Boolean theWeighing = agvCallForm.getTheWeighing(); // 是否复称
  174. List<AgvCallItemDTO> agvCallItemDTOList = agvCallForm.getAgvCallItemDTOList();
  175. return theWrapped ?
  176. agvCallProxyService.productsDownLineLSN(locationFrom, locationTo, createUser
  177. , theWeighing, agvCallItemDTOList)
  178. :
  179. agvCallProxyService.productsDownLineInvLSN(locationFrom, locationTo, createUser
  180. , theWeighing, agvCallItemDTOList);
  181. }
  182. /**
  183. * 成品下线(氯化镍)
  184. * 下线区 > 裹膜区|仓储区
  185. *
  186. * @param agvCallForm
  187. * @return
  188. */
  189. @ApiOperation("成品下线(氯化镍)(下线区 > 裹膜区|仓储区)")
  190. @PostMapping("productsDownLineLHN")
  191. public AjaxResult productsDownLineLHN(@RequestBody AgvCallForm agvCallForm) {
  192. if (StringUtils.isEmpty(agvCallForm.getLocationFrom())) {
  193. return AjaxResult.error("起始库位为空!");
  194. }
  195. String locationFrom = agvCallForm.getLocationFrom();
  196. String locationTo = agvCallForm.getLocationTo();
  197. String createUser = agvCallForm.getCreateUser();
  198. Boolean theWrapped = agvCallForm.getTheWrapped();
  199. Boolean theWeighing = agvCallForm.getTheWeighing();
  200. List<AgvCallItemDTO> agvCallItemDTOList = agvCallForm.getAgvCallItemDTOList();
  201. return theWrapped ?
  202. agvCallProxyService.productsDownLineLHN(locationFrom, locationTo, createUser
  203. , theWeighing, agvCallItemDTOList)
  204. :
  205. agvCallProxyService.productsDownLineInvLHN(locationFrom, locationTo, createUser
  206. , theWeighing, agvCallItemDTOList);
  207. }
  208. /**
  209. * 成品下线(硫酸镍)
  210. * 裹膜区 -> 仓储区
  211. *
  212. * @param agvCallForm
  213. * @return
  214. */
  215. @ApiOperation("成品下线(裹膜区 -> 仓储区)")
  216. @PostMapping("productsDownLineWrappingFilmLSN")
  217. public AjaxResult productsDownLineWrappingFilmLSN(@RequestBody AgvCallForm agvCallForm) {
  218. String locationFrom = agvCallForm.getLocationFrom();
  219. String locationTo = agvCallForm.getLocationTo();
  220. String createUser = agvCallForm.getCreateUser();
  221. Boolean theWeighing = agvCallForm.getTheWeighing();
  222. return agvCallProxyService.productsDownLineWrappingFilmLSN(locationFrom, locationTo
  223. , createUser
  224. , theWeighing);
  225. }
  226. /**
  227. * 成品下线(氯化镍)
  228. * 裹膜区 -> 仓储区
  229. *
  230. * @param agvCallForm
  231. * @return
  232. */
  233. @ApiOperation("成品下线(裹膜区 -> 仓储区)")
  234. @PostMapping("productsDownLineWrappingFilmLHN")
  235. public AjaxResult productsDownLineWrappingFilmLHN(@RequestBody AgvCallForm agvCallForm) {
  236. String locationFrom = agvCallForm.getLocationFrom();
  237. String locationTo = agvCallForm.getLocationTo();
  238. String createUser = agvCallForm.getCreateUser();
  239. Boolean theWeighing = agvCallForm.getTheWeighing();
  240. return agvCallProxyService.productsDownLineWrappingFilmLHN(locationFrom, locationTo
  241. , createUser
  242. , theWeighing);
  243. }
  244. /**
  245. * 成品出库(硫酸镍)
  246. *
  247. * @param agvCallForm
  248. * @return
  249. */
  250. @ApiOperation("成品出库(硫酸镍)")
  251. @PostMapping("productsOutboundLSN")
  252. public AjaxResult productsOutboundLSN(@RequestBody AgvCallForm agvCallForm) {
  253. if (StringUtils.isEmpty(agvCallForm.getLocationFrom())) {
  254. return AjaxResult.error("起始库位为空!");
  255. }
  256. String locationFrom = agvCallForm.getLocationFrom();
  257. String locationTo = agvCallForm.getLocationTo();
  258. String createUser = agvCallForm.getCreateUser();
  259. return agvCallProxyService.productsOutboundLSN(locationFrom, locationTo, createUser);
  260. }
  261. /**
  262. * 成品出库(氯化镍)
  263. *
  264. * @param agvCallForm
  265. * @return
  266. */
  267. @ApiOperation("成品出库(氯化镍)")
  268. @PostMapping("productsOutboundLHN")
  269. public AjaxResult productsOutboundLHN(@RequestBody AgvCallForm agvCallForm) {
  270. if (StringUtils.isEmpty(agvCallForm.getLocationFrom())) {
  271. return AjaxResult.error("起始库位为空!");
  272. }
  273. String locationFrom = agvCallForm.getLocationFrom();
  274. String locationTo = agvCallForm.getLocationTo();
  275. String createUser = agvCallForm.getCreateUser();
  276. return agvCallProxyService.productsOutboundLHN(locationFrom, locationTo, createUser);
  277. }
  278. /**
  279. * 辅料搬运
  280. * 出库接驳位
  281. *
  282. * @param invLotLocIdMoveForm
  283. */
  284. @ApiOperation("辅料搬运")
  285. @PostMapping("accessoriesMove")
  286. public AjaxResult accessoriesMove(@RequestBody InvLotLocIdMoveForm invLotLocIdMoveForm) {
  287. invLotLocIdMoveForm.setUpdateBy(StringUtils.isEmpty(invLotLocIdMoveForm.getUpdateBy()) ?
  288. "pda" : invLotLocIdMoveForm.getUpdateBy());
  289. invLotLocIdMoveForm.setWarehouseId(Constant.WAREHOUSE_ID);
  290. if (StringUtils.isEmpty(invLotLocIdMoveForm.getLocationFrom())) {
  291. return AjaxResult.error("起始库位不能为空");
  292. }
  293. if (StringUtils.isEmpty(invLotLocIdMoveForm.getLocationTo())) {
  294. return AjaxResult.error("目标库位不能为空");
  295. }
  296. return invLotLocIdService.accessoriesMove(invLotLocIdMoveForm);
  297. }
  298. }