diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BasicThirdSysController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BasicThirdSysController.java index 3bc8f9bf..4ed69e60 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BasicThirdSysController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BasicThirdSysController.java @@ -119,6 +119,14 @@ public class BasicThirdSysController { if (exists) { return ResultVOUtils.error(500, "第三方系统名称重复"); } + if (!basicThirdSysEntity.getEnabled()) { + //如操作为禁用第三方系统,则需要判断是否是最后一个启用的第三方系统,需要保留至少启用一个第三方系统 + FilterBasicThirdSysRequest filterBasicThirdSysRequest = new FilterBasicThirdSysRequest(); + int count = basicThirdSysService.countThirdSys(filterBasicThirdSysRequest); + if (count == 1) { + return ResultVOUtils.error(500, "至少需需用一个第三方系统!"); + } + } BasicThirdSysEntity temp = basicThirdSysService.selectByThirdId(basicThirdSysEntity.getThirdId()); if (!temp.getMainSys().equals(basicThirdSysEntity.getMainSys())) { diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BussinessLocalTypeController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BussinessLocalTypeController.java index 57f2c5b2..25d39b53 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BussinessLocalTypeController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BussinessLocalTypeController.java @@ -1,9 +1,10 @@ package com.glxp.api.admin.controller.basic; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageInfo; import com.glxp.api.admin.annotation.AuthRuleAnnotation; -import com.glxp.api.admin.entity.basic.BussinessChangeTypeEntity; import com.glxp.api.admin.entity.basic.BussinessLocalTypeEntity; import com.glxp.api.admin.entity.basic.BussinessTypeEntity; import com.glxp.api.admin.entity.business.StockOrderEntity; @@ -12,10 +13,11 @@ import com.glxp.api.admin.req.basic.BussinessLocalTypeFilterRequest; import com.glxp.api.admin.req.business.StockOrderFilterRequest; import com.glxp.api.admin.req.inout.DeleteRequest; import com.glxp.api.admin.res.PageSimpleResponse; -import com.glxp.api.admin.service.auth.AuthAdminService; +import com.glxp.api.admin.res.basic.BussinessLocalTypeResponse; import com.glxp.api.admin.service.auth.CustomerService; import com.glxp.api.admin.service.basic.BussinessChangeTypeService; import com.glxp.api.admin.service.basic.BussinessLocalTypeService; +import com.glxp.api.admin.service.basic.BussinessOriginTypeService; import com.glxp.api.admin.service.basic.BussinessTypeService; import com.glxp.api.admin.service.business.StockOrderService; import com.glxp.api.admin.util.CustomUtil; @@ -29,6 +31,7 @@ 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.Date; import java.util.List; @@ -42,13 +45,13 @@ public class BussinessLocalTypeController { @Resource private BussinessChangeTypeService bussinessChangeTypeService; @Resource - private AuthAdminService authAdminService; - @Resource private BussinessTypeService bussinessTypeService; @Resource private StockOrderService stockOrderService; @Resource - CustomerService customerService; + private CustomerService customerService; + @Resource + private BussinessOriginTypeService bussinessOriginTypeService; @AuthRuleAnnotation("") @GetMapping("/udiwms/localBusType/filterJoin") @@ -117,9 +120,19 @@ public class BussinessLocalTypeController { bussinessTypeEntities = bussinessLocalTypeService.filterList(bussinessTypeFilterRequest); PageInfo pageInfo; pageInfo = new PageInfo<>(bussinessTypeEntities); - PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); pageSimpleResponse.setTotal(pageInfo.getTotal()); - pageSimpleResponse.setList(bussinessTypeEntities); + List responses = new ArrayList<>(bussinessTypeEntities.size()); + if (CollUtil.isNotEmpty(bussinessTypeEntities)) { + for (BussinessLocalTypeEntity bussinessTypeEntity : bussinessTypeEntities) { + BussinessLocalTypeResponse response = new BussinessLocalTypeResponse(); + BeanUtil.copyProperties(bussinessTypeEntity, response); + String originName = bussinessOriginTypeService.findNameByAction(bussinessTypeEntity.getOriginAction()); + response.setOriginName(originName); + responses.add(response); + } + } + pageSimpleResponse.setList(responses); return ResultVOUtils.success(pageSimpleResponse); } @@ -184,7 +197,7 @@ public class BussinessLocalTypeController { @AuthRuleAnnotation("") @PostMapping("/udiwms/localBusType/update") - public BaseResponse updateBussinessType(@RequestBody BussinessLocalTypeEntity bussinessTypeEntity, + public BaseResponse updateBussinessType(@RequestBody @Valid BussinessLocalTypeEntity bussinessTypeEntity, BindingResult bindingResult) { if (bindingResult.hasErrors()) { diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BussinessOriginTypeController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BussinessOriginTypeController.java index f8f184e0..68afba28 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BussinessOriginTypeController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BussinessOriginTypeController.java @@ -90,7 +90,7 @@ public class BussinessOriginTypeController { @PostMapping("/udiwms/originBusType/update") - public BaseResponse updateBussinessType(@RequestBody BussinessOriginTypeEntity bussinessTypeEntity, + public BaseResponse updateBussinessType(@RequestBody @Valid BussinessOriginTypeEntity bussinessTypeEntity, BindingResult bindingResult) { if (bindingResult.hasErrors()) { diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/basic/BasicThirdSysDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/basic/BasicThirdSysDao.java index e994b663..e102c5b4 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/basic/BasicThirdSysDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/basic/BasicThirdSysDao.java @@ -47,4 +47,6 @@ public interface BasicThirdSysDao { * @return */ String selectThirdNameByThirdId(@Param("thirdId") String thirdId); + + int countThirdSys(FilterBasicThirdSysRequest filterBasicThirdSysRequest); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/basic/BussinessOriginTypeDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/basic/BussinessOriginTypeDao.java index 8dfe1bbf..4c75afad 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/basic/BussinessOriginTypeDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/basic/BussinessOriginTypeDao.java @@ -22,4 +22,12 @@ public interface BussinessOriginTypeDao { boolean insertBusOriginType(BussinessOriginTypeEntity bussinessTypeEntity); boolean deleteById(@Param("id") String id); + + /** + * 查询单据类型名称 + * + * @param action + * @return + */ + String selectNameByAction(@Param("action") String action); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BussinessLocalTypeEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BussinessLocalTypeEntity.java index 7e088f4a..0a5fba86 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BussinessLocalTypeEntity.java +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BussinessLocalTypeEntity.java @@ -2,12 +2,15 @@ package com.glxp.api.admin.entity.basic; import lombok.Data; +import javax.validation.constraints.NotEmpty; import java.util.Date; @Data public class BussinessLocalTypeEntity { private Integer id; private String action; + + @NotEmpty(message = "业务单据类型名称不能为空!") private String name; private String localAction; private String originAction; diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BussinessOriginTypeEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BussinessOriginTypeEntity.java index a6d686bc..64d7674b 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BussinessOriginTypeEntity.java +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BussinessOriginTypeEntity.java @@ -2,6 +2,7 @@ package com.glxp.api.admin.entity.basic; import lombok.Data; +import javax.validation.constraints.NotEmpty; import java.util.Date; @Data @@ -9,6 +10,8 @@ public class BussinessOriginTypeEntity { private String id; private String name; private String action; + + @NotEmpty(message = "第三方系统不能为空!") private String thirdSys; private String thirdSysName; private Boolean enable; diff --git a/api-admin/src/main/java/com/glxp/api/admin/res/basic/BussinessLocalTypeResponse.java b/api-admin/src/main/java/com/glxp/api/admin/res/basic/BussinessLocalTypeResponse.java new file mode 100644 index 00000000..5fc295e1 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/res/basic/BussinessLocalTypeResponse.java @@ -0,0 +1,17 @@ +package com.glxp.api.admin.res.basic; + +import com.glxp.api.admin.entity.basic.BussinessLocalTypeEntity; +import lombok.Data; + +/** + * 业务单据类型响应结果类 + */ +@Data +public class BussinessLocalTypeResponse extends BussinessLocalTypeEntity { + + /** + * 第三方单据类型名称 + */ + private String originName; + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/basic/BasicThirdSysService.java b/api-admin/src/main/java/com/glxp/api/admin/service/basic/BasicThirdSysService.java index 5c40775f..05765712 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/basic/BasicThirdSysService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/basic/BasicThirdSysService.java @@ -24,4 +24,7 @@ public interface BasicThirdSysService { * @return */ boolean selectThirdNameExists(String thirdId, String thirdName); + + int countThirdSys(FilterBasicThirdSysRequest filterBasicThirdSysRequest); + } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/basic/BussinessOriginTypeService.java b/api-admin/src/main/java/com/glxp/api/admin/service/basic/BussinessOriginTypeService.java index 5e64109f..8efe9b20 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/basic/BussinessOriginTypeService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/basic/BussinessOriginTypeService.java @@ -5,7 +5,6 @@ import com.glxp.api.admin.entity.basic.BasicThirdSysDetailEntity; import com.glxp.api.admin.entity.basic.BussinessOriginTypeEntity; import com.glxp.api.admin.req.basic.BussinessOriginTypeFilterRequest; import com.glxp.api.admin.res.basic.BussinessOriginTypeResponse; -import org.apache.ibatis.annotations.Param; import java.util.List; @@ -40,4 +39,11 @@ public interface BussinessOriginTypeService { boolean deleteById(String id); + /** + * 查询第三方单据类型名称 + * + * @param originAction + * @return + */ + String findNameByAction(String originAction); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/BasicThirdSysServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/BasicThirdSysServiceImpl.java index 53ded480..b20fd4f2 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/BasicThirdSysServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/BasicThirdSysServiceImpl.java @@ -85,4 +85,9 @@ public class BasicThirdSysServiceImpl implements BasicThirdSysService { } return false; } + + @Override + public int countThirdSys(FilterBasicThirdSysRequest filterBasicThirdSysRequest) { + return basicThirdSysDao.countThirdSys(filterBasicThirdSysRequest); + } } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/BussinessOriginTypeServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/BussinessOriginTypeServiceImpl.java index e6b009a9..e9eddbbc 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/BussinessOriginTypeServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/BussinessOriginTypeServiceImpl.java @@ -131,4 +131,9 @@ public class BussinessOriginTypeServiceImpl implements BussinessOriginTypeServic public boolean deleteById(String id) { return bussinessOriginTypeDao.deleteById(id); } + + @Override + public String findNameByAction(String originAction) { + return bussinessOriginTypeDao.selectNameByAction(originAction); + } } diff --git a/api-admin/src/main/resources/mybatis/mapper/basic/BasicThirdSysDao.xml b/api-admin/src/main/resources/mybatis/mapper/basic/BasicThirdSysDao.xml index 6de47f06..525c6122 100644 --- a/api-admin/src/main/resources/mybatis/mapper/basic/BasicThirdSysDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/basic/BasicThirdSysDao.xml @@ -56,4 +56,13 @@ + + \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/basic/BussinessOriginTypeDao.xml b/api-admin/src/main/resources/mybatis/mapper/basic/BussinessOriginTypeDao.xml index 99f072f6..d90c3ad5 100644 --- a/api-admin/src/main/resources/mybatis/mapper/basic/BussinessOriginTypeDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/basic/BussinessOriginTypeDao.xml @@ -77,6 +77,10 @@ + + replace