Commit aed540de authored by 李驰骋's avatar 李驰骋

供应商逻辑添加

parent 7d80cdec
package com.topsunit.scanservice.ximai.controller;
import com.topsunit.scanservice.ximai.dto.*;
import com.topsunit.scanservice.ximai.service.PurmaService;
import com.topsunit.scanservice.ximai.service.PurtgService;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.Optional;
/**
* <p>Title: PurtgController</p>
* <p>Description: 进货单</p>
*
* @author xi.feng
* @version V1.0
* @date 2021/10/25
*/
@RestController
public class PurmaController {
@Autowired
private PurmaService purmaService;
@ApiOperation("查询供应商列表")
@PostMapping("/purma/getPurmaList")
public List<PurmaDto> getForCreate(@RequestBody PurmaCriteria criteria){
return purmaService.getPurmaDtoList(criteria);
}
}
package com.topsunit.scanservice.ximai.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.Id;
/**
* <p>Title: PurmaCriteria</p>
* <p>Description: 供应商查询</p>
*
* @author chicheng.li
* @version V1.0
* @date 2024/10/16
*/
@Data
public class PurmaCriteria {
@ApiModelProperty("供应商编号")
private String ma001;
@ApiModelProperty("简称")
private String ma002;
@ApiModelProperty("公司全称")
private String ma003;
@ApiModelProperty("核准状态")
private String ma016;
}
package com.topsunit.scanservice.ximai.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.Id;
import java.math.BigDecimal;
/**
* <p>Title: PurmaDto</p>
* <p>Description: 供应商</p>
*
* @author chicheng.li
* @version V1.0
* @date 2024/10/16
*/
@Data
public class PurmaDto {
@ApiModelProperty("供应商编号")
private String ma001;
@ApiModelProperty("简称")
private String ma002;
@ApiModelProperty("公司全称")
private String ma003;
@ApiModelProperty("税号")
private String ma005;
/**
* 1:已核准、2:尚待核准、3:不准交易
*/
@ApiModelProperty("核准状态")
private String ma016;
@ApiModelProperty("交易币种")
private String ma021;
/**
* 1.二联式、2.三联式、3.二联式收银机发票、4.三联式收银机发票、5.电子计算机发票、6.免用统一发票、S.可抵扣专用发票、B.普通发票、T.运输发票、N.不可抵扣专用发票 A.农产品收购凭证、G.海关代征完税凭证、W.废旧物资收购凭证、Z.其他 //901025 S06-9009036 MODI A~Z //8
*/
@ApiModelProperty("发票种类")
private String ma030;
@ApiModelProperty("备注")
private String ma040;
}
package com.topsunit.scanservice.ximai.dto.mapper;
import com.topsunit.scanservice.ximai.dto.*;
import com.topsunit.scanservice.ximai.entity.Purcc;
import com.topsunit.scanservice.ximai.entity.PurccId;
import com.topsunit.scanservice.ximai.entity.Purcd;
import com.topsunit.scanservice.ximai.entity.Purma;
import org.mapstruct.Mapper;
import java.util.List;
/**
* <p>Title: PurmaMapper</p>
* <p>Description: PurmaMapper</p>
*
* @author chicheng.li
* @version V1.0
* @date 2024/10/16
*/
@Mapper(componentModel = "spring")
public interface PurmaMapper {
PurmaDto toPurmaDto(Purma purma);
List<PurmaDto> toPurmaDtoList(List<Purma> purmas);
}
package com.topsunit.scanservice.ximai.service;
import com.topsunit.scanservice.ximai.common.DateUtil;
import com.topsunit.scanservice.ximai.common.OrdinalHelper;
import com.topsunit.scanservice.ximai.common.StringUtil;
import com.topsunit.scanservice.ximai.common.TopsunitException;
import com.topsunit.scanservice.ximai.dao.*;
import com.topsunit.scanservice.ximai.dto.*;
import com.topsunit.scanservice.ximai.dto.mapper.PurmaMapper;
import com.topsunit.scanservice.ximai.dto.mapper.PurtgMapper;
import com.topsunit.scanservice.ximai.entity.*;
import com.topsunit.scanservice.ximai.security.CurrentActor;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Predicate;
import javax.persistence.criteria.Root;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
/**
* <p>Title: PurmaService</p>
* <p>Description: 供应商服务</p>
*
* @author chicheng.li
* @version V1.0
* @date 2024/10/16
*/
@Service
public class PurmaService {
private final CurrentActor currentActor;
private final CmsmgDao cmsmgDao;
private final InvmbDao invmbDao;
private final InvmcDao invmcDao;
private final InvmeDao invmeDao;
private final PurccDao purccDao;
private final PurcdDao purcdDao;
private final PurtcDao purtcDao;
private final PurtdDao purtdDao;
private final PurtgDao purtgDao;
private final PurthDao purthDao;
private final PurmaDao purmaDao;
private final CmsniDao cmsniDao;
private final PurtgMapper purtgMapper;
@Autowired
private PurmaMapper purmaMapper;
public PurmaService(CurrentActor currentActor, CmsmgDao cmsmgDao, InvmbDao invmbDao, InvmcDao invmcDao, InvmeDao invmeDao, PurccDao purccDao, PurcdDao purcdDao, PurtcDao purtcDao, PurtdDao purtdDao, PurtgDao purtgDao, PurthDao purthDao, PurmaDao purmaDao, CmsniDao cmsniDao, PurtgMapper purtgMapper) {
this.currentActor = currentActor;
this.cmsmgDao = cmsmgDao;
this.invmbDao = invmbDao;
this.invmcDao = invmcDao;
this.invmeDao = invmeDao;
this.purccDao = purccDao;
this.purcdDao = purcdDao;
this.purtcDao = purtcDao;
this.purtdDao = purtdDao;
this.purtgDao = purtgDao;
this.purthDao = purthDao;
this.purmaDao = purmaDao;
this.cmsniDao = cmsniDao;
this.purtgMapper = purtgMapper;
}
public List<PurmaDto> getPurmaDtoList(PurmaCriteria criteria) {
Specification<Purma> query = new Specification<Purma>() {
@Override
public Predicate toPredicate(Root<Purma> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder) {
List<Predicate> predicates = new ArrayList<Predicate>();
if (StringUtils.isNotBlank(criteria.getMa001())) {
Predicate predicate = criteriaBuilder.like(root.get("ma001"), criteria.getMa001() + "%");
predicates.add(predicate);
}
if (StringUtils.isNotBlank(criteria.getMa002())) {
Predicate predicate = criteriaBuilder.like(root.get("ma002"), criteria.getMa002() + "%");
predicates.add(predicate);
}
if (StringUtils.isNotBlank(criteria.getMa003())) {
Predicate predicate = criteriaBuilder.like(root.get("ma003"), criteria.getMa003() + "%");
predicates.add(predicate);
}
if (StringUtils.isNotBlank(criteria.getMa016())) {
Predicate predicate = criteriaBuilder.equal(root.get("ma016"), criteria.getMa016());
predicates.add(predicate);
}
return criteriaQuery.where(predicates.toArray(new Predicate[0])).getRestriction();
}
};
List<Purma> list = purmaDao.findAll(query);
return purmaMapper.toPurmaDtoList(list);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment