diff --git a/src/main/java/com/glxp/api/controller/auth/InvBusUserController.java b/src/main/java/com/glxp/api/controller/auth/InvBusUserController.java new file mode 100644 index 000000000..6eb5f24c7 --- /dev/null +++ b/src/main/java/com/glxp/api/controller/auth/InvBusUserController.java @@ -0,0 +1,218 @@ +package com.glxp.api.controller.auth; + +import cn.hutool.core.collection.CollUtil; +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.UpdateRelBusRequset; +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 responses = invBusUserService.filterInvBusUser(filterInvBusUserRequest); + List 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 responses = invBusUserService.filterInvBusUser(filterInvBusUserRequest); + List selectedCodes = new ArrayList<>(); + responses.forEach(invBusUserEntity -> + { + selectedCodes.add(invBusUserEntity.getScAction()); + }); + filterInvBusUserRequest.setSelectedCodes(selectedCodes); + List warehouseBussinessTypeEntityList = invBusUserService.filterUnSelect(filterInvBusUserRequest); + + PageInfo pageInfo = new PageInfo<>(warehouseBussinessTypeEntityList); + PageSimpleResponse 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 responses = invBusUserService.filterInvBusUser(filterInvBusUserRequest); + PageInfo pageInfo = new PageInfo<>(responses); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + if (pageInfo.getTotal() == 0) { + pageSimpleResponse.setList(Collections.emptyList()); + } else { + List actions = responses.stream().map(InvBusUserEntity::getScAction).collect(Collectors.toList()); + List warehouseBussinessTypeEntities = warehouseBussinessTypeService.selectByActions(filterInvBusUserRequest.getSubInvCode(), actions); + pageSimpleResponse.setList(warehouseBussinessTypeEntities); + } + return ResultVOUtils.success(pageSimpleResponse); + } + + @AuthRuleAnnotation("") + @PostMapping("/spms/bus/user/warehouse/update") + public BaseResponse updateRes(@RequestBody UpdateRelBusRequset 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 UpdateRelBusRequset relBusRequset) { + boolean b = invBusUserService.deleteByUnion(relBusRequset.getUserId(), relBusRequset.getSubInvCode()); + if (CollUtil.isNotEmpty(relBusRequset.getSelectActions())) { + relBusRequset.getSelectActions().forEach(action -> + { + InvBusUserEntity invBusUserEntity = new InvBusUserEntity(); + invBusUserEntity.setUserId(relBusRequset.getUserId()); + invBusUserEntity.setSubInvCode(relBusRequset.getSubInvCode()); + invBusUserEntity.setScAction(action); + 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 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); + } +} diff --git a/src/main/java/com/glxp/api/controller/auth/InvWarehouseController.java b/src/main/java/com/glxp/api/controller/auth/InvWarehouseController.java index d6f4c7fbc..25ea88feb 100644 --- a/src/main/java/com/glxp/api/controller/auth/InvWarehouseController.java +++ b/src/main/java/com/glxp/api/controller/auth/InvWarehouseController.java @@ -8,11 +8,10 @@ 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.AuthAdmin; -import com.glxp.api.entity.auth.DeptEntity; -import com.glxp.api.entity.auth.InvWarehouseEntity; -import com.glxp.api.entity.auth.WarehouseUserEntity; +import com.glxp.api.constant.ConstantType; +import com.glxp.api.entity.auth.*; import com.glxp.api.entity.system.SystemParamConfigEntity; +import com.glxp.api.req.auth.BussinessTypeFilterRequest; import com.glxp.api.req.auth.FilterInvLinkDataRequest; import com.glxp.api.req.auth.FilterInvSubWarehouseRequest; import com.glxp.api.req.auth.FilterInvWarehouseRequest; @@ -22,10 +21,7 @@ import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.auth.InvSubWarehouseResponse; import com.glxp.api.res.auth.InvWarehouseThirdSysResponse; import com.glxp.api.res.auth.WarehouseUserResponse; -import com.glxp.api.service.auth.CustomerService; -import com.glxp.api.service.auth.DeptService; -import com.glxp.api.service.auth.InvWarehouseService; -import com.glxp.api.service.auth.WarehouseUserService; +import com.glxp.api.service.auth.*; import com.glxp.api.service.system.SystemParamConfigService; import org.springframework.beans.BeanUtils; import org.springframework.validation.BindingResult; @@ -37,6 +33,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import javax.validation.Valid; import java.util.ArrayList; +import java.util.Arrays; import java.util.Date; import java.util.List; @@ -53,6 +50,8 @@ public class InvWarehouseController { private WarehouseUserService warehouseUserService; @Resource private SystemParamConfigService systemParamConfigService; + @Resource + private WarehouseBussinessTypeService warehouseBussinessTypeService; @AuthRuleAnnotation("") @GetMapping("spms/sub/inv/warehouse/filter") @@ -326,4 +325,66 @@ public class InvWarehouseController { return ResultVOUtils.success(response); } + + @AuthRuleAnnotation("") + @PostMapping("/warehouse/inout/warehouseBussniessTypeList") + public BaseResponse getWarehouseBussniessTypeList(@RequestBody @Valid FilterInvLinkDataRequest filterInvLinkDataRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List warehouseBussniessTypeList = warehouseBussinessTypeService.getWarehouseBussniessTypeList(filterInvLinkDataRequest); + PageInfo pageInfo = new PageInfo<>(warehouseBussniessTypeList); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setList(pageInfo.getList()); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + return ResultVOUtils.success(pageSimpleResponse); + } + + @AuthRuleAnnotation("") + @GetMapping("/udiwms/bussinessType/joinFilter") + public BaseResponse filterJoinBussinessType(BussinessTypeFilterRequest bussinessTypeFilterRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + if (StrUtil.isNotEmpty(bussinessTypeFilterRequest.getIds())) { + List idList = new ArrayList<>(Arrays.asList(bussinessTypeFilterRequest.getIds().split(","))); + bussinessTypeFilterRequest.setActionList(idList); + } + +// if (!StrUtil.isEmpty(bussinessTypeFilterRequest.getFilterAction())) { +// BussinessLocalTypeEntity bussinessLocalTypeEntity = bussinessLocalTypeService.findBTByAction(bussinessTypeFilterRequest.getFilterAction()); +// if (bussinessLocalTypeEntity.getMainAction().equals(ConstantType.TYPE_PUT)) { +// bussinessTypeFilterRequest.setMainAction(ConstantType.TYPE_OUT); +// } else { +// bussinessTypeFilterRequest.setMainAction(ConstantType.TYPE_PUT); +// } +// +// bussinessTypeFilterRequest.setAdvanceType(bussinessLocalTypeEntity.isAdvanceType()); +// } +// +// //查询该仓库绑定的单据 +// List warehouseBussinessTypeEntityList = warehouseBussinessTypeService.getListByCode(bussinessTypeFilterRequest.getCode()); +// List bussinessTypeEntities; +// bussinessTypeEntities = bussinessTypeService.filterJoinList(bussinessTypeFilterRequest); +// for (BussinessTypResponse w1 : bussinessTypeEntities) { +// for (WarehouseBussinessTypeEntity w2 : warehouseBussinessTypeEntityList) { +// if (w1.getAction().equals(w2.getAction())) { +// w1.setCheckSelect(true); +// break; +// } +// } +// } +// +// PageInfo pageInfo; +// pageInfo = new PageInfo<>(bussinessTypeEntities); +// PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); +// pageSimpleResponse.setTotal(pageInfo.getTotal()); +// pageSimpleResponse.setList(bussinessTypeEntities); +// return ResultVOUtils.success(pageSimpleResponse); + + return null; + } + } diff --git a/src/main/java/com/glxp/api/controller/thrsys/ThrDeptController.java b/src/main/java/com/glxp/api/controller/thrsys/ThrDeptController.java new file mode 100644 index 000000000..42df36138 --- /dev/null +++ b/src/main/java/com/glxp/api/controller/thrsys/ThrDeptController.java @@ -0,0 +1,147 @@ +package com.glxp.api.controller.thrsys; + +import cn.hutool.core.util.StrUtil; +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.thrsys.ThrDeptEntity; +import com.glxp.api.entity.thrsys.ThrInvWarehouseEntity; +import com.glxp.api.req.system.DeleteRequest; +import com.glxp.api.req.thrsys.FilterThrDeptRequest; +import com.glxp.api.req.thrsys.FilterThrSubInvWarehouseRequest; +import com.glxp.api.res.PageSimpleResponse; +import com.glxp.api.service.thrsys.ThrDeptService; +import com.glxp.api.service.thrsys.ThrInvWarehouseService; +import lombok.extern.slf4j.Slf4j; +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.Date; +import java.util.List; + +/** + * 第三方仓库信息接口 + */ +@Slf4j +@RestController +public class ThrDeptController { + + @Resource + ThrDeptService thrDeptService; + @Resource + ThrInvWarehouseService thrInvWarehouseService; + + @GetMapping("spms/thrsys/warehouse/filter") + public BaseResponse filterInvWarehouse(FilterThrDeptRequest filterThrDeptRequest) { + List thrInvWarehouseEntities = thrDeptService.filterThrInvWarehouse(filterThrDeptRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(thrInvWarehouseEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(thrInvWarehouseEntities); + return ResultVOUtils.success(pageSimpleResponse); + } + + + @GetMapping("spms/thrsys/warehouse/filterAll") + public BaseResponse filterAllInvWarehouse(FilterThrDeptRequest filterThrDeptRequest) { + filterThrDeptRequest.setPid(0); + List thrInvWarehouseEntities = thrDeptService.filterThrInvWarehouse(filterThrDeptRequest); + return ResultVOUtils.success(thrInvWarehouseEntities); + } + + @PostMapping("/spms/thrsys/warehouse/save") + public BaseResponse save(@RequestBody @Valid ThrDeptEntity thrDeptEntity, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + + if (thrDeptEntity.getPid() == null) {//仓库 + thrDeptEntity.setPid(0); // 默认设置 + FilterThrDeptRequest filterThrDeptRequest = new FilterThrDeptRequest(); + filterThrDeptRequest.setPid(thrDeptEntity.getPid()); + } else {//货位 + + FilterThrDeptRequest filterThrDeptRequest = new FilterThrDeptRequest(); + filterThrDeptRequest.setPid(thrDeptEntity.getPid()); + ThrDeptEntity pEntity = thrDeptService.selectById(thrDeptEntity.getPid() + ""); + thrDeptEntity.setAdvanceType(pEntity.getAdvanceType()); + thrDeptEntity.setLevel(pEntity.getLevel()); + thrDeptEntity.setPcode(pEntity.getPcode()); + } + thrDeptEntity.setUpdateTime(new Date()); + boolean b = thrDeptService.insertInvWarehouse(thrDeptEntity); + if (!b) { + return ResultVOUtils.error(ResultEnum.NOT_NETWORK); + } + + return ResultVOUtils.success("添加成功!"); + } + + @PostMapping("/spms/thrsys/warehouse/edit") + public BaseResponse edit(@RequestBody @Valid ThrDeptEntity thrDeptEntity, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + if (thrDeptEntity.getId() == null) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + thrDeptEntity.setPid(null); // 不能修改父级 pid + thrDeptEntity.setUpdateTime(new Date()); + boolean b = thrDeptService.updateInvWarehouse(thrDeptEntity); + if (!b) { + return ResultVOUtils.error(ResultEnum.NOT_NETWORK); + } + return ResultVOUtils.success(); + } + + @PostMapping("/spms/thrsys/warehouse/delete") + public BaseResponse delete(@RequestBody DeleteRequest deleteRequest) { + if (deleteRequest.getId() == null) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + return thrDeptService.deleteInvById(deleteRequest.getId()); + } + + /** + * 下载第三方系统的仓库 + */ + @GetMapping("/spms/thrsys/warehouse/download") + public BaseResponse downloadThirdWarehouse(String thirdSysFk) { + if (StrUtil.isBlank(thirdSysFk)) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + return thrDeptService.downloadThirdWarehouse(thirdSysFk); + } + + + @GetMapping("/spms/sub/inv/warehouse/filterThridInv") + public BaseResponse filterInvWarehouse(FilterThrSubInvWarehouseRequest filterThrSubInvWarehouseRequest) { +// todo +// InvWarehouseEntity invWarehouseEntity = invWarehouseService.selectByCode(filterThrSubInvWarehouseRequest.getParentId()); +// Object thirdId = ReflectUtil.getFieldValue(invWarehouseEntity, filterThrSubInvWarehouseRequest.getThirdSysFk()); +// if (thirdId == null) { +// return ResultVOUtils.error(500, "请先关联仓库对应的第三方仓库,再关联分库!"); +// } +// filterThrSubInvWarehouseRequest.setParentId((String) thirdId); + List thrInvWarehouseEntities = thrInvWarehouseService.filterThrInvWarehouse(filterThrSubInvWarehouseRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(thrInvWarehouseEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(thrInvWarehouseEntities); + return ResultVOUtils.success(pageSimpleResponse); + } + + +} diff --git a/src/main/java/com/glxp/api/controller/thrsys/ThrInvWarehouseController.java b/src/main/java/com/glxp/api/controller/thrsys/ThrInvWarehouseController.java new file mode 100644 index 000000000..ae4bd3828 --- /dev/null +++ b/src/main/java/com/glxp/api/controller/thrsys/ThrInvWarehouseController.java @@ -0,0 +1,120 @@ +package com.glxp.api.controller.thrsys; + +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.thrsys.ThrDeptEntity; +import com.glxp.api.entity.thrsys.ThrInvWarehouseEntity; +import com.glxp.api.req.system.DeleteRequest; +import com.glxp.api.req.thrsys.FilterThrSubInvWarehouseRequest; +import com.glxp.api.res.PageSimpleResponse; +import com.glxp.api.res.thrsys.ThrInvWarehouseResponse; +import com.glxp.api.service.thrsys.ThrDeptService; +import com.glxp.api.service.thrsys.ThrInvWarehouseService; +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.Date; +import java.util.List; + +@RestController +public class ThrInvWarehouseController { + + @Resource + ThrInvWarehouseService thrInvWarehouseService; + @Resource + ThrDeptService thrDeptService; + + @GetMapping("/thirdSys/sub/inv/warehouse/filter") + public BaseResponse filterInvWarehouse(FilterThrSubInvWarehouseRequest filterThrSubInvWarehouseRequest) { + List ThrInvWarehouseResponses = thrInvWarehouseService.filterThrInvWarehouseResponse(filterThrSubInvWarehouseRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(ThrInvWarehouseResponses); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(ThrInvWarehouseResponses); + return ResultVOUtils.success(pageSimpleResponse); + } + + @AuthRuleAnnotation("") + @GetMapping("/thirdSys/sub/inv/warehouse/filterAll") + public BaseResponse filterAllInvWarehouse(FilterThrSubInvWarehouseRequest filterThrSubInvWarehouseRequest) { + List invSubWarehouseEntities = thrInvWarehouseService.filterThrInvWarehouse(filterThrSubInvWarehouseRequest); + return ResultVOUtils.success(invSubWarehouseEntities); + } + + @AuthRuleAnnotation("") + @PostMapping("/thirdSys/sub/inv/warehouse/save") + public BaseResponse save(@RequestBody @Valid ThrInvWarehouseEntity invSubWarehouseEntity, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + invSubWarehouseEntity.setId(IdUtil.getSnowflake(6, 1).nextId() + ""); + boolean b = thrInvWarehouseService.insertThrInvWarehouse(invSubWarehouseEntity); + ThrDeptEntity thrDeptEntity = thrDeptService.selectByCode(invSubWarehouseEntity.getParentId(), invSubWarehouseEntity.getThirdSysFk()); + thrDeptEntity.setUpdateTime(new Date()); + thrDeptService.updateInvWarehouse(thrDeptEntity); + + if (!b) { + return ResultVOUtils.error(ResultEnum.NOT_NETWORK); + } + return ResultVOUtils.success("添加成功!"); + } + + @AuthRuleAnnotation("") + @PostMapping("/thirdSys/sub/inv/warehouse/edit") + public BaseResponse edit(@RequestBody @Valid ThrInvWarehouseEntity invSubWarehouseEntity, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + if (invSubWarehouseEntity.getId() == null) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + boolean b = thrInvWarehouseService.updateThrInvWarehouse(invSubWarehouseEntity); + if (!b) { + return ResultVOUtils.error(ResultEnum.NOT_NETWORK); + } + + ThrDeptEntity thrDeptEntity = thrDeptService.selectByCode(invSubWarehouseEntity.getParentId(), invSubWarehouseEntity.getThirdSysFk()); + thrDeptEntity.setUpdateTime(new Date()); + thrDeptService.updateInvWarehouse(thrDeptEntity); + + + return ResultVOUtils.success("修改成功!"); + } + + + @AuthRuleAnnotation("") + @PostMapping("/thirdSys/sub/inv/warehouse/delete") + public BaseResponse delete(@RequestBody DeleteRequest deleteRequest) { + + if (deleteRequest.getId() == null) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + + ThrInvWarehouseEntity thrInvWarehouseEntity = thrInvWarehouseService.selectById(deleteRequest.getId()); + + ThrDeptEntity thrDeptEntity = thrDeptService.selectByCode(thrInvWarehouseEntity.getParentId(), thrInvWarehouseEntity.getThirdSysFk()); + thrDeptEntity.setUpdateTime(new Date()); + thrDeptService.updateInvWarehouse(thrDeptEntity); + boolean b = thrInvWarehouseService.deleteById(deleteRequest.getId()); + if (!b) { + return ResultVOUtils.error(ResultEnum.NOT_NETWORK); + } + + return ResultVOUtils.success("刪除成功!"); + } + +} diff --git a/src/main/java/com/glxp/api/dao/auth/InvBusUserDao.java b/src/main/java/com/glxp/api/dao/auth/InvBusUserDao.java new file mode 100644 index 000000000..2348a5cbd --- /dev/null +++ b/src/main/java/com/glxp/api/dao/auth/InvBusUserDao.java @@ -0,0 +1,29 @@ +package com.glxp.api.dao.auth; + +import com.glxp.api.entity.auth.InvBusUserEntity; +import com.glxp.api.entity.auth.WarehouseBussinessTypeEntity; +import com.glxp.api.req.auth.FilterInvBusUserRequest; +import com.glxp.api.res.auth.InvBusUserResponse; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface InvBusUserDao { + + + List filterInvBusUser(FilterInvBusUserRequest filterInvBusUserRequest); + + List filterUnSelect(FilterInvBusUserRequest filterInvBusUserRequest); + + List filterJoinInvBusUser(FilterInvBusUserRequest filterInvBusUserRequest); + + boolean insertInvBusUser(InvBusUserEntity InvBusUserEntity); + + boolean updateInvBusUser(InvBusUserEntity InvBusUserEntity); + + boolean deleteById(@Param("id") String id); + + boolean deleteByUnion(@Param("userId") String userId, @Param("subInvCode") String subInvCode); +} diff --git a/src/main/java/com/glxp/api/dao/auth/WarehouseBussinessTypeDao.java b/src/main/java/com/glxp/api/dao/auth/WarehouseBussinessTypeDao.java new file mode 100644 index 000000000..e0bdd8ba0 --- /dev/null +++ b/src/main/java/com/glxp/api/dao/auth/WarehouseBussinessTypeDao.java @@ -0,0 +1,50 @@ +package com.glxp.api.dao.auth; + +import com.glxp.api.entity.auth.WarehouseBussinessTypeEntity; +import com.glxp.api.req.auth.FilterInvBusTypeRequest; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface WarehouseBussinessTypeDao { + WarehouseBussinessTypeEntity selectById(Integer id); + + int deleteByPrimaryKey(Integer id); + + int insert(WarehouseBussinessTypeEntity record); + + int insertOrUpdate(WarehouseBussinessTypeEntity record); + + int insertOrUpdateSelective(WarehouseBussinessTypeEntity record); + + int insertSelective(WarehouseBussinessTypeEntity record); + + WarehouseBussinessTypeEntity selectByPrimaryKey(Integer id); + + int updateByPrimaryKeySelective(WarehouseBussinessTypeEntity record); + + int updateByPrimaryKey(WarehouseBussinessTypeEntity record); + + int updateBatch(List list); + + int updateBatchSelective(List list); + + int batchInsert(@Param("list") List list); + + List selectListByCode(@Param("code") String code); + + List filterList(FilterInvBusTypeRequest filterInvBusTypeRequest); + + void deleteByCode(@Param("code") String code); + + + /** + * 根据单据类型编码查询单据类型列表 + * + * @param actions + * @return + */ + List selectByActions(@Param("subInvCode") String subInvCode, @Param("actions") List actions); +} \ No newline at end of file diff --git a/src/main/java/com/glxp/api/dao/thrsys/ThrBusTypeOriginDao.java b/src/main/java/com/glxp/api/dao/thrsys/ThrBusTypeOriginDao.java index 336792813..e3d83826c 100644 --- a/src/main/java/com/glxp/api/dao/thrsys/ThrBusTypeOriginDao.java +++ b/src/main/java/com/glxp/api/dao/thrsys/ThrBusTypeOriginDao.java @@ -14,7 +14,7 @@ import java.util.List; * 第三方单据类型表查询接口 */ @Mapper -public interface ThrBusTypeOriginDao extends BaseMapperPlus { +public interface ThrBusTypeOriginDao extends BaseMapperPlus { /** * 查询第三方单据类型列表 diff --git a/src/main/java/com/glxp/api/dao/thrsys/ThrDeptDao.java b/src/main/java/com/glxp/api/dao/thrsys/ThrDeptDao.java new file mode 100644 index 000000000..32e8f7ced --- /dev/null +++ b/src/main/java/com/glxp/api/dao/thrsys/ThrDeptDao.java @@ -0,0 +1,33 @@ +package com.glxp.api.dao.thrsys; + +import com.glxp.api.entity.thrsys.ThrDeptEntity; +import com.glxp.api.req.thrsys.FilterThrDeptRequest; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface ThrDeptDao { + + List filterThrInvWarehouse(FilterThrDeptRequest filterThrDeptRequest); + + List filterThrGroupInvWarehouse(FilterThrDeptRequest filterThrDeptRequest); + + boolean insertThrInvWarehouse(ThrDeptEntity thrDeptEntity); + + boolean insertInvWarehouses(@Param("thrInvWarehouseEntitys") List thrDeptEntities); + + boolean updateThrInvWarehouse(ThrDeptEntity thrDeptEntity); + + ThrDeptEntity selectById(@Param("id") String id); + + boolean deleteById(@Param("id") String id); + + /** + * 根据code查询第三方仓库数据 + */ + ThrDeptEntity selectByCode(@Param("code") String code); + + ThrDeptEntity selectMaxCode(FilterThrDeptRequest filterThrDeptRequest); +} diff --git a/src/main/java/com/glxp/api/dao/thrsys/ThrInvWarehouseDao.java b/src/main/java/com/glxp/api/dao/thrsys/ThrInvWarehouseDao.java new file mode 100644 index 000000000..b341b5118 --- /dev/null +++ b/src/main/java/com/glxp/api/dao/thrsys/ThrInvWarehouseDao.java @@ -0,0 +1,32 @@ +package com.glxp.api.dao.thrsys; + +import com.glxp.api.entity.thrsys.ThrInvWarehouseEntity; +import com.glxp.api.req.thrsys.FilterThrSubInvWarehouseRequest; +import com.glxp.api.res.thrsys.ThrInvWarehouseResponse; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface ThrInvWarehouseDao { + + + List filterThrInvWarehouse(FilterThrSubInvWarehouseRequest filterThrSubInvWarehouseRequest); + + boolean insertThrInvWarehouse(ThrInvWarehouseEntity thrInvWarehouseEntity); + + boolean insertThrInvWarehouses(@Param("thrInvWarehouseEntitys") List thrInvWarehouseEntitys); + + boolean updateThrInvWarehouse(ThrInvWarehouseEntity thrInvWarehouseEntity); + + boolean deleteById(@Param("id") String id); + + /** + * 根据父级仓库,统计子仓库数量 + */ + int countSubInvByParentInvId(String parentInvId); + + List filterThrInvWarehouseResponse(FilterThrSubInvWarehouseRequest filterThrSubInvWarehouseRequest); + +} diff --git a/src/main/java/com/glxp/api/entity/auth/InvBusUserEntity.java b/src/main/java/com/glxp/api/entity/auth/InvBusUserEntity.java new file mode 100644 index 000000000..64fe937c9 --- /dev/null +++ b/src/main/java/com/glxp/api/entity/auth/InvBusUserEntity.java @@ -0,0 +1,13 @@ +package com.glxp.api.entity.auth; + +import lombok.Data; + +@Data +public class InvBusUserEntity { + private Integer id; + private String userId; + private String subInvCode; + private String scAction; + private String remark; + +} diff --git a/src/main/java/com/glxp/api/entity/auth/WarehouseBussinessTypeEntity.java b/src/main/java/com/glxp/api/entity/auth/WarehouseBussinessTypeEntity.java new file mode 100644 index 000000000..a3d35858c --- /dev/null +++ b/src/main/java/com/glxp/api/entity/auth/WarehouseBussinessTypeEntity.java @@ -0,0 +1,31 @@ +package com.glxp.api.entity.auth; + +import lombok.Data; + +/** + * 仓库字典-单据类型关联表 + */ +@Data +public class WarehouseBussinessTypeEntity { + /** + * id + */ + private Integer id; + + /** + * 仓位码 + */ + private String code; + + /** + * 业务类型 + */ + private String action; + + /** + * 业务名称 + */ + private String name; + + private boolean select; +} \ No newline at end of file diff --git a/src/main/java/com/glxp/api/entity/thrsys/ThrDeptEntity.java b/src/main/java/com/glxp/api/entity/thrsys/ThrDeptEntity.java new file mode 100644 index 000000000..5a3a51309 --- /dev/null +++ b/src/main/java/com/glxp/api/entity/thrsys/ThrDeptEntity.java @@ -0,0 +1,37 @@ +package com.glxp.api.entity.thrsys; + +import lombok.Data; + +import java.util.Date; + +/** + * 第三方仓库信息 + */ +@Data +public class ThrDeptEntity { + + private Integer id; + private Integer pid; + private String code; + private String name; + private Boolean advanceType; + private Boolean isDefault; + private Integer status; + private Date updateTime; + private String remark; + + /** + * 仓库等级 + */ + private Integer level; + + /** + * 父级仓库编码 + */ + private String pcode; + + /** + * 第三方系统标识 + */ + private String thirdSysFk; +} \ No newline at end of file diff --git a/src/main/java/com/glxp/api/entity/thrsys/ThrInvWarehouseEntity.java b/src/main/java/com/glxp/api/entity/thrsys/ThrInvWarehouseEntity.java new file mode 100644 index 000000000..d6971e3e7 --- /dev/null +++ b/src/main/java/com/glxp/api/entity/thrsys/ThrInvWarehouseEntity.java @@ -0,0 +1,17 @@ +package com.glxp.api.entity.thrsys; + +import lombok.Data; + +@Data +public class ThrInvWarehouseEntity { + + + private String id; + private String code; + private String name; + private String parentId; + private String remark; + private String thirdSysFk; + + +} diff --git a/src/main/java/com/glxp/api/http/ErpBasicClient.java b/src/main/java/com/glxp/api/http/ErpBasicClient.java index 14d5ac491..0ec395fa1 100644 --- a/src/main/java/com/glxp/api/http/ErpBasicClient.java +++ b/src/main/java/com/glxp/api/http/ErpBasicClient.java @@ -12,9 +12,11 @@ import com.glxp.api.http.req.UdiwmsUnitRequest; import com.glxp.api.req.thrsys.FilterBasicThirdSysDetailRequest; import com.glxp.api.req.thrsys.FilterThrProductsRequest; import com.glxp.api.req.thrsys.ThrUnitMaintainFilterRequest; +import com.glxp.api.req.thrsys.UdiwmsWarehouseRequest; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.thrsys.ThrCorpsResponse; import com.glxp.api.res.thrsys.ThrProductsResponse; +import com.glxp.api.res.thrsys.UdiwmsWarehouseDetail; import com.glxp.api.service.thrsys.ThrSystemService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; @@ -43,7 +45,7 @@ public class ErpBasicClient { try { String url = thrSystemEntity.getThridUrl() + "/udiwms/erp/getUnits"; String response = httpOkClient.uCloudPost(url, udiwmsUnitRequest, thrSystemEntity); - if(StrUtil.isBlank(response)){ + if (StrUtil.isBlank(response)) { return ResultVOUtils.error(500, "连接第三方系统接口服务出错!"); } BaseResponse> udiDlDeviceResponse = @@ -64,7 +66,7 @@ public class ErpBasicClient { try { String response = httpOkClient.uCloudPost(url, filterThrProductsRequest, basicThirdSysEntity); - if(StrUtil.isBlank(response)){ + if (StrUtil.isBlank(response)) { return ResultVOUtils.error(500, "连接第三方系统接口服务出错!"); } BaseResponse> udiDlDeviceResponse = @@ -77,7 +79,7 @@ public class ErpBasicClient { } } -// //获取单据类型 + // //获取单据类型 // public BaseResponse> getBusTypes(FilterBasicThirdSysDetailRequest filterBasicThirdSysDetailRequest) { // BasicThirdSysEntity basicThirdSysEntity = basicThirdSysService.selectByThirdId(filterBasicThirdSysDetailRequest.getThirdSysFk()); // String url = basicThirdSysEntity.getThridUrl() + "/udiwms/erp/getOrderType"; @@ -98,22 +100,22 @@ public class ErpBasicClient { // } // } // -// //查询仓库货位号 -// public BaseResponse> getWarehouse(UdiwmsWarehouseRequest udiwmsWarehouseRequest) { -// BasicThirdSysEntity basicThirdSysEntity = basicThirdSysService.selectByThirdId(udiwmsWarehouseRequest.getThirdSys()); -// String url = basicThirdSysEntity.getThridUrl() + "/udiwms/erp/getWarehouse"; -// try { -// String response = httpOkClient.uCloudPost(url, udiwmsWarehouseRequest); -// BaseResponse> listBaseResponse = -// JSONObject.parseObject(response, new TypeReference>>() { -// }); -// -// return listBaseResponse; -// } catch (Exception e) { -// log.error("获取第三方系统的仓库货位码异常", e); -// return ResultVOUtils.error(500, "连接第三方系统接口服务出错"); -// } -// } +//查询仓库货位号 + public BaseResponse> getWarehouse(UdiwmsWarehouseRequest udiwmsWarehouseRequest) { + ThrSystemEntity basicThirdSysEntity = basicThirdSysService.selectByThirdId(udiwmsWarehouseRequest.getThirdSys()); + String url = basicThirdSysEntity.getThridUrl() + "/udiwms/erp/getWarehouse"; + try { + String response = httpOkClient.uCloudPost(url, udiwmsWarehouseRequest); + BaseResponse> listBaseResponse = + JSONObject.parseObject(response, new TypeReference>>() { + }); + + return listBaseResponse; + } catch (Exception e) { + log.error("获取第三方系统的仓库货位码异常", e); + return ResultVOUtils.error(500, "连接第三方系统接口服务出错"); + } + } //测试连通性 public BaseResponse testConnection(ThrSystemEntity thrSystemEntity) { diff --git a/src/main/java/com/glxp/api/req/auth/BussinessTypeFilterRequest.java b/src/main/java/com/glxp/api/req/auth/BussinessTypeFilterRequest.java new file mode 100644 index 000000000..58d6d6d41 --- /dev/null +++ b/src/main/java/com/glxp/api/req/auth/BussinessTypeFilterRequest.java @@ -0,0 +1,37 @@ +package com.glxp.api.req.auth; + +import com.glxp.api.req.ListPageRequest; +import lombok.Data; + +import java.util.List; + +@Data +public class BussinessTypeFilterRequest extends ListPageRequest { + + private Boolean enable; + private String action; + private String thirdAction; + private String name; + private String mainAction; + private Boolean enabled; + private Boolean checkEnable; + private Boolean advanceType; + private String type; + private Integer index; + + private Boolean spUse; + private String localAction; + private Boolean secCheckEnable; + + private String filterAction; + private Integer userId; + + private String locInvCode; + private String locSubInvCode; + private String lastUpdateTime; + private String code; + private String ids; + private List actionList; + private Boolean preIn; + +} diff --git a/src/main/java/com/glxp/api/req/auth/FilterInvBusTypeRequest.java b/src/main/java/com/glxp/api/req/auth/FilterInvBusTypeRequest.java new file mode 100644 index 000000000..d8a90ce37 --- /dev/null +++ b/src/main/java/com/glxp/api/req/auth/FilterInvBusTypeRequest.java @@ -0,0 +1,12 @@ +package com.glxp.api.req.auth; + +import com.glxp.api.req.ListPageRequest; +import lombok.Data; + +@Data +public class FilterInvBusTypeRequest extends ListPageRequest { + private String lastUpdateTime; + private Integer id; + private String code; + private String action; +} diff --git a/src/main/java/com/glxp/api/req/auth/FilterInvBusUserRequest.java b/src/main/java/com/glxp/api/req/auth/FilterInvBusUserRequest.java new file mode 100644 index 000000000..abfc05ce4 --- /dev/null +++ b/src/main/java/com/glxp/api/req/auth/FilterInvBusUserRequest.java @@ -0,0 +1,17 @@ +package com.glxp.api.req.auth; + +import com.glxp.api.req.ListPageRequest; +import lombok.Data; + +import java.util.List; + +@Data +public class FilterInvBusUserRequest extends ListPageRequest { + + + private String userId; + private String subInvCode; + private String scAction; + + private List selectedCodes; +} diff --git a/src/main/java/com/glxp/api/req/auth/UpdateRelBusRequset.java b/src/main/java/com/glxp/api/req/auth/UpdateRelBusRequset.java new file mode 100644 index 000000000..676da8ad6 --- /dev/null +++ b/src/main/java/com/glxp/api/req/auth/UpdateRelBusRequset.java @@ -0,0 +1,17 @@ +package com.glxp.api.req.auth; + +import com.glxp.api.entity.auth.WarehouseBussinessTypeEntity; +import lombok.Data; + +import java.util.List; + +@Data +public class UpdateRelBusRequset { + private String userId; + private String subInvCode; + private List selectActions; + private List invBusUserEntities; + + +} + diff --git a/src/main/java/com/glxp/api/req/thrsys/FilterThrDeptRequest.java b/src/main/java/com/glxp/api/req/thrsys/FilterThrDeptRequest.java new file mode 100644 index 000000000..705a0f3f0 --- /dev/null +++ b/src/main/java/com/glxp/api/req/thrsys/FilterThrDeptRequest.java @@ -0,0 +1,29 @@ +package com.glxp.api.req.thrsys; + +import com.glxp.api.req.ListPageRequest; +import lombok.Data; + +import java.util.Date; + +@Data +public class FilterThrDeptRequest extends ListPageRequest { + + private Integer id; + private Integer pid; + private String code; + private String name; + private Boolean advanceType; + private Boolean isDefault; + private Date updateTime; + private String key; + private String pcode; + private Integer level; + + private String lastUpdateTime; + + /** + * 第三方系统标识 + */ + private String thirdSysFk; + +} diff --git a/src/main/java/com/glxp/api/req/thrsys/FilterThrSubInvWarehouseRequest.java b/src/main/java/com/glxp/api/req/thrsys/FilterThrSubInvWarehouseRequest.java new file mode 100644 index 000000000..cf210ce03 --- /dev/null +++ b/src/main/java/com/glxp/api/req/thrsys/FilterThrSubInvWarehouseRequest.java @@ -0,0 +1,15 @@ +package com.glxp.api.req.thrsys; + +import com.glxp.api.req.ListPageRequest; +import lombok.Data; + +@Data +public class FilterThrSubInvWarehouseRequest extends ListPageRequest { + + private String id; + private String code; + private String name; + private String parentId; + private String thirdSysFk; + +} diff --git a/src/main/java/com/glxp/api/req/thrsys/UdiwmsWarehouseRequest.java b/src/main/java/com/glxp/api/req/thrsys/UdiwmsWarehouseRequest.java new file mode 100644 index 000000000..61f7594ea --- /dev/null +++ b/src/main/java/com/glxp/api/req/thrsys/UdiwmsWarehouseRequest.java @@ -0,0 +1,21 @@ +package com.glxp.api.req.thrsys; + +import com.glxp.api.req.ListPageRequest; +import lombok.Data; + +/** + * 仓库货位信息查询参数 + */ +@Data +public class UdiwmsWarehouseRequest extends ListPageRequest { + + //仓库号,支持模糊查询 + private String inventoryCode; + + //货位号,支持模糊查询 + private String warehouseCode; + + //第三方系统ID + private String thirdSys; + +} diff --git a/src/main/java/com/glxp/api/res/auth/InvBusUserResponse.java b/src/main/java/com/glxp/api/res/auth/InvBusUserResponse.java new file mode 100644 index 000000000..be8de0dda --- /dev/null +++ b/src/main/java/com/glxp/api/res/auth/InvBusUserResponse.java @@ -0,0 +1,15 @@ +package com.glxp.api.res.auth; + +import lombok.Data; + +@Data +public class InvBusUserResponse { + private Integer id; + private String userId; + private String subInvCode; + private String scAction; + private String billTypeName; + private String remark; + + +} diff --git a/src/main/java/com/glxp/api/res/thrsys/ThrDeptResponse.java b/src/main/java/com/glxp/api/res/thrsys/ThrDeptResponse.java new file mode 100644 index 000000000..08da7cf26 --- /dev/null +++ b/src/main/java/com/glxp/api/res/thrsys/ThrDeptResponse.java @@ -0,0 +1,34 @@ +package com.glxp.api.res.thrsys; + +import lombok.Data; + +import java.util.Date; +import java.util.List; + +@Data +public class ThrDeptResponse { + + + private Integer id; + private Integer pid; + private String code; + private String name; + private Boolean advanceType; + private Boolean isDefault; + private Integer status; + private Date updateTime; + private String remark; + + /** + * 第三方系统标识 + */ + private String thirdSysFk; + + /** + * 第三方系统名称 + */ + private String thirdName; + + private List children; + +} diff --git a/src/main/java/com/glxp/api/res/thrsys/ThrInvWarehouseResponse.java b/src/main/java/com/glxp/api/res/thrsys/ThrInvWarehouseResponse.java new file mode 100644 index 000000000..b4c4706d2 --- /dev/null +++ b/src/main/java/com/glxp/api/res/thrsys/ThrInvWarehouseResponse.java @@ -0,0 +1,17 @@ +package com.glxp.api.res.thrsys; + +import com.glxp.api.entity.thrsys.ThrInvWarehouseEntity; +import lombok.Data; + +/** + * 第三方分库接口响应数据 + */ +@Data +public class ThrInvWarehouseResponse extends ThrInvWarehouseEntity { + + /** + * 父仓库名称 + */ + private String parentName; + +} diff --git a/src/main/java/com/glxp/api/res/thrsys/UdiwmsWarehouseDetail.java b/src/main/java/com/glxp/api/res/thrsys/UdiwmsWarehouseDetail.java new file mode 100644 index 000000000..c7ea51d88 --- /dev/null +++ b/src/main/java/com/glxp/api/res/thrsys/UdiwmsWarehouseDetail.java @@ -0,0 +1,35 @@ +package com.glxp.api.res.thrsys; + +import lombok.Data; + +import java.util.List; + +@Data +public class UdiwmsWarehouseDetail { + + //货位号 + private String code; + + //货位名称 + private String name; + + //备注 + private String remark; + + private List subWarehouses; + + @Data + public static class SubWarehouse { + //货位号 + private String code; + + //货位名称 + private String name; + + //备注 + private String remark; + + } + + +} diff --git a/src/main/java/com/glxp/api/res/thrsys/UdiwmsWarehouseResponse.java b/src/main/java/com/glxp/api/res/thrsys/UdiwmsWarehouseResponse.java new file mode 100644 index 000000000..5ce988304 --- /dev/null +++ b/src/main/java/com/glxp/api/res/thrsys/UdiwmsWarehouseResponse.java @@ -0,0 +1,17 @@ +package com.glxp.api.res.thrsys; + +import lombok.Data; + +import java.util.List; + +/** + * 仓库货位号返回信息 + */ +@Data +public class UdiwmsWarehouseResponse extends UdiwmsWarehouseDetail{ + + private List details; + +} + + diff --git a/src/main/java/com/glxp/api/service/auth/InvBusUserService.java b/src/main/java/com/glxp/api/service/auth/InvBusUserService.java new file mode 100644 index 000000000..69d04bc0b --- /dev/null +++ b/src/main/java/com/glxp/api/service/auth/InvBusUserService.java @@ -0,0 +1,29 @@ +package com.glxp.api.service.auth; + + +import com.glxp.api.entity.auth.InvBusUserEntity; +import com.glxp.api.entity.auth.WarehouseBussinessTypeEntity; +import com.glxp.api.req.auth.FilterInvBusUserRequest; +import com.glxp.api.res.auth.InvBusUserResponse; + +import java.util.List; + +public interface InvBusUserService { + + List filterInvBusUser(FilterInvBusUserRequest filterInvBusUserRequest); + + List filterUnSelect(FilterInvBusUserRequest filterInvBusUserRequest); + + List filterJoinInvBusUser(FilterInvBusUserRequest filterInvBusUserRequest); + + List selectByUnion(String userId, String subInvCode); + + boolean insertInvBusUser(InvBusUserEntity InvBusUserEntity); + + boolean updateInvBusUser(InvBusUserEntity InvBusUserEntity); + + boolean deleteById(String id); + + boolean deleteByUnion(String userId, String subInvCode); + +} diff --git a/src/main/java/com/glxp/api/service/auth/WarehouseBussinessTypeService.java b/src/main/java/com/glxp/api/service/auth/WarehouseBussinessTypeService.java new file mode 100644 index 000000000..bcf182090 --- /dev/null +++ b/src/main/java/com/glxp/api/service/auth/WarehouseBussinessTypeService.java @@ -0,0 +1,52 @@ +package com.glxp.api.service.auth; + + +import com.glxp.api.entity.auth.WarehouseBussinessTypeEntity; +import com.glxp.api.req.auth.FilterInvBusTypeRequest; +import com.glxp.api.req.auth.FilterInvLinkDataRequest; +import com.glxp.api.res.basic.BasicBussinessTypeResponse; + +import java.util.List; + +public interface WarehouseBussinessTypeService { + WarehouseBussinessTypeEntity selectById(Integer id); + + /** + * 根据code查询数据列表 + * + * @param code + * @return + */ + List getListByCode(String code); + + List filterList(FilterInvBusTypeRequest filterInvBusTypeRequest); + + /** + * 添加仓库信息-单据类型关联数据 + */ + void saveWarehouseBussinessType(String code, List bussinessTypResponseList); + + /** + * 移除仓库信息关联单据类型 + * + * @param id + */ + void deleteWarehouseByssuinessType(Integer id); + + /** + * 查询仓库关联的单据类型数据 + * + * @param filterInvLinkDataRequest + * @return + */ + List getWarehouseBussniessTypeList(FilterInvLinkDataRequest filterInvLinkDataRequest); + + /** + * 根据单据类型编码查询单据类型列表 + * + * @param actions + * @return + */ + List selectByActions(String subInvCode, List actions); + +} diff --git a/src/main/java/com/glxp/api/service/auth/impl/InvBusUserServiceImpl.java b/src/main/java/com/glxp/api/service/auth/impl/InvBusUserServiceImpl.java new file mode 100644 index 000000000..dc9b4c4e4 --- /dev/null +++ b/src/main/java/com/glxp/api/service/auth/impl/InvBusUserServiceImpl.java @@ -0,0 +1,96 @@ +package com.glxp.api.service.auth.impl; + +import cn.hutool.core.util.StrUtil; +import com.github.pagehelper.PageHelper; +import com.glxp.api.dao.auth.InvBusUserDao; +import com.glxp.api.entity.auth.InvBusUserEntity; +import com.glxp.api.entity.auth.WarehouseBussinessTypeEntity; +import com.glxp.api.req.auth.FilterInvBusUserRequest; +import com.glxp.api.res.auth.InvBusUserResponse; +import com.glxp.api.service.auth.InvBusUserService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; + +@Service +public class InvBusUserServiceImpl implements InvBusUserService { + + @Resource + InvBusUserDao invBusUserDao; + + @Override + public List filterInvBusUser(FilterInvBusUserRequest filterInvBusUserRequest) { + + if (filterInvBusUserRequest == null) { + return Collections.emptyList(); + } + if (filterInvBusUserRequest.getPage() != null) { + int offset = (filterInvBusUserRequest.getPage() - 1) * filterInvBusUserRequest.getLimit(); + PageHelper.offsetPage(offset, filterInvBusUserRequest.getLimit()); + } + return invBusUserDao.filterInvBusUser(filterInvBusUserRequest); + } + + @Override + public List filterUnSelect(FilterInvBusUserRequest filterInvBusUserRequest) { + if (filterInvBusUserRequest == null) { + return Collections.emptyList(); + } + if (filterInvBusUserRequest.getPage() != null) { + int offset = (filterInvBusUserRequest.getPage() - 1) * filterInvBusUserRequest.getLimit(); + PageHelper.offsetPage(offset, filterInvBusUserRequest.getLimit()); + } + return invBusUserDao.filterUnSelect(filterInvBusUserRequest); + } + + + @Override + public List filterJoinInvBusUser(FilterInvBusUserRequest filterInvBusUserRequest) { + if (filterInvBusUserRequest == null) { + return Collections.emptyList(); + } + if (filterInvBusUserRequest.getPage() != null) { + int offset = (filterInvBusUserRequest.getPage() - 1) * filterInvBusUserRequest.getLimit(); + PageHelper.offsetPage(offset, filterInvBusUserRequest.getLimit()); + } + return invBusUserDao.filterJoinInvBusUser(filterInvBusUserRequest); + } + + @Override + public List selectByUnion(String userId, String subInvCode) { + + if (StrUtil.isEmpty(userId) || StrUtil.isEmpty(subInvCode)) { + return Collections.emptyList(); + } + + FilterInvBusUserRequest filterInvBusUserRequest = new FilterInvBusUserRequest(); + filterInvBusUserRequest.setUserId(userId); + filterInvBusUserRequest.setSubInvCode(subInvCode); + return invBusUserDao.filterInvBusUser(filterInvBusUserRequest); + } + + @Override + public boolean insertInvBusUser(InvBusUserEntity invBusUserEntity) { + return invBusUserDao.insertInvBusUser(invBusUserEntity); + } + + @Override + public boolean updateInvBusUser(InvBusUserEntity invBusUserEntity) { + return invBusUserDao.updateInvBusUser(invBusUserEntity); + } + + @Override + public boolean deleteById(String id) { + return invBusUserDao.deleteById(id); + } + + @Override + public boolean deleteByUnion(String userId, String subInvCode) { + if (StrUtil.isEmpty(userId) || StrUtil.isEmpty(subInvCode)) { + return false; + } + return invBusUserDao.deleteByUnion(userId, subInvCode); + } +} diff --git a/src/main/java/com/glxp/api/service/auth/impl/WarehouseBussinessTypeServiceImpl.java b/src/main/java/com/glxp/api/service/auth/impl/WarehouseBussinessTypeServiceImpl.java new file mode 100644 index 000000000..a9e2f342e --- /dev/null +++ b/src/main/java/com/glxp/api/service/auth/impl/WarehouseBussinessTypeServiceImpl.java @@ -0,0 +1,95 @@ +package com.glxp.api.service.auth.impl; + +import cn.hutool.core.collection.CollUtil; +import com.github.pagehelper.PageHelper; +import com.glxp.api.dao.auth.WarehouseBussinessTypeDao; +import com.glxp.api.entity.auth.WarehouseBussinessTypeEntity; +import com.glxp.api.req.auth.FilterInvBusTypeRequest; +import com.glxp.api.req.auth.FilterInvLinkDataRequest; +import com.glxp.api.res.basic.BasicBussinessTypeResponse; +import com.glxp.api.service.auth.WarehouseBussinessTypeService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +@Slf4j +@Service +public class WarehouseBussinessTypeServiceImpl implements WarehouseBussinessTypeService { + + @Resource + private WarehouseBussinessTypeDao warehouseBussinessTypeDao; + + @Override + public WarehouseBussinessTypeEntity selectById(Integer id) { + return warehouseBussinessTypeDao.selectById(id); + } + + @Override + public List getListByCode(String code) { + List warehouseBussinessTypeEntities = warehouseBussinessTypeDao.selectListByCode(code); + if (CollUtil.isEmpty(warehouseBussinessTypeEntities)) { + return Collections.emptyList(); + } + return warehouseBussinessTypeEntities; + } + + @Override + public List filterList(FilterInvBusTypeRequest filterInvBusTypeRequest) { + if (filterInvBusTypeRequest == null) { + return Collections.emptyList(); + } + if (filterInvBusTypeRequest.getPage() != null) { + int offset = (filterInvBusTypeRequest.getPage() - 1) * filterInvBusTypeRequest.getLimit(); + PageHelper.offsetPage(offset, filterInvBusTypeRequest.getLimit()); + } + + return warehouseBussinessTypeDao.filterList(filterInvBusTypeRequest); + } + + @Override + public void saveWarehouseBussinessType(String code, List bussinessTypResponseList) { + + + if (CollUtil.isNotEmpty(bussinessTypResponseList)) { + List warehouseBussinessTypeEntities = new ArrayList<>(bussinessTypResponseList.size()); + bussinessTypResponseList.forEach(bussinessTypeEntity -> { + WarehouseBussinessTypeEntity entity = new WarehouseBussinessTypeEntity(); + entity.setCode(code); + entity.setAction(bussinessTypeEntity.getAction()); + entity.setName(bussinessTypeEntity.getName()); + warehouseBussinessTypeEntities.add(entity); + }); + + //加入新数据 + warehouseBussinessTypeDao.batchInsert(warehouseBussinessTypeEntities); + } + } + + @Override + public void deleteWarehouseByssuinessType(Integer id) { + if (null != id) { + warehouseBussinessTypeDao.deleteByPrimaryKey(id); + } + } + + @Override + public List getWarehouseBussniessTypeList(FilterInvLinkDataRequest filterInvLinkDataRequest) { + if (filterInvLinkDataRequest == null) { + return Collections.emptyList(); + } + if (filterInvLinkDataRequest.getPage() != null) { + int offset = (filterInvLinkDataRequest.getPage() - 1) * filterInvLinkDataRequest.getLimit(); + PageHelper.offsetPage(offset, filterInvLinkDataRequest.getLimit()); + } + return warehouseBussinessTypeDao.selectListByCode(filterInvLinkDataRequest.getCode()); + } + + @Override + public List selectByActions(String subInvCode, List actions) { + return warehouseBussinessTypeDao.selectByActions(subInvCode, actions); + } +} diff --git a/src/main/java/com/glxp/api/service/thrsys/ThrDeptService.java b/src/main/java/com/glxp/api/service/thrsys/ThrDeptService.java new file mode 100644 index 000000000..164a54a21 --- /dev/null +++ b/src/main/java/com/glxp/api/service/thrsys/ThrDeptService.java @@ -0,0 +1,48 @@ +package com.glxp.api.service.thrsys; + + +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.entity.thrsys.ThrDeptEntity; +import com.glxp.api.req.thrsys.FilterThrDeptRequest; + +import java.util.List; + +public interface ThrDeptService { + + + ThrDeptEntity findDefault(Boolean advaceType, Boolean isDefault); + + List filterThrInvWarehouse(FilterThrDeptRequest filterThrDeptRequest); + + List filterGroupInvWarehouse(FilterThrDeptRequest filterThrDeptRequest); + + boolean insertInvWarehouse(ThrDeptEntity thrDeptEntity); + + boolean insertInvWarehouses(List thrDeptEntities); + + boolean updateInvWarehouse(ThrDeptEntity thrDeptEntity); + + ThrDeptEntity selectById(String id); + + ThrDeptEntity selectByCode(String code, String thirdSysFk); + + boolean deleteById(String id); + + ThrDeptEntity selectMaxCode(FilterThrDeptRequest filterThrDeptRequest); + + /** + * 下载第三方系统仓库数据 + * + * @param thirdSysFk + * @return + */ + BaseResponse downloadThirdWarehouse(String thirdSysFk); + + /** + * 删除第三方仓库 + * + * @param id + * @return + */ + BaseResponse deleteInvById(String id); +} diff --git a/src/main/java/com/glxp/api/service/thrsys/ThrInvWarehouseService.java b/src/main/java/com/glxp/api/service/thrsys/ThrInvWarehouseService.java new file mode 100644 index 000000000..3b7b66d03 --- /dev/null +++ b/src/main/java/com/glxp/api/service/thrsys/ThrInvWarehouseService.java @@ -0,0 +1,34 @@ +package com.glxp.api.service.thrsys; + + +import com.glxp.api.entity.thrsys.ThrInvWarehouseEntity; +import com.glxp.api.req.thrsys.FilterThrSubInvWarehouseRequest; +import com.glxp.api.res.thrsys.ThrInvWarehouseResponse; + +import java.util.List; + +public interface ThrInvWarehouseService { + + ThrInvWarehouseEntity selectById(String id); + + ThrInvWarehouseEntity selectByThrCode(String thirdSys, String thirdId); + + List filterThrInvWarehouse(FilterThrSubInvWarehouseRequest filterThrSubInvWarehouseRequest); + + boolean insertThrInvWarehouse(ThrInvWarehouseEntity thrInvWarehouseEntity); + + boolean insertInvWarehouses(List thrSubInvWarehouseEntities); + + boolean updateThrInvWarehouse(ThrInvWarehouseEntity thrInvWarehouseEntity); + + boolean deleteById(String id); + + /** + * 查询第三方分库数据 + * + * @param filterThrSubInvWarehouseRequest + * @return + */ + List filterThrInvWarehouseResponse(FilterThrSubInvWarehouseRequest filterThrSubInvWarehouseRequest); + +} diff --git a/src/main/java/com/glxp/api/service/thrsys/impl/ThrDeptServiceImpl.java b/src/main/java/com/glxp/api/service/thrsys/impl/ThrDeptServiceImpl.java new file mode 100644 index 000000000..037dda0b9 --- /dev/null +++ b/src/main/java/com/glxp/api/service/thrsys/impl/ThrDeptServiceImpl.java @@ -0,0 +1,185 @@ +package com.glxp.api.service.thrsys.impl; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.IdUtil; +import com.github.pagehelper.PageHelper; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.dao.thrsys.ThrDeptDao; +import com.glxp.api.dao.thrsys.ThrInvWarehouseDao; +import com.glxp.api.entity.thrsys.ThrDeptEntity; +import com.glxp.api.entity.thrsys.ThrInvWarehouseEntity; +import com.glxp.api.http.ErpBasicClient; +import com.glxp.api.req.thrsys.FilterThrDeptRequest; +import com.glxp.api.req.thrsys.UdiwmsWarehouseRequest; +import com.glxp.api.res.PageSimpleResponse; +import com.glxp.api.res.thrsys.UdiwmsWarehouseDetail; +import com.glxp.api.service.thrsys.ThrDeptService; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Date; +import java.util.List; + +@Service +public class ThrDeptServiceImpl implements ThrDeptService { + + @Resource + private ThrDeptDao thrDeptDao; + @Resource + private ErpBasicClient erpBasicClient; + @Resource + private ThrInvWarehouseDao thrInvWarehouseDao; + + @Override + public ThrDeptEntity findDefault(Boolean advaceType, Boolean isDefault) { + + FilterThrDeptRequest filterThrDeptRequest = new FilterThrDeptRequest(); + filterThrDeptRequest.setIsDefault(isDefault); + filterThrDeptRequest.setAdvanceType(advaceType); + List thrInvWarehouseEntities = thrDeptDao.filterThrInvWarehouse(filterThrDeptRequest); + if (thrInvWarehouseEntities != null && thrInvWarehouseEntities.size() > 0) + return thrInvWarehouseEntities.get(0); + return null; + } + + @Override + public List filterThrInvWarehouse(FilterThrDeptRequest filterThrDeptRequest) { + if (filterThrDeptRequest == null) { + return Collections.emptyList(); + } + if (filterThrDeptRequest.getPage() != null) { + int offset = (filterThrDeptRequest.getPage() - 1) * filterThrDeptRequest.getLimit(); + PageHelper.offsetPage(offset, filterThrDeptRequest.getLimit()); + } + return thrDeptDao.filterThrInvWarehouse(filterThrDeptRequest); + } + + @Override + public List filterGroupInvWarehouse(FilterThrDeptRequest filterThrDeptRequest) { + if (filterThrDeptRequest == null) { + return Collections.emptyList(); + } + if (filterThrDeptRequest.getPage() != null) { + int offset = (filterThrDeptRequest.getPage() - 1) * filterThrDeptRequest.getLimit(); + PageHelper.offsetPage(offset, filterThrDeptRequest.getLimit()); + } + return thrDeptDao.filterThrGroupInvWarehouse(filterThrDeptRequest); + } + + @Override + public boolean insertInvWarehouse(ThrDeptEntity thrDeptEntity) { + return thrDeptDao.insertThrInvWarehouse(thrDeptEntity); + } + + @Override + public boolean insertInvWarehouses(List thrDeptEntities) { + return thrDeptDao.insertInvWarehouses(thrDeptEntities); + } + + @Override + public boolean updateInvWarehouse(ThrDeptEntity thrDeptEntity) { + return thrDeptDao.updateThrInvWarehouse(thrDeptEntity); + } + + @Override + public ThrDeptEntity selectById(String id) { + return thrDeptDao.selectById(id); + } + + @Override + public ThrDeptEntity selectByCode(String code, String thirdSysFk) { + FilterThrDeptRequest thrInvWarehouseRequest = new FilterThrDeptRequest(); + thrInvWarehouseRequest.setCode(code); + thrInvWarehouseRequest.setThirdSysFk(thirdSysFk); + List invWarehouseEntities = thrDeptDao.filterThrInvWarehouse(thrInvWarehouseRequest); + if (invWarehouseEntities != null && invWarehouseEntities.size() > 0) + return invWarehouseEntities.get(0); + return null; + } + + @Override + public boolean deleteById(String id) { + int count = thrInvWarehouseDao.countSubInvByParentInvId(id); + if (count > 0) { + return false; + } + return thrDeptDao.deleteById(id); + } + + @Override + public ThrDeptEntity selectMaxCode(FilterThrDeptRequest filterThrDeptRequest) { + return thrDeptDao.selectMaxCode(filterThrDeptRequest); + } + + @Transactional(rollbackFor = Exception.class) + @Override + public BaseResponse downloadThirdWarehouse(String thirdSysFk) { + int page = 1; + int limit = 100; + while (true) { + UdiwmsWarehouseRequest udiwmsWarehouseRequest = new UdiwmsWarehouseRequest(); + udiwmsWarehouseRequest.setThirdSys(thirdSysFk); + udiwmsWarehouseRequest.setPage(page); + udiwmsWarehouseRequest.setLimit(limit); + BaseResponse> baseResponse = erpBasicClient.getWarehouse(udiwmsWarehouseRequest); + if (baseResponse.getCode() == 20000) { + List responseList = baseResponse.getData().getList(); + List list = new ArrayList<>(); + for (UdiwmsWarehouseDetail response : responseList) { + ThrDeptEntity thrDeptEntity = new ThrDeptEntity(); + thrDeptEntity.setPid(0); + thrDeptEntity.setName(response.getName()); + thrDeptEntity.setCode(response.getCode()); + thrDeptEntity.setThirdSysFk(thirdSysFk); + thrDeptEntity.setAdvanceType(false); //默认是仓库 + thrDeptEntity.setStatus(1);//默认启用 + thrDeptEntity.setUpdateTime(new Date()); + list.add(thrDeptEntity); + + List subWarehouseList = response.getSubWarehouses(); + if (CollUtil.isNotEmpty(subWarehouseList)) { + for (UdiwmsWarehouseDetail.SubWarehouse subWarehouse : subWarehouseList) { + ThrInvWarehouseEntity thrInvWarehouseEntity = new ThrInvWarehouseEntity(); + thrInvWarehouseEntity.setCode(subWarehouse.getCode()); + thrInvWarehouseEntity.setName(subWarehouse.getName()); + thrInvWarehouseEntity.setRemark(subWarehouse.getRemark()); + thrInvWarehouseEntity.setThirdSysFk(thirdSysFk); + thrInvWarehouseEntity.setParentId(response.getCode()); + thrInvWarehouseEntity.setId(IdUtil.getSnowflake(6, 1).nextId() + ""); + thrInvWarehouseDao.insertThrInvWarehouse(thrInvWarehouseEntity); + } + } + + + } + //插入数据 + thrDeptDao.insertInvWarehouses(list); + if (list.size() >= limit) { + page++; + } else { + break; + } + } else { + return baseResponse; + } + } + + return ResultVOUtils.success("下载结束!"); + } + + @Override + public BaseResponse deleteInvById(String id) { + //查询有无子仓库 + int count = thrInvWarehouseDao.countSubInvByParentInvId(id); + if (count > 0) { + return ResultVOUtils.error(500, "请先删除子仓库!"); + } else + thrDeptDao.deleteById(id); + + return ResultVOUtils.success("删除成功"); + } +} diff --git a/src/main/java/com/glxp/api/service/thrsys/impl/ThrInvWarehouseServiceImpl.java b/src/main/java/com/glxp/api/service/thrsys/impl/ThrInvWarehouseServiceImpl.java new file mode 100644 index 000000000..3bbbc53dd --- /dev/null +++ b/src/main/java/com/glxp/api/service/thrsys/impl/ThrInvWarehouseServiceImpl.java @@ -0,0 +1,93 @@ +package com.glxp.api.service.thrsys.impl; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; +import com.github.pagehelper.PageHelper; +import com.glxp.api.dao.thrsys.ThrInvWarehouseDao; +import com.glxp.api.entity.thrsys.ThrInvWarehouseEntity; +import com.glxp.api.req.thrsys.FilterThrSubInvWarehouseRequest; +import com.glxp.api.res.thrsys.ThrInvWarehouseResponse; +import com.glxp.api.service.thrsys.ThrInvWarehouseService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; + +@Service +public class ThrInvWarehouseServiceImpl implements ThrInvWarehouseService { + + @Resource + ThrInvWarehouseDao thrInvWarehouseDao; + + + @Override + public ThrInvWarehouseEntity selectById(String id) { + if (StrUtil.isEmpty(id)) { + return null; + } + FilterThrSubInvWarehouseRequest filterThrSubInvWarehouseRequest = new FilterThrSubInvWarehouseRequest(); + filterThrSubInvWarehouseRequest.setId(id); + List thrSubInvWarehouseEntities = thrInvWarehouseDao.filterThrInvWarehouse(filterThrSubInvWarehouseRequest); + if (CollUtil.isNotEmpty(thrSubInvWarehouseEntities)) { + return thrSubInvWarehouseEntities.get(0); + } + return null; + } + + @Override + public ThrInvWarehouseEntity selectByThrCode(String thirdSys, String thirdId) { + FilterThrSubInvWarehouseRequest filterThrSubInvWarehouseRequest = new FilterThrSubInvWarehouseRequest(); + filterThrSubInvWarehouseRequest.setCode(thirdId); + filterThrSubInvWarehouseRequest.setThirdSysFk(thirdSys); + List thrInvWarehouseEntitys = thrInvWarehouseDao.filterThrInvWarehouse(filterThrSubInvWarehouseRequest); + if (CollUtil.isNotEmpty(thrInvWarehouseEntitys)) { + return thrInvWarehouseEntitys.get(0); + } else return null; + } + + @Override + public List filterThrInvWarehouse(FilterThrSubInvWarehouseRequest filterThrSubInvWarehouseRequest) { + if (filterThrSubInvWarehouseRequest == null) { + return Collections.emptyList(); + } + if (filterThrSubInvWarehouseRequest.getPage() != null) { + int offset = (filterThrSubInvWarehouseRequest.getPage() - 1) * filterThrSubInvWarehouseRequest.getLimit(); + PageHelper.offsetPage(offset, filterThrSubInvWarehouseRequest.getLimit()); + } + return thrInvWarehouseDao.filterThrInvWarehouse(filterThrSubInvWarehouseRequest); + } + + @Override + public boolean insertThrInvWarehouse(ThrInvWarehouseEntity thrInvWarehouseEntity) { + return thrInvWarehouseDao.insertThrInvWarehouse(thrInvWarehouseEntity); + } + + @Override + public boolean insertInvWarehouses(List thrInvWarehouseEntitys) { + return thrInvWarehouseDao.insertThrInvWarehouses(thrInvWarehouseEntitys); + } + + @Override + public boolean updateThrInvWarehouse(ThrInvWarehouseEntity thrInvWarehouseEntity) { + return thrInvWarehouseDao.updateThrInvWarehouse(thrInvWarehouseEntity); + } + + @Override + public boolean deleteById(String id) { + return thrInvWarehouseDao.deleteById(id); + } + + @Override + public List filterThrInvWarehouseResponse(FilterThrSubInvWarehouseRequest filterThrSubInvWarehouseRequest) { + if (null == filterThrSubInvWarehouseRequest) { + return Collections.emptyList(); + } + if (filterThrSubInvWarehouseRequest.getPage() != null) { + int offset = (filterThrSubInvWarehouseRequest.getPage() - 1) * filterThrSubInvWarehouseRequest.getLimit(); + PageHelper.offsetPage(offset, filterThrSubInvWarehouseRequest.getLimit()); + } + return thrInvWarehouseDao.filterThrInvWarehouseResponse(filterThrSubInvWarehouseRequest); + } + +} diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index c7e9cd220..97fee7870 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -4,9 +4,9 @@ server: spring: datasource: driver-class-name: com.p6spy.engine.spy.P6SpyDriver - jdbc-url: jdbc:p6spy:mysql://127.0.0.1:3306/udi_wms?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true + jdbc-url: jdbc:p6spy:mysql://192.168.0.66:3364/udi_wms?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true username: root - password: 123456 + password: Glxp@6066 hikari: connection-timeout: 60000 maximum-pool-size: 60 diff --git a/src/main/resources/application-pro.yml b/src/main/resources/application-pro.yml index 36cd6d6dd..f3577e7c3 100644 --- a/src/main/resources/application-pro.yml +++ b/src/main/resources/application-pro.yml @@ -4,7 +4,7 @@ server: spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://127.0.0.1:3306/udi_wms?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true + jdbc-url: jdbc:mysql://127.0.0.1:3306/udi_wms?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true username: root password: Glxp@6066 hikari: diff --git a/src/main/resources/mybatis/mapper/auth/InvBusUserDao.xml b/src/main/resources/mybatis/mapper/auth/InvBusUserDao.xml new file mode 100644 index 000000000..d77d6550f --- /dev/null +++ b/src/main/resources/mybatis/mapper/auth/InvBusUserDao.xml @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + replace + INTO inv_bustype_user + (userId, `subInvCode`, scAction, remark) + values ( + #{userId}, + #{subInvCode}, + #{scAction}, + #{remark} + ) + + + + + DELETE + FROM inv_bustype_user + WHERE id = #{id} + + + + DELETE + FROM inv_bustype_user + WHERE subInvCode = #{subInvCode} + and userId = #{userId} + + + UPDATE inv_bustype_user + + userId=#{userId}, + subInvCode=#{subInvCode}, + parentId=#{parentId}, + scAction=#{scAction}, + remark=#{remark}, + + WHERE id = #{id} + + + \ No newline at end of file diff --git a/src/main/resources/mybatis/mapper/auth/InvSubWarehouseDao.xml b/src/main/resources/mybatis/mapper/auth/InvSubWarehouseDao.xml index 512598c23..f6b7c281e 100644 --- a/src/main/resources/mybatis/mapper/auth/InvSubWarehouseDao.xml +++ b/src/main/resources/mybatis/mapper/auth/InvSubWarehouseDao.xml @@ -33,11 +33,11 @@ select auth_warehouse.* ,a.name thirdName,a1.name thirdName1,a2.name thirdName2,a3.name thirdName3,a4.name thirdName4 from auth_warehouse - LEFT JOIN thr_inv_warehouse_sub a on a.code = auth_warehouse.thirdId - LEFT JOIN thr_inv_warehouse_sub a1 on a1.code = auth_warehouse.thirdId1 - LEFT JOIN thr_inv_warehouse_sub a2 on a2.code = auth_warehouse.thirdId2 - LEFT JOIN thr_inv_warehouse_sub a3 on a3.code = auth_warehouse.thirdId3 - LEFT JOIN thr_inv_warehouse_sub a4 on a4.code = auth_warehouse.thirdId4 + LEFT JOIN thr_inv_warehouse a on a.code = auth_warehouse.thirdId + LEFT JOIN thr_inv_warehouse a1 on a1.code = auth_warehouse.thirdId1 + LEFT JOIN thr_inv_warehouse a2 on a2.code = auth_warehouse.thirdId2 + LEFT JOIN thr_inv_warehouse a3 on a3.code = auth_warehouse.thirdId3 + LEFT JOIN thr_inv_warehouse a4 on a4.code = auth_warehouse.thirdId4 AND auth_warehouse.code = #{code} diff --git a/src/main/resources/mybatis/mapper/auth/WarehouseBussinessTypeDao.xml b/src/main/resources/mybatis/mapper/auth/WarehouseBussinessTypeDao.xml new file mode 100644 index 000000000..f081c5ddc --- /dev/null +++ b/src/main/resources/mybatis/mapper/auth/WarehouseBussinessTypeDao.xml @@ -0,0 +1,292 @@ + + + + + + + + + + + + + + id, code, `action`, `name` + + + + + delete from auth_warehouse_bustype + where id = #{id,jdbcType=INTEGER} + + + + + insert into auth_warehouse_bustype (code, `action`, `name` + ) + values (#{code,jdbcType=VARCHAR}, #{action,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR} + ) + + + + insert into auth_warehouse_bustype + + + code, + + + `action`, + + + `name`, + + + + + #{code,jdbcType=VARCHAR}, + + + #{action,jdbcType=VARCHAR}, + + + #{name,jdbcType=VARCHAR}, + + + + + + update auth_warehouse_bustype + + + code = #{code,jdbcType=VARCHAR}, + + + `action` = #{action,jdbcType=VARCHAR}, + + + `name` = #{name,jdbcType=VARCHAR}, + + + where id = #{id,jdbcType=INTEGER} + + + + update auth_warehouse_bustype + set code = #{code,jdbcType=VARCHAR}, + `action` = #{action,jdbcType=VARCHAR}, + `name` = #{name,jdbcType=VARCHAR} + where id = #{id,jdbcType=INTEGER} + + + + update auth_warehouse_bustype + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.code,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.action,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.name,jdbcType=VARCHAR} + + + + where id in + + #{item.id,jdbcType=INTEGER} + + + + + update auth_warehouse_bustype + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.code,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.action,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.name,jdbcType=VARCHAR} + + + + + where id in + + #{item.id,jdbcType=INTEGER} + + + + + insert into auth_warehouse_bustype + (code, `action`, `name`) + values + + (#{item.code,jdbcType=VARCHAR}, #{item.action,jdbcType=VARCHAR}, #{item.name,jdbcType=VARCHAR} + ) + + + + + insert into auth_warehouse_bustype + + + id, + + code, + `action`, + `name`, + + values + + + #{id,jdbcType=INTEGER}, + + #{code,jdbcType=VARCHAR}, + #{action,jdbcType=VARCHAR}, + #{name,jdbcType=VARCHAR}, + + on duplicate key update + + + id = #{id,jdbcType=INTEGER}, + + code = #{code,jdbcType=VARCHAR}, + `action` = #{action,jdbcType=VARCHAR}, + `name` = #{name,jdbcType=VARCHAR}, + + + + + insert into auth_warehouse_bustype + + + id, + + + code, + + + `action`, + + + `name`, + + + values + + + #{id,jdbcType=INTEGER}, + + + #{code,jdbcType=VARCHAR}, + + + #{action,jdbcType=VARCHAR}, + + + #{name,jdbcType=VARCHAR}, + + + on duplicate key update + + + id = #{id,jdbcType=INTEGER}, + + + code = #{code,jdbcType=VARCHAR}, + + + `action` = #{action,jdbcType=VARCHAR}, + + + `name` = #{name,jdbcType=VARCHAR}, + + + + + + + + + + + + + + + delete + from auth_warehouse_bustype + where code = #{code} + + + + \ No newline at end of file diff --git a/src/main/resources/mybatis/mapper/thrsys/ThrDeptDao.xml b/src/main/resources/mybatis/mapper/thrsys/ThrDeptDao.xml new file mode 100644 index 000000000..3903e3bbf --- /dev/null +++ b/src/main/resources/mybatis/mapper/thrsys/ThrDeptDao.xml @@ -0,0 +1,192 @@ + + + + + + + + + + replace + INTO thr_dept + (pid, code, name, advanceType, isDefault, + status, updateTime, remark, thirdSysFk) + values ( + #{pid}, + #{code}, + #{name}, + #{advanceType}, + #{isDefault}, + #{status}, + #{updateTime}, + #{remark}, + #{thirdSysFk} + ) + + + + replace INTO thr_dept + (pid, code, name, advanceType, isDefault, + status, updateTime, remark, thirdSysFk) + VALUES + + ( + #{item.pid}, #{item.code}, + #{item.name}, #{item.advanceType}, #{item.isDefault}, + #{item.status}, #{item.updateTime}, + #{item.remark}, #{item.thirdSysFk}) + + + + + DELETE + FROM thr_dept + WHERE id = #{id} + + + + UPDATE thr_dept + + pid=#{pid}, + name=#{name}, + code=#{code}, + advanceType=#{advanceType}, + isDefault=#{isDefault}, + status=#{status}, + updateTime=#{updateTime}, + remark=#{remark}, + thirdSysFk=#{thirdSysFk}, + + WHERE id = #{id} + + + + + + + replace into thr_dept (pid, code, `name`, advanceType, isDefault, status, updateTime, remark, `level`, + pcode, + thirdSysFk) + values + + (#{item.pid}, + #{item.code}, + #{item.name}, + #{item.advanceType}, + #{item.isDefault}, + #{item.status}, + #{item.updateTime}, + #{item.remark}, + #{item.level}, + #{item.pcode}, + #{item.thirdSysFk}) + + + \ No newline at end of file diff --git a/src/main/resources/mybatis/mapper/thrsys/ThrInvWarehouseDao.xml b/src/main/resources/mybatis/mapper/thrsys/ThrInvWarehouseDao.xml new file mode 100644 index 000000000..3ebab1f1f --- /dev/null +++ b/src/main/resources/mybatis/mapper/thrsys/ThrInvWarehouseDao.xml @@ -0,0 +1,111 @@ + + + + + + + + + + + + + + replace + INTO thr_inv_warehouse + (id, code, `name`, parentId, remark, thirdSysFk) + values ( + #{id}, + #{code}, + #{name}, + #{parentId}, + #{remark}, + #{thirdSysFk} + ) + + + + replace INTO thr_inv_warehouse + (id, code, `name`, parentId, remark, thirdSysFk) + VALUES + + ( + #{item.id}, #{item.code}, + #{item.name}, #{item.parentId}, + #{item.remark}, #{item.thirdSysFk}) + + + + + DELETE + FROM thr_inv_warehouse + WHERE id = #{id} + + + + UPDATE thr_inv_warehouse + + `name`=#{name}, + code=#{code}, + parentId=#{parentId}, + remark=#{remark}, + thirdSysFk=#{thirdSysFk}, + + WHERE id = #{id} + + + + \ No newline at end of file