package com.glxp.api.controller.inout; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; import com.github.pagehelper.PageInfo; import com.glxp.api.annotation.AuthRuleAnnotation; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.controller.BaseController; import com.glxp.api.entity.alihealth.YcFileCodeUploadVo; import com.glxp.api.entity.inout.IoCodeEntity; import com.glxp.api.exception.JsonException; import com.glxp.api.req.inout.FilterCodeRequest; import com.glxp.api.req.inout.YcFileCodeUploadRequest; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.inout.IoCodeResponse; import com.glxp.api.service.inout.impl.IoCodeService; import com.glxp.api.util.Excel.ExcelHandler; import com.glxp.api.util.Excel.ExcelTemplateEnum; import com.glxp.api.util.Excel.Exception.RenException; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.util.Date; import java.util.List; /** * 单据正式码表接口 */ @RestController public class IoCodeController extends BaseController { @Resource private IoCodeService ioCodeService; /** * 查询单据正式码表数据 * * @param filterCodeRequest * @return */ @GetMapping("/udiwms/inout/code/filterList") public BaseResponse filterList(FilterCodeRequest filterCodeRequest) { List list = ioCodeService.filterList(filterCodeRequest); PageInfo pageInfo = new PageInfo<>(list); return ResultVOUtils.page(pageInfo); } @GetMapping("/udiwms/inout/code/drug/filterList") public BaseResponse filterDrugList(FilterCodeRequest filterCodeRequest) { List list = ioCodeService.filterDrugList(filterCodeRequest); PageInfo pageInfo = new PageInfo<>(list); return ResultVOUtils.page(pageInfo); } /** * 根据单据号查询正式码表数据 * * @return */ @GetMapping("/udiwms/inout/code/findByOrderId") public BaseResponse findAllByOrderId(FilterCodeRequest filterCodeRequest) { List list = ioCodeService.filterList(filterCodeRequest); PageInfo pageInfo = new PageInfo<>(list); return ResultVOUtils.success(pageInfo); } /** * 单据复核,获取单据对应条码 */ @AuthRuleAnnotation("") @GetMapping("spms/inout/dlcode/findByOrderId") public BaseResponse downloadCodesByOrderId(String orderId) { List codeEntityList = ioCodeService.findByOrderId(orderId); PageInfo pageInfo; pageInfo = new PageInfo<>(codeEntityList); PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); pageSimpleResponse.setTotal(pageInfo.getTotal()); pageSimpleResponse.setList(codeEntityList); return ResultVOUtils.success(pageSimpleResponse); } /** * 单据编辑,+ * * @param filterCodeRequest * @return */ @GetMapping("/udiwms/inout/code/getCodeListForEdit") public BaseResponse getCodeListForEdit(FilterCodeRequest filterCodeRequest) { List list = ioCodeService.getCodeListForEdit(filterCodeRequest); PageInfo pageInfo = new PageInfo<>(list); return ResultVOUtils.page(pageInfo); } @Resource ExcelHandler excelHandler; @GetMapping("/udiwms/inout/code/filterList/excelExport") public void excelExport(YcFileCodeUploadRequest ycFileCodeUploadRequest, HttpServletResponse response) { String billNo = ycFileCodeUploadRequest.getBillNo(); if (StrUtil.isEmpty(billNo)) { throw new JsonException("单据编号不能为空!"); } try { List list = ioCodeService.filterListexcelExport(ycFileCodeUploadRequest); excelHandler.exportExcel(response, list, YcFileCodeUploadVo.class, "UDI_"+billNo+"追溯码导出", "追溯码"); } catch (Exception e) { throw new RenException("导出失败"); } } }