package doumeemes.api.ext; import com.alibaba.fastjson.JSONObject; import doumeemes.api.BaseController; import doumeemes.config.rocketmq.RocketMessageProducer; import doumeemes.core.annotation.pr.PreventRepeat; import doumeemes.core.model.ApiResponse; import doumeemes.core.model.PageData; import doumeemes.core.model.PageWrap; import doumeemes.core.utils.Constants; import doumeemes.dao.business.dto.CreateMaterialDTO; import doumeemes.dao.business.dto.DealWorkorderRecordDTO; import doumeemes.dao.business.model.Workorder; import doumeemes.dao.business.model.WorkorderRecord; import doumeemes.dao.ext.bean.EndCheckApBean; import doumeemes.dao.ext.beanDto.QueryWStockDto; import doumeemes.dao.ext.dto.QueryWorkorderRecordExtDTO; import doumeemes.dao.ext.vo.WStockExtListForWorkorderVO; import doumeemes.dao.ext.vo.WStockExtListVO; import doumeemes.dao.ext.vo.WorkorderRecordExtListVO; import doumeemes.service.business.WorkorderRecordService; import doumeemes.service.ext.WorkorderExtService; import doumeemes.service.ext.WorkorderRecordExtService; import doumeemes.service.ext.WorkorderRecordStandardService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; import java.util.List; /** * 工单生产过程记录接口 * @author 江蹄蹄 * @date 2022/04/20 10:56 */ @RestController @RequestMapping("/ext/workorderRecordExt") @Api(tags = "工单生产过程记录接口") public class WorkorderRecordExtController extends BaseController { @Autowired private WorkorderRecordExtService workorderRecordExtService; @Autowired private WorkorderExtService workorderExtService; @Autowired private WorkorderRecordService workorderRecordService; @Autowired private WorkorderRecordStandardService workorderRecordStandardService; @PreventRepeat @ApiOperation("新建投料") @PostMapping("/createMaterial") @RequiresPermissions("ext:workorderrecordext:create") public ApiResponse createMaterial(@RequestBody CreateMaterialDTO param) { return ApiResponse.success(workorderRecordExtService.createMaterial(param)); } @PreventRepeat @ApiOperation("新建投料 - 标准版") @PostMapping("/createMaterialStandard") @RequiresPermissions("ext:workorderrecordext:create") public ApiResponse createMaterialStandard(@RequestBody CreateMaterialDTO param) { return ApiResponse.success(workorderRecordStandardService.createMaterialStandard(param)); } @PreventRepeat @ApiOperation("确认报工") @PostMapping("/comfirmDone") @RequiresPermissions("ext:workorderrecordext:create") public ApiResponse comfirmDone(@RequestBody Workorder param) { Integer id =workorderRecordExtService.comfirmDone(param); //发送消息队列处理分享操作 workorderExtService.statisticNum(param); // RocketMessageProducer.producerMsg(Constants.MQ_TAG.statistics,null, JSONObject.toJSONString(param)); // rabbitTemplate.convertAndSend(Constants.MqTopicKeys.TOPIC_STATISTIC_NUM, Constants.MqTopicKeys.TOPIC_STATISTIC_NUM, JSONObject.toJSONString(param)); return ApiResponse.success(id); } @PreventRepeat @ApiOperation("确认报工") @PostMapping("/comfirmDoneStandard") @RequiresPermissions("ext:workorderrecordext:create") public ApiResponse comfirmDoneStandard(@RequestBody Workorder param) { Integer id =workorderRecordStandardService.comfirmDone(param); //发送消息队列处理分享操作 workorderExtService.statisticNum(param); // RocketMessageProducer.producerMsg(Constants.MQ_TAG.statistics,null, JSONObject.toJSONString(param)); // rabbitTemplate.convertAndSend(Constants.MqTopicKeys.TOPIC_STATISTIC_NUM, Constants.MqTopicKeys.TOPIC_STATISTIC_NUM, JSONObject.toJSONString(param)); return ApiResponse.success(id); } @PreventRepeat @ApiOperation("新建产出") @PostMapping("/createProduce") @RequiresPermissions("ext:workorderrecordext:create") public ApiResponse createProduce(@RequestBody CreateMaterialDTO param) { return ApiResponse.success(workorderRecordExtService.createProduce(param)); } @ApiOperation("根据ID删除产出/投料") @GetMapping("/delete/{id}") @RequiresPermissions("ext:workorderrecordext:delete") public ApiResponse deleteById(@PathVariable Integer id) { workorderRecordExtService.deleteById(id); return ApiResponse.success(null); } @ApiOperation("批量删除产出/投料") @GetMapping("/delete/batch") @RequiresPermissions("ext:workorderrecordext:delete") public ApiResponse deleteByIds(@RequestParam String ids) { String [] idArray = ids.split(","); List idList = new ArrayList<>(); for (String id : idArray) { idList.add(Integer.valueOf(id)); } workorderRecordExtService.deleteByIdInBatch(idList); return ApiResponse.success(null); } @ApiOperation("根据ID修改产出/投料数量") @PostMapping("/updateById") @RequiresPermissions("ext:workorderrecordext:update") public ApiResponse updateById(@RequestBody WorkorderRecord workorderRecord) { workorderRecordExtService.updateById(workorderRecord); return ApiResponse.success(null); } @ApiOperation("分页查询") @PostMapping("/page") @RequiresPermissions("ext:workorderrecordext:query") public ApiResponse> findPage (@RequestBody PageWrap pageWrap) { return ApiResponse.success(workorderRecordExtService.findPage(pageWrap)); } @ApiOperation("查询全部") @PostMapping("/all") @RequiresPermissions("ext:workorderrecordext:query") public ApiResponse> findAll (@RequestBody QueryWorkorderRecordExtDTO pageWrap) { return ApiResponse.success(workorderRecordExtService.findAll(pageWrap)); } @ApiOperation("查询全部 - 标准") @PostMapping("/allForStandard") @RequiresPermissions("ext:workorderrecordext:query") public ApiResponse> findAllForStandard (@RequestBody QueryWorkorderRecordExtDTO pageWrap) { return ApiResponse.success(workorderRecordStandardService.findAllForStandard(pageWrap)); } @ApiOperation("导出Excel") @PostMapping("/exportExcel") // @RequiresPermissions("ext:workorderrecordext:exportExcel") public void exportExcel (@RequestBody PageWrap pageWrap, HttpServletResponse response) { workorderRecordExtService.exportExcel(pageWrap,response); } @ApiOperation("根据ID查询") @GetMapping("/{id}") @RequiresPermissions("ext:workorderrecordext:query") public ApiResponse findById(@PathVariable Integer id) { return ApiResponse.success(workorderRecordService.findById(id)); } @ApiOperation("终检工装扫描") @GetMapping("/getEndCheckAP") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "workOrderId", value = "工单主键" , required = true), @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "appliancesId", value = "工装器具主键" , required = true), }) public ApiResponse getEndCheckAP(@RequestParam String workOrderId, @RequestParam String appliancesId) { return ApiResponse.success(workorderRecordExtService.getWOutboundRecordAp(workOrderId,appliancesId)); } @ApiOperation("生成产出记录 - standard") @PostMapping("/dealWorkorderRecordStandard") public ApiResponse dealWorkorderRecordStandard (@RequestBody DealWorkorderRecordDTO dealWorkorderRecordDTO) { return ApiResponse.success(workorderRecordStandardService.dealWorkorderRecord(dealWorkorderRecordDTO,getLoginUser())); } @ApiOperation("查询产出记录列表") @GetMapping("/getWorkorderRecordListStandard") public ApiResponse> getWorkorderRecordListStandard(@RequestParam Integer workorderId) { return ApiResponse.success(workorderRecordStandardService.getWorkorderRecordList(workorderId)); } @ApiOperation("根据工单查询可用库存") @PostMapping("/choiceStockPageForStandard") public ApiResponse> choiceStockPageForStandard (@RequestBody PageWrap pageWrap) { return ApiResponse.success(workorderRecordStandardService.choiceStockPageForWorkorder(pageWrap,getLoginUser())); } }