feat: 增加供应商物资字典转让

dev_test1.0
chenhc 1 year ago
parent f07808df19
commit 3e5efc3c6b

@ -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<Long> 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) {

@ -370,6 +370,13 @@ public class SupCompanyController {
return ResultVOUtils.success(customerInfoEntity);
}
@AuthRuleAnnotation("")
@GetMapping("api/pur/supCompany/getList")
public BaseResponse getList(CustomerInfoEntity customerInfoEntity) {
List<CustomerInfoEntity> customerInfoEntitys = customerInfoService.getList(customerInfoEntity);
return ResultVOUtils.success(customerInfoEntitys);
}
public String getCustomerId() {
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();

@ -30,4 +30,8 @@ public interface CustomerInfoDao {
CustomerInfoEntity isExitRoleId(String roleId);
List<Long> selectCustomerIdListByUserFlag(Integer userFlag);
List<CustomerInfoEntity> getList(CustomerInfoEntity customerInfoEntity);
}

@ -79,4 +79,10 @@ public class CompanyProductRelevanceRequest extends ListPageRequest {
private String basicPrductRemak7;
private String basicPrductRemak8;
private String category;
//供应商是否禁用查询条件
private Integer userFlag;
private List<Long> customerIds;
}

@ -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;
}

@ -33,4 +33,13 @@ public interface CustomerInfoService {
* @return
*/
CustomerInfoEntity findByCustomerId(String customerId);
/**
* userFlag customerIds
* @param userFlag
* @return
*/
List<Long> selectCustomerIdListByUserFlag(Integer userFlag);
List<CustomerInfoEntity> getList(CustomerInfoEntity customerInfoEntity);
}

@ -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<Long> selectCustomerIdListByUserFlag(Integer userFlag) {
return customerInfoDao.selectCustomerIdListByUserFlag(userFlag);
}
@Override
public List<CustomerInfoEntity> getList(CustomerInfoEntity customerInfoEntity) {
return customerInfoDao.getList(customerInfoEntity);
}
}

@ -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<CompanyProductR
boolean deleteByRlId(String id);
boolean isExitByRelId(String relId);
void copyCustomerId(CopyCustomerIdRequest copyCustomerIdRequest);
}

@ -1,20 +1,28 @@
package com.glxp.api.service.basic.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.IdUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import com.glxp.api.dao.basic.CompanyProductRelevanceDao;
import com.glxp.api.entity.auth.AuthAdmin;
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 com.glxp.api.service.auth.CustomerService;
import com.glxp.api.service.basic.CompanyProductRelevanceService;
import org.springframework.beans.BeanUtils;
import org.springframework.context.annotation.Bean;
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
@ -23,6 +31,8 @@ public class CompanyProductRelevanceServiceImpl extends ServiceImpl<CompanyProdu
implements CompanyProductRelevanceService {
@Resource
CompanyProductRelevanceDao companyProductRelevanceDao;
@Resource
CustomerService customerService;
@Override
public List<CompanyProductRelevanceResponse> filterUdiGp(CompanyProductRelevanceRequest basicInstrumentMaintainRequest) {
@ -59,4 +69,37 @@ public class CompanyProductRelevanceServiceImpl extends ServiceImpl<CompanyProdu
public boolean isExitByRelId(String relId) {
return companyProductRelevanceDao.exists(new QueryWrapper<CompanyProductRelevanceEntity>().eq("udiRlIdFk", relId));
}
@Override
public void copyCustomerId(CopyCustomerIdRequest copyCustomerIdRequest) {
//1、查出ids的数据
QueryWrapper<CompanyProductRelevanceEntity> qw = new QueryWrapper<>();
qw.in("id",copyCustomerIdRequest.getIds());
List<CompanyProductRelevanceEntity> list = companyProductRelevanceDao.selectList(qw);
ArrayList<CompanyProductRelevanceEntity> 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);
}
}

@ -126,4 +126,49 @@
</select>
<select id="selectCustomerIdListByUserFlag" parameterType="java.lang.Integer"
resultType="Long">
SELECT customerId
FROM customer_info
WHERE userFlag = #{userFlag}
</select>
<select id="getList" parameterType="com.glxp.api.entity.auth.CustomerInfoEntity"
resultType="com.glxp.api.entity.auth.CustomerInfoEntity">
SELECT *
FROM customer_info
<where>
<if test="customerName != null">
AND customerName = #{customerName}
</if>
<if test="creditNum != null">
AND creditNum = #{creditNum}
</if>
<if test="area != null">
AND `area` = #{area}
</if>
<if test="detailAddr != null">
AND detailAddr = #{detailAddr}
</if>
<if test="bussinessStatus != null">
AND `bussinessStatus` = #{bussinessStatus}
</if>
<if test="userFlag != null">
AND userFlag = #{userFlag}
</if>
<if test="isInfoLink != null">
AND isInfoLink = #{isInfoLink}
</if>
<if test="infoLink != null">
AND infoLink = #{infoLink}
</if>
<if test="roleId != null">
AND roleId = #{roleId}
</if>
<if test="companyName != null">
AND companyName = #{companyName}
</if>
</where>
</select>
</mapper>

@ -225,6 +225,12 @@
<if test="isDisable == false">
AND (basic_udirel.isDisable is null or basic_udirel.isDisable = false)
</if>
<if test="customerIds != null and customerIds.size() != 0">
AND company_product_relevance.customerId in
<foreach collection="customerIds" item="item" index="index" separator="," open="(" close=")">
#{item}
</foreach>
</if>
</where>
ORDER BY company_product_relevance.updateTime DESC
</select>

Loading…
Cancel
Save