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.*;
|
import com.yuanchu.mom.pojo.InsOrder;
|
import com.yuanchu.mom.pojo.InsOrderTemplate;
|
import com.yuanchu.mom.pojo.InsProduct;
|
import com.yuanchu.mom.pojo.InsSample;
|
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 org.springframework.web.multipart.MultipartFile;
|
|
import javax.servlet.http.HttpServletResponse;
|
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("/selectAllInsOrderParameter")
|
public Result selectAllInsOrderParameter() {
|
return Result.success();
|
}
|
|
@ValueClassify("检验下单")
|
@ApiOperation(value = "添加检验下单数据")
|
@PostMapping("/addInsOrder")
|
public Result<?> addInsOrder(@RequestParam String str, List<MultipartFile> files) {
|
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,files));
|
}
|
|
@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));
|
}
|
|
@ValueAuth
|
@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 = "检测中心主任审核/研发部经理审核/技术负责人审核")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "id", value = "检验单id", dataTypeClass = Integer.class),
|
@ApiImplicitParam(name = "state", value = "审核结果 1:通过 2:不通过", dataTypeClass = Integer.class)
|
})
|
@PostMapping("/upInsOrderOfState2")
|
public Result<?> upInsOrderOfState2(@RequestBody InsOrder insOrder) {
|
return Result.success(insOrderService.upInsOrderOfState2(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(String company) {
|
return Result.success(insOrderTemplateService.selectInsOrderTemplate(company));
|
}
|
|
@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));
|
}
|
|
@ValueAuth
|
@ApiOperation(value = "费用统计获取总价")
|
@PostMapping("/costStatistics2")
|
public Result<?> costStatistics2(@RequestBody Map<String, Object> data) throws Exception {
|
CostStatisticsDto costStatisticsDto = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), CostStatisticsDto.class);
|
return Result.success(insOrderService.costStatistics2(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();
|
}
|
|
//待检的撤销的查询待检项目
|
@ValueAuth
|
@PostMapping("/selectNoProducts")
|
public Result<?> selectNoProducts(@RequestBody Map<String, Object> data,Integer orderId ,String ids) throws Exception {
|
Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class);
|
InsProduct insProduct = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), InsProduct.class);
|
return Result.success(insProductService.selectNoProducts(page, insProduct,orderId,ids));
|
}
|
|
|
@ApiOperation(value = "待检的撤销")
|
@PutMapping("/updateInspected")
|
@ValueAuth
|
public Result<?> updateInspected(Integer orderId,String ids){
|
insProductService.updateInspected(orderId,ids);
|
return Result.success();
|
}
|
|
@ValueClassify("检验下单")
|
@ApiOperation(value = "审核待检撤销")
|
@PostMapping("/checkUpdate")
|
public Result<?> checkUpdate(Integer orderId,Integer state){
|
insProductService.checkUpdate(orderId,state);
|
return Result.success();
|
}
|
|
@ValueClassify("检验下单")
|
@ApiOperation(value = "标签打印")
|
@PostMapping("/labelPrinting")
|
public Result<?> labelPrinting(String ids) {
|
return Result.success(insOrderService.labelPrinting(ids));
|
}
|
|
@ValueAuth
|
@ApiOperation(value = "校验电机编号")
|
@PostMapping("/checkNumber")
|
public Result<?> checkNumber(String ids) {
|
return Result.success(insOrderService.checkNumber(ids));
|
}
|
|
@ValueAuth
|
@ApiOperation(value = "填写电机编号")
|
@PostMapping("/addNumber")
|
public Result<?> addNumber(@RequestBody AddNumberDto addNumberDto) {
|
return Result.success(insOrderService.addNumber(addNumberDto.getInsSamples()));
|
}
|
|
@ValueClassify("费用统计")
|
@ApiOperation(value = "费用统计导出")
|
@PostMapping("/export")
|
public void export(@RequestBody Map<String, Object> data,HttpServletResponse response) throws Exception {
|
CostStatisticsDto costStatisticsDto = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), CostStatisticsDto.class);
|
insOrderService.export(costStatisticsDto,response);
|
}
|
|
|
}
|