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<Long> 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));
|
}
|
|
}
|