package com.yuanchu.mom.controller;
|
|
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSONArray;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.yuanchu.mom.annotation.ValueAuth;
|
import com.yuanchu.mom.annotation.ValueClassify;
|
import com.yuanchu.mom.dto.CostStatisticsDto;
|
import com.yuanchu.mom.dto.SampleOrderDto;
|
import com.yuanchu.mom.dto.SampleProductDto;
|
import com.yuanchu.mom.dto.SampleProductDto2;
|
import com.yuanchu.mom.pojo.InsOrder;
|
import com.yuanchu.mom.pojo.InsOrderTemplate;
|
import com.yuanchu.mom.service.InsOrderService;
|
import com.yuanchu.mom.service.InsOrderTemplateService;
|
import com.yuanchu.mom.service.InsProductService;
|
import com.yuanchu.mom.utils.JackSonUtil;
|
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 lombok.AllArgsConstructor;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.time.LocalDateTime;
|
import java.time.format.DateTimeFormatter;
|
import java.util.List;
|
import java.util.Map;
|
|
@RestController
|
@AllArgsConstructor
|
@RequestMapping("/insOrder")
|
@Api(tags="检验单模块")
|
public class InsOrderController {
|
|
private InsOrderService insOrderService;
|
|
private InsProductService insProductService;
|
|
private InsOrderTemplateService insOrderTemplateService;
|
|
//获取检验下单数据
|
@ValueClassify("检验下单")
|
@ApiOperation(value = "查询单位检验单")
|
@PostMapping("/selectInsOrderParameter")
|
public Result selectInsOrderParameter(@RequestBody Map<String, Object> data) throws Exception {
|
Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class);
|
SampleOrderDto sampleOrderDto = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), SampleOrderDto.class);
|
return Result.success(insOrderService.selectInsOrderParameter(page, sampleOrderDto));
|
}
|
|
@ValueClassify("检验下单")
|
@ApiOperation(value = "查看所有检验单")
|
@PostMapping("/selectAllInsOrder")
|
public Result selectAllInsOrder(){
|
return Result.success();
|
}
|
|
@ValueClassify("检验下单")
|
@ApiOperation(value = "检验分配")
|
@PostMapping("/upInsOrder")
|
public Result<?> upInsOrder(Integer orderId, Integer sampleId, String appointed, Integer userId) {
|
return Result.success(insOrderService.upInsOrder(orderId, sampleId, appointed, userId));
|
}
|
@ValueClassify("检验下单")
|
@ApiOperation(value = "添加检验下单数据")
|
@PostMapping("/addInsOrder")
|
public Result<?> addInsOrder(String str) {
|
Map<String, Object> map = JSON.parseObject(str, Map.class);
|
JSONArray jsonArray = JSON.parseArray(map.get("list")+"");
|
List<SampleProductDto> list = jsonArray.toJavaList(SampleProductDto.class);
|
InsOrder insOrder = JSON.parseObject(JSON.toJSONString(map.get("insOrder")), InsOrder.class);
|
List<List<Integer>> pairing = JSON.parseArray(map.get("pairing")+"");
|
return Result.success(insOrderService.addInsOrder(list, insOrder, pairing));
|
}
|
|
@ApiOperation(value = "查询订单最长预计时间")
|
@PostMapping("/selectOrderManDay")
|
@ValueAuth
|
public Result<?> selectOrderManDay(Integer id) {
|
int day = insProductService.selectOrderManDay(id);
|
return Result.success("成功", LocalDateTime.now().plusHours(day).format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
|
}
|
|
@ApiOperation(value = "查询检验下单内容详情")
|
@PostMapping("/getInsOrder")
|
@ValueAuth
|
public Result<?> getInsOrder(Integer orderId) {
|
return Result.success(insOrderService.getInsOrder(orderId));
|
}
|
@ValueClassify("检验下单")
|
@ApiOperation(value = "审核检验单进行状态修改")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "id", value = "检验单id", dataTypeClass = Integer.class),
|
@ApiImplicitParam(name = "state", value = "审核结果 1:通过 2:不通过", dataTypeClass = Integer.class)
|
})
|
@PostMapping("/upInsOrderOfState")
|
public Result<?> upInsOrderOfState(@RequestBody InsOrder insOrder) {
|
return Result.success(insOrderService.upInsOrderOfState(insOrder));
|
}
|
@ValueClassify("检验下单")
|
@ApiOperation(value = "添加检验单模板")
|
@PostMapping("/addInsOrderTemplate")
|
public Result<?> addInsOrderTemplate(@RequestBody InsOrderTemplate insOrderTemplate) {
|
return Result.success(insOrderTemplateService.addInsOrderTemplate(insOrderTemplate));
|
}
|
|
@ApiOperation(value = "查询检验单模板")
|
@GetMapping("/selectInsOrderTemplate")
|
@ValueAuth
|
public Result<?> selectInsOrderTemplate() {
|
return Result.success(insOrderTemplateService.selectInsOrderTemplate());
|
}
|
|
@ApiOperation(value = "通过检验单模板id获取检验单模板内容")
|
@PostMapping("/selectInsOrderTemplateById")
|
@ValueAuth
|
public Result<?> selectInsOrderTemplateById(Integer id) {
|
return Result.success("成功", insOrderTemplateService.selectInsOrderTemplateById(id));
|
}
|
@ValueClassify("检验下单")
|
@ApiOperation(value = "删除检验单模板")
|
@PostMapping("/delInsOrderTemplate")
|
public Result<?> delInsOrderTemplate(Integer id) {
|
return Result.success(insOrderTemplateService.delInsOrderTemplate(id));
|
}
|
|
@ApiOperation(value = "通过检验单查询检验数据(数据查看)")
|
@PostMapping("/selectSampleAndProductByOrderId")
|
@ValueAuth
|
public Result<?> selectSampleAndProductByOrderId(@RequestBody Map<String, Object> data) throws Exception {
|
Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class);
|
SampleProductDto2 sampleProductDto = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), SampleProductDto2.class);
|
return Result.success(insOrderService.selectSampleAndProductByOrderId(page, sampleProductDto));
|
}
|
@ValueClassify("费用统计")
|
@ApiOperation(value = "费用统计")
|
@PostMapping("/costStatistics")
|
public Result<?> costStatistics(@RequestBody Map<String, Object> data) throws Exception {
|
Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class);
|
CostStatisticsDto costStatisticsDto = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), CostStatisticsDto.class);
|
return Result.success(insOrderService.costStatistics(page, costStatisticsDto));
|
}
|
@ValueClassify("统计图表")
|
@ApiOperation(value = "样品缺陷指数")
|
@PostMapping("/selectSampleDefects")
|
public Result selectSampleDefects(Integer size, Integer current, String inspectionItems, String orderNumber) {
|
return Result.success(insOrderService.selectSampleDefects(new Page<>(current, size),inspectionItems, orderNumber));
|
}
|
|
@ValueClassify("检验下单")
|
@ApiOperation(value = "撤销")
|
@PutMapping("/updateStatus")
|
public Result<?> updateStatus(Integer id) {
|
insOrderService.updateStatus(id);
|
return Result.success();
|
}
|
|
@PutMapping("/updateInspected")
|
@ValueAuth
|
public Result<?> updateInspected(Integer id){
|
insProductService.updateInspected(id);
|
return Result.success();
|
}
|
|
@ValueClassify("检验下单")
|
@ApiOperation(value = "标签打印")
|
@PostMapping("/labelPrinting")
|
public Result<?> labelPrinting(String ids) {
|
return Result.success(insOrderService.labelPrinting(ids));
|
}
|
}
|