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.
199 lines
8.0 KiB
Java
199 lines
8.0 KiB
Java
package com.glxp.api.controller.inv;
|
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
import cn.hutool.json.JSONUtil;
|
|
import com.github.pagehelper.PageInfo;
|
|
import com.glxp.api.annotation.AuthRuleAnnotation;
|
|
import com.glxp.api.annotation.Log;
|
|
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.constant.BusinessType;
|
|
import com.glxp.api.entity.inv.InvCountOrderEntity;
|
|
import com.glxp.api.entity.system.SystemPDFModuleEntity;
|
|
import com.glxp.api.entity.system.SystemPDFTemplateEntity;
|
|
import com.glxp.api.req.inout.InspectionPDFTemplateRequest;
|
|
import com.glxp.api.req.inout.SystemPDFModuleRequest;
|
|
import com.glxp.api.req.inv.FilterInvCountOrderRequest;
|
|
import com.glxp.api.req.inv.FilterInvCountOrderSaveRequest;
|
|
import com.glxp.api.req.inv.InvCountOrderPrintRequest;
|
|
import com.glxp.api.req.system.DeleteRequest;
|
|
import com.glxp.api.req.system.FilterPdfModuleRequest;
|
|
import com.glxp.api.res.PageSimpleResponse;
|
|
import com.glxp.api.res.inv.InvCountOrderResponse;
|
|
import com.glxp.api.service.inv.InvCountOrderService;
|
|
import com.glxp.api.service.system.SystemPDFModuleService;
|
|
import com.glxp.api.service.system.SystemPDFTemplateService;
|
|
import com.glxp.api.util.JasperUtils;
|
|
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 javax.validation.Valid;
|
|
import java.util.Arrays;
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
|
|
/**
|
|
* 盘点单接口
|
|
*/
|
|
@RestController
|
|
public class InvCountOrderController {
|
|
|
|
@Resource
|
|
private InvCountOrderService invCountOrderService;
|
|
@Resource
|
|
private SystemPDFTemplateService systemPDFTemplateService;
|
|
@Resource
|
|
private SystemPDFModuleService systemPDFModuleService;
|
|
|
|
/**
|
|
* 查询盘点单列表
|
|
*
|
|
* @param filterInvCountOrderRequest
|
|
* @return
|
|
*/
|
|
@Log(title = "查询盘点单列表")
|
|
@GetMapping("/invCount/order/filter")
|
|
public BaseResponse filterList(FilterInvCountOrderRequest filterInvCountOrderRequest) {
|
|
List<InvCountOrderResponse> list = invCountOrderService.filterList(filterInvCountOrderRequest);
|
|
PageInfo<InvCountOrderResponse> pageInfo = new PageInfo<>(list);
|
|
PageSimpleResponse<InvCountOrderResponse> pageSimpleResponse = new PageSimpleResponse<>();
|
|
pageSimpleResponse.setTotal(pageInfo.getTotal());
|
|
pageSimpleResponse.setList(pageInfo.getList());
|
|
return ResultVOUtils.success(pageSimpleResponse);
|
|
}
|
|
|
|
/**
|
|
* 删除盘点单据
|
|
*
|
|
* @param deleteRequest
|
|
* @return
|
|
*/
|
|
@Log(title = "删除盘点单据", businessType = BusinessType.DELETE)
|
|
@PostMapping("/invCount/order/delete")
|
|
public BaseResponse delete(@RequestBody DeleteRequest deleteRequest) {
|
|
invCountOrderService.deleteOrder(deleteRequest.getId());
|
|
return ResultVOUtils.success();
|
|
}
|
|
|
|
/**
|
|
* 网页新增盘点单据
|
|
*
|
|
* @return
|
|
*/
|
|
@Log(title = "网页新增盘点单据", businessType = BusinessType.INSERT)
|
|
@PostMapping("/invCount/order/saveCountOrder")
|
|
public BaseResponse saveCountOrder(@RequestBody InvCountOrderEntity invCountOrder, BindingResult bindingResult) {
|
|
if (bindingResult.hasErrors()) {
|
|
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
|
|
}
|
|
|
|
if (null == invCountOrder) {
|
|
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
|
|
}
|
|
return invCountOrderService.saveCountOrder(invCountOrder);
|
|
}
|
|
|
|
/**
|
|
* 提交审核
|
|
*
|
|
* @param id
|
|
* @return
|
|
*/
|
|
@Log(title = "提交审核")
|
|
@GetMapping("/invCount/order/submitAudit")
|
|
public BaseResponse submitAudit(String id) {
|
|
if (StrUtil.isBlank(id)) {
|
|
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
|
|
}
|
|
return invCountOrderService.submitAudit(id);
|
|
}
|
|
|
|
/**
|
|
* 更新盘点单据状态
|
|
*
|
|
* @param filterInvCountOrderRequest
|
|
* @return
|
|
*/
|
|
@Log(title = "更新盘点单据状态", businessType = BusinessType.UPDATE)
|
|
@PostMapping("/invCount/order/updateCountOrderStatus")
|
|
public BaseResponse updateCountOrderStatus(@RequestBody FilterInvCountOrderRequest filterInvCountOrderRequest) {
|
|
if (null == filterInvCountOrderRequest || StrUtil.isBlank(filterInvCountOrderRequest.getId()) || null == filterInvCountOrderRequest.getStatus()) {
|
|
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
|
|
}
|
|
return invCountOrderService.updateCountOrderStatus(filterInvCountOrderRequest.getId(), filterInvCountOrderRequest.getStatus());
|
|
}
|
|
|
|
/**
|
|
* 校验模板文件
|
|
*
|
|
* @param inspectionPDFTemplateRequest
|
|
* @return
|
|
*/
|
|
@AuthRuleAnnotation("")
|
|
@PostMapping("/invCount/order/verifyTemplateFile")
|
|
public BaseResponse verifyTemplateFile(@RequestBody InspectionPDFTemplateRequest inspectionPDFTemplateRequest) {
|
|
if (null == inspectionPDFTemplateRequest) {
|
|
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "参数不能为空!");
|
|
}
|
|
//查询模板文件是否存在
|
|
FilterPdfModuleRequest systemPDFModuleRequest = new FilterPdfModuleRequest();
|
|
systemPDFModuleRequest.setId(inspectionPDFTemplateRequest.getModuleId());
|
|
SystemPDFModuleEntity systemPDFModule = systemPDFModuleService.findSystemPDFModule(systemPDFModuleRequest);
|
|
if (null == systemPDFModule) {
|
|
return ResultVOUtils.error(ResultEnum.DATA_NOT, "所属模块错误");
|
|
}
|
|
|
|
SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(String.valueOf(systemPDFModule.getTemplateId()));
|
|
if (null == systemPDFTemplateEntity) {
|
|
return ResultVOUtils.error(ResultEnum.DATA_NOT, "模板错误");
|
|
}
|
|
return ResultVOUtils.success(systemPDFModule.getTemplateId());
|
|
}
|
|
|
|
/**
|
|
* 打印模板单号标签
|
|
*
|
|
* @param invCountOrderPrintRequest
|
|
* @param request
|
|
* @param response
|
|
* @throws Exception
|
|
*/
|
|
@AuthRuleAnnotation("")
|
|
@PostMapping("/invCount/order/printOrder")
|
|
public void printOrder(@RequestBody InvCountOrderPrintRequest invCountOrderPrintRequest, HttpServletRequest request, HttpServletResponse response) throws Exception {
|
|
SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(invCountOrderPrintRequest.getTemplateId());
|
|
//打印单号标签
|
|
Map<String, Object> data = new HashMap<>(1);
|
|
data.put("orderId", invCountOrderPrintRequest.getOrderId());
|
|
Map<String, List<Map<String, Object>>> printData = new HashMap<>(1);
|
|
printData.put("data", Arrays.asList(data));
|
|
JasperUtils.jasperReport(request, response, JSONUtil.toJsonStr(printData), systemPDFTemplateEntity.getPath(), "pdf");
|
|
}
|
|
|
|
//------------------------------------------------------手持终端接口---------------------------------------------------------------
|
|
|
|
/**
|
|
* 手持终端新增盘点单据接口
|
|
*
|
|
* @return
|
|
*/
|
|
@Log(title = "手持终端新增盘点单据接口", businessType = BusinessType.INSERT)
|
|
@AuthRuleAnnotation("")
|
|
@PostMapping("/invCount/order/saveCountOrderForPDA")
|
|
public BaseResponse saveCountOrderForPDA(@RequestBody @Valid FilterInvCountOrderSaveRequest filterInvCountOrderSaveRequest, BindingResult bindingResult) {
|
|
if (bindingResult.hasErrors()) {
|
|
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
|
|
}
|
|
return invCountOrderService.saveCountOrderForPDA(filterInvCountOrderSaveRequest);
|
|
}
|
|
|
|
}
|