diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/inventory/InvSubWarehouseController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/inventory/InvSubWarehouseController.java index 7f12956..e8a1324 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/inventory/InvSubWarehouseController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/inventory/InvSubWarehouseController.java @@ -1,14 +1,19 @@ package com.glxp.sale.admin.controller.inventory; import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.StrUtil; +import com.github.pagehelper.PageInfo; import com.glxp.sale.admin.annotation.AuthRuleAnnotation; import com.glxp.sale.admin.entity.auth.AuthAdmin; import com.glxp.sale.admin.entity.inout.WarehouseBussinessTypeEntity; import com.glxp.sale.admin.entity.inventory.InvSubWarehouseEntity; import com.glxp.sale.admin.entity.inventory.InvWarehouseEntity; +import com.glxp.sale.admin.req.basic.FilterBasicThirdSysRequest; import com.glxp.sale.admin.req.info.DeleteRequest; import com.glxp.sale.admin.req.inventory.FilterInvSubWarehouseRequest; import com.glxp.sale.admin.req.inventory.FilterInvWarehouseRequest; +import com.glxp.sale.admin.res.PageSimpleResponse; +import com.glxp.sale.admin.res.inventory.InvWarehouseThirdSysResponse; import com.glxp.sale.admin.service.auth.CustomerService; import com.glxp.sale.admin.service.inout.WarehouseBussinessTypeService; import com.glxp.sale.admin.service.inventory.InvProductService; @@ -57,6 +62,7 @@ public class InvSubWarehouseController { // return ResultVOUtils.error(500, "用户或仓库不能未空!"); // } + AuthAdmin authAdmin = customerService.getUserBean(); if (filterInvWarehouseRequest.getFilter() == null || filterInvWarehouseRequest.getFilter() == 1) { if (authAdmin.getCustomerId() == 110) @@ -109,13 +115,6 @@ public class InvSubWarehouseController { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } - - //判断分库名称在此仓库下是否重复 - boolean exist = invSubWarehouseService.checkDuplicateName(invSubWarehouseEntity.getParentId(), invSubWarehouseEntity.getName()); - if (exist) { - return ResultVOUtils.error(500, "分库名称已存在!"); - } - if (invSubWarehouseEntity.getId() == null) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); } @@ -124,7 +123,7 @@ public class InvSubWarehouseController { return ResultVOUtils.error(ResultEnum.NOT_NETWORK); } - return ResultVOUtils.success(); + return ResultVOUtils.success("修改成功!"); } @AuthRuleAnnotation("") @@ -155,6 +154,7 @@ public class InvSubWarehouseController { if (count > 0) { return ResultVOUtils.error(500, "此分库存在库存,不能删除!"); } + boolean b = invSubWarehouseService.deleteById(deleteRequest.getId()); if (!b) { @@ -163,4 +163,49 @@ public class InvSubWarehouseController { return ResultVOUtils.success(); } + + @AuthRuleAnnotation("") + @GetMapping("/spms/sub/inv/warehouse/thridSys/detail") + public BaseResponse getThirdSysDetail(FilterInvSubWarehouseRequest request) { + if (null == request || null == request.getId()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + FilterBasicThirdSysRequest sysRequest = new FilterBasicThirdSysRequest(); + sysRequest.setEnabled(true); + List list = invSubWarehouseService.getThirdSysDetail(request.getId()); + PageInfo pageInfo; + pageInfo = new PageInfo<>(list); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(list); + return ResultVOUtils.success(pageSimpleResponse); + } + + + @AuthRuleAnnotation("") + @PostMapping("/spms/sub/inv/warehouse/bindThrWarehouse") + public BaseResponse bindThrWarehouse(String id, String thridWarehouseId, String sysId) { + if (null == id || null == thridWarehouseId || StrUtil.isBlank(sysId)) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + invSubWarehouseService.bindThrWarehouse(id, thridWarehouseId, sysId); + return ResultVOUtils.success(); + } + + /** + * 解绑第三方仓库ID + * + * @param id + * @return + */ + @AuthRuleAnnotation("") + @PostMapping("/spms/sub/inv/warehouse/unbindThrWarehouse") + public BaseResponse unbindThrWarehouse(String id, String sysId) { + if (null == id || StrUtil.isBlank(sysId)) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + invSubWarehouseService.unbindThrWarehouse(id, sysId); + return ResultVOUtils.success(); + } + } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/inventory/InvWarehouseController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/inventory/InvWarehouseController.java index 12df60c..b50a6c8 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/inventory/InvWarehouseController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/inventory/InvWarehouseController.java @@ -3,6 +3,7 @@ package com.glxp.sale.admin.controller.inventory; import cn.hutool.Hutool; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.ReflectUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; @@ -19,12 +20,14 @@ import com.glxp.sale.admin.entity.inventory.InvSubWarehouseEntity; import com.glxp.sale.admin.entity.inventory.InvWarehouseEntity; import com.glxp.sale.admin.entity.param.SystemParamConfigEntity; import com.glxp.sale.admin.entity.thrsys.ThrInvWarehouseEntity; +import com.glxp.sale.admin.entity.thrsys.ThrSubInvWarehouseEntity; import com.glxp.sale.admin.req.basic.BasicExportStatusRequest; import com.glxp.sale.admin.req.basic.BussinessTypeFilterRequest; import com.glxp.sale.admin.req.basic.FilterBasicThirdSysRequest; import com.glxp.sale.admin.req.basic.UdimsFilterRequest; import com.glxp.sale.admin.req.info.DeleteRequest; import com.glxp.sale.admin.req.inventory.FilterInvWarehouseRequest; +import com.glxp.sale.admin.req.thrsys.FilterThrSubInvWarehouseRequest; import com.glxp.sale.admin.res.PageSimpleResponse; import com.glxp.sale.admin.res.basic.BussinessTypResponse; import com.glxp.sale.admin.res.inventory.InvWarehouseExportResponse; @@ -39,6 +42,7 @@ import com.glxp.sale.admin.service.inventory.InvSubWarehouseService; import com.glxp.sale.admin.service.inventory.InvWarehouseService; import com.glxp.sale.admin.service.param.SystemParamConfigService; import com.glxp.sale.admin.service.thrsys.ThrInvWarehouseService; +import com.glxp.sale.admin.service.thrsys.ThrSubInvWarehouseService; import com.glxp.sale.admin.util.CustomUtil; import com.glxp.sale.admin.util.DateUtil; import com.glxp.sale.admin.util.FileUtils; @@ -76,6 +80,8 @@ public class InvWarehouseController { @Resource InvProductDetailService invProductDetailService; @Resource + BussinessTypeService bussinessTypeService; + @Resource WarehouseBussinessTypeService warehouseBussinessTypeService; @@ -110,27 +116,6 @@ public class InvWarehouseController { } - @GetMapping("/udiwms/bussinessType/udims/filterHighterInv") - public BaseResponse udimsFilterHighterInv(UdimsFilterRequest udimsFilterRequest, - BindingResult bindingResult) { - FilterInvWarehouseRequest filterInvWarehouseRequest = new FilterInvWarehouseRequest(); - filterInvWarehouseRequest.setPcode("0"); - filterInvWarehouseRequest.setStatus(1); - List invWarehouseEntities = invWarehouseService.filterGroupInvWarehouse(filterInvWarehouseRequest); - return ResultVOUtils.success(invWarehouseEntities); - } - - - @GetMapping("/udiwms/bussinessType/udims/filterSubInv") - public BaseResponse udimsFilterSubInv(UdimsFilterRequest udimsFilterRequest, - BindingResult bindingResult) { - - List invWarehouseEntities = invSubWarehouseService.findByParentId(udimsFilterRequest.getInvCode()); - return ResultVOUtils.success(invWarehouseEntities); - - } - - @AuthRuleAnnotation("") @GetMapping("spms/inv/warehouse/filterByUser") public BaseResponse filterByUser(FilterInvWarehouseRequest filterInvWarehouseRequest) { @@ -431,7 +416,7 @@ public class InvWarehouseController { String json = FileUtils.readStream(inputStream); InvWarehouseExportResponse invWarehouseExportResponse = (InvWarehouseExportResponse) JSON.parseObject(json, InvWarehouseExportResponse.class); List invWarehouseEntities = invWarehouseExportResponse.getInvWarehouseEntities(); - if (invWarehouseEntities != null) { + if (CollUtil.isNotEmpty(invWarehouseEntities)) { invWarehouseService.importInvWarehouse(invWarehouseEntities); } List thrInvWarehouseEntities = invWarehouseExportResponse.getThrInvWarehouseEntities(); @@ -455,7 +440,7 @@ public class InvWarehouseController { */ @AuthRuleAnnotation("") @PostMapping("/spms/inv/warehouse/bindThrWarehouse") - public BaseResponse bindThrWarehouse(Integer id, String thridWarehouseId, String sysId) { + public BaseResponse bindThrWarehouse(String id, String thridWarehouseId, String sysId) { if (null == id || null == thridWarehouseId || StrUtil.isBlank(sysId)) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); } @@ -471,7 +456,7 @@ public class InvWarehouseController { */ @AuthRuleAnnotation("") @PostMapping("/spms/inv/warehouse/unbindThrWarehouse") - public BaseResponse unbindThrWarehouse(Integer id, String sysId) { + public BaseResponse unbindThrWarehouse(String id, String sysId) { if (null == id || StrUtil.isBlank(sysId)) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); } @@ -501,5 +486,28 @@ public class InvWarehouseController { return ResultVOUtils.success(pageSimpleResponse); } + @Resource + ThrSubInvWarehouseService thrSubInvWarehouseService; + + @GetMapping("/spms/sub/inv/warehouse/filterThridInv") + public BaseResponse filterInvWarehouse(FilterThrSubInvWarehouseRequest filterThrSubInvWarehouseRequest) { + + 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 = thrSubInvWarehouseService.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/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrSubInvWarehouseController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrSubInvWarehouseController.java new file mode 100644 index 0000000..f513bf4 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrSubInvWarehouseController.java @@ -0,0 +1,99 @@ +package com.glxp.sale.admin.controller.thrsys; + +import cn.hutool.core.util.IdUtil; +import com.github.pagehelper.PageInfo; +import com.glxp.sale.admin.annotation.AuthRuleAnnotation; +import com.glxp.sale.admin.entity.thrsys.ThrSubInvWarehouseEntity; +import com.glxp.sale.admin.req.info.DeleteRequest; +import com.glxp.sale.admin.req.thrsys.FilterThrSubInvWarehouseRequest; +import com.glxp.sale.admin.res.PageSimpleResponse; +import com.glxp.sale.admin.service.thrsys.ThrSubInvWarehouseService; +import com.glxp.sale.common.enums.ResultEnum; +import com.glxp.sale.common.res.BaseResponse; +import com.glxp.sale.common.util.ResultVOUtils; +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.List; + +@RestController +public class ThrSubInvWarehouseController { + + @Resource + ThrSubInvWarehouseService thrSubInvWarehouseService; + + @GetMapping("/thirdSys/sub/inv/warehouse/filter") + public BaseResponse filterInvWarehouse(FilterThrSubInvWarehouseRequest filterThrSubInvWarehouseRequest) { + List thrInvWarehouseEntities = thrSubInvWarehouseService.filterThrInvWarehouse(filterThrSubInvWarehouseRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(thrInvWarehouseEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(thrInvWarehouseEntities); + return ResultVOUtils.success(pageSimpleResponse); + } + + @AuthRuleAnnotation("") + @GetMapping("/thirdSys/sub/inv/warehouse/filterAll") + public BaseResponse filterAllInvWarehouse(FilterThrSubInvWarehouseRequest filterThrSubInvWarehouseRequest) { + List invSubWarehouseEntities = thrSubInvWarehouseService.filterThrInvWarehouse(filterThrSubInvWarehouseRequest); + return ResultVOUtils.success(invSubWarehouseEntities); + } + + @AuthRuleAnnotation("") + @PostMapping("/thirdSys/sub/inv/warehouse/save") + public BaseResponse save(@RequestBody @Valid ThrSubInvWarehouseEntity 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 = thrSubInvWarehouseService.insertThrInvWarehouse(invSubWarehouseEntity); + if (!b) { + return ResultVOUtils.error(ResultEnum.NOT_NETWORK); + } + return ResultVOUtils.success("添加成功!"); + } + + @AuthRuleAnnotation("") + @PostMapping("/thirdSys/sub/inv/warehouse/edit") + public BaseResponse edit(@RequestBody @Valid ThrSubInvWarehouseEntity 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 = thrSubInvWarehouseService.updateThrInvWarehouse(invSubWarehouseEntity); + if (!b) { + return ResultVOUtils.error(ResultEnum.NOT_NETWORK); + } + + 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); + } + boolean b = thrSubInvWarehouseService.deleteById(deleteRequest.getId()); + if (!b) { + return ResultVOUtils.error(ResultEnum.NOT_NETWORK); + } + + return ResultVOUtils.success("刪除成功!"); + } + +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/dao/inventory/InvSubWarehouseDao.java b/api-admin/src/main/java/com/glxp/sale/admin/dao/inventory/InvSubWarehouseDao.java index 3bf3578..239be17 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/dao/inventory/InvSubWarehouseDao.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/dao/inventory/InvSubWarehouseDao.java @@ -44,4 +44,11 @@ public interface InvSubWarehouseDao { * @return */ String selectNameByCode(@Param("code") String code); + + + InvSubWarehouseEntity selectJoinThirdSys(FilterInvSubWarehouseRequest filterInvSubWarehouseRequest); + + + boolean updateThridId(@Param("id") String id, @Param("thridWarehouseId") String thridWarehouseId, @Param("sysId") String sysId); + } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/dao/inventory/InvWarehouseDao.java b/api-admin/src/main/java/com/glxp/sale/admin/dao/inventory/InvWarehouseDao.java index 9fd521b..299a978 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/dao/inventory/InvWarehouseDao.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/dao/inventory/InvWarehouseDao.java @@ -44,7 +44,7 @@ public interface InvWarehouseDao { * @param sysId * @return */ - boolean updateThridId(@Param("id") Integer id, @Param("thridWarehouseId") String thridWarehouseId, @Param("sysId") String sysId); + boolean updateThridId(@Param("id") String id, @Param("thridWarehouseId") String thridWarehouseId, @Param("sysId") String sysId); boolean updateTime(@Param("code") String code, @Param("updateTime") Date updateTime); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/dao/thrsys/ThrSubInvWarehouseDao.java b/api-admin/src/main/java/com/glxp/sale/admin/dao/thrsys/ThrSubInvWarehouseDao.java new file mode 100644 index 0000000..491e8b3 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/dao/thrsys/ThrSubInvWarehouseDao.java @@ -0,0 +1,24 @@ +package com.glxp.sale.admin.dao.thrsys; + +import com.glxp.sale.admin.entity.thrsys.ThrSubInvWarehouseEntity; +import com.glxp.sale.admin.req.thrsys.FilterThrSubInvWarehouseRequest; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface ThrSubInvWarehouseDao { + + + List filterThrInvWarehouse(FilterThrSubInvWarehouseRequest filterThrSubInvWarehouseRequest); + + boolean insertThrInvWarehouse(ThrSubInvWarehouseEntity thrInvWarehouseEntity); + + boolean insertInvWarehouses(@Param("thrInvWarehouseEntitys") List thrInvWarehouseEntitys); + + boolean updateThrInvWarehouse(ThrSubInvWarehouseEntity thrInvWarehouseEntity); + + boolean deleteById(@Param("id") String id); + +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/BussinessLocalTypeEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/BussinessLocalTypeEntity.java index ebde338..be83016 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/BussinessLocalTypeEntity.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/BussinessLocalTypeEntity.java @@ -35,5 +35,7 @@ public class BussinessLocalTypeEntity { private boolean vailInv; private boolean codeFillCheck; + private boolean supplementAll; //是否全量补单 + } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/BussinessTypeEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/BussinessTypeEntity.java index b2e58f7..5454ef4 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/BussinessTypeEntity.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/basic/BussinessTypeEntity.java @@ -67,4 +67,6 @@ public class BussinessTypeEntity { private boolean codeFillCheck; private String defaultSubInv; private String defaultInv; + + private int orderVisibleType; //订单详情展示方式:0:根据批次号展示,1:根据条码展示 } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/inventory/InvSubWarehouseEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/inventory/InvSubWarehouseEntity.java index 21c87c6..4006ec0 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/entity/inventory/InvSubWarehouseEntity.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/inventory/InvSubWarehouseEntity.java @@ -12,5 +12,15 @@ public class InvSubWarehouseEntity { private String remark; private boolean defaultInv; + private String thirdId; + private String thirdName; + private String thirdId1; + private String thirdName1; + private String thirdId2; + private String thirdName2; + private String thirdId3; + private String thirdName3; + private String thirdId4; + private String thirdName4; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/thrsys/ThrSubInvWarehouseEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/thrsys/ThrSubInvWarehouseEntity.java new file mode 100644 index 0000000..e5cf06f --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/thrsys/ThrSubInvWarehouseEntity.java @@ -0,0 +1,17 @@ +package com.glxp.sale.admin.entity.thrsys; + +import lombok.Data; + +@Data +public class ThrSubInvWarehouseEntity { + + + private String id; + private String code; + private String name; + private String parentId; + private String remark; + private String thirdSysFk; + + +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/thrsys/FilterThrSubInvWarehouseRequest.java b/api-admin/src/main/java/com/glxp/sale/admin/req/thrsys/FilterThrSubInvWarehouseRequest.java new file mode 100644 index 0000000..95b9200 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/thrsys/FilterThrSubInvWarehouseRequest.java @@ -0,0 +1,15 @@ +package com.glxp.sale.admin.req.thrsys; + +import com.glxp.sale.admin.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/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/InvSubWarehouseService.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/InvSubWarehouseService.java index 1947f03..da59754 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/InvSubWarehouseService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/InvSubWarehouseService.java @@ -3,6 +3,7 @@ package com.glxp.sale.admin.service.inventory; import com.glxp.sale.admin.entity.inventory.InvSubWarehouseEntity; import com.glxp.sale.admin.req.inventory.FilterInvSubWarehouseRequest; import com.glxp.sale.admin.req.inventory.FilterInvWarehouseRequest; +import com.glxp.sale.admin.res.inventory.InvWarehouseThirdSysResponse; import java.util.List; @@ -28,15 +29,7 @@ public interface InvSubWarehouseService { boolean deleteByParentCode(String code); - /** - * 查询此仓库下,此分库名称是否存在 - * - * @param parentId - * @param name - * @return - */ - boolean checkDuplicateName(String parentId, String name); - + public boolean checkDuplicateName(String parentId, String name); /** * 根据分库编码,查询分库名称 @@ -45,4 +38,12 @@ public interface InvSubWarehouseService { * @return */ String getSubInvName(String subInvCode); + + List getThirdSysDetail(String id); + + boolean bindThrWarehouse(String id, String thridWarehouseId, String sysId); + + boolean unbindThrWarehouse(String id, String sysId); + + } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/InvWarehouseService.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/InvWarehouseService.java index d7ed1ec..8a157f4 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/InvWarehouseService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/InvWarehouseService.java @@ -43,7 +43,7 @@ public interface InvWarehouseService { * @param id * @param thridWarehouseId */ - boolean bindThrWarehouse(Integer id, String thridWarehouseId, String sysId); + boolean bindThrWarehouse(String id, String thridWarehouseId, String sysId); /** * 解绑第三方仓库 @@ -51,7 +51,7 @@ public interface InvWarehouseService { * @param id * @param thridWarehouseId */ - boolean unbindThrWarehouse(Integer id, String sysId); + boolean unbindThrWarehouse(String id, String sysId); /** * 查询第三方系统和仓库信息关联数据 @@ -69,4 +69,4 @@ public interface InvWarehouseService { * @return */ String getInvName(String code); -} +} \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvSubWarehouseServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvSubWarehouseServiceImpl.java index 4e06cb7..d64bcc8 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvSubWarehouseServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvSubWarehouseServiceImpl.java @@ -3,14 +3,19 @@ package com.glxp.sale.admin.service.inventory.impl; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageHelper; +import com.glxp.sale.admin.dao.basic.BasicThirdSysDao; import com.glxp.sale.admin.dao.inventory.InvSubWarehouseDao; +import com.glxp.sale.admin.entity.basic.BasicThirdSysEntity; import com.glxp.sale.admin.entity.inventory.InvSubWarehouseEntity; +import com.glxp.sale.admin.req.basic.FilterBasicThirdSysRequest; import com.glxp.sale.admin.req.inventory.FilterInvSubWarehouseRequest; import com.glxp.sale.admin.req.inventory.FilterInvWarehouseRequest; +import com.glxp.sale.admin.res.inventory.InvWarehouseThirdSysResponse; import com.glxp.sale.admin.service.inventory.InvSubWarehouseService; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -20,6 +25,8 @@ public class InvSubWarehouseServiceImpl implements InvSubWarehouseService { @Resource InvSubWarehouseDao invSubWarehouseDao; + @Resource + private BasicThirdSysDao basicThirdSysDao; @Override public InvSubWarehouseEntity findById(String id) { @@ -118,4 +125,55 @@ public class InvSubWarehouseServiceImpl implements InvSubWarehouseService { } return invSubWarehouseDao.selectNameByCode(subInvCode); } + + @Override + public List getThirdSysDetail(String id) { + FilterBasicThirdSysRequest sysRequest = new FilterBasicThirdSysRequest(); + sysRequest.setEnabled(true); + List data = basicThirdSysDao.filterBasicThiSys(sysRequest); + if (CollUtil.isEmpty(data)) + return null; + FilterInvSubWarehouseRequest tempReqeust = new FilterInvSubWarehouseRequest(); + tempReqeust.setCode(id); + InvSubWarehouseEntity invSubWarehouseEntity = invSubWarehouseDao.selectJoinThirdSys(tempReqeust); + List invWarehouseThirdSysResponses = new ArrayList<>(); + for (BasicThirdSysEntity sys : data) { + InvWarehouseThirdSysResponse invWarehouseThirdSysResponse = new InvWarehouseThirdSysResponse(); + invWarehouseThirdSysResponse.setSysId(sys.getThirdId()); + invWarehouseThirdSysResponse.setSysName(sys.getThirdName()); + invWarehouseThirdSysResponse.setCode(invSubWarehouseEntity.getCode()); + invWarehouseThirdSysResponse.setName(invSubWarehouseEntity.getName()); + if (sys.getThirdId().equals("thirdId")) { + invWarehouseThirdSysResponse.setThirdId(invSubWarehouseEntity.getThirdId()); + invWarehouseThirdSysResponse.setThirdName(invSubWarehouseEntity.getThirdName()); + } else if (sys.getThirdId().equals("thirdId1")) { + invWarehouseThirdSysResponse.setThirdId(invSubWarehouseEntity.getThirdId1()); + invWarehouseThirdSysResponse.setThirdName(invSubWarehouseEntity.getThirdName1()); + } else if (sys.getThirdId().equals("thirdId2")) { + invWarehouseThirdSysResponse.setThirdId(invSubWarehouseEntity.getThirdId2()); + invWarehouseThirdSysResponse.setThirdName(invSubWarehouseEntity.getThirdName2()); + } else if (sys.getThirdId().equals("thirdId3")) { + invWarehouseThirdSysResponse.setThirdId(invSubWarehouseEntity.getThirdId3()); + invWarehouseThirdSysResponse.setThirdName(invSubWarehouseEntity.getThirdName3()); + } else if (sys.getThirdId().equals("thirdId4")) { + invWarehouseThirdSysResponse.setThirdId(invSubWarehouseEntity.getThirdId4()); + invWarehouseThirdSysResponse.setThirdName(invSubWarehouseEntity.getThirdName4()); + } + invWarehouseThirdSysResponses.add(invWarehouseThirdSysResponse); + } + + return invWarehouseThirdSysResponses; + } + + @Override + public boolean bindThrWarehouse(String id, String thridWarehouseId, String sysId) { + return invSubWarehouseDao.updateThridId(id, thridWarehouseId, sysId); + } + + @Override + public boolean unbindThrWarehouse(String id, String sysId) { + + return invSubWarehouseDao.updateThridId(id, null, sysId); + + } } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvWarehouseServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvWarehouseServiceImpl.java index dd77600..9bc8ea1 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvWarehouseServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvWarehouseServiceImpl.java @@ -126,13 +126,18 @@ public class InvWarehouseServiceImpl implements InvWarehouseService { } @Override - public boolean bindThrWarehouse(Integer id, String thridWarehouseId, String sysId) { + public boolean bindThrWarehouse(String id, String thridWarehouseId, String sysId) { return invWarehouseDao.updateThridId(id, thridWarehouseId, sysId); } @Override - public boolean unbindThrWarehouse(Integer id, String sysId) { + public boolean unbindThrWarehouse(String id, String sysId) { + return invWarehouseDao.updateThridId(id, null, sysId); +// InvWarehouseEntity invWarehouseEntity = invWarehouseDao.selectById(id + ""); +// ReflectUtil.setFieldValue(invWarehouseEntity, sysId, null); +// return invWarehouseDao.insertInvWarehouse(invWarehouseEntity); + } @Override @@ -159,8 +164,11 @@ public class InvWarehouseServiceImpl implements InvWarehouseService { Object thirdId = ReflectUtil.getFieldValue(invWarehouseEntity, sys.getThirdId()); if (null != thirdId) { ThrInvWarehouseEntity thrInvWarehouseEntity = thrInvWarehouseDao.selectByCode(String.valueOf(thirdId)); - response.setThirdId(thrInvWarehouseEntity.getCode()); - response.setThirdName(thrInvWarehouseEntity.getName()); + if (thrInvWarehouseEntity != null) { + response.setThirdId(thrInvWarehouseEntity.getCode()); + response.setThirdName(thrInvWarehouseEntity.getName()); + } + } result.add(response); } else if (sys.getThirdId().equals("thirdId1")) { @@ -170,8 +178,10 @@ public class InvWarehouseServiceImpl implements InvWarehouseService { Object thirdId = ReflectUtil.getFieldValue(invWarehouseEntity, sys.getThirdId()); if (null != thirdId) { ThrInvWarehouseEntity thrInvWarehouseEntity = thrInvWarehouseDao.selectByCode(String.valueOf(thirdId)); - response.setThirdId(thrInvWarehouseEntity.getCode()); - response.setThirdName(thrInvWarehouseEntity.getName()); + if (thrInvWarehouseEntity != null) { + response.setThirdId(thrInvWarehouseEntity.getCode()); + response.setThirdName(thrInvWarehouseEntity.getName()); + } } result.add(response); } else if (sys.getThirdId().equals("thirdId2")) { @@ -181,8 +191,10 @@ public class InvWarehouseServiceImpl implements InvWarehouseService { Object thirdId = ReflectUtil.getFieldValue(invWarehouseEntity, sys.getThirdId()); if (null != thirdId) { ThrInvWarehouseEntity thrInvWarehouseEntity = thrInvWarehouseDao.selectByCode(String.valueOf(thirdId)); - response.setThirdId(thrInvWarehouseEntity.getCode()); - response.setThirdName(thrInvWarehouseEntity.getName()); + if (thrInvWarehouseEntity != null) { + response.setThirdId(thrInvWarehouseEntity.getCode()); + response.setThirdName(thrInvWarehouseEntity.getName()); + } } result.add(response); } else if (sys.getThirdId().equals("thirdId3")) { @@ -192,8 +204,10 @@ public class InvWarehouseServiceImpl implements InvWarehouseService { Object thirdId = ReflectUtil.getFieldValue(invWarehouseEntity, sys.getThirdId()); if (null != thirdId) { ThrInvWarehouseEntity thrInvWarehouseEntity = thrInvWarehouseDao.selectByCode(String.valueOf(thirdId)); - response.setThirdId(thrInvWarehouseEntity.getCode()); - response.setThirdName(thrInvWarehouseEntity.getName()); + if (thrInvWarehouseEntity != null) { + response.setThirdId(thrInvWarehouseEntity.getCode()); + response.setThirdName(thrInvWarehouseEntity.getName()); + } } result.add(response); } else if (sys.getThirdId().equals("thirdId4")) { @@ -203,8 +217,10 @@ public class InvWarehouseServiceImpl implements InvWarehouseService { Object thirdId = ReflectUtil.getFieldValue(invWarehouseEntity, sys.getThirdId()); if (null != thirdId) { ThrInvWarehouseEntity thrInvWarehouseEntity = thrInvWarehouseDao.selectByCode(String.valueOf(thirdId)); - response.setThirdId(thrInvWarehouseEntity.getCode()); - response.setThirdName(thrInvWarehouseEntity.getName()); + if (thrInvWarehouseEntity != null) { + response.setThirdId(thrInvWarehouseEntity.getCode()); + response.setThirdName(thrInvWarehouseEntity.getName()); + } } result.add(response); } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/ThrSubInvWarehouseService.java b/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/ThrSubInvWarehouseService.java new file mode 100644 index 0000000..940bae8 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/ThrSubInvWarehouseService.java @@ -0,0 +1,24 @@ +package com.glxp.sale.admin.service.thrsys; + + +import com.glxp.sale.admin.entity.thrsys.ThrSubInvWarehouseEntity; +import com.glxp.sale.admin.req.thrsys.FilterThrSubInvWarehouseRequest; + +import java.util.List; + +public interface ThrSubInvWarehouseService { + + + ThrSubInvWarehouseEntity selectByThrCode(String thirdSys, String thirdId); + + List filterThrInvWarehouse(FilterThrSubInvWarehouseRequest filterThrSubInvWarehouseRequest); + + boolean insertThrInvWarehouse(ThrSubInvWarehouseEntity thrSubInvWarehouseEntity); + + boolean insertInvWarehouses(List thrSubInvWarehouseEntities); + + boolean updateThrInvWarehouse(ThrSubInvWarehouseEntity thrSubInvWarehouseEntity); + + boolean deleteById(String id); + +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/impl/ThrSubInvWarehouseServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/impl/ThrSubInvWarehouseServiceImpl.java new file mode 100644 index 0000000..6f9dd57 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/impl/ThrSubInvWarehouseServiceImpl.java @@ -0,0 +1,65 @@ +package com.glxp.sale.admin.service.thrsys.impl; + +import cn.hutool.core.collection.CollUtil; +import com.github.pagehelper.PageHelper; +import com.glxp.sale.admin.dao.thrsys.ThrSubInvWarehouseDao; +import com.glxp.sale.admin.entity.thrsys.ThrSubInvWarehouseEntity; +import com.glxp.sale.admin.req.thrsys.FilterThrSubInvWarehouseRequest; +import com.glxp.sale.admin.service.thrsys.ThrSubInvWarehouseService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; + +@Service +public class ThrSubInvWarehouseServiceImpl implements ThrSubInvWarehouseService { + + @Resource + ThrSubInvWarehouseDao thrSubInvWarehouseDao; + + + @Override + public ThrSubInvWarehouseEntity selectByThrCode(String thirdSys, String thirdId) { + FilterThrSubInvWarehouseRequest filterThrSubInvWarehouseRequest = new FilterThrSubInvWarehouseRequest(); + filterThrSubInvWarehouseRequest.setCode(thirdId); + filterThrSubInvWarehouseRequest.setThirdSysFk(thirdSys); + List thrInvWarehouseEntitys = thrSubInvWarehouseDao.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 thrSubInvWarehouseDao.filterThrInvWarehouse(filterThrSubInvWarehouseRequest); + } + + @Override + public boolean insertThrInvWarehouse(ThrSubInvWarehouseEntity thrInvWarehouseEntity) { + return thrSubInvWarehouseDao.insertThrInvWarehouse(thrInvWarehouseEntity); + } + + @Override + public boolean insertInvWarehouses(List thrInvWarehouseEntitys) { + return thrSubInvWarehouseDao.insertInvWarehouses(thrInvWarehouseEntitys); + } + + @Override + public boolean updateThrInvWarehouse(ThrSubInvWarehouseEntity thrInvWarehouseEntity) { + return thrSubInvWarehouseDao.updateThrInvWarehouse(thrInvWarehouseEntity); + } + + @Override + public boolean deleteById(String id) { + return thrSubInvWarehouseDao.deleteById(id); + } + +} diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/InvSubWarehouseDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/InvSubWarehouseDao.xml index 9a72946..8d22763 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inventory/InvSubWarehouseDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/InvSubWarehouseDao.xml @@ -120,7 +120,10 @@ + + + \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/thrsys/ThrSubInvWarehouseDao.xml b/api-admin/src/main/resources/mybatis/mapper/thrsys/ThrSubInvWarehouseDao.xml new file mode 100644 index 0000000..b5c63c6 --- /dev/null +++ b/api-admin/src/main/resources/mybatis/mapper/thrsys/ThrSubInvWarehouseDao.xml @@ -0,0 +1,83 @@ + + + + + + + + + + + replace + INTO thr_inv_warehouse_sub + (id, code, `name`, parentId, remark, thirdSysFk) + values ( + #{id}, + #{code}, + #{name}, + #{parentId}, + #{remark}, + #{thirdSysFk} + ) + + + + replace INTO thr_inv_warehouse_sub + (id, code, `name`, parentId, remark, thirdSysFk) + VALUES + + ( + #{id}, #{item.code}, + #{item.name}, #{parentId} + #{item.remark}, #{item.thirdSysFk}) + + + + + DELETE + FROM thr_inv_warehouse_sub + WHERE id = #{id} + + + + UPDATE thr_inv_warehouse_sub + + `name`=#{name}, + code=#{code}, + parentId=#{parentId}, + remark=#{remark}, + thirdSysFk=#{thirdSysFk}, + + WHERE id = #{id} + + + + \ No newline at end of file