package com.ruoyi.nieyan.controller.pda; import com.ruoyi.ams.config.domain.dto.AgvCallItemDTO; import com.ruoyi.ams.inv.domain.form.InvLotLocIdMoveForm; import com.ruoyi.ams.inv.service.IInvLotLocIdService; import com.ruoyi.ams.nieyan.domain.form.AgvCallForm; import com.ruoyi.ams.nieyan.service.AgvCallProxyService; import com.ruoyi.base.constant.Constant; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.StringUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; /** * 镍盐PDA接口 * Created by IntelliJ IDEA. * User: jwk * Date: 2023/05/25 */ @Api("镍盐PDA接口") @Slf4j @RestController @RequestMapping("/pda/agvCall") public class PdaAgvCallController { @Autowired private AgvCallProxyService agvCallProxyService; @Autowired private IInvLotLocIdService invLotLocIdService; /** * 补空托(空托暂存区) * 空托区1 -> 空托区2 * * @param agvCallForm * @return */ @ApiOperation("补空托(空托暂存区)") @PostMapping("supplementEmptyTray") public AjaxResult supplementEmptyTray(@RequestBody AgvCallForm agvCallForm) { if (StringUtils.isEmpty(agvCallForm.getLocationFrom())) { return AjaxResult.error("起始库位为空!"); } String locationFrom = agvCallForm.getLocationFrom(); String locationTo = agvCallForm.getLocationTo(); String createUser = agvCallForm.getCreateUser(); return agvCallProxyService.supplementEmptyTray(locationFrom, locationTo, createUser); } /** * 空托上料(硫酸镍) * * @param agvCallForm * @return */ @ApiOperation("空托上料(硫酸镍)") @PostMapping("emptyFeedingLSN") public AjaxResult emptyFeedingLSN(@RequestBody AgvCallForm agvCallForm) { if (StringUtils.isEmpty(agvCallForm.getLocationTo())) { return AjaxResult.error("目标库位为空!"); } String locationFrom = agvCallForm.getLocationFrom(); String locationTo = agvCallForm.getLocationTo(); String createUser = agvCallForm.getCreateUser(); return agvCallProxyService.emptyFeedingLSN(locationFrom, locationTo, createUser); } /** * 空托上料(氯化镍) * * @param agvCallForm * @return */ @ApiOperation("空托上料(氯化镍)") @PostMapping("emptyFeedingLHN") public AjaxResult emptyFeedingLHN(@RequestBody AgvCallForm agvCallForm) { if (StringUtils.isEmpty(agvCallForm.getLocationTo())) { return AjaxResult.error("目标库位为空!"); } String locationFrom = agvCallForm.getLocationFrom(); String locationTo = agvCallForm.getLocationTo(); String createUser = agvCallForm.getCreateUser(); return agvCallProxyService.emptyFeedingLHN(locationFrom, locationTo, createUser); } /** * 废料搬运(硫酸镍) * * @param agvCallForm * @return */ @ApiOperation("废料搬运(硫酸镍)") @PostMapping("accessoriesHandlingLSN") public AjaxResult accessoriesHandlingLSN(@RequestBody AgvCallForm agvCallForm) { // if (StringUtils.isEmpty(agvCallForm.getLocationTo())) { // return AjaxResult.error("目标库位为空!"); // } String locationFrom = agvCallForm.getLocationFrom(); String locationTo = agvCallForm.getLocationTo(); String createUser = agvCallForm.getCreateUser(); return agvCallProxyService.accessoriesHandlingLSN(locationFrom, locationTo, createUser); } /** * 废料退空(硫酸镍) * * @param agvCallForm * @return */ @ApiOperation("废料退空(硫酸镍)") @PostMapping("accessoriesReturnEmptyLSN") public AjaxResult accessoriesReturnEmptyLSN(@RequestBody AgvCallForm agvCallForm) { // if (StringUtils.isEmpty(agvCallForm.getLocationTo())) { // return AjaxResult.error("目标库位为空!"); // } String locationFrom = agvCallForm.getLocationFrom(); String locationTo = agvCallForm.getLocationTo(); String createUser = agvCallForm.getCreateUser(); return agvCallProxyService.accessoriesReturnEmptyLSN(locationFrom, locationTo, createUser); } /** * 废料搬运(氯化镍) * * @param agvCallForm * @return */ @ApiOperation("废料搬运(氯化镍)") @PostMapping("accessoriesHandlingLHN") public AjaxResult accessoriesHandlingLHN(@RequestBody AgvCallForm agvCallForm) { // if (StringUtils.isEmpty(agvCallForm.getLocationTo())) { // return AjaxResult.error("目标库位为空!"); // } String locationFrom = agvCallForm.getLocationFrom(); String locationTo = agvCallForm.getLocationTo(); String createUser = agvCallForm.getCreateUser(); return agvCallProxyService.accessoriesHandlingLHN(locationFrom, locationTo, createUser); } /** * 废料退空(氯化镍) * * @param agvCallForm * @return */ @ApiOperation("废料退空(氯化镍)") @PostMapping("accessoriesReturnEmptyLHN") public AjaxResult accessoriesReturnEmptyLHN(@RequestBody AgvCallForm agvCallForm) { if (StringUtils.isEmpty(agvCallForm.getLocationFrom())) { return AjaxResult.error("起始库位为空!"); } String locationFrom = agvCallForm.getLocationFrom(); String locationTo = agvCallForm.getLocationTo(); String createUser = agvCallForm.getCreateUser(); return agvCallProxyService.accessoriesReturnEmptyLHN(locationFrom, locationTo, createUser); } /** * 成品下线(硫酸镍) * 下线区 > 裹膜区|仓储区 * * @param agvCallForm * @return */ @ApiOperation("成品下线(硫酸镍)(下线区 > 裹膜区|仓储区)") @PostMapping("productsDownLineLSN") public AjaxResult productsDownLineLSN(@RequestBody AgvCallForm agvCallForm) { if (StringUtils.isEmpty(agvCallForm.getLocationFrom())) { return AjaxResult.error("起始库位为空!"); } String locationFrom = agvCallForm.getLocationFrom(); String locationTo = agvCallForm.getLocationTo(); String createUser = agvCallForm.getCreateUser(); Boolean theWrapped = agvCallForm.getTheWrapped(); // 是否裹膜 Boolean theWeighing = agvCallForm.getTheWeighing(); // 是否复称 List agvCallItemDTOList = agvCallForm.getAgvCallItemDTOList(); return theWrapped ? agvCallProxyService.productsDownLineLSN(locationFrom, locationTo, createUser , theWeighing, agvCallItemDTOList) : agvCallProxyService.productsDownLineInvLSN(locationFrom, locationTo, createUser , theWeighing, agvCallItemDTOList); } /** * 成品下线(氯化镍) * 下线区 > 裹膜区|仓储区 * * @param agvCallForm * @return */ @ApiOperation("成品下线(氯化镍)(下线区 > 裹膜区|仓储区)") @PostMapping("productsDownLineLHN") public AjaxResult productsDownLineLHN(@RequestBody AgvCallForm agvCallForm) { if (StringUtils.isEmpty(agvCallForm.getLocationFrom())) { return AjaxResult.error("起始库位为空!"); } String locationFrom = agvCallForm.getLocationFrom(); String locationTo = agvCallForm.getLocationTo(); String createUser = agvCallForm.getCreateUser(); Boolean theWrapped = agvCallForm.getTheWrapped(); Boolean theWeighing = agvCallForm.getTheWeighing(); List agvCallItemDTOList = agvCallForm.getAgvCallItemDTOList(); return theWrapped ? agvCallProxyService.productsDownLineLHN(locationFrom, locationTo, createUser , theWeighing, agvCallItemDTOList) : agvCallProxyService.productsDownLineInvLHN(locationFrom, locationTo, createUser , theWeighing, agvCallItemDTOList); } /** * 成品下线(硫酸镍) * 裹膜区 -> 仓储区 * * @param agvCallForm * @return */ @ApiOperation("成品下线(裹膜区 -> 仓储区)") @PostMapping("productsDownLineWrappingFilmLSN") public AjaxResult productsDownLineWrappingFilmLSN(@RequestBody AgvCallForm agvCallForm) { String locationFrom = agvCallForm.getLocationFrom(); String locationTo = agvCallForm.getLocationTo(); String createUser = agvCallForm.getCreateUser(); Boolean theWeighing = agvCallForm.getTheWeighing(); return agvCallProxyService.productsDownLineWrappingFilmLSN(locationFrom, locationTo , createUser , theWeighing); } /** * 成品下线(氯化镍) * 裹膜区 -> 仓储区 * * @param agvCallForm * @return */ @ApiOperation("成品下线(裹膜区 -> 仓储区)") @PostMapping("productsDownLineWrappingFilmLHN") public AjaxResult productsDownLineWrappingFilmLHN(@RequestBody AgvCallForm agvCallForm) { String locationFrom = agvCallForm.getLocationFrom(); String locationTo = agvCallForm.getLocationTo(); String createUser = agvCallForm.getCreateUser(); Boolean theWeighing = agvCallForm.getTheWeighing(); return agvCallProxyService.productsDownLineWrappingFilmLHN(locationFrom, locationTo , createUser , theWeighing); } /** * 成品出库(硫酸镍) * * @param agvCallForm * @return */ @ApiOperation("成品出库(硫酸镍)") @PostMapping("productsOutboundLSN") public AjaxResult productsOutboundLSN(@RequestBody AgvCallForm agvCallForm) { if (StringUtils.isEmpty(agvCallForm.getLocationFrom())) { return AjaxResult.error("起始库位为空!"); } String locationFrom = agvCallForm.getLocationFrom(); String locationTo = agvCallForm.getLocationTo(); String createUser = agvCallForm.getCreateUser(); return agvCallProxyService.productsOutboundLSN(locationFrom, locationTo, createUser); } /** * 成品出库(氯化镍) * * @param agvCallForm * @return */ @ApiOperation("成品出库(氯化镍)") @PostMapping("productsOutboundLHN") public AjaxResult productsOutboundLHN(@RequestBody AgvCallForm agvCallForm) { if (StringUtils.isEmpty(agvCallForm.getLocationFrom())) { return AjaxResult.error("起始库位为空!"); } String locationFrom = agvCallForm.getLocationFrom(); String locationTo = agvCallForm.getLocationTo(); String createUser = agvCallForm.getCreateUser(); return agvCallProxyService.productsOutboundLHN(locationFrom, locationTo, createUser); } /** * 辅料搬运 * 出库接驳位 * * @param invLotLocIdMoveForm */ @ApiOperation("辅料搬运") @PostMapping("accessoriesMove") public AjaxResult accessoriesMove(@RequestBody InvLotLocIdMoveForm invLotLocIdMoveForm) { invLotLocIdMoveForm.setUpdateBy(StringUtils.isEmpty(invLotLocIdMoveForm.getUpdateBy()) ? "pda" : invLotLocIdMoveForm.getUpdateBy()); invLotLocIdMoveForm.setWarehouseId(Constant.WAREHOUSE_ID); if (StringUtils.isEmpty(invLotLocIdMoveForm.getLocationFrom())) { return AjaxResult.error("起始库位不能为空"); } if (StringUtils.isEmpty(invLotLocIdMoveForm.getLocationTo())) { return AjaxResult.error("目标库位不能为空"); } return invLotLocIdService.accessoriesMove(invLotLocIdMoveForm); } }