You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
250 lines
12 KiB
Java
250 lines
12 KiB
Java
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<DeviceReceiveOrderResponse> list = deviceReceiveOrderService.filterList(deviceReceiveOrderRequest);
|
|
PageInfo<DeviceReceiveOrderResponse> 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<String, Object> data = new HashMap<>(1);
|
|
List<Object> 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<DeviceReceiveOrderDetailResponse> deviceReceiveOrderDetailResponses = deviceReceiveOrderDetailService.selectByorderIdFk(filterDeviceReceiveOrderDetailRequest);
|
|
int i = 1;
|
|
if (deviceReceiveOrderDetailResponses != null && deviceReceiveOrderDetailResponses.size() > 0) {
|
|
for (DeviceReceiveOrderDetailResponse obj : deviceReceiveOrderDetailResponses) {
|
|
Map<String, Object> 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");
|
|
}
|
|
|
|
|
|
}
|