|
|
@ -1,23 +1,39 @@
|
|
|
|
package jnpf.service.impl;
|
|
|
|
package jnpf.service.impl;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import com.baomidou.dynamic.datasource.annotation.DS;
|
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
|
|
|
|
|
import com.google.common.collect.Lists;
|
|
|
|
import jnpf.entity.*;
|
|
|
|
import jnpf.entity.*;
|
|
|
|
import jnpf.mapper.YysMaterialInformationMapper;
|
|
|
|
import jnpf.mapper.YysMaterialInformationMapper;
|
|
|
|
|
|
|
|
import jnpf.model.yyssupplierclass.SupplierClassSync;
|
|
|
|
import jnpf.service.*;
|
|
|
|
import jnpf.service.*;
|
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
import jnpf.model.yysmaterialinformation.*;
|
|
|
|
import jnpf.model.yysmaterialinformation.*;
|
|
|
|
|
|
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
|
import java.math.BigDecimal;
|
|
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
|
import jnpf.permission.model.authorize.AuthorizeConditionModel;
|
|
|
|
import jnpf.permission.model.authorize.AuthorizeConditionModel;
|
|
|
|
import jnpf.util.GeneraterSwapUtil;
|
|
|
|
import jnpf.util.GeneraterSwapUtil;
|
|
|
|
import jnpf.database.model.superQuery.SuperQueryJsonModel;
|
|
|
|
import jnpf.database.model.superQuery.SuperQueryJsonModel;
|
|
|
|
import jnpf.database.model.superQuery.ConditionJsonModel;
|
|
|
|
import jnpf.database.model.superQuery.ConditionJsonModel;
|
|
|
|
import jnpf.database.model.superQuery.SuperQueryConditionModel;
|
|
|
|
import jnpf.database.model.superQuery.SuperQueryConditionModel;
|
|
|
|
|
|
|
|
|
|
|
|
import java.lang.reflect.Field;
|
|
|
|
import java.lang.reflect.Field;
|
|
|
|
|
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.annotation.TableField;
|
|
|
|
import com.baomidou.mybatisplus.annotation.TableField;
|
|
|
|
|
|
|
|
|
|
|
|
import java.util.regex.Pattern;
|
|
|
|
import java.util.regex.Pattern;
|
|
|
|
|
|
|
|
|
|
|
|
import jnpf.model.QueryModel;
|
|
|
|
import jnpf.model.QueryModel;
|
|
|
|
|
|
|
|
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
|
|
import jnpf.base.model.ColumnDataModel;
|
|
|
|
import jnpf.base.model.ColumnDataModel;
|
|
|
|
|
|
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
|
|
|
|
|
|
import org.springframework.jdbc.core.BeanPropertyRowMapper;
|
|
|
|
|
|
|
|
import org.springframework.jdbc.core.JdbcTemplate;
|
|
|
|
|
|
|
|
import org.springframework.jdbc.core.RowMapper;
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
|
import jnpf.database.model.superQuery.SuperJsonModel;
|
|
|
|
import jnpf.database.model.superQuery.SuperJsonModel;
|
|
|
@ -25,13 +41,17 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
|
|
|
|
|
|
|
|
|
import java.text.SimpleDateFormat;
|
|
|
|
import java.text.SimpleDateFormat;
|
|
|
|
|
|
|
|
|
|
|
|
import jnpf.util.*;
|
|
|
|
import jnpf.util.*;
|
|
|
|
|
|
|
|
|
|
|
|
import java.util.*;
|
|
|
|
import java.util.*;
|
|
|
|
|
|
|
|
|
|
|
|
import jnpf.base.UserInfo;
|
|
|
|
import jnpf.base.UserInfo;
|
|
|
|
import jnpf.permission.entity.UserEntity;
|
|
|
|
import jnpf.permission.entity.UserEntity;
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
*
|
|
|
|
|
|
|
|
* yysMaterialInformation
|
|
|
|
* yysMaterialInformation
|
|
|
|
* 版本: V3.5
|
|
|
|
* 版本: V3.5
|
|
|
|
* 版权: 引迈信息技术有限公司(https://www.jnpfsoft.com)
|
|
|
|
* 版权: 引迈信息技术有限公司(https://www.jnpfsoft.com)
|
|
|
@ -39,103 +59,109 @@ import jnpf.permission.entity.UserEntity;
|
|
|
|
* 日期: 2024-08-08
|
|
|
|
* 日期: 2024-08-08
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
@Service
|
|
|
|
@Service
|
|
|
|
public class YysMaterialInformationServiceImpl extends ServiceImpl<YysMaterialInformationMapper, YysMaterialInformationEntity> implements YysMaterialInformationService{
|
|
|
|
public class YysMaterialInformationServiceImpl extends ServiceImpl<YysMaterialInformationMapper, YysMaterialInformationEntity> implements YysMaterialInformationService {
|
|
|
|
@Autowired
|
|
|
|
@Autowired
|
|
|
|
private GeneraterSwapUtil generaterSwapUtil;
|
|
|
|
private GeneraterSwapUtil generaterSwapUtil;
|
|
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
@Autowired
|
|
|
|
private UserProvider userProvider;
|
|
|
|
private UserProvider userProvider;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
|
|
|
private JdbcTemplate jdbcTemplate;
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public List<YysMaterialInformationEntity> getList(YysMaterialInformationPagination yysMaterialInformationPagination){
|
|
|
|
public List<YysMaterialInformationEntity> getList(YysMaterialInformationPagination yysMaterialInformationPagination) {
|
|
|
|
return getTypeList(yysMaterialInformationPagination,yysMaterialInformationPagination.getDataType());
|
|
|
|
return getTypeList(yysMaterialInformationPagination, yysMaterialInformationPagination.getDataType());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
/** 列表查询 */
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* 列表查询
|
|
|
|
|
|
|
|
*/
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public List<YysMaterialInformationEntity> getTypeList(YysMaterialInformationPagination yysMaterialInformationPagination,String dataType){
|
|
|
|
public List<YysMaterialInformationEntity> getTypeList(YysMaterialInformationPagination yysMaterialInformationPagination, String dataType) {
|
|
|
|
String userId=userProvider.get().getUserId();
|
|
|
|
String userId = userProvider.get().getUserId();
|
|
|
|
List<String> AllIdList =new ArrayList();
|
|
|
|
List<String> AllIdList = new ArrayList();
|
|
|
|
List<List<String>> intersectionList =new ArrayList<>();
|
|
|
|
List<List<String>> intersectionList = new ArrayList<>();
|
|
|
|
boolean isPc = ServletUtil.getHeader("jnpf-origin").equals("pc");
|
|
|
|
boolean isPc = ServletUtil.getHeader("jnpf-origin").equals("pc");
|
|
|
|
String columnData = !isPc ? YysMaterialInformationConstant.getAppColumnData() : YysMaterialInformationConstant.getColumnData();
|
|
|
|
String columnData = !isPc ? YysMaterialInformationConstant.getAppColumnData() : YysMaterialInformationConstant.getColumnData();
|
|
|
|
ColumnDataModel columnDataModel = JsonUtil.getJsonToBean(columnData, ColumnDataModel.class);
|
|
|
|
ColumnDataModel columnDataModel = JsonUtil.getJsonToBean(columnData, ColumnDataModel.class);
|
|
|
|
String ruleJson = !isPc ? JsonUtil.getObjectToString(columnDataModel.getRuleListApp()) : JsonUtil.getObjectToString(columnDataModel.getRuleList());
|
|
|
|
String ruleJson = !isPc ? JsonUtil.getObjectToString(columnDataModel.getRuleListApp()) : JsonUtil.getObjectToString(columnDataModel.getRuleList());
|
|
|
|
|
|
|
|
|
|
|
|
int total=0;
|
|
|
|
int total = 0;
|
|
|
|
int yysMaterialInformationNum =0;
|
|
|
|
int yysMaterialInformationNum = 0;
|
|
|
|
QueryWrapper<YysMaterialInformationEntity> yysMaterialInformationQueryWrapper=new QueryWrapper<>();
|
|
|
|
QueryWrapper<YysMaterialInformationEntity> yysMaterialInformationQueryWrapper = new QueryWrapper<>();
|
|
|
|
List<String> allSuperIDlist = new ArrayList<>();
|
|
|
|
List<String> allSuperIDlist = new ArrayList<>();
|
|
|
|
String superOp ="";
|
|
|
|
String superOp = "";
|
|
|
|
if (ObjectUtil.isNotEmpty(yysMaterialInformationPagination.getSuperQueryJson())){
|
|
|
|
if (ObjectUtil.isNotEmpty(yysMaterialInformationPagination.getSuperQueryJson())) {
|
|
|
|
List<String> allSuperList = new ArrayList<>();
|
|
|
|
List<String> allSuperList = new ArrayList<>();
|
|
|
|
List<List<String>> intersectionSuperList = new ArrayList<>();
|
|
|
|
List<List<String>> intersectionSuperList = new ArrayList<>();
|
|
|
|
String queryJson = yysMaterialInformationPagination.getSuperQueryJson();
|
|
|
|
String queryJson = yysMaterialInformationPagination.getSuperQueryJson();
|
|
|
|
SuperJsonModel superJsonModel = JsonUtil.getJsonToBean(queryJson, SuperJsonModel.class);
|
|
|
|
SuperJsonModel superJsonModel = JsonUtil.getJsonToBean(queryJson, SuperJsonModel.class);
|
|
|
|
int superNum = 0;
|
|
|
|
int superNum = 0;
|
|
|
|
QueryWrapper<YysMaterialInformationEntity> yysMaterialInformationSuperWrapper = new QueryWrapper<>();
|
|
|
|
QueryWrapper<YysMaterialInformationEntity> yysMaterialInformationSuperWrapper = new QueryWrapper<>();
|
|
|
|
yysMaterialInformationSuperWrapper = generaterSwapUtil.getCondition(new QueryModel(yysMaterialInformationSuperWrapper,YysMaterialInformationEntity.class,queryJson,"0"));
|
|
|
|
yysMaterialInformationSuperWrapper = generaterSwapUtil.getCondition(new QueryModel(yysMaterialInformationSuperWrapper, YysMaterialInformationEntity.class, queryJson, "0"));
|
|
|
|
int yysMaterialInformationNum1 = yysMaterialInformationSuperWrapper.getExpression().getNormal().size();
|
|
|
|
int yysMaterialInformationNum1 = yysMaterialInformationSuperWrapper.getExpression().getNormal().size();
|
|
|
|
if (yysMaterialInformationNum1>0){
|
|
|
|
if (yysMaterialInformationNum1 > 0) {
|
|
|
|
List<String> yysMaterialInformationList =this.list(yysMaterialInformationSuperWrapper).stream().map(YysMaterialInformationEntity::getId).collect(Collectors.toList());
|
|
|
|
List<String> yysMaterialInformationList = this.list(yysMaterialInformationSuperWrapper).stream().map(YysMaterialInformationEntity::getId).collect(Collectors.toList());
|
|
|
|
allSuperList.addAll(yysMaterialInformationList);
|
|
|
|
allSuperList.addAll(yysMaterialInformationList);
|
|
|
|
intersectionSuperList.add(yysMaterialInformationList);
|
|
|
|
intersectionSuperList.add(yysMaterialInformationList);
|
|
|
|
superNum++;
|
|
|
|
superNum++;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
superOp = superNum > 0 ? superJsonModel.getMatchLogic() : "";
|
|
|
|
superOp = superNum > 0 ? superJsonModel.getMatchLogic() : "";
|
|
|
|
//and or
|
|
|
|
//and or
|
|
|
|
if(superOp.equalsIgnoreCase("and")){
|
|
|
|
if (superOp.equalsIgnoreCase("and")) {
|
|
|
|
allSuperIDlist = generaterSwapUtil.getIntersection(intersectionSuperList);
|
|
|
|
allSuperIDlist = generaterSwapUtil.getIntersection(intersectionSuperList);
|
|
|
|
}else{
|
|
|
|
} else {
|
|
|
|
allSuperIDlist = allSuperList;
|
|
|
|
allSuperIDlist = allSuperList;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
List<String> allRuleIDlist = new ArrayList<>();
|
|
|
|
List<String> allRuleIDlist = new ArrayList<>();
|
|
|
|
String ruleOp ="";
|
|
|
|
String ruleOp = "";
|
|
|
|
if (ObjectUtil.isNotEmpty(ruleJson)){
|
|
|
|
if (ObjectUtil.isNotEmpty(ruleJson)) {
|
|
|
|
List<String> allRuleList = new ArrayList<>();
|
|
|
|
List<String> allRuleList = new ArrayList<>();
|
|
|
|
List<List<String>> intersectionRuleList = new ArrayList<>();
|
|
|
|
List<List<String>> intersectionRuleList = new ArrayList<>();
|
|
|
|
SuperJsonModel ruleJsonModel = JsonUtil.getJsonToBean(ruleJson, SuperJsonModel.class);
|
|
|
|
SuperJsonModel ruleJsonModel = JsonUtil.getJsonToBean(ruleJson, SuperJsonModel.class);
|
|
|
|
int ruleNum = 0;
|
|
|
|
int ruleNum = 0;
|
|
|
|
QueryWrapper<YysMaterialInformationEntity> yysMaterialInformationSuperWrapper = new QueryWrapper<>();
|
|
|
|
QueryWrapper<YysMaterialInformationEntity> yysMaterialInformationSuperWrapper = new QueryWrapper<>();
|
|
|
|
yysMaterialInformationSuperWrapper = generaterSwapUtil.getCondition(new QueryModel(yysMaterialInformationSuperWrapper,YysMaterialInformationEntity.class,ruleJson,"0"));
|
|
|
|
yysMaterialInformationSuperWrapper = generaterSwapUtil.getCondition(new QueryModel(yysMaterialInformationSuperWrapper, YysMaterialInformationEntity.class, ruleJson, "0"));
|
|
|
|
int yysMaterialInformationNum1 = yysMaterialInformationSuperWrapper.getExpression().getNormal().size();
|
|
|
|
int yysMaterialInformationNum1 = yysMaterialInformationSuperWrapper.getExpression().getNormal().size();
|
|
|
|
if (yysMaterialInformationNum1>0){
|
|
|
|
if (yysMaterialInformationNum1 > 0) {
|
|
|
|
List<String> yysMaterialInformationList =this.list(yysMaterialInformationSuperWrapper).stream().map(YysMaterialInformationEntity::getId).collect(Collectors.toList());
|
|
|
|
List<String> yysMaterialInformationList = this.list(yysMaterialInformationSuperWrapper).stream().map(YysMaterialInformationEntity::getId).collect(Collectors.toList());
|
|
|
|
allRuleList.addAll(yysMaterialInformationList);
|
|
|
|
allRuleList.addAll(yysMaterialInformationList);
|
|
|
|
intersectionRuleList.add(yysMaterialInformationList);
|
|
|
|
intersectionRuleList.add(yysMaterialInformationList);
|
|
|
|
ruleNum++;
|
|
|
|
ruleNum++;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
ruleOp = ruleNum > 0 ? ruleJsonModel.getMatchLogic() : "";
|
|
|
|
ruleOp = ruleNum > 0 ? ruleJsonModel.getMatchLogic() : "";
|
|
|
|
//and or
|
|
|
|
//and or
|
|
|
|
if(ruleOp.equalsIgnoreCase("and")){
|
|
|
|
if (ruleOp.equalsIgnoreCase("and")) {
|
|
|
|
allRuleIDlist = generaterSwapUtil.getIntersection(intersectionRuleList);
|
|
|
|
allRuleIDlist = generaterSwapUtil.getIntersection(intersectionRuleList);
|
|
|
|
}else{
|
|
|
|
} else {
|
|
|
|
allRuleIDlist = allRuleList;
|
|
|
|
allRuleIDlist = allRuleList;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
boolean pcPermission = false;
|
|
|
|
boolean pcPermission = false;
|
|
|
|
boolean appPermission = false;
|
|
|
|
boolean appPermission = false;
|
|
|
|
if(isPc && pcPermission){
|
|
|
|
if (isPc && pcPermission) {
|
|
|
|
if (!userProvider.get().getIsAdministrator()){
|
|
|
|
if (!userProvider.get().getIsAdministrator()) {
|
|
|
|
Object yysMaterialInformationObj=generaterSwapUtil.getAuthorizeCondition(new QueryModel(yysMaterialInformationQueryWrapper,YysMaterialInformationEntity.class,yysMaterialInformationPagination.getMenuId(),"0"));
|
|
|
|
Object yysMaterialInformationObj = generaterSwapUtil.getAuthorizeCondition(new QueryModel(yysMaterialInformationQueryWrapper, YysMaterialInformationEntity.class, yysMaterialInformationPagination.getMenuId(), "0"));
|
|
|
|
if (ObjectUtil.isEmpty(yysMaterialInformationObj)){
|
|
|
|
if (ObjectUtil.isEmpty(yysMaterialInformationObj)) {
|
|
|
|
return new ArrayList<>();
|
|
|
|
return new ArrayList<>();
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
yysMaterialInformationQueryWrapper = (QueryWrapper<YysMaterialInformationEntity>)yysMaterialInformationObj;
|
|
|
|
yysMaterialInformationQueryWrapper = (QueryWrapper<YysMaterialInformationEntity>) yysMaterialInformationObj;
|
|
|
|
if( yysMaterialInformationQueryWrapper.getExpression().getNormal().size()>0){
|
|
|
|
if (yysMaterialInformationQueryWrapper.getExpression().getNormal().size() > 0) {
|
|
|
|
yysMaterialInformationNum++;
|
|
|
|
yysMaterialInformationNum++;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if(!isPc && appPermission){
|
|
|
|
if (!isPc && appPermission) {
|
|
|
|
if (!userProvider.get().getIsAdministrator()){
|
|
|
|
if (!userProvider.get().getIsAdministrator()) {
|
|
|
|
Object yysMaterialInformationObj=generaterSwapUtil.getAuthorizeCondition(new QueryModel(yysMaterialInformationQueryWrapper,YysMaterialInformationEntity.class,yysMaterialInformationPagination.getMenuId(),"0"));
|
|
|
|
Object yysMaterialInformationObj = generaterSwapUtil.getAuthorizeCondition(new QueryModel(yysMaterialInformationQueryWrapper, YysMaterialInformationEntity.class, yysMaterialInformationPagination.getMenuId(), "0"));
|
|
|
|
if (ObjectUtil.isEmpty(yysMaterialInformationObj)){
|
|
|
|
if (ObjectUtil.isEmpty(yysMaterialInformationObj)) {
|
|
|
|
return new ArrayList<>();
|
|
|
|
return new ArrayList<>();
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
yysMaterialInformationQueryWrapper = (QueryWrapper<YysMaterialInformationEntity>)yysMaterialInformationObj;
|
|
|
|
yysMaterialInformationQueryWrapper = (QueryWrapper<YysMaterialInformationEntity>) yysMaterialInformationObj;
|
|
|
|
if( yysMaterialInformationQueryWrapper.getExpression().getNormal().size()>0){
|
|
|
|
if (yysMaterialInformationQueryWrapper.getExpression().getNormal().size() > 0) {
|
|
|
|
yysMaterialInformationNum++;
|
|
|
|
yysMaterialInformationNum++;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -143,155 +169,202 @@ public class YysMaterialInformationServiceImpl extends ServiceImpl<YysMaterialIn
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if(isPc){
|
|
|
|
if (isPc) {
|
|
|
|
if(ObjectUtil.isNotEmpty(yysMaterialInformationPagination.getMaterialId())){
|
|
|
|
if (ObjectUtil.isNotEmpty(yysMaterialInformationPagination.getMaterialId())) {
|
|
|
|
yysMaterialInformationNum++;
|
|
|
|
yysMaterialInformationNum++;
|
|
|
|
|
|
|
|
|
|
|
|
String value = yysMaterialInformationPagination.getMaterialId() instanceof List ?
|
|
|
|
String value = yysMaterialInformationPagination.getMaterialId() instanceof List ?
|
|
|
|
JsonUtil.getObjectToString(yysMaterialInformationPagination.getMaterialId()) :
|
|
|
|
JsonUtil.getObjectToString(yysMaterialInformationPagination.getMaterialId()) :
|
|
|
|
String.valueOf(yysMaterialInformationPagination.getMaterialId());
|
|
|
|
String.valueOf(yysMaterialInformationPagination.getMaterialId());
|
|
|
|
yysMaterialInformationQueryWrapper.lambda().like(YysMaterialInformationEntity::getMaterialId,value);
|
|
|
|
yysMaterialInformationQueryWrapper.lambda().like(YysMaterialInformationEntity::getMaterialId, value);
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if(ObjectUtil.isNotEmpty(yysMaterialInformationPagination.getMaterialName())){
|
|
|
|
if (ObjectUtil.isNotEmpty(yysMaterialInformationPagination.getMaterialName())) {
|
|
|
|
yysMaterialInformationNum++;
|
|
|
|
yysMaterialInformationNum++;
|
|
|
|
|
|
|
|
|
|
|
|
String value = yysMaterialInformationPagination.getMaterialName() instanceof List ?
|
|
|
|
String value = yysMaterialInformationPagination.getMaterialName() instanceof List ?
|
|
|
|
JsonUtil.getObjectToString(yysMaterialInformationPagination.getMaterialName()) :
|
|
|
|
JsonUtil.getObjectToString(yysMaterialInformationPagination.getMaterialName()) :
|
|
|
|
String.valueOf(yysMaterialInformationPagination.getMaterialName());
|
|
|
|
String.valueOf(yysMaterialInformationPagination.getMaterialName());
|
|
|
|
yysMaterialInformationQueryWrapper.lambda().like(YysMaterialInformationEntity::getMaterialName,value);
|
|
|
|
yysMaterialInformationQueryWrapper.lambda().like(YysMaterialInformationEntity::getMaterialName, value);
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if(ObjectUtil.isNotEmpty(yysMaterialInformationPagination.getMaterialClassification())){
|
|
|
|
if (ObjectUtil.isNotEmpty(yysMaterialInformationPagination.getMaterialClassification())) {
|
|
|
|
yysMaterialInformationNum++;
|
|
|
|
yysMaterialInformationNum++;
|
|
|
|
|
|
|
|
|
|
|
|
String value = yysMaterialInformationPagination.getMaterialClassification() instanceof List ?
|
|
|
|
String value = yysMaterialInformationPagination.getMaterialClassification() instanceof List ?
|
|
|
|
JsonUtil.getObjectToString(yysMaterialInformationPagination.getMaterialClassification()) :
|
|
|
|
JsonUtil.getObjectToString(yysMaterialInformationPagination.getMaterialClassification()) :
|
|
|
|
String.valueOf(yysMaterialInformationPagination.getMaterialClassification());
|
|
|
|
String.valueOf(yysMaterialInformationPagination.getMaterialClassification());
|
|
|
|
yysMaterialInformationQueryWrapper.lambda().like(YysMaterialInformationEntity::getMaterialClassification,value);
|
|
|
|
yysMaterialInformationQueryWrapper.lambda().like(YysMaterialInformationEntity::getMaterialClassification, value);
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if(ObjectUtil.isNotEmpty(yysMaterialInformationPagination.getEnableStatus())){
|
|
|
|
if (ObjectUtil.isNotEmpty(yysMaterialInformationPagination.getEnableStatus())) {
|
|
|
|
yysMaterialInformationNum++;
|
|
|
|
yysMaterialInformationNum++;
|
|
|
|
|
|
|
|
|
|
|
|
String value = yysMaterialInformationPagination.getEnableStatus() instanceof List ?
|
|
|
|
String value = yysMaterialInformationPagination.getEnableStatus() instanceof List ?
|
|
|
|
JsonUtil.getObjectToString(yysMaterialInformationPagination.getEnableStatus()) :
|
|
|
|
JsonUtil.getObjectToString(yysMaterialInformationPagination.getEnableStatus()) :
|
|
|
|
String.valueOf(yysMaterialInformationPagination.getEnableStatus());
|
|
|
|
String.valueOf(yysMaterialInformationPagination.getEnableStatus());
|
|
|
|
yysMaterialInformationQueryWrapper.lambda().like(YysMaterialInformationEntity::getEnableStatus,value);
|
|
|
|
yysMaterialInformationQueryWrapper.lambda().like(YysMaterialInformationEntity::getEnableStatus, value);
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
List<String> intersection = generaterSwapUtil.getIntersection(intersectionList);
|
|
|
|
List<String> intersection = generaterSwapUtil.getIntersection(intersectionList);
|
|
|
|
if (total>0){
|
|
|
|
if (total > 0) {
|
|
|
|
if (intersection.size()==0){
|
|
|
|
if (intersection.size() == 0) {
|
|
|
|
intersection.add("jnpfNullList");
|
|
|
|
intersection.add("jnpfNullList");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
yysMaterialInformationQueryWrapper.lambda().in(YysMaterialInformationEntity::getId, intersection);
|
|
|
|
yysMaterialInformationQueryWrapper.lambda().in(YysMaterialInformationEntity::getId, intersection);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//是否有高级查询
|
|
|
|
//是否有高级查询
|
|
|
|
if (StringUtil.isNotEmpty(superOp)){
|
|
|
|
if (StringUtil.isNotEmpty(superOp)) {
|
|
|
|
if (allSuperIDlist.size()==0){
|
|
|
|
if (allSuperIDlist.size() == 0) {
|
|
|
|
allSuperIDlist.add("jnpfNullList");
|
|
|
|
allSuperIDlist.add("jnpfNullList");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
List<String> finalAllSuperIDlist = allSuperIDlist;
|
|
|
|
List<String> finalAllSuperIDlist = allSuperIDlist;
|
|
|
|
yysMaterialInformationQueryWrapper.lambda().and(t->t.in(YysMaterialInformationEntity::getId, finalAllSuperIDlist));
|
|
|
|
yysMaterialInformationQueryWrapper.lambda().and(t -> t.in(YysMaterialInformationEntity::getId, finalAllSuperIDlist));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//是否有数据过滤查询
|
|
|
|
//是否有数据过滤查询
|
|
|
|
if (StringUtil.isNotEmpty(ruleOp)){
|
|
|
|
if (StringUtil.isNotEmpty(ruleOp)) {
|
|
|
|
if (allRuleIDlist.size()==0){
|
|
|
|
if (allRuleIDlist.size() == 0) {
|
|
|
|
allRuleIDlist.add("jnpfNullList");
|
|
|
|
allRuleIDlist.add("jnpfNullList");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
List<String> finalAllRuleIDlist = allRuleIDlist;
|
|
|
|
List<String> finalAllRuleIDlist = allRuleIDlist;
|
|
|
|
yysMaterialInformationQueryWrapper.lambda().and(t->t.in(YysMaterialInformationEntity::getId, finalAllRuleIDlist));
|
|
|
|
yysMaterialInformationQueryWrapper.lambda().and(t -> t.in(YysMaterialInformationEntity::getId, finalAllRuleIDlist));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//排序
|
|
|
|
//排序
|
|
|
|
if(StringUtil.isEmpty(yysMaterialInformationPagination.getSidx())){
|
|
|
|
if (StringUtil.isEmpty(yysMaterialInformationPagination.getSidx())) {
|
|
|
|
yysMaterialInformationQueryWrapper.lambda().orderByDesc(YysMaterialInformationEntity::getId);
|
|
|
|
yysMaterialInformationQueryWrapper.lambda().orderByDesc(YysMaterialInformationEntity::getId);
|
|
|
|
}else{
|
|
|
|
} else {
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
String sidx = yysMaterialInformationPagination.getSidx();
|
|
|
|
String sidx = yysMaterialInformationPagination.getSidx();
|
|
|
|
String[] strs= sidx.split("_name");
|
|
|
|
String[] strs = sidx.split("_name");
|
|
|
|
YysMaterialInformationEntity yysMaterialInformationEntity = new YysMaterialInformationEntity();
|
|
|
|
YysMaterialInformationEntity yysMaterialInformationEntity = new YysMaterialInformationEntity();
|
|
|
|
Field declaredField = yysMaterialInformationEntity.getClass().getDeclaredField(strs[0]);
|
|
|
|
Field declaredField = yysMaterialInformationEntity.getClass().getDeclaredField(strs[0]);
|
|
|
|
declaredField.setAccessible(true);
|
|
|
|
declaredField.setAccessible(true);
|
|
|
|
String value = declaredField.getAnnotation(TableField.class).value();
|
|
|
|
String value = declaredField.getAnnotation(TableField.class).value();
|
|
|
|
yysMaterialInformationQueryWrapper="asc".equals(yysMaterialInformationPagination.getSort().toLowerCase())?yysMaterialInformationQueryWrapper.orderByAsc(value):yysMaterialInformationQueryWrapper.orderByDesc(value);
|
|
|
|
yysMaterialInformationQueryWrapper = "asc".equals(yysMaterialInformationPagination.getSort().toLowerCase()) ? yysMaterialInformationQueryWrapper.orderByAsc(value) : yysMaterialInformationQueryWrapper.orderByDesc(value);
|
|
|
|
} catch (NoSuchFieldException e) {
|
|
|
|
} catch (NoSuchFieldException e) {
|
|
|
|
e.printStackTrace();
|
|
|
|
e.printStackTrace();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if("0".equals(dataType)){
|
|
|
|
if ("0".equals(dataType)) {
|
|
|
|
if((total>0 && AllIdList.size()>0) || total==0){
|
|
|
|
if ((total > 0 && AllIdList.size() > 0) || total == 0) {
|
|
|
|
Page<YysMaterialInformationEntity> page=new Page<>(yysMaterialInformationPagination.getCurrentPage(), yysMaterialInformationPagination.getPageSize());
|
|
|
|
Page<YysMaterialInformationEntity> page = new Page<>(yysMaterialInformationPagination.getCurrentPage(), yysMaterialInformationPagination.getPageSize());
|
|
|
|
IPage<YysMaterialInformationEntity> userIPage=this.page(page, yysMaterialInformationQueryWrapper);
|
|
|
|
IPage<YysMaterialInformationEntity> userIPage = this.page(page, yysMaterialInformationQueryWrapper);
|
|
|
|
return yysMaterialInformationPagination.setData(userIPage.getRecords(),userIPage.getTotal());
|
|
|
|
return yysMaterialInformationPagination.setData(userIPage.getRecords(), userIPage.getTotal());
|
|
|
|
}else{
|
|
|
|
} else {
|
|
|
|
List<YysMaterialInformationEntity> list = new ArrayList();
|
|
|
|
List<YysMaterialInformationEntity> list = new ArrayList();
|
|
|
|
return yysMaterialInformationPagination.setData(list, list.size());
|
|
|
|
return yysMaterialInformationPagination.setData(list, list.size());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}else{
|
|
|
|
} else {
|
|
|
|
return this.list(yysMaterialInformationQueryWrapper);
|
|
|
|
return this.list(yysMaterialInformationQueryWrapper);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public YysMaterialInformationEntity getInfo(String id){
|
|
|
|
public YysMaterialInformationEntity getInfo(String id) {
|
|
|
|
QueryWrapper<YysMaterialInformationEntity> queryWrapper=new QueryWrapper<>();
|
|
|
|
QueryWrapper<YysMaterialInformationEntity> queryWrapper = new QueryWrapper<>();
|
|
|
|
queryWrapper.lambda().eq(YysMaterialInformationEntity::getId,id);
|
|
|
|
queryWrapper.lambda().eq(YysMaterialInformationEntity::getId, id);
|
|
|
|
return this.getOne(queryWrapper);
|
|
|
|
return this.getOne(queryWrapper);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public void create(YysMaterialInformationEntity entity){
|
|
|
|
public void create(YysMaterialInformationEntity entity) {
|
|
|
|
this.save(entity);
|
|
|
|
this.save(entity);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public boolean update(String id, YysMaterialInformationEntity entity){
|
|
|
|
public boolean update(String id, YysMaterialInformationEntity entity) {
|
|
|
|
return this.updateById(entity);
|
|
|
|
return this.updateById(entity);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public void delete(YysMaterialInformationEntity entity){
|
|
|
|
public void delete(YysMaterialInformationEntity entity) {
|
|
|
|
if(entity!=null){
|
|
|
|
if (entity != null) {
|
|
|
|
this.removeById(entity.getId());
|
|
|
|
this.removeById(entity.getId());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
/** 验证表单唯一字段,正则,非空 i-0新增-1修改*/
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* 验证表单唯一字段,正则,非空 i-0新增-1修改
|
|
|
|
|
|
|
|
*/
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public String checkForm(YysMaterialInformationForm form,int i) {
|
|
|
|
public String checkForm(YysMaterialInformationForm form, int i) {
|
|
|
|
boolean isUp =StringUtil.isNotEmpty(form.getId()) && !form.getId().equals("0");
|
|
|
|
boolean isUp = StringUtil.isNotEmpty(form.getId()) && !form.getId().equals("0");
|
|
|
|
String id="";
|
|
|
|
String id = "";
|
|
|
|
String countRecover = "";
|
|
|
|
String countRecover = "";
|
|
|
|
if (isUp){
|
|
|
|
if (isUp) {
|
|
|
|
id = form.getId();
|
|
|
|
id = form.getId();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//主表字段验证
|
|
|
|
//主表字段验证
|
|
|
|
return countRecover;
|
|
|
|
return countRecover;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* 新增修改数据(事务回滚)
|
|
|
|
* 新增修改数据(事务回滚)
|
|
|
|
|
|
|
|
*
|
|
|
|
* @param id
|
|
|
|
* @param id
|
|
|
|
* @param yysMaterialInformationForm
|
|
|
|
* @param yysMaterialInformationForm
|
|
|
|
* @return
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
@Transactional
|
|
|
|
@Transactional
|
|
|
|
public void saveOrUpdate(YysMaterialInformationForm yysMaterialInformationForm,String id, boolean isSave) throws Exception{
|
|
|
|
public void saveOrUpdate(YysMaterialInformationForm yysMaterialInformationForm, String id, boolean isSave) throws Exception {
|
|
|
|
UserInfo userInfo=userProvider.get();
|
|
|
|
UserInfo userInfo = userProvider.get();
|
|
|
|
UserEntity userEntity = generaterSwapUtil.getUser(userInfo.getUserId());
|
|
|
|
UserEntity userEntity = generaterSwapUtil.getUser(userInfo.getUserId());
|
|
|
|
yysMaterialInformationForm = JsonUtil.getJsonToBean(
|
|
|
|
yysMaterialInformationForm = JsonUtil.getJsonToBean(
|
|
|
|
generaterSwapUtil.swapDatetime(YysMaterialInformationConstant.getFormData(),yysMaterialInformationForm),YysMaterialInformationForm.class);
|
|
|
|
generaterSwapUtil.swapDatetime(YysMaterialInformationConstant.getFormData(), yysMaterialInformationForm), YysMaterialInformationForm.class);
|
|
|
|
YysMaterialInformationEntity entity = JsonUtil.getJsonToBean(yysMaterialInformationForm, YysMaterialInformationEntity.class);
|
|
|
|
YysMaterialInformationEntity entity = JsonUtil.getJsonToBean(yysMaterialInformationForm, YysMaterialInformationEntity.class);
|
|
|
|
|
|
|
|
|
|
|
|
if(isSave){
|
|
|
|
if (isSave) {
|
|
|
|
String mainId = RandomUtil.uuId() ;
|
|
|
|
String mainId = RandomUtil.uuId();
|
|
|
|
entity.setId(mainId);
|
|
|
|
entity.setId(mainId);
|
|
|
|
}else{
|
|
|
|
} else {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
this.saveOrUpdate(entity);
|
|
|
|
this.saveOrUpdate(entity);
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
|
|
|
@DS("slave_2")
|
|
|
|
|
|
|
|
public String syncMaterialInfo() {
|
|
|
|
|
|
|
|
RowMapper<MaterialInformationSync> rowMapper = new BeanPropertyRowMapper<>(MaterialInformationSync.class);
|
|
|
|
|
|
|
|
String sql = "select * from dbo.Inventory";
|
|
|
|
|
|
|
|
List<MaterialInformationSync> query = this.jdbcTemplate.query(sql, rowMapper);
|
|
|
|
|
|
|
|
if (org.apache.commons.collections4.CollectionUtils.isEmpty(query)) {
|
|
|
|
|
|
|
|
return "远程物料信息为空";
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
//过滤出同步过的
|
|
|
|
|
|
|
|
List<String> list = this.list(new LambdaQueryWrapper<>(YysMaterialInformationEntity.class).isNull(YysMaterialInformationEntity::getDeleteMark))
|
|
|
|
|
|
|
|
.stream().map(YysMaterialInformationEntity::getMaterialId).collect(Collectors.toList());
|
|
|
|
|
|
|
|
List<YysMaterialInformationEntity> result = Lists.newArrayList();
|
|
|
|
|
|
|
|
for (MaterialInformationSync sync : query) {
|
|
|
|
|
|
|
|
if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(list) && list.contains(sync.getCInvCode())) {
|
|
|
|
|
|
|
|
continue;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
YysMaterialInformationEntity entity = new YysMaterialInformationEntity();
|
|
|
|
|
|
|
|
String mainId = RandomUtil.uuId();
|
|
|
|
|
|
|
|
entity.setId(mainId);
|
|
|
|
|
|
|
|
entity.setMaterialId(sync.getCInvCode());
|
|
|
|
|
|
|
|
entity.setMaterialName(sync.getCInvName());
|
|
|
|
|
|
|
|
entity.setMaterialClassification(sync.getCInvCCode());
|
|
|
|
|
|
|
|
entity.setMaterialSname(sync.getCInvAddCode());
|
|
|
|
|
|
|
|
entity.setSafetyStock(sync.getISafeNum());
|
|
|
|
|
|
|
|
entity.setEnableStatus("1");
|
|
|
|
|
|
|
|
result.add(entity);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (CollectionUtils.isEmpty(result)) {
|
|
|
|
|
|
|
|
return "没有需要同步的数据";
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
boolean b = this.saveBatch(result);
|
|
|
|
|
|
|
|
if (b) {
|
|
|
|
|
|
|
|
return "同步成功";
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return "同步失败";
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|