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.dto.InsOderDto; import com.yuanchu.mom.dto.SampleOrderDto; import com.yuanchu.mom.dto.SampleProductDto; import com.yuanchu.mom.pojo.InsOrder; import com.yuanchu.mom.pojo.InsSample; import com.yuanchu.mom.service.InsOrderService; import com.yuanchu.mom.service.InsProductService; import com.yuanchu.mom.service.InsSampleService; import com.yuanchu.mom.utils.JackSonUtil; import com.yuanchu.mom.vo.Result; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.List; import java.util.Map; @RestController @AllArgsConstructor @RequestMapping("/insOrder") public class InsOrderController { private InsOrderService insOrderService; private InsSampleService insSampleService; private InsProductService insProductService; //获取检验下单数据 @ApiOperation(value = "查询检验下单数据") @PostMapping("/selectInsOrderParameter") public Result selectInsOrderParameter(@RequestBody Map 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)); } @ApiOperation(value = "检验下发") @PostMapping("/upInsOrder") public Result upInsOrder(Integer orderId,Integer sampleId, String appointed, Integer userId) { return Result.success(insOrderService.upInsOrder(orderId, sampleId, appointed, userId)); } @ApiOperation(value = "添加检验下单数据") @PostMapping("/addInsOrder") public Result addInsOrder(@RequestBody Map map) { JSONArray jsonArray = JSON.parseArray(JSON.toJSONString(map.get("list"))); List list = jsonArray.toJavaList(SampleProductDto.class); InsOrder insOrder = JSON.parseObject(JSON.toJSONString(map.get("insOrder")), InsOrder.class); return Result.success(insOrderService.addInsOrder(list, insOrder)); } @ApiOperation(value = "查询订单总共预计时间") @PostMapping("/selectOrderManDay") @ValueAuth public Result selectOrderManDay(Integer id) { int day = insProductService.selectOrderManDay(id); return Result.success("成功", LocalDateTime.now().plusDays(day).format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); } }