package com.glxp.api.controller.dev; import com.alibaba.fastjson.JSON; import com.github.pagehelper.PageInfo; import com.glxp.api.annotation.AuthRuleAnnotation; import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.entity.dev.DeviceReceiveOrderEntity; import com.glxp.api.entity.system.SysPdfTemplateRelevanceStatemenEntity; import com.glxp.api.entity.system.SystemPDFTemplateEntity; import com.glxp.api.req.inout.InspectionPDFTemplateRequest; import com.glxp.api.req.dev.FilterDeptDeviceRequest; import com.glxp.api.req.dev.FilterDeviceReceiveOrderDetailRequest; import com.glxp.api.req.dev.FilterDeviceReceiveOrderRequest; import com.glxp.api.res.dev.DeviceReceiveOrderDetailResponse; import com.glxp.api.res.dev.DeviceReceiveOrderResponse; import com.glxp.api.service.dev.DeptDeviceDetailService; import com.glxp.api.service.dev.DeviceReceiveOrderDetailService; import com.glxp.api.service.dev.DeviceReceiveOrderService; import com.glxp.api.service.system.SystemPDFModuleService; import com.glxp.api.service.system.SystemPDFTemplateService; import com.glxp.api.service.system.SystemParamConfigService; import com.glxp.api.util.JasperUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.validation.BindingResult; 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.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.text.SimpleDateFormat; import java.util.*; /** * 设备领用记录接口 */ @Slf4j @RestController public class DeviceReceiveOrderController { @Resource private DeviceReceiveOrderService deviceReceiveOrderService; @Resource private SystemParamConfigService systemParamConfigService; @Resource private SystemPDFModuleService systemPDFModuleService; @Resource private SystemPDFTemplateService systemPDFTemplateService; @Resource private DeviceReceiveOrderDetailService deviceReceiveOrderDetailService; @Resource private DeptDeviceDetailService deptDeviceDetailService; @Value("${file_path}") private String filePath; /** * 设备领用记录列表查询接口 * * @param deviceReceiveOrderRequest * @return */ @GetMapping("/device/receive/order/filterList") public BaseResponse filterList(FilterDeviceReceiveOrderRequest deviceReceiveOrderRequest) { List list = deviceReceiveOrderService.filterList(deviceReceiveOrderRequest); PageInfo pageInfo = new PageInfo<>(list); return ResultVOUtils.page(pageInfo); } /** * 添加设备领用记录 * * @param deviceReceiveOrderEntity */ @PostMapping("/device/receive/order/addOrder") public BaseResponse addOrder(@RequestBody DeviceReceiveOrderEntity deviceReceiveOrderEntity, BindingResult bindingResult) { if (bindingResult.hasErrors() || null == deviceReceiveOrderEntity) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } return deviceReceiveOrderService.addDeviceReceiveOrder(deviceReceiveOrderEntity); } /** * 更新设备领用记录 * * @param deviceReceiveOrderEntity * @param bindingResult * @return */ @PostMapping("/device/receive/order/update") public BaseResponse update(@RequestBody DeviceReceiveOrderEntity deviceReceiveOrderEntity, BindingResult bindingResult) { Integer integer = deviceReceiveOrderService.selectOrderIdByOrderId(deviceReceiveOrderEntity.getOrderId()); deviceReceiveOrderEntity.setId(integer); if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); } if (null == deviceReceiveOrderEntity || null == deviceReceiveOrderEntity.getId()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); } return deviceReceiveOrderService.updateDeviceCollectOrder(deviceReceiveOrderEntity); } /** * 设备领用记录提交审核 * * @param deviceReceiveOrderRequest * @param bindingResult * @return */ @PostMapping("/device/receive/order/submitAudit") public BaseResponse submitAudit(@RequestBody FilterDeviceReceiveOrderRequest deviceReceiveOrderRequest, BindingResult bindingResult) { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); } if (null == deviceReceiveOrderRequest || null == deviceReceiveOrderRequest.getId()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); } return deviceReceiveOrderService.submitAudit(deviceReceiveOrderRequest.getId()); } /** * 更新设备领用状态 * * @param filterDeviceReceiveOrderRequest * @param bindingResult * @return */ @PostMapping("/device/receive/order/updateStatus") public BaseResponse updateStatus(@RequestBody FilterDeviceReceiveOrderRequest filterDeviceReceiveOrderRequest, BindingResult bindingResult) { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); } if (null == filterDeviceReceiveOrderRequest || null == filterDeviceReceiveOrderRequest.getId() || null == filterDeviceReceiveOrderRequest.getStatus()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); } return deviceReceiveOrderService.updateStatus(filterDeviceReceiveOrderRequest.getId(), filterDeviceReceiveOrderRequest.getStatus()); } /** * 删除设备领用记录 * * @param filterDeviceReceiveOrderRequest * @param bindingResult * @return */ @PostMapping("/device/receive/order/delete") public BaseResponse delete(@RequestBody FilterDeviceReceiveOrderRequest filterDeviceReceiveOrderRequest, BindingResult bindingResult) { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); } if (null == filterDeviceReceiveOrderRequest || null == filterDeviceReceiveOrderRequest.getId()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); } return deviceReceiveOrderService.deleteDeviceCollectOrder(filterDeviceReceiveOrderRequest.getId()); } @GetMapping("/device/receive/order/getConfig") public BaseResponse getConfig() { return ResultVOUtils.success(systemParamConfigService.selectByParamKey("device_product")); } /** * 校验模板文件 * * @param inspectionPDFTemplateRequest * @return */ @AuthRuleAnnotation("") @PostMapping("/device/receive/order/verifyTemplateFile") public BaseResponse verifyTemplateFile(@RequestBody InspectionPDFTemplateRequest inspectionPDFTemplateRequest) { if (null == inspectionPDFTemplateRequest) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "参数不能为空!"); } //查询模板文件是否存在 SysPdfTemplateRelevanceStatemenEntity sysPdfTemplateRelevanceStatemenEntity = systemPDFModuleService.selectByStatemenId(inspectionPDFTemplateRequest.getId()); if (null == sysPdfTemplateRelevanceStatemenEntity) { return ResultVOUtils.error(ResultEnum.DATA_NOT, "所属模块错误"); } SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(String.valueOf(sysPdfTemplateRelevanceStatemenEntity.getTemplateId())); if (null == systemPDFTemplateEntity) { return ResultVOUtils.error(ResultEnum.DATA_NOT, "模板错误"); } return ResultVOUtils.success(sysPdfTemplateRelevanceStatemenEntity.getTemplateId()); } /** * 打印模板单号标签 * * @param * @param request * @param response * @throws Exception */ @AuthRuleAnnotation("") @PostMapping("/device/receive/order/printOrder") public void printOrder(@RequestBody FilterDeviceReceiveOrderRequest filterDeviceReceiveOrderRequest, HttpServletRequest request, HttpServletResponse response) throws Exception { SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(filterDeviceReceiveOrderRequest.getTemplateId()); //打印单号标签 Map data = new HashMap<>(1); List list = new ArrayList<>(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");//定义新的日期格式 FilterDeptDeviceRequest filterDeptDeviceRequest=new FilterDeptDeviceRequest(); //查询主表 DeviceReceiveOrderEntity deviceReceiveOrderEntity = deviceReceiveOrderService.selectDeviceOrder(filterDeviceReceiveOrderRequest.getOrderId()); FilterDeviceReceiveOrderDetailRequest filterDeviceReceiveOrderDetailRequest =new FilterDeviceReceiveOrderDetailRequest(); filterDeviceReceiveOrderDetailRequest.setOrderIdFk(filterDeviceReceiveOrderRequest.getOrderId()); List deviceReceiveOrderDetailResponses = deviceReceiveOrderDetailService.selectByorderIdFk(filterDeviceReceiveOrderDetailRequest); int i = 1; if (deviceReceiveOrderDetailResponses != null && deviceReceiveOrderDetailResponses.size() > 0) { for (DeviceReceiveOrderDetailResponse obj : deviceReceiveOrderDetailResponses) { Map supData = new HashMap<>(); supData.put("orderIdFk", obj.getOrderIdFk() == null ? ' ' : obj.getOrderIdFk()); supData.put("code", obj.getCode() == null ? ' ' : obj.getCode()); supData.put("batchNo", obj.getBatchNo() == null ? ' ' : obj.getBatchNo()); supData.put("productionDate", obj.getProductionDate() == null ? ' ' : obj.getProductionDate()); supData.put("expireDate", obj.getExpireDate() == null ? ' ' : obj.getExpireDate()); supData.put("serialNo", obj.getSerialNo() == null ? ' ' : obj.getSerialNo()); supData.put("createTime", obj.getCreateTime() == null ? ' ' : obj.getCreateTime()); supData.put("invName", obj.getInvName() == null ? ' ' : obj.getInvName()); supData.put("zczbhhzbapzbh", obj.getZczbhhzbapzbh() == null ? ' ' : obj.getZczbhhzbapzbh()); supData.put("ggxh", obj.getGgxh() == null ? ' ' : obj.getGgxh()); supData.put("supName", obj.getSupName() == null ? ' ' : obj.getSupName()); supData.put("measname", obj.getMeasname() == null ? ' ' : obj.getMeasname()); supData.put("deviceName", obj.getProductName() == null ? ' ' : obj.getProductName()); supData.put("manufactory", obj.getManufactory() == null ? ' ' : obj.getManufactory()); supData.put("measname", obj.getMeasname() == null ? ' ' : obj.getMeasname()); supData.put("supName", obj.getSupName() == null ? ' ' : obj.getSupName()); list.add(supData); i++; } } data.put("data",list); String param = JSON.toJSONString(data); JasperUtils.jasperReport(request, response, param, filePath + "pdf/template/" + systemPDFTemplateEntity.getPath(), "pdf"); } }