package com.qianwen.smartman.modules.fms.controller;
|
|
import java.util.List;
|
import java.util.Map;
|
|
import javax.validation.Valid;
|
|
import org.springframework.web.bind.annotation.PathVariable;
|
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RestController;
|
|
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
|
import com.qianwen.core.boot.ctrl.BladeController;
|
import com.qianwen.core.mp.support.Condition;
|
import com.qianwen.core.scanner.modular.annotation.DeleteResource;
|
import com.qianwen.core.scanner.modular.annotation.GetResource;
|
import com.qianwen.core.scanner.modular.annotation.PostResource;
|
import com.qianwen.core.scanner.modular.annotation.PutResource;
|
import com.qianwen.core.scanner.modular.stereotype.ApiResource;
|
import com.qianwen.core.secure.annotation.PreAuth;
|
import com.qianwen.core.tool.api.R;
|
import com.qianwen.smartman.common.cache.RegionCache;
|
import com.qianwen.smartman.common.utils.Lambda;
|
import com.qianwen.smartman.modules.fms.convert.FmsOrderProcessConvert;
|
import com.qianwen.smartman.modules.fms.convert.FmsOrderProcessFixtureConvert;
|
import com.qianwen.smartman.modules.fms.convert.FmsOrderProcessToolConvert;
|
import com.qianwen.smartman.modules.fms.dto.ProgramIssuanceDTO;
|
import com.qianwen.smartman.modules.fms.entity.FmsOrderProcess;
|
import com.qianwen.smartman.modules.fms.service.IFmsOrderProcessFixtureService;
|
import com.qianwen.smartman.modules.fms.service.IFmsOrderProcessService;
|
import com.qianwen.smartman.modules.fms.service.IFmsOrderProcessToolService;
|
import com.qianwen.smartman.modules.fms.vo.FmsOrderProcessFixtureVO;
|
import com.qianwen.smartman.modules.fms.vo.FmsOrderProcessToolVO;
|
import com.qianwen.smartman.modules.fms.vo.FmsOrderProcessVO;
|
import com.qianwen.smartman.modules.fms.vo.FmsWorkStationProcessVO;
|
|
import cn.hutool.core.bean.BeanUtil;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParams;
|
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiParam;
|
import springfox.documentation.annotations.ApiIgnore;
|
|
@Api(value = "工单工序信息管理", tags = {"fms_order_process"})
|
@ApiResource({"blade-fms/order/process"})
|
@RestController
|
/* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/fms/controller/FmsOrderProcessController.class */
|
public class FmsOrderProcessController extends BladeController {
|
private final IFmsOrderProcessService fmsOrderProcessService;
|
private final IFmsOrderProcessFixtureService fmsOrderProcessFixtureService;
|
private final IFmsOrderProcessToolService fmsOrderProcessToolService;
|
|
|
public FmsOrderProcessController(final IFmsOrderProcessService fmsOrderProcessService, final IFmsOrderProcessFixtureService fmsOrderProcessFixtureService, final IFmsOrderProcessToolService fmsOrderProcessToolService) {
|
this.fmsOrderProcessService = fmsOrderProcessService;
|
this.fmsOrderProcessFixtureService = fmsOrderProcessFixtureService;
|
this.fmsOrderProcessToolService = fmsOrderProcessToolService;
|
}
|
|
@ApiOperationSupport(order = 1)
|
@GetResource({"/get/{id}"})
|
@ApiOperation(value = "工单工序信息详情", notes = "传入fmsOrderProcess")
|
public R<FmsOrderProcessVO> detail(@PathVariable String id) {
|
FmsOrderProcess fmsOrderProcess = (FmsOrderProcess) this.fmsOrderProcessService.getById(id);
|
return R.data(FmsOrderProcessConvert.INSTANCE.convert(fmsOrderProcess));
|
}
|
|
@ApiOperationSupport(order = 2)
|
@ApiImplicitParams({@ApiImplicitParam(name = "orderId", value = "工单ID", paramType = "query", dataType = "string")})
|
@GetResource({"/list"})
|
@ApiOperation(value = "工单工序信息列表", notes = "传入map")
|
@PreAuth
|
public R<List<FmsOrderProcessVO>> list(@RequestParam @ApiIgnore Map<String, Object> params) {
|
FmsOrderProcess orderProcess = (FmsOrderProcess) BeanUtil.mapToBean(params, FmsOrderProcess.class, true);
|
List<FmsOrderProcess> list = this.fmsOrderProcessService.list(Condition.getQueryWrapper(orderProcess));
|
List<FmsOrderProcessVO> convert = FmsOrderProcessConvert.INSTANCE.convert(list);
|
convert.forEach(item -> {
|
List<FmsOrderProcessFixtureVO> fixtureVOList = FmsOrderProcessFixtureConvert.INSTANCE.convert(this.fmsOrderProcessFixtureService.list(Lambda.eq((v0) -> {
|
return v0.getOrderProcessId();
|
}, item.getId())));
|
List<FmsOrderProcessToolVO> toolVOList = FmsOrderProcessToolConvert.INSTANCE.convert(this.fmsOrderProcessToolService.list(Lambda.eq((v0) -> {
|
return v0.getOrderProcessId();
|
}, item.getId())));
|
item.setFixtureList(fixtureVOList);
|
item.setToolList(toolVOList);
|
});
|
return R.data(convert);
|
}
|
|
@ApiOperationSupport(order = RegionCache.VILLAGE_LEVEL)
|
@PutResource({"/update"})
|
@ApiOperation(value = "工单工序信息修改", notes = "传入fmsOrderProcessVO")
|
public R<FmsOrderProcessVO> update(@Valid @RequestBody FmsOrderProcessVO fmsOrderProcessVO) {
|
FmsOrderProcess fmsOrderProcess = FmsOrderProcessConvert.INSTANCE.convert(fmsOrderProcessVO);
|
this.fmsOrderProcessService.updateById(fmsOrderProcess);
|
return R.data(FmsOrderProcessConvert.INSTANCE.convert(fmsOrderProcess));
|
}
|
|
@ApiOperationSupport(order = 6)
|
@DeleteResource({"/remove"})
|
@ApiOperation(value = "工单工序信息删除", notes = "传入ids")
|
public R remove(@ApiParam(value = "主键", required = true) @RequestBody List<Long> ids) {
|
if (ids.isEmpty()) {
|
return R.status(false);
|
}
|
return R.status(this.fmsOrderProcessService.removeByIds(ids));
|
}
|
|
@ApiOperationSupport(order = 7)
|
@GetResource({"/workstation-list"})
|
@ApiOperation(value = "根据工单ID获取每道工序的工位列表数据", notes = "传入工单id")
|
@PreAuth
|
public R<List<FmsWorkStationProcessVO>> workstationList(String orderId) {
|
return R.data(this.fmsOrderProcessService.listWorkstation(orderId));
|
}
|
|
@ApiOperationSupport(order = 8)
|
@PostResource({"/issued"})
|
@ApiOperation(value = "南通柔性线程序下发", notes = "programIssuanceDTO")
|
public void sendProgram(@RequestBody ProgramIssuanceDTO programIssuanceDTO) {
|
this.fmsOrderProcessService.programIssuanceDmp(programIssuanceDTO);
|
}
|
}
|