diff --git a/src/main/java/com/glxp/api/controller/basic/UdiRlSupController.java b/src/main/java/com/glxp/api/controller/basic/UdiRlSupController.java index 3435e900..f0730ce7 100644 --- a/src/main/java/com/glxp/api/controller/basic/UdiRlSupController.java +++ b/src/main/java/com/glxp/api/controller/basic/UdiRlSupController.java @@ -3,6 +3,7 @@ package com.glxp.api.controller.basic; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageInfo; import com.glxp.api.annotation.AuthRuleAnnotation; @@ -27,6 +28,7 @@ import com.glxp.api.res.basic.CompanyProductRelevanceResponse; import com.glxp.api.res.basic.UdiRlSupResponse; import com.glxp.api.res.basic.UdiRelevanceResponse; import com.glxp.api.service.auth.AuthAdminService; +import com.glxp.api.service.auth.CustomerInfoService; import com.glxp.api.service.basic.*; import com.glxp.api.service.system.CompanyService; import com.glxp.api.util.SupplementVailUtil; @@ -42,6 +44,7 @@ import org.springframework.web.context.request.ServletRequestAttributes; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; +import javax.validation.Valid; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -72,6 +75,8 @@ public class UdiRlSupController extends BaseController { private UdiProductService udiProductService; @Resource SpsSyncWebSocket webSocketServer; + @Resource + private CustomerInfoService customerInfoService; @AuthRuleAnnotation("") @GetMapping("/sale/info/company/product/relevance/filter") @@ -86,6 +91,12 @@ public class UdiRlSupController extends BaseController { companyProductRelevanceRequest.setCustomerId(null); } } + if (ObjectUtil.isNotNull(companyProductRelevanceRequest.getUserFlag())){ + Integer userFlag = companyProductRelevanceRequest.getUserFlag(); + //获取 供应商状态为 userFlag 的 customerIds列表 + List customerIds = customerInfoService.selectCustomerIdListByUserFlag(userFlag); + companyProductRelevanceRequest.setCustomerIds(customerIds); + } companyProductRelevanceRequest.setIsDisable(false); if (StrUtil.isNotEmpty(companyProductRelevanceRequest.getUdiCode())) { @@ -279,6 +290,17 @@ public class UdiRlSupController extends BaseController { return ResultVOUtils.success("成功"); } + @AuthRuleAnnotation("") + @PostMapping("/sale/info/company/product/relevance/copyCustomerId") + public BaseResponse copyCustomerId(@RequestBody @Valid CopyCustomerIdRequest copyCustomerIdRequest, + BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + companyProductRelevanceService.copyCustomerId(copyCustomerIdRequest); + return ResultVOUtils.success("转让成功"); + } + public String getCustomerId() { ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); if (attributes == null) { diff --git a/src/main/java/com/glxp/api/controller/purchase/SupCompanyController.java b/src/main/java/com/glxp/api/controller/purchase/SupCompanyController.java index 4069cafc..0cf90702 100644 --- a/src/main/java/com/glxp/api/controller/purchase/SupCompanyController.java +++ b/src/main/java/com/glxp/api/controller/purchase/SupCompanyController.java @@ -370,6 +370,13 @@ public class SupCompanyController { return ResultVOUtils.success(customerInfoEntity); } + @AuthRuleAnnotation("") + @GetMapping("api/pur/supCompany/getList") + public BaseResponse getList(CustomerInfoEntity customerInfoEntity) { + List customerInfoEntitys = customerInfoService.getList(customerInfoEntity); + return ResultVOUtils.success(customerInfoEntitys); + } + public String getCustomerId() { ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); diff --git a/src/main/java/com/glxp/api/dao/auth/CustomerInfoDao.java b/src/main/java/com/glxp/api/dao/auth/CustomerInfoDao.java index 328e7432..a4635685 100644 --- a/src/main/java/com/glxp/api/dao/auth/CustomerInfoDao.java +++ b/src/main/java/com/glxp/api/dao/auth/CustomerInfoDao.java @@ -30,4 +30,8 @@ public interface CustomerInfoDao { CustomerInfoEntity isExitRoleId(String roleId); + + List selectCustomerIdListByUserFlag(Integer userFlag); + + List getList(CustomerInfoEntity customerInfoEntity); } diff --git a/src/main/java/com/glxp/api/req/basic/CompanyProductRelevanceRequest.java b/src/main/java/com/glxp/api/req/basic/CompanyProductRelevanceRequest.java index ddf5b760..55371b99 100644 --- a/src/main/java/com/glxp/api/req/basic/CompanyProductRelevanceRequest.java +++ b/src/main/java/com/glxp/api/req/basic/CompanyProductRelevanceRequest.java @@ -79,4 +79,10 @@ public class CompanyProductRelevanceRequest extends ListPageRequest { private String basicPrductRemak7; private String basicPrductRemak8; private String category; + + //供应商是否禁用查询条件 + private Integer userFlag; + + private List customerIds; + } diff --git a/src/main/java/com/glxp/api/req/basic/CopyCustomerIdRequest.java b/src/main/java/com/glxp/api/req/basic/CopyCustomerIdRequest.java new file mode 100644 index 00000000..2b46b073 --- /dev/null +++ b/src/main/java/com/glxp/api/req/basic/CopyCustomerIdRequest.java @@ -0,0 +1,19 @@ +package com.glxp.api.req.basic; + +import lombok.Data; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Null; +import javax.validation.constraints.Size; + +@Data +public class CopyCustomerIdRequest { + + @Size(min = 1, message = "最少选择一个id") + private Long[] ids; + + @NotEmpty(message = "请选择供应商!") + private String customerId; + +} diff --git a/src/main/java/com/glxp/api/service/auth/CustomerInfoService.java b/src/main/java/com/glxp/api/service/auth/CustomerInfoService.java index 27fe60e8..a6d85906 100644 --- a/src/main/java/com/glxp/api/service/auth/CustomerInfoService.java +++ b/src/main/java/com/glxp/api/service/auth/CustomerInfoService.java @@ -33,4 +33,13 @@ public interface CustomerInfoService { * @return */ CustomerInfoEntity findByCustomerId(String customerId); + + /** + * 获取 供应商状态为 userFlag 的 customerIds列表 + * @param userFlag + * @return + */ + List selectCustomerIdListByUserFlag(Integer userFlag); + + List getList(CustomerInfoEntity customerInfoEntity); } diff --git a/src/main/java/com/glxp/api/service/auth/impl/CustomerInfoServiceImpl.java b/src/main/java/com/glxp/api/service/auth/impl/CustomerInfoServiceImpl.java index fd3640a1..97c231b2 100644 --- a/src/main/java/com/glxp/api/service/auth/impl/CustomerInfoServiceImpl.java +++ b/src/main/java/com/glxp/api/service/auth/impl/CustomerInfoServiceImpl.java @@ -1,5 +1,7 @@ package com.glxp.api.service.auth.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.github.pagehelper.PageHelper; import com.glxp.api.dao.auth.CustomerInfoDao; import com.glxp.api.entity.auth.CustomerDetailEntity; @@ -96,4 +98,14 @@ public class CustomerInfoServiceImpl implements CustomerInfoService { public CustomerInfoEntity findByCustomerId(String customerId) { return customerInfoDao.selectById(customerId); } + + @Override + public List selectCustomerIdListByUserFlag(Integer userFlag) { + return customerInfoDao.selectCustomerIdListByUserFlag(userFlag); + } + + @Override + public List getList(CustomerInfoEntity customerInfoEntity) { + return customerInfoDao.getList(customerInfoEntity); + } } diff --git a/src/main/java/com/glxp/api/service/basic/CompanyProductRelevanceService.java b/src/main/java/com/glxp/api/service/basic/CompanyProductRelevanceService.java index ce04e363..809a9e6d 100644 --- a/src/main/java/com/glxp/api/service/basic/CompanyProductRelevanceService.java +++ b/src/main/java/com/glxp/api/service/basic/CompanyProductRelevanceService.java @@ -4,6 +4,7 @@ package com.glxp.api.service.basic; import com.baomidou.mybatisplus.extension.service.IService; import com.glxp.api.entity.basic.CompanyProductRelevanceEntity; import com.glxp.api.req.basic.CompanyProductRelevanceRequest; +import com.glxp.api.req.basic.CopyCustomerIdRequest; import com.glxp.api.res.basic.CompanyProductRelevanceResponse; import java.util.List; @@ -19,4 +20,6 @@ public interface CompanyProductRelevanceService extends IService filterUdiGp(CompanyProductRelevanceRequest basicInstrumentMaintainRequest) { @@ -59,4 +69,37 @@ public class CompanyProductRelevanceServiceImpl extends ServiceImpl().eq("udiRlIdFk", relId)); } + + @Override + public void copyCustomerId(CopyCustomerIdRequest copyCustomerIdRequest) { + //1、查出ids的数据 + QueryWrapper qw = new QueryWrapper<>(); + qw.in("id",copyCustomerIdRequest.getIds()); + List list = companyProductRelevanceDao.selectList(qw); + + ArrayList addList = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)){ + String customerId = copyCustomerIdRequest.getCustomerId(); + String userId = customerService.getUserId() + "" ; + Date time = new Date(); + + //2、复制和更改数据 + list.forEach( item -> { + CompanyProductRelevanceEntity companyProductRelevanceEntity = new CompanyProductRelevanceEntity(); + BeanUtils.copyProperties(item,companyProductRelevanceEntity); + companyProductRelevanceEntity.setCustomerId(customerId); + companyProductRelevanceEntity.setId(IdUtil.getSnowflakeNextId()); + + companyProductRelevanceEntity.setCreateTime(time); + companyProductRelevanceEntity.setUpdateTime(time); + companyProductRelevanceEntity.setCreateUser(userId); + companyProductRelevanceEntity.setUpdateUser(userId); + + addList.add(companyProductRelevanceEntity); + }); + } + + //3、保存数据 + companyProductRelevanceDao.insertBatch(addList); + } } diff --git a/src/main/resources/mybatis/mapper/auth/CustomerInfoDao.xml b/src/main/resources/mybatis/mapper/auth/CustomerInfoDao.xml index 6bd2e91a..109d4a8a 100644 --- a/src/main/resources/mybatis/mapper/auth/CustomerInfoDao.xml +++ b/src/main/resources/mybatis/mapper/auth/CustomerInfoDao.xml @@ -126,4 +126,49 @@ + + + + diff --git a/src/main/resources/mybatis/mapper/basic/UdiRlSupDao.xml b/src/main/resources/mybatis/mapper/basic/UdiRlSupDao.xml index ce03e359..02fc846d 100644 --- a/src/main/resources/mybatis/mapper/basic/UdiRlSupDao.xml +++ b/src/main/resources/mybatis/mapper/basic/UdiRlSupDao.xml @@ -225,6 +225,12 @@ AND (basic_udirel.isDisable is null or basic_udirel.isDisable = false) + + AND company_product_relevance.customerId in + + #{item} + + ORDER BY company_product_relevance.updateTime DESC