Browse Source

修改采购退货数据

master
赵雪冰 2 years ago
parent
commit
770fb4cb7c
  1. 122
      win-framework/win-spring-boot-starter-mybatis/src/main/java/com/win/framework/mybatis/core/util/QueryWrapperUtils.java
  2. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRecord/PurchasereceiptRecordDetailServiceImpl.java

122
win-framework/win-spring-boot-starter-mybatis/src/main/java/com/win/framework/mybatis/core/util/QueryWrapperUtils.java

@ -9,6 +9,7 @@ import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.util.Arrays;
import java.util.List;
/**
* QueryWrapper工具类
@ -31,56 +32,81 @@ public class QueryWrapperUtils {
if(column == null || column.isEmpty() || condition.getValue() == null || condition.getValue().isEmpty() || condition.getAction() == null || condition.getAction().isEmpty()) {
continue;
}
column = CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, column);
switch (condition.getAction()) {
case "==" :
queryWrapper.eq(column, condition.getValue());
break;
case "!=" :
queryWrapper.ne(column, condition.getValue());
break;
case ">" :
queryWrapper.gt(column, condition.getValue());
break;
case "<" :
queryWrapper.lt(column, condition.getValue());
break;
case ">=" :
queryWrapper.ge(column, condition.getValue());
break;
case "<=" :
queryWrapper.le(column, condition.getValue());
break;
case "like" :
queryWrapper.like(column, condition.getValue());
break;
case "in" :
String[] strs = condition.getValue().split(",");
queryWrapper.in(column, Arrays.asList(strs));
break;
case "notin" :
strs = condition.getValue().split(",");
queryWrapper.notIn(column, Arrays.asList(strs));
break;
case "betweeen" :
strs = condition.getValue().split(",");
if(strs.length != 2) {
break;
}
LocalDateTime localDateTime1 = Instant.ofEpochMilli(Long.parseLong(strs[0])).atZone(ZoneOffset.ofHours(8)).toLocalDateTime();
LocalDateTime localDateTime2 = Instant.ofEpochMilli(Long.parseLong(strs[1])).atZone(ZoneOffset.ofHours(8)).toLocalDateTime();
queryWrapper.between(column, localDateTime1, localDateTime2);
break;
case "isNull" :
queryWrapper.isNull(column);
break;
case "isNotNull" :
queryWrapper.isNotNull(column);
break;
default:
break;
dealCondition(queryWrapper, condition, column);
}
return queryWrapper;
}
public static <T> QueryWrapper<T> structureFilter(CustomConditions customConditions, List<String> excludeConditions) {
QueryWrapper<T> queryWrapper = new QueryWrapper<>();
if(CollectionUtils.isAnyEmpty(customConditions.getFilters())) {
return queryWrapper;
}
for(CustomConditions.Condition condition : customConditions.getFilters()) {
String column = condition.getColumn();
if(column == null || column.isEmpty() || condition.getValue() == null || condition.getValue().isEmpty() || condition.getAction() == null || condition.getAction().isEmpty()) {
continue;
}
if(excludeConditions != null && excludeConditions.size() > 0){
if(excludeConditions.contains(column)){
continue;
}
}
dealCondition(queryWrapper, condition, column);
}
return queryWrapper;
}
private static <T> void dealCondition(QueryWrapper<T> queryWrapper, CustomConditions.Condition condition, String column) {
column = CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, column);
switch (condition.getAction()) {
case "==" :
queryWrapper.eq(column, condition.getValue());
break;
case "!=" :
queryWrapper.ne(column, condition.getValue());
break;
case ">" :
queryWrapper.gt(column, condition.getValue());
break;
case "<" :
queryWrapper.lt(column, condition.getValue());
break;
case ">=" :
queryWrapper.ge(column, condition.getValue());
break;
case "<=" :
queryWrapper.le(column, condition.getValue());
break;
case "like" :
queryWrapper.like(column, condition.getValue());
break;
case "in" :
String[] strs = condition.getValue().split(",");
queryWrapper.in(column, Arrays.asList(strs));
break;
case "notin" :
strs = condition.getValue().split(",");
queryWrapper.notIn(column, Arrays.asList(strs));
break;
case "betweeen" :
strs = condition.getValue().split(",");
if(strs.length != 2) {
break;
}
LocalDateTime localDateTime1 = Instant.ofEpochMilli(Long.parseLong(strs[0])).atZone(ZoneOffset.ofHours(8)).toLocalDateTime();
LocalDateTime localDateTime2 = Instant.ofEpochMilli(Long.parseLong(strs[1])).atZone(ZoneOffset.ofHours(8)).toLocalDateTime();
queryWrapper.between(column, localDateTime1, localDateTime2);
break;
case "isNull" :
queryWrapper.isNull(column);
break;
case "isNotNull" :
queryWrapper.isNotNull(column);
break;
default:
break;
}
}
}

4
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRecord/PurchasereceiptRecordDetailServiceImpl.java

@ -121,10 +121,12 @@ public class PurchasereceiptRecordDetailServiceImpl implements PurchasereceiptRe
@Override
public PageResult<PurchasereceiptRecordDetailDO> getPurchasereceiptRecordDetailSeniorBySupplierCode(CustomConditions conditions) {
String supplierCode = "";
List<String> filterList = new ArrayList<>();
for(CustomConditions.Condition condition : conditions.getFilters()) {
String column = condition.getColumn();
if("supplierCode".equals(column)){
supplierCode = condition.getValue();
filterList.add("supplierCode");
}
}
List<String> supplierItemCodeList = new ArrayList<>();
@ -138,7 +140,7 @@ public class PurchasereceiptRecordDetailServiceImpl implements PurchasereceiptRe
supplierItemCodeList.addAll(itemCodeList);
}
}
QueryWrapper<PurchasereceiptRecordDetailDO> queryWrapper = QueryWrapperUtils.structure(conditions);
QueryWrapper<PurchasereceiptRecordDetailDO> queryWrapper = QueryWrapperUtils.structureFilter(conditions,filterList);
if(!CollectionUtils.isEmpty(supplierItemCodeList)){
queryWrapper.in("item_code",supplierItemCodeList);
}

Loading…
Cancel
Save