package com.chinaztt.mes.production.controller; import cn.hutool.core.thread.ThreadUtil; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.chinaztt.mes.production.entity.Computation; import com.chinaztt.mes.production.service.ComputationService; import com.chinaztt.ztt.common.core.util.R; import com.chinaztt.ztt.common.log.annotation.SysLog; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.*; import java.util.List; /** * 工时计算 * * @author cxf * @date 2021-03-10 15:00:08 */ @RestController @AllArgsConstructor @RequestMapping("/computation") @Api(value = "computation", tags = "工时计算管理") public class ComputationController { private final ComputationService computationService; /** * 根据班次记录计算对应的人工工资 * * @param dutyRecordId * @return */ @PostMapping("/computeByDutyRecordId/{dutyRecordId}") public R computeByDutyRecordId(@PathVariable("dutyRecordId") Long dutyRecordId) { computationService.computeByDutyRecordId(dutyRecordId); ThreadUtil.execute(() -> computationService.computeComingByDutyRecordId(dutyRecordId)); return R.ok(); } /** * 根据班次记录List计算对应的人工工资 * * @param dutyRecordIdList * @return */ @PostMapping("/computeByDutyRecordIdList") public R computeByDutyRecordIdList(@RequestBody List dutyRecordIdList) { computationService.checkDutyRecordSubmit(dutyRecordIdList); dutyRecordIdList.forEach(dutyRecordId->{ computationService.computeByDutyRecordId(dutyRecordId); ThreadUtil.execute(() -> computationService.computeComingByDutyRecordId(dutyRecordId)); }); return R.ok(); } /** * 分页查询 * * @param page 分页对象 * @param computation 工时计算 * @return */ @ApiOperation(value = "分页查询", notes = "分页查询") @GetMapping("/page") public R getProductionComputationPage(Page page, Computation computation) { return R.ok(computationService.page(page, Wrappers.query(computation))); } /** * 通过id查询工时计算 * * @param id id * @return R */ @ApiOperation(value = "通过id查询", notes = "通过id查询") @GetMapping("/{id}") public R getById(@PathVariable("id") Long id) { return R.ok(computationService.getById(id)); } /** * 新增工时计算 * * @param computation 工时计算 * @return R */ @ApiOperation(value = "新增工时计算", notes = "新增工时计算") @SysLog("新增工时计算") @PostMapping public R save(@RequestBody Computation computation) { return R.ok(computationService.save(computation)); } /** * 修改工时计算 * * @param computation 工时计算 * @return R */ @ApiOperation(value = "修改工时计算", notes = "修改工时计算") @SysLog("修改工时计算") @PutMapping public R updateById(@RequestBody Computation computation) { return R.ok(computationService.updateById(computation)); } /** * 通过id删除工时计算 * * @param id id * @return R */ @ApiOperation(value = "通过id删除工时计算", notes = "通过id删除工时计算") @SysLog("通过id删除工时计算") @DeleteMapping("/{id}") public R removeById(@PathVariable Long id) { return R.ok(computationService.removeById(id)); } }