package com.yuanchu.mom.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yuanchu.mom.mapper.ManualTechnologyMapper; import com.yuanchu.mom.pojo.ManualTechnology; import com.yuanchu.mom.pojo.dto.ManualTechnologyDto; import com.yuanchu.mom.service.DeviceService; import com.yuanchu.mom.service.ManualTechnologyService; import com.yuanchu.mom.vo.Result; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import com.yuanchu.mom.service.ManufactureOrderService; import javax.annotation.Resource; import javax.xml.crypto.Data; import java.text.ParseException; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; /** * 生产订单表(ManufactureOrder)表控制层 * * @author zss * @since 2023-08-17 14:16:24 */ @Api(tags = "生产管理-->生产订单") @RestController @RequestMapping("/manufactureOrder") public class ManufactureOrderController { @Autowired private ManufactureOrderService manufactureOrderService; @Resource ManualTechnologyService manualTechnologyService; @Resource DeviceService deviceService; @ApiOperation(value = "查询生产订单列表") @ApiImplicitParams(value = { @ApiImplicitParam(name = "pageSize", value = "页数", dataTypeClass = Integer.class, required = true), @ApiImplicitParam(name = "countSize", value = "条数/页", dataTypeClass = Integer.class, required = true), @ApiImplicitParam(name = "downTime", value = "下单日期", dataTypeClass = String.class), @ApiImplicitParam(name = "delTime", value = "交货日期", dataTypeClass = String.class), @ApiImplicitParam(name = "customerCode", value = "合同编号", dataTypeClass = String.class), @ApiImplicitParam(name = "type", value = "状态(为空=全部)", dataTypeClass = Integer.class) }) @GetMapping("/selectAllManord") public Result selectAllManord(int pageSize, int countSize, String downTime, String delTime, String customerCode, Integer type) { IPage> manufactureOrderPage = manufactureOrderService.selectAllManord(new Page(pageSize, countSize), downTime, delTime, customerCode, type); Map map = new HashMap<>(); map.put("total", manufactureOrderPage.getTotal()); map.put("row", manufactureOrderPage.getRecords()); return Result.success(map); } @ApiOperation(value = "排产-->1.查看") @ApiImplicitParams(value = { @ApiImplicitParam(name = "manOrdId", value = "生产订单id", dataTypeClass = Integer.class, required = true) }) @GetMapping("/seleDatil") public Result seleDatil(Integer manOrdId) { return Result.success(manualTechnologyService.seleDatil(manOrdId)); } @ApiOperation(value = "排产-->2.选择设备") @ApiImplicitParams(value = { @ApiImplicitParam(name = "deviceGroup", value = "设备组", dataTypeClass = String.class, required = true) }) @GetMapping("/seleDevice") public Result seleDevice(String deviceGroup) { return Result.success(deviceService.getDeviceNameByGroup(deviceGroup)); } @ApiOperation(value = "排产-->3.更新") @ApiImplicitParams(value = { @ApiImplicitParam(name = "date", value = "排产开始日期", dataTypeClass = String.class, required = true) }) @PostMapping("/output") public Result output(String date ,@Validated @RequestBody List manualTechnologyDtoList) throws ParseException { manualTechnologyService.output(date,manualTechnologyDtoList); return Result.success(); } @ApiOperation(value = "查看排产详情") @ApiImplicitParams(value = { @ApiImplicitParam(name = "manOrdId", value = "生产订单id", dataTypeClass = Integer.class, required = true) }) @GetMapping("/sePros") public Result sePros(Integer manOrdId) { return Result.success(manufactureOrderService.sePros(manOrdId)); } @ApiOperation(value = "下达") @ApiImplicitParams(value = { @ApiImplicitParam(name = "manOrdId", value = "生产订单id", dataTypeClass = Integer.class, required = true) }) @PostMapping("/down") public Result down(Integer manOrdId) { manufactureOrderService.down(manOrdId); return Result.success("下达成功!"); } }