|
|
|
@ -1,16 +1,33 @@
|
|
|
|
|
package com.glxp.api.controller.basic;
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
|
|
import com.github.pagehelper.PageInfo;
|
|
|
|
|
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.basic.BasicBussinessTypeEntity;
|
|
|
|
|
import com.glxp.api.req.basic.FilterBussinessTypeRequest;
|
|
|
|
|
import com.glxp.api.req.system.DeleteRequest;
|
|
|
|
|
import com.glxp.api.res.basic.BasicBussinessTypeResponse;
|
|
|
|
|
import com.glxp.api.res.basic.BussinessTypExportResponse;
|
|
|
|
|
import com.glxp.api.res.basic.CandidateRequest;
|
|
|
|
|
import com.glxp.api.service.basic.IBasicBussinessTypeService;
|
|
|
|
|
import com.glxp.api.util.CustomUtil;
|
|
|
|
|
import com.glxp.api.util.FileUtils;
|
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
import org.springframework.web.bind.annotation.GetMapping;
|
|
|
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
|
|
import org.springframework.validation.BindingResult;
|
|
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
import java.io.IOException;
|
|
|
|
|
import java.io.InputStream;
|
|
|
|
|
import java.nio.charset.StandardCharsets;
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
@ -23,21 +40,171 @@ public class BasicBussinessTypeController {
|
|
|
|
|
@Resource
|
|
|
|
|
private IBasicBussinessTypeService basicBussinessTypeService;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 查询单据类型列表
|
|
|
|
|
*
|
|
|
|
|
* @param filterBussinessTypeRequest
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@GetMapping("/udiwms/basic/busType/filterList")
|
|
|
|
|
@GetMapping("/udiwms/bussinessType/filter")
|
|
|
|
|
public BaseResponse filterList(FilterBussinessTypeRequest filterBussinessTypeRequest) {
|
|
|
|
|
List<BasicBussinessTypeResponse> list = basicBussinessTypeService.filterList(filterBussinessTypeRequest);
|
|
|
|
|
PageInfo<BasicBussinessTypeResponse> pageInfo = new PageInfo<>(list);
|
|
|
|
|
return ResultVOUtils.page(pageInfo);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 新增单据类型
|
|
|
|
|
*
|
|
|
|
|
* @param bussinessTypeEntity 单据类型数据
|
|
|
|
|
* @param bindingResult
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@PostMapping("/udiwms/bussinessType/insert")
|
|
|
|
|
public BaseResponse insertBussinessType(@RequestBody BasicBussinessTypeEntity bussinessTypeEntity, BindingResult bindingResult) {
|
|
|
|
|
if (bindingResult.hasErrors()) {
|
|
|
|
|
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (bussinessTypeEntity != null) {
|
|
|
|
|
bussinessTypeEntity.setAction("SC" + CustomUtil.getId());
|
|
|
|
|
basicBussinessTypeService.insertBussinessType(bussinessTypeEntity);
|
|
|
|
|
} else {
|
|
|
|
|
ResultVOUtils.error(999, "参数错误");
|
|
|
|
|
}
|
|
|
|
|
return ResultVOUtils.success("添加成功");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 更新单据类型
|
|
|
|
|
*
|
|
|
|
|
* @param bussinessTypeEntity
|
|
|
|
|
* @param bindingResult
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@PostMapping("/udiwms/bussinessType/update")
|
|
|
|
|
public BaseResponse updateBussinessType(@RequestBody BasicBussinessTypeEntity bussinessTypeEntity,
|
|
|
|
|
BindingResult bindingResult) {
|
|
|
|
|
if (bindingResult.hasErrors()) {
|
|
|
|
|
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
|
|
|
|
|
}
|
|
|
|
|
if (bussinessTypeEntity != null) {
|
|
|
|
|
basicBussinessTypeService.updateBussinessType(bussinessTypeEntity);
|
|
|
|
|
} else {
|
|
|
|
|
ResultVOUtils.error(999, "参数错误");
|
|
|
|
|
}
|
|
|
|
|
return ResultVOUtils.success("更新成功");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 删除单据类型
|
|
|
|
|
*
|
|
|
|
|
* @param deleteRequest
|
|
|
|
|
* @param bindingResult
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@PostMapping("/udiwms/bussinessType/delete")
|
|
|
|
|
public BaseResponse deleteBussinessType(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) {
|
|
|
|
|
|
|
|
|
|
if (bindingResult.hasErrors()) {
|
|
|
|
|
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
|
|
|
|
|
}
|
|
|
|
|
String id = deleteRequest.getId();
|
|
|
|
|
BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.selectById(id);
|
|
|
|
|
|
|
|
|
|
//TODO 单据使用绑定和仓库绑定校验未做,等其他模块功能做完之后进行完善
|
|
|
|
|
/*OrderFilterRequest orderFilterRequest = new OrderFilterRequest();
|
|
|
|
|
orderFilterRequest.setAction(bussinessTypeEntity.getAction());
|
|
|
|
|
OrderEntity orderEntity = orderService.findOne(orderFilterRequest);
|
|
|
|
|
if (orderEntity != null) {
|
|
|
|
|
return ResultVOUtils.error(500, "已存在该类型扫码单据,无法删除!");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
FilterInvBusTypeRequest filterInvBusTypeRequest = new FilterInvBusTypeRequest();
|
|
|
|
|
filterInvBusTypeRequest.setAction(bussinessTypeEntity.getAction());
|
|
|
|
|
List<WarehouseBussinessTypeEntity> warehouseBussinessTypeEntities = warehouseBussinessTypeService.filterList(filterInvBusTypeRequest);
|
|
|
|
|
if (CollUtil.isNotEmpty(warehouseBussinessTypeEntities)) {
|
|
|
|
|
return ResultVOUtils.error(500, "单据类型已被仓库分库绑定,无法删除");
|
|
|
|
|
}*/
|
|
|
|
|
|
|
|
|
|
return basicBussinessTypeService.deleteBussinessType(id) == true ? ResultVOUtils.success("删除成功") : ResultVOUtils.error(500, "删除失败,系统繁忙");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 单据类型导入
|
|
|
|
|
*
|
|
|
|
|
* @param files
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@PostMapping("/udiwms/busstiness/file/upload")
|
|
|
|
|
public BaseResponse uploadProducts(@RequestParam("file") List<MultipartFile> files) {
|
|
|
|
|
for (int i = 0; i < files.size(); i++) {
|
|
|
|
|
MultipartFile file = files.get(i);
|
|
|
|
|
if (file.isEmpty()) {
|
|
|
|
|
return ResultVOUtils.error(500, "上传第" + (i++) + "个文件失败");
|
|
|
|
|
}
|
|
|
|
|
try {
|
|
|
|
|
InputStream inputStream = file.getInputStream();
|
|
|
|
|
String json = FileUtils.readStream(inputStream);
|
|
|
|
|
List<BasicBussinessTypeEntity> bussinessTypeEntities = JSON.parseArray(json, BasicBussinessTypeEntity.class);
|
|
|
|
|
if (bussinessTypeEntities != null && bussinessTypeEntities.size() > 0) {
|
|
|
|
|
for (BasicBussinessTypeEntity bussinessTypeEntity : bussinessTypeEntities) {
|
|
|
|
|
basicBussinessTypeService.insertIgnoreBussinessType(bussinessTypeEntity);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
return ResultVOUtils.error(500, "文件格式错误!");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return ResultVOUtils.success("导入成功!");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 导出单据类型
|
|
|
|
|
*
|
|
|
|
|
* @param res
|
|
|
|
|
*/
|
|
|
|
|
@PostMapping("udiwms/busstiness/file/export")
|
|
|
|
|
public void exportXml(HttpServletResponse res) {
|
|
|
|
|
FilterBussinessTypeRequest bussinessTypeFilterRequest = new FilterBussinessTypeRequest();
|
|
|
|
|
bussinessTypeFilterRequest.setEnable(true);
|
|
|
|
|
List<BussinessTypExportResponse> bussinessTypExportResponses = new ArrayList<>();
|
|
|
|
|
List<BasicBussinessTypeEntity> bussinessTypeEntities = basicBussinessTypeService.findList(bussinessTypeFilterRequest);
|
|
|
|
|
for (BasicBussinessTypeEntity bussinessTypeEntity : bussinessTypeEntities) {
|
|
|
|
|
BussinessTypExportResponse bussinessTypExportResponse = new BussinessTypExportResponse();
|
|
|
|
|
BeanUtils.copyProperties(bussinessTypeEntity, bussinessTypExportResponse);
|
|
|
|
|
bussinessTypExportResponses.add(bussinessTypExportResponse);
|
|
|
|
|
}
|
|
|
|
|
String json = JSONObject.toJSON(bussinessTypExportResponses).toString();
|
|
|
|
|
String fileName = "扫码单据类型导出" + CustomUtil.getId() + ".json";
|
|
|
|
|
res.setHeader("Content-disposition", "attachment;fileName=" + fileName);
|
|
|
|
|
res.setContentType("text/plain;charset=UTF-8");
|
|
|
|
|
try {
|
|
|
|
|
res.getOutputStream().write(json.getBytes(StandardCharsets.UTF_8));
|
|
|
|
|
} catch (IOException e) {
|
|
|
|
|
log.error("导出单据类型异常", e);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//public BaseResponse add()
|
|
|
|
|
/**
|
|
|
|
|
* 查询候选补单单据类型
|
|
|
|
|
*
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@GetMapping("/warehouse/bussinessType/candidateBussinessType")
|
|
|
|
|
public BaseResponse candidateBussinessType(CandidateRequest cndidateRequest) {
|
|
|
|
|
if (StrUtil.isBlank(cndidateRequest.getMainAction())) {
|
|
|
|
|
return ResultVOUtils.error(ResultEnum.DATA_ERROR);
|
|
|
|
|
}
|
|
|
|
|
List<BasicBussinessTypeEntity> bussinessTypeEntities = basicBussinessTypeService.candidateBussinessType(cndidateRequest.getMainAction());
|
|
|
|
|
if (StrUtil.isNotBlank(cndidateRequest.getCurAction())) {
|
|
|
|
|
BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(cndidateRequest.getCurAction());
|
|
|
|
|
bussinessTypeEntities.add(bussinessTypeEntity);
|
|
|
|
|
}
|
|
|
|
|
//查询补单单据类型
|
|
|
|
|
return ResultVOUtils.success(bussinessTypeEntities);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|