Commit 5c56f43d authored by 李驰骋's avatar 李驰骋

同步接口提交

parent d2f7d875
package com.topsunit.scanservice.ximai.common;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import java.util.List;
import java.util.stream.Collectors;
/**
* <p>Title: PageParams</p>
* <p>Description: 分页参数</p>
*
* @author xi.feng
* @version V1.0
*/
public class PageParams {
private int current;
private int pageSize;
private Sort sort;
public Pageable toPageable() {
if(sort == null){
return PageRequest.of(current - 1, pageSize);
}
return PageRequest.of(current - 1, pageSize, sort.toJpaSort());
}
public static class Sort{
private List<Order> orders;
org.springframework.data.domain.Sort toJpaSort(){
if(orders == null || orders.size()==0){
return org.springframework.data.domain.Sort.unsorted();
}
return org.springframework.data.domain.Sort.by(orders.stream().map(Order::toJpaOrder).collect(Collectors.toList()));
}
public List<Order> getOrders() {
return orders;
}
public void setOrders(List<Order> orders) {
this.orders = orders;
}
}
public static class Order{
private String direction;
private String property;
org.springframework.data.domain.Sort.Order toJpaOrder(){
if("ASC".equalsIgnoreCase(direction)){
return org.springframework.data.domain.Sort.Order.asc(property);
}
return org.springframework.data.domain.Sort.Order.desc(property);
}
public String getDirection() {
return direction;
}
public void setDirection(String direction) {
this.direction = direction;
}
public String getProperty() {
return property;
}
public void setProperty(String property) {
this.property = property;
}
}
public int getCurrent() {
return current;
}
public void setCurrent(int current) {
this.current = current;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public Sort getSort() {
return sort;
}
public void setSort(Sort sort) {
this.sort = sort;
}
}
......@@ -6,6 +6,7 @@ import com.topsunit.scanservice.ximai.dto.CmsniCriteria;
import com.topsunit.scanservice.ximai.dto.CmsniDto;
import com.topsunit.scanservice.ximai.service.CmsmcService;
import com.topsunit.scanservice.ximai.service.CmsniService;
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;
......@@ -26,6 +27,7 @@ public class CmsmcController {
@Autowired
private CmsmcService cmsmcService;
@ApiOperation("查询仓库列表")
@PostMapping("/cmsmc/getCmsmcList")
public List<CmsmcDto> getCmsmcList(@RequestBody CmsmcCriteria criteria){
return cmsmcService.getCmsmcList(criteria);
......
......@@ -30,7 +30,7 @@ public class CopmaController {
@ApiOperation("查询客户列表")
@PostMapping("/copma/getCopmaList")
public List<CopmaDto> getForCreate(@RequestBody CopmaCriteria criteria){
public List<CopmaDto> getCopmaList(@RequestBody CopmaCriteria criteria){
return copmaService.getCopmaDtoList(criteria);
}
......
......@@ -4,6 +4,7 @@ import com.topsunit.scanservice.ximai.dto.InvmbCriteria;
import com.topsunit.scanservice.ximai.dto.InvmbDto;
import com.topsunit.scanservice.ximai.dto.InvmbIdCriteria;
import com.topsunit.scanservice.ximai.service.InvmbService;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
......@@ -32,13 +33,10 @@ public class InvmbController {
return invmbService.getForInvmbInfo(criteria);
}
@ApiOperation("查询物料列表")
@PostMapping("/invmb/getInvmbList")
public List<InvmbDto> getInvmbList(@RequestBody InvmbCriteria criteria) {
return invmbService.getInvmbList(criteria);
}
@PostMapping("/invml/getInvmlList")
public List<InvmbDto> getInvmlList(@RequestBody InvmbCriteria criteria) {
return invmbService.getInvmbList(criteria);
}
}
......@@ -14,4 +14,7 @@ import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
* @date 2021/10/26
*/
public interface InvmbDao extends JpaRepository<Invmb, String>, JpaSpecificationExecutor<Invmb> {
}
......@@ -15,4 +15,5 @@ import java.util.Optional;
*/
public interface InvmlDao extends JpaRepository<Invml, InvmlId>, JpaSpecificationExecutor<Invml> {
List<Invml> findByMl001OrderByMl002AscMl003AscMl004Asc(String ml001);
List<Invml> findByMl001InOrderByMl002AscMl003AscMl004Asc(List<String> ml001List);
}
......@@ -14,4 +14,6 @@ import java.util.List;
*/
public interface MoctbDao extends JpaRepository<Moctb, MoctbId>, JpaSpecificationExecutor<Moctb> {
List<Moctb> findByTb001AndTb002OrderByTb003AscTb006Asc(String tb001, String tb002);
List<Moctb> findByTb002InOrderByTb003AscTb006Asc(List<String> tb002List);
}
......@@ -3,6 +3,8 @@ package com.topsunit.scanservice.ximai.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.Id;
/**
* <p>Title: CopmaDto</p>
* <p>Description: 客户</p>
......@@ -14,33 +16,21 @@ import lombok.Data;
@Data
public class CopmaDto {
@ApiModelProperty("供应商编号")
@ApiModelProperty("客户编号")
private String ma001;
@ApiModelProperty("简称")
@ApiModelProperty("客户简称")
private String ma002;
@ApiModelProperty("公司全称")
@ApiModelProperty("客户全称")
private String ma003;
@ApiModelProperty("税号")
private String ma005;
/**
* 1:已核准、2:尚待核准、3:不准交易
* 1:已核准、2:尚待核准、3:不准交易[DEF:1]//20030312 5.0 P00-03030003 ADD BY 28995↓
*/
@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;
private String ma097;
@ApiModelProperty("备注")
private String ma040;
private String ma049;
}
package com.topsunit.scanservice.ximai.dto;
import com.topsunit.scanservice.ximai.common.PageParams;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -14,13 +15,15 @@ import javax.persistence.Id;
* @date 2024/10/17
*/
@Data
public class InvmbCriteria {
public class InvmbCriteria extends PageParams {
@ApiModelProperty("品号")
private String mb001;
@ApiModelProperty("品名")
private String mb002;
@ApiModelProperty("核准状态")
private String mb109;
@ApiModelProperty("创建日期")
private String gtCreate_date;
private String gtEqCreateDate;
@ApiModelProperty("修改日期")
private String gtModi_date;
private String gtEqModiDate;
}
package com.topsunit.scanservice.ximai.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
......@@ -10,6 +13,7 @@ import java.util.List;
* @version V1.0
* @date 2021/11/11
*/
@Data
public class InvmbDto {
/**
* 品号
......@@ -27,60 +31,40 @@ public class InvmbDto {
* 库存单位
*/
private String mb004;
@ApiModelProperty("品号类别")
private String mb005;
/**
* 批号管理
* N:不需要、Y:需要不检查库存量、W:仅需警告、T:需要且检查库存量
*/
@ApiModelProperty("批号管理")
private String mb022;
/**
*
*/
private List<InvmlDto> invmls;
public String getMb001() {
return mb001;
}
public void setMb001(String mb001) {
this.mb001 = mb001;
}
public String getMb002() {
return mb002;
}
public void setMb002(String mb002) {
this.mb002 = mb002;
}
public String getMb003() {
return mb003;
}
public void setMb003(String mb003) {
this.mb003 = mb003;
}
@ApiModelProperty("客户图号")
private String mb029;
public String getMb004() {
return mb004;
}
public void setMb004(String mb004) {
this.mb004 = mb004;
}
public String getMb022() {
return mb022;
}
public void setMb022(String mb022) {
this.mb022 = mb022;
}
/**
* 0:免检、1:抽检(减量)、2:抽检(正常)、3:抽检(加严)、4:全检
*/
@ApiModelProperty("检验方式")
private String mb043;
public List<InvmlDto> getInvmls() {
return invmls;
}
@ApiModelProperty("计价单位")
private String mb149;
@ApiModelProperty("客户品号")
private String udf01;
@ApiModelProperty("主要仓库")
private String mb017;
/**
* Y:已核准、y:尚待核准、N:不准交易[DEF:"Y"]
*/
@ApiModelProperty("核准状态")
private String mb109;
public void setInvmls(List<InvmlDto> invmls) {
this.invmls = invmls;
}
@ApiModelProperty("备注")
private String mb028;
/**
*
*/
private List<InvmlDto> invmls;
}
package com.topsunit.scanservice.ximai.dto;
import com.topsunit.scanservice.ximai.common.PageParams;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -12,7 +13,7 @@ import java.util.List;
* Description: 工单单头Dto
*/
@Data
public class MoctaCriteria {
public class MoctaCriteria extends PageParams {
/*工单单别*/
private String ta001;
/*工单单号*/
......@@ -20,8 +21,8 @@ public class MoctaCriteria {
@ApiModelProperty("审核码")
private String ta013;
@ApiModelProperty("创建日期")
private String gtCreate_date;
private String gtEqCreateDate;
@ApiModelProperty("修改日期")
private String gtModi_date;
private String gtEqModiDate;
}
......@@ -2,6 +2,7 @@ package com.topsunit.scanservice.ximai.entity;
import com.topsunit.scanservice.ximai.entity.listeners.EntityChangeListener;
import javax.persistence.Column;
import javax.persistence.EntityListeners;
import javax.persistence.MappedSuperclass;
......@@ -19,9 +20,11 @@ public abstract class EntityBase {
private String company = "";
private String creator = "";
private String usr_group = "";
private String create_date = "";
@Column(name="create_date")
private String createDate = "";
private String modifier = "";
private String modi_date = "";
@Column(name="modi_date")
private String modiDate = "";
private Integer flag;
public String getCompany() {
......@@ -48,12 +51,12 @@ public abstract class EntityBase {
this.usr_group = usr_group;
}
public String getCreate_date() {
return create_date;
public String getCreateDate() {
return createDate;
}
public void setCreate_date(String create_date) {
this.create_date = create_date;
public void setCreateDate(String createDate) {
this.createDate = createDate;
}
public String getModifier() {
......@@ -64,12 +67,12 @@ public abstract class EntityBase {
this.modifier = modifier;
}
public String getModi_date() {
return modi_date;
public String getModiDate() {
return modiDate;
}
public void setModi_date(String modi_date) {
this.modi_date = modi_date;
public void setModiDate(String modiDate) {
this.modiDate = modiDate;
}
public Integer getFlag() {
......
......@@ -38,7 +38,7 @@ public class EntityChangeListener implements ApplicationContextAware {
String company = getCompany();
entity.setCompany(company);
entity.setCreator(currentActor.getMv001());
entity.setCreate_date(DateUtil.currentDateTimeString());
entity.setCreateDate(DateUtil.currentDateTimeString());
entity.setUsr_group(currentActor.getUsr_group());
entity.setFlag(1);
}
......@@ -55,7 +55,7 @@ public class EntityChangeListener implements ApplicationContextAware {
EntityBase entity = (EntityBase) object;
Cmsmv currentActor = getCurrentActor();
entity.setModifier(currentActor.getMv001());
entity.setModi_date(DateUtil.currentDateTimeString());
entity.setModiDate(DateUtil.currentDateTimeString());
if (entity.getFlag() == null) {
entity.setFlag(1);
} else {
......
......@@ -7,7 +7,9 @@ import com.topsunit.scanservice.ximai.dto.mapper.InvmbMapper;
import com.topsunit.scanservice.ximai.entity.Copma;
import com.topsunit.scanservice.ximai.entity.Invmb;
import com.topsunit.scanservice.ximai.entity.Invml;
import jdk.nashorn.internal.parser.DateParser;
import org.apache.commons.lang.StringUtils;
import org.springframework.data.domain.Page;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.stereotype.Service;
......@@ -16,8 +18,10 @@ import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Predicate;
import javax.persistence.criteria.Root;
import java.math.BigDecimal;
import java.text.DateFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.stream.Collectors;
......@@ -64,19 +68,30 @@ public class InvmbService {
Predicate predicate = criteriaBuilder.like(root.get("mb001"), criteria.getMb001() + "%");
predicates.add(predicate);
}
if (StringUtils.isNotBlank(criteria.getGtCreate_date())) {
Predicate predicate = criteriaBuilder.greaterThan(root.get("create_date"), criteria.getGtCreate_date());
if (StringUtils.isNotBlank(criteria.getMb109())) {
Predicate predicate = criteriaBuilder.like(root.get("mb109"), criteria.getMb109() + "%");
predicates.add(predicate);
}
if (StringUtils.isNotBlank(criteria.getGtModi_date())) {
Predicate predicate = criteriaBuilder.greaterThan(root.get("modi_date"), criteria.getGtModi_date());
if (StringUtils.isNotBlank(criteria.getGtEqCreateDate())) {
Predicate predicate = criteriaBuilder.greaterThanOrEqualTo(root.get("createDate"), criteria.getGtEqCreateDate());
predicates.add(predicate);
}
if (StringUtils.isNotBlank(criteria.getGtEqModiDate())) {
Predicate predicate = criteriaBuilder.greaterThanOrEqualTo(root.get("modiDate"), criteria.getGtEqModiDate());
predicates.add(predicate);
}
return criteriaQuery.where(predicates.toArray(new Predicate[0])).getRestriction();
}
};
List<Invmb> list = invmbDao.findAll(query);
return invmbMapper.toInvmbDtoList(list);
Page<Invmb> list = invmbDao.findAll(query, criteria.toPageable());
List<InvmbDto> rstList = invmbMapper.toInvmbDtoList(list.toList());
List<String> mb001List = rstList.stream().map(s->s.getMb001()).collect(Collectors.toList());
Map<String, List<Invml>> invmlMap = invmlDao.findByMl001InOrderByMl002AscMl003AscMl004Asc(mb001List).stream().collect(Collectors.groupingBy(s->s.getMl001()));
rstList.forEach(i->{
List<Invml> tempList = invmlMap.getOrDefault(i.getMb001(), new ArrayList<Invml>());
i.setInvmls(invmbMapper.toInvmlDto(tempList));
});
return rstList;
}
public List<InvmlDto> getInvmlList(InvmlCriteria criteria) {
......
......@@ -10,6 +10,8 @@ import com.topsunit.scanservice.ximai.entity.Mocta;
import com.topsunit.scanservice.ximai.entity.Moctb;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.stereotype.Service;
......@@ -19,7 +21,9 @@ import javax.persistence.criteria.Predicate;
import javax.persistence.criteria.Root;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.stream.Collectors;
/**
* <p>Title: MoctaService</p>
......@@ -68,19 +72,27 @@ public class MoctaService {
Predicate predicate = criteriaBuilder.equal(root.get("ta001"), criteria.getTa001() );
predicates.add(predicate);
}
if (StringUtils.isNotBlank(criteria.getGtCreate_date())) {
Predicate predicate = criteriaBuilder.greaterThan(root.get("create_date"), criteria.getGtCreate_date());
if (StringUtils.isNotBlank(criteria.getGtEqCreateDate())) {
Predicate predicate = criteriaBuilder.greaterThanOrEqualTo(root.get("createDate"), criteria.getGtEqCreateDate());
predicates.add(predicate);
}
if (StringUtils.isNotBlank(criteria.getGtModi_date())) {
Predicate predicate = criteriaBuilder.greaterThan(root.get("modi_date"), criteria.getGtModi_date());
if (StringUtils.isNotBlank(criteria.getGtEqModiDate())) {
Predicate predicate = criteriaBuilder.greaterThanOrEqualTo(root.get("modiDate"), criteria.getGtEqModiDate());
predicates.add(predicate);
}
return criteriaQuery.where(predicates.toArray(new Predicate[0])).getRestriction();
}
};
List<Mocta> list = moctaDao.findAll(query);
return moctaMapper.toMoctaDtoList(list);
Pageable pageable = criteria.toPageable();
Page<Mocta> list = moctaDao.findAll(query, pageable);
List<MoctaDto> rstList = moctaMapper.toMoctaDtoList(list.toList());
List<String> ta002List = rstList.stream().map(s->s.getTa002()).collect(Collectors.toList());
Map<String,List<Moctb>> moctbMap = moctbDao.findByTb002InOrderByTb003AscTb006Asc(ta002List).stream().collect(Collectors.groupingBy(s->s.getTb001()+s.getTb002()));
rstList.forEach(i->{
List<Moctb> tempList = moctbMap.getOrDefault(i.getTa001() + i.getTa002(), new ArrayList<>());
i.setMoctbDtos(moctaMapper.toMoctbDto(tempList));
});
return rstList;
}
......
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