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.
223 lines
9.8 KiB
Java
223 lines
9.8 KiB
Java
package com.glxp.api.controller.auth;
|
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
import cn.hutool.core.util.IdUtil;
|
|
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.auth.DeptEntity;
|
|
import com.glxp.api.entity.auth.InvBusUserEntity;
|
|
import com.glxp.api.entity.auth.InvWarehouseEntity;
|
|
import com.glxp.api.entity.auth.WarehouseBussinessTypeEntity;
|
|
import com.glxp.api.req.auth.FilterInvBusUserRequest;
|
|
import com.glxp.api.req.auth.UpdateUserRelBusRequset;
|
|
import com.glxp.api.req.system.DeleteRequest;
|
|
import com.glxp.api.res.PageSimpleResponse;
|
|
import com.glxp.api.service.auth.DeptService;
|
|
import com.glxp.api.service.auth.InvBusUserService;
|
|
import com.glxp.api.service.auth.InvWarehouseService;
|
|
import com.glxp.api.service.auth.WarehouseBussinessTypeService;
|
|
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.validation.Valid;
|
|
import java.util.ArrayList;
|
|
import java.util.Collections;
|
|
import java.util.Date;
|
|
import java.util.List;
|
|
import java.util.stream.Collectors;
|
|
|
|
@RestController
|
|
public class InvBusUserController {
|
|
|
|
@Resource
|
|
InvBusUserService invBusUserService;
|
|
@Resource
|
|
WarehouseBussinessTypeService warehouseBussinessTypeService;
|
|
|
|
|
|
@AuthRuleAnnotation("")
|
|
@GetMapping("spms/bus/user/select/filter")
|
|
public BaseResponse filterSelectInvUser(FilterInvBusUserRequest filterInvBusUserRequest) {
|
|
List<InvBusUserEntity> responses = invBusUserService.filterInvBusUser(filterInvBusUserRequest);
|
|
List<WarehouseBussinessTypeEntity> warehouseBussinessTypeEntities =
|
|
warehouseBussinessTypeService.getListByCode(filterInvBusUserRequest.getSubInvCode());
|
|
|
|
warehouseBussinessTypeEntities.forEach(warehouseBussinessTypeEntity ->
|
|
{
|
|
for (InvBusUserEntity invBusUserEntity : responses) {
|
|
if (invBusUserEntity.getScAction().equals(warehouseBussinessTypeEntity.getAction())) {
|
|
warehouseBussinessTypeEntity.setSelect(true);
|
|
break;
|
|
}
|
|
}
|
|
});
|
|
return ResultVOUtils.success(warehouseBussinessTypeEntities);
|
|
}
|
|
|
|
|
|
//查询用户未关联单据类型
|
|
@AuthRuleAnnotation("")
|
|
@GetMapping("spms/bus/user/unselect/filter")
|
|
public BaseResponse filterUnSelectInvUser(FilterInvBusUserRequest filterInvBusUserRequest) {
|
|
List<InvBusUserEntity> responses = invBusUserService.filterInvBusUser(filterInvBusUserRequest);
|
|
List<String> selectedCodes = new ArrayList<>();
|
|
responses.forEach(invBusUserEntity ->
|
|
{
|
|
selectedCodes.add(invBusUserEntity.getScAction());
|
|
});
|
|
filterInvBusUserRequest.setSelectedCodes(selectedCodes);
|
|
List<WarehouseBussinessTypeEntity> warehouseBussinessTypeEntityList = invBusUserService.filterUnSelect(filterInvBusUserRequest);
|
|
|
|
PageInfo<WarehouseBussinessTypeEntity> pageInfo = new PageInfo<>(warehouseBussinessTypeEntityList);
|
|
PageSimpleResponse<WarehouseBussinessTypeEntity> pageSimpleResponse = new PageSimpleResponse<>();
|
|
pageSimpleResponse.setTotal(pageInfo.getTotal());
|
|
pageSimpleResponse.setList(warehouseBussinessTypeEntityList);
|
|
return ResultVOUtils.success(pageSimpleResponse);
|
|
}
|
|
|
|
/**
|
|
* 查询用户关联的单据类型
|
|
*
|
|
* @param filterInvBusUserRequest
|
|
* @return
|
|
*/
|
|
@AuthRuleAnnotation("")
|
|
@GetMapping("spms/bus/user/filterUserBusList")
|
|
public BaseResponse filterUserBusList(FilterInvBusUserRequest filterInvBusUserRequest) {
|
|
List<InvBusUserEntity> responses = invBusUserService.filterInvBusUser(filterInvBusUserRequest);
|
|
PageInfo<InvBusUserEntity> pageInfo = new PageInfo<>(responses);
|
|
PageSimpleResponse<WarehouseBussinessTypeEntity> pageSimpleResponse = new PageSimpleResponse<>();
|
|
pageSimpleResponse.setTotal(pageInfo.getTotal());
|
|
if (pageInfo.getTotal() == 0) {
|
|
pageSimpleResponse.setList(Collections.emptyList());
|
|
} else {
|
|
List<String> actions = responses.stream().map(InvBusUserEntity::getScAction).collect(Collectors.toList());
|
|
List<WarehouseBussinessTypeEntity> warehouseBussinessTypeEntities = warehouseBussinessTypeService.selectByActions(filterInvBusUserRequest.getSubInvCode(), actions);
|
|
pageSimpleResponse.setList(warehouseBussinessTypeEntities);
|
|
}
|
|
return ResultVOUtils.success(pageSimpleResponse);
|
|
}
|
|
|
|
@AuthRuleAnnotation("")
|
|
@PostMapping("/spms/bus/user/warehouse/update")
|
|
public BaseResponse updateRes(@RequestBody UpdateUserRelBusRequset relBusRequset) {
|
|
boolean b = invBusUserService.deleteByUnion(relBusRequset.getUserId(), relBusRequset.getSubInvCode());
|
|
if (CollUtil.isNotEmpty(relBusRequset.getInvBusUserEntities())) {
|
|
relBusRequset.getInvBusUserEntities().forEach(warehouseBussinessTypeEntity ->
|
|
{
|
|
InvBusUserEntity invBusUserEntity = new InvBusUserEntity();
|
|
invBusUserEntity.setUserId(relBusRequset.getUserId());
|
|
invBusUserEntity.setSubInvCode(relBusRequset.getSubInvCode());
|
|
invBusUserEntity.setScAction(warehouseBussinessTypeEntity.getAction());
|
|
invBusUserService.insertInvBusUser(invBusUserEntity);
|
|
});
|
|
}
|
|
InvBusUserEntity invBusUserEntity = new InvBusUserEntity();
|
|
invBusUserEntity.setSubInvCode(relBusRequset.getSubInvCode());
|
|
updateInvTime(invBusUserEntity);
|
|
return ResultVOUtils.success("修改成功!");
|
|
}
|
|
|
|
@AuthRuleAnnotation("")
|
|
@PostMapping("/spms/bus/user/warehouse/post")
|
|
public BaseResponse postRes(@RequestBody UpdateUserRelBusRequset relBusRequset) {
|
|
boolean b = invBusUserService.deleteByUnion(relBusRequset.getUserId(), relBusRequset.getSubInvCode());
|
|
if (CollUtil.isNotEmpty(relBusRequset.getSelectActions())) {
|
|
|
|
invBusUserService.deleteByUnion(relBusRequset.getUserId(), relBusRequset.getSubInvCode());
|
|
relBusRequset.getSelectActions().forEach(action ->
|
|
{
|
|
InvBusUserEntity invBusUserEntity = new InvBusUserEntity();
|
|
invBusUserEntity.setUserId(relBusRequset.getUserId());
|
|
invBusUserEntity.setSubInvCode(relBusRequset.getSubInvCode());
|
|
invBusUserEntity.setScAction(action);
|
|
// invBusUserEntity.setId(IdUtil.getSnowflakeNextId());
|
|
invBusUserService.insertInvBusUser(invBusUserEntity);
|
|
});
|
|
}
|
|
InvBusUserEntity invBusUserEntity = new InvBusUserEntity();
|
|
invBusUserEntity.setSubInvCode(relBusRequset.getSubInvCode());
|
|
updateInvTime(invBusUserEntity);
|
|
return ResultVOUtils.success("修改成功!");
|
|
}
|
|
|
|
|
|
@AuthRuleAnnotation("")
|
|
@GetMapping("spms/bus/user/warehouse/filter")
|
|
public BaseResponse filterInvWarehouse(FilterInvBusUserRequest filterInvBusUserRequest) {
|
|
List<InvBusUserEntity> responses = invBusUserService.filterInvBusUser(filterInvBusUserRequest);
|
|
return ResultVOUtils.success(responses);
|
|
}
|
|
|
|
|
|
@AuthRuleAnnotation("")
|
|
@PostMapping("/spms/bus/user/warehouse/save")
|
|
public BaseResponse save(@RequestBody @Valid InvBusUserEntity invBusUserEntity,
|
|
BindingResult bindingResult) {
|
|
|
|
if (bindingResult.hasErrors()) {
|
|
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
|
|
}
|
|
|
|
boolean b = invBusUserService.insertInvBusUser(invBusUserEntity);
|
|
updateInvTime(invBusUserEntity);
|
|
|
|
if (!b) {
|
|
return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
|
|
}
|
|
return ResultVOUtils.success("添加成功!");
|
|
}
|
|
|
|
@AuthRuleAnnotation("")
|
|
@PostMapping("/spms/bus/user/warehouse/edit")
|
|
public BaseResponse edit(@RequestBody @Valid InvBusUserEntity invBusUserEntity,
|
|
BindingResult bindingResult) {
|
|
|
|
if (bindingResult.hasErrors()) {
|
|
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
|
|
}
|
|
if (invBusUserEntity.getId() == null) {
|
|
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
|
|
}
|
|
boolean b = invBusUserService.updateInvBusUser(invBusUserEntity);
|
|
updateInvTime(invBusUserEntity);
|
|
if (!b) {
|
|
return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
|
|
}
|
|
return ResultVOUtils.success("修改成功!");
|
|
}
|
|
|
|
@AuthRuleAnnotation("")
|
|
@PostMapping("/spms/bus/user/warehouse/delete")
|
|
public BaseResponse delete(@RequestBody DeleteRequest deleteRequest) {
|
|
|
|
if (deleteRequest.getId() == null) {
|
|
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
|
|
}
|
|
boolean b = invBusUserService.deleteById(deleteRequest.getId());
|
|
if (!b) {
|
|
return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
|
|
}
|
|
return ResultVOUtils.success();
|
|
}
|
|
|
|
@Resource
|
|
InvWarehouseService invWarehouseService;
|
|
@Resource
|
|
DeptService deptService;
|
|
|
|
public void updateInvTime(InvBusUserEntity invBusUserEntity) {
|
|
InvWarehouseEntity invSubWarehouseEntity = invWarehouseService.findByInvSubByCode(invBusUserEntity.getSubInvCode());
|
|
DeptEntity pEntity = deptService.selectByCode(invSubWarehouseEntity.getParentId());
|
|
pEntity.setUpdateTime(new Date());
|
|
deptService.updateInvWarehouse(pEntity);
|
|
}
|
|
}
|