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.
udi-wms-java/src/main/java/com/glxp/api/controller/dev/DeviceReceiveOrderControlle...

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");
}
}