分阶段实施详情-文档库导入支持分阶段详情,文档库、虚拟清单检索实施时间修改,虚拟清单列表处理分阶段实施日期。
This commit is contained in:
+436
-308
@@ -33,6 +33,7 @@ import com.jero.modules.document.entity.BussDocumentLibraryEO;
|
||||
import com.jero.modules.document.entity.OSSFileForDocumentLibrary;
|
||||
import com.jero.modules.document.entity.PhasedImplementationDetailsEO;
|
||||
import com.jero.modules.document.enums.FieldTypeEnum;
|
||||
import com.jero.modules.document.enums.ImplementationTypeEnum;
|
||||
import com.jero.modules.document.enums.LawsStateEnum;
|
||||
import com.jero.modules.document.enums.SearchEnum;
|
||||
import com.jero.modules.document.mapper.BussDocumentLibraryEOMapper;
|
||||
@@ -794,6 +795,12 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
areaName = onlCgformAreaTemp.getEnName();
|
||||
}
|
||||
List<OnlCgformField> fieldListTemp = fieldList.stream().filter(e -> onlCgformAreaTemp.getId().equals(e.getShowArea())).collect(Collectors.toList());
|
||||
OnlCgformField phasedOnlCgformField = new OnlCgformField();
|
||||
phasedOnlCgformField.setId(UUID.randomUUID().toString().replace("-", ""));
|
||||
phasedOnlCgformField.setDbFieldTxt("分阶段实施详情");
|
||||
phasedOnlCgformField.setDbFieldEnName("Details of the phased implementation");
|
||||
phasedOnlCgformField.setDbFieldName("phasedImplDetails");
|
||||
fieldListTemp.add(phasedOnlCgformField);
|
||||
for (OnlCgformField onlCgformField : fieldListTemp) {
|
||||
String dictId = onlCgformField.getDictId();
|
||||
List<SysCategoryTreeVO> sysCategoryTreeVOList = new ArrayList<>();
|
||||
@@ -4233,12 +4240,36 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
conditionSb.append(" and (" + key + " in(" + substring + ")" + condition.toString());
|
||||
|
||||
} else if (FieldTypeEnum.DATE_SINGLE.getValue().equals(fieldType)) {
|
||||
//日期(区分单日期还时间范围)
|
||||
if (value.contains(",")) {
|
||||
conditionSb.append(" and " + "date_format(" + key + ",'%Y-%m-%d') >= '" + value.split(",")[0] + "'"
|
||||
+ " and " + "date_format(" + key + ",'%Y-%m-%d') <= '" + value.split(",")[1] + "'");
|
||||
} else {
|
||||
conditionSb.append(" and " + "date_format(" + key + ",'%Y-%m-%d') = '" + value + "'");
|
||||
// 如果是查询实施日期,需要单独处理一下,刚加的分阶段实施详情需求
|
||||
if(StringUtils.equals("xin1_che1_xing2_shi2_shi1_ri4_qi1",key) || StringUtils.equals("implement_time",key)){
|
||||
//日期(区分单日期还时间范围)
|
||||
if (value.contains(",")) {
|
||||
conditionSb.append(" and (");
|
||||
conditionSb.append(" (");
|
||||
conditionSb.append("date_format(" + key + ",'%Y-%m-%d') >= '" + value.split(",")[0] + "'"
|
||||
+ " and " + "date_format(" + key + ",'%Y-%m-%d') <= '" + value.split(",")[1] + "'");
|
||||
conditionSb.append(" )");
|
||||
conditionSb.append(" or id in (");
|
||||
conditionSb.append("select buss_document_library_id from phased_implementation_details");
|
||||
conditionSb.append(" where implementation_date >= '" + value.split(",")[0] + "' and implementation_date <= '" + value.split(",")[1] + "'");
|
||||
if(StringUtils.equals("xin1_che1_xing2_shi2_shi1_ri4_qi1",key)){
|
||||
conditionSb.append(" and implementation_type like concat(concat('%','" + ImplementationTypeEnum.NEW_CAR_MODEL.getItemValue() + "'),'%')");
|
||||
}else if(StringUtils.equals("implement_time",key)){
|
||||
conditionSb.append(" and implementation_type like concat(concat('%','" + ImplementationTypeEnum.CAR_IN_PRODUCTION.getItemValue() + "'),'%')");
|
||||
}
|
||||
conditionSb.append(" )");
|
||||
conditionSb.append(" )");
|
||||
} else {
|
||||
conditionSb.append(" and " + "date_format(" + key + ",'%Y-%m-%d') = '" + value + "'");
|
||||
}
|
||||
}else {
|
||||
//日期(区分单日期还时间范围)
|
||||
if (value.contains(",")) {
|
||||
conditionSb.append(" and " + "date_format(" + key + ",'%Y-%m-%d') >= '" + value.split(",")[0] + "'"
|
||||
+ " and " + "date_format(" + key + ",'%Y-%m-%d') <= '" + value.split(",")[1] + "'");
|
||||
} else {
|
||||
conditionSb.append(" and " + "date_format(" + key + ",'%Y-%m-%d') = '" + value + "'");
|
||||
}
|
||||
}
|
||||
} else if (FieldTypeEnum.PERSON.getValue().equals(fieldType)) {
|
||||
//输入框 LIKE CONCAT("%", '/%', "%") ESCAPE '/'
|
||||
@@ -5209,6 +5240,14 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
sbTwo.append(count++ + "." + tree);
|
||||
}
|
||||
}
|
||||
//
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
String tree = "分阶段实施详情字段,多行之间使用#号分隔,列之间使用<p>标签分隔,示例:法规编号/条款<p>新车型<p>2000-10-10<p>备注#";
|
||||
sbTwo.append(count++ + "." + tree);
|
||||
}else{
|
||||
String tree = "For the field of phased implementation details, separate rows with # signs and columns with <p> labels. Example: Regulation Number/Articles <p> New model <p>2000-10-10<p> Remarks";
|
||||
sbTwo.append(count++ + "." + tree);
|
||||
}
|
||||
List<String> list = new LinkedList<>();
|
||||
list.add(title);
|
||||
list.add(sbTwo.toString());
|
||||
@@ -5888,327 +5927,415 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
}
|
||||
String value = entry.getValue();
|
||||
String field = "";
|
||||
for (Map<String, Object> map : fieldList) {
|
||||
String fieldNameCn = (String) map.get("db_field_txt");//中文名称
|
||||
String fieldName = (String) map.get("db_field_name");//字段名
|
||||
String mustInput = (String) map.get("field_must_input");//是否必填
|
||||
String dbLength = map.get("db_length").toString();//字段长度
|
||||
String fieldShowType = (String) map.get("field_show_type");//字段类型
|
||||
// 如果是分阶段实施字段,单独处理,如果是其它字段,按照原有逻辑处理
|
||||
if(StringUtils.equals(key,"分阶段实施详情") || StringUtils.equals(key,"Details of the phased implementation")){
|
||||
if(StringUtils.isNotEmpty(value)){
|
||||
List<PhasedImplementationDetailsEO> phasedImplementationDetailsEOList = new ArrayList<>();
|
||||
List<String> phasedImplDetailsList = Arrays.asList(value.split("#"));
|
||||
for (String phasedImplDetails : phasedImplDetailsList) {
|
||||
PhasedImplementationDetailsEO phasedImplementationDetailsEO = new PhasedImplementationDetailsEO();
|
||||
String[] phasedImplDetailsArr = phasedImplDetails.split("<p>");
|
||||
if(phasedImplDetailsArr.length >= 1){
|
||||
String standNumberOrClause = phasedImplDetailsArr[0];
|
||||
if (StringUtils.isNotBlank(standNumberOrClause) && standNumberOrClause.length() > 100) {
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += "分阶段实施详情-法规编号/条款不能超过" + 100 + "个字符, ";
|
||||
}else{
|
||||
errorMsg += "Details of the phased implementation standNumberOrClause Can not be more than " + 100 + " char, ";
|
||||
}
|
||||
countError++;
|
||||
}else {
|
||||
phasedImplementationDetailsEO.setStandNumberOrClause(standNumberOrClause);
|
||||
}
|
||||
}
|
||||
if(phasedImplDetailsArr.length >= 2){
|
||||
String implementationTypeName = phasedImplDetailsArr[1];
|
||||
if(StringUtils.isNotEmpty(implementationTypeName)){
|
||||
String[] implementationTypeNameArr = implementationTypeName.split(",");
|
||||
ImplementationTypeEnum[] implementationTypeEnums = ImplementationTypeEnum.values();
|
||||
List<String> implementationTypeList = Arrays.stream(implementationTypeEnums).filter(implementationTypeEnum -> {
|
||||
boolean flag = false;
|
||||
for (String type : implementationTypeNameArr) {
|
||||
if(StringUtils.equals(type,implementationTypeEnum.getNameCn()) || StringUtils.equals(type,implementationTypeEnum.getNameEn())){
|
||||
flag = true;
|
||||
}
|
||||
}
|
||||
return flag;
|
||||
}).map(ImplementationTypeEnum::getItemValue).collect(Collectors.toList());
|
||||
|
||||
if (key.equals(fieldNameCn)) {
|
||||
field = fieldName;
|
||||
//验证字段是否必填,长度,下拉框和树形的值是否匹配
|
||||
if (FieldTypeEnum.TREE.getValue().equals(fieldShowType)) {
|
||||
//树形
|
||||
//判断是否必填
|
||||
if (IsMustEnum.YES.getValue().equals(mustInput) && StringUtils.isBlank(value)) {
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += key + "为必填项,不能为空, ";
|
||||
}else{
|
||||
errorMsg += key + " This parameter is mandatory and cannot be empty, ";
|
||||
}
|
||||
countError++;
|
||||
}
|
||||
//判断长度
|
||||
if (StringUtils.isNotBlank(value) && value.length() > Long.parseLong(dbLength)) {
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += key + "不能超过" + dbLength + "个字符, ";
|
||||
}else{
|
||||
errorMsg += key + " Can not be more than " + dbLength + " char, ";
|
||||
}
|
||||
countError++;
|
||||
}
|
||||
//判断数据是否匹配
|
||||
if (StringUtils.isNotBlank(value)) {
|
||||
for (String valueTemp : value.split(",")) {
|
||||
if (!treeNameList.contains(valueTemp)) {
|
||||
if(implementationTypeNameArr.length != implementationTypeList.size()){
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += key + "中的" + valueTemp + "与数据字典不匹配, ";
|
||||
errorMsg += "分阶段实施详情-实施类型填写有误,填写值为'新车型 或 在产车', ";
|
||||
}else{
|
||||
errorMsg += key +" "+ valueTemp + " Does not match the data dictionary, ";
|
||||
errorMsg += "Details of the phased implementation implementationType The value is set to 'New car model or Car in production', ";
|
||||
}
|
||||
countError++;
|
||||
}else {
|
||||
phasedImplementationDetailsEO.setImplementationType(implementationTypeList.stream().collect(Collectors.joining(",")));
|
||||
}
|
||||
}
|
||||
}
|
||||
String valueId = "";
|
||||
//文字转ID
|
||||
if (StringUtils.isNotBlank(value)) {
|
||||
for (String valueTemp : value.split(",")) {
|
||||
if (treeNameList.contains(valueTemp)) {
|
||||
List<SysCategory> collect = new ArrayList<>();
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
collect = categoryList.stream().filter(e -> e.getName().equals(valueTemp)).collect(Collectors.toList());
|
||||
}else{
|
||||
collect = categoryList.stream().filter(e -> e.getEnName().equals(valueTemp)).collect(Collectors.toList());
|
||||
}
|
||||
valueId += collect.get(0).getId()+",";
|
||||
}
|
||||
if(phasedImplDetailsArr.length >= 3){
|
||||
Date implementationDate = null;
|
||||
try {
|
||||
implementationDate = DateUtils.parseDate(phasedImplDetailsArr[2], "yyyy-MM-dd");
|
||||
} catch (ParseException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
if(StringUtils.isNotBlank(valueId)){
|
||||
value = valueId.substring(0, valueId.length() - 1);
|
||||
}
|
||||
}
|
||||
|
||||
} else if (FieldTypeEnum.TEXT_STRING.getValue().equals(fieldShowType)) {
|
||||
//输入框
|
||||
//判断是否必填
|
||||
if (IsMustEnum.YES.getValue().equals(mustInput) && StringUtils.isBlank(value)) {
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += key + "为必填项,不能为空, ";
|
||||
}else{
|
||||
errorMsg += key + " This parameter is mandatory and cannot be empty, ";
|
||||
}
|
||||
countError++;
|
||||
}
|
||||
//判断长度
|
||||
if (StringUtils.isNotBlank(value) && value.length() > Long.parseLong(dbLength)) {
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += key + "不能超过" + dbLength + "个字符, ";
|
||||
}else{
|
||||
errorMsg += key + " Can not be more than" + dbLength + "char, ";
|
||||
}
|
||||
countError++;
|
||||
}
|
||||
|
||||
} else if (FieldTypeEnum.TEXT_NUMBER.getValue().equals(fieldShowType)) {
|
||||
//正则判断仅能为 负号(-),小数点(.)和数字
|
||||
|
||||
|
||||
} else if (FieldTypeEnum.PULL_SINGLE.getValue().equals(fieldShowType)) {
|
||||
//下拉单选
|
||||
//判断是否必填
|
||||
if (IsMustEnum.YES.getValue().equals(mustInput) && StringUtils.isBlank(value)) {
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += key + "为必填项,不能为空, ";
|
||||
}else{
|
||||
errorMsg += key + " This parameter is mandatory and cannot be empty, ";
|
||||
}
|
||||
countError++;
|
||||
}
|
||||
//判断长度
|
||||
if (StringUtils.isNotBlank(value) && value.length() > Long.parseLong(dbLength)) {
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += key + "不能超过" + dbLength + "个字符, ";
|
||||
}else{
|
||||
errorMsg += key + " Can not be more than" + dbLength + " char, ";
|
||||
}
|
||||
countError++;
|
||||
}
|
||||
//判断是否是单选
|
||||
if (StringUtils.isNotBlank(value) && value.contains(",")) {
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += key + "为单选项, ";
|
||||
}else{
|
||||
errorMsg += key + " Is multiple choice, ";
|
||||
}
|
||||
|
||||
countError++;
|
||||
}
|
||||
//判断数据是否匹配
|
||||
if (StringUtils.isNotBlank(value)) {
|
||||
if (!itemNameList.contains(value)) {
|
||||
if(implementationDate == null){
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += key + "中的" + value + "与数据字典不匹配, ";
|
||||
errorMsg += "分阶段实施详情-实施日期格式错误,正确格式为'yyyy-MM-dd', ";
|
||||
}else{
|
||||
errorMsg += key + " " + value + " Does not match the data dictionary, ";
|
||||
errorMsg += "Details of the phased implementation implementationDate format is incorrect. The correct format is 'yyyy-MM-dd', ";
|
||||
}
|
||||
countError++;
|
||||
}else {
|
||||
phasedImplementationDetailsEO.setImplementationDate(implementationDate);
|
||||
}
|
||||
}
|
||||
if(phasedImplDetailsArr.length >= 4){
|
||||
String remarks = phasedImplDetailsArr[3];
|
||||
if (StringUtils.isNotBlank(remarks) && remarks.length() > 1000) {
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += "分阶段实施详情-备注不能超过" + 1000 + "个字符, ";
|
||||
}else{
|
||||
errorMsg += "Details of the phased implementation ramarks Can not be more than " + 1000 + " char, ";
|
||||
}
|
||||
countError++;
|
||||
}else {
|
||||
phasedImplementationDetailsEO.setRemarks(remarks);
|
||||
}
|
||||
}
|
||||
phasedImplementationDetailsEOList.add(phasedImplementationDetailsEO);
|
||||
}
|
||||
|
||||
mapResult.put("phasedImplementationDetailsEOList",phasedImplementationDetailsEOList);
|
||||
}
|
||||
}else {
|
||||
for (Map<String, Object> map : fieldList) {
|
||||
String fieldNameCn = (String) map.get("db_field_txt");//中文名称
|
||||
String fieldName = (String) map.get("db_field_name");//字段名
|
||||
if(StringUtils.equals(fieldName,"phasedImplDetails")){
|
||||
continue;
|
||||
}
|
||||
String mustInput = (String) map.get("field_must_input");//是否必填
|
||||
String dbLength = map.get("db_length").toString();//字段长度
|
||||
String fieldShowType = (String) map.get("field_show_type");//字段类型
|
||||
|
||||
if (key.equals(fieldNameCn)) {
|
||||
field = fieldName;
|
||||
//验证字段是否必填,长度,下拉框和树形的值是否匹配
|
||||
if (FieldTypeEnum.TREE.getValue().equals(fieldShowType)) {
|
||||
//树形
|
||||
//判断是否必填
|
||||
if (IsMustEnum.YES.getValue().equals(mustInput) && StringUtils.isBlank(value)) {
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += key + "为必填项,不能为空, ";
|
||||
}else{
|
||||
errorMsg += key + " This parameter is mandatory and cannot be empty, ";
|
||||
}
|
||||
countError++;
|
||||
}
|
||||
}
|
||||
//文字转数据字典编码
|
||||
if (itemNameList.contains(value)) {
|
||||
String finalValue = value;
|
||||
List<SysDictItem> collect = new ArrayList<>();
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
collect = dictItemList.stream().filter(e -> StringUtils.isNotBlank(e.getItemText()) && e.getItemText().equals(finalValue)).collect(Collectors.toList());
|
||||
}else{
|
||||
collect = dictItemList.stream().filter(e -> StringUtils.isNotBlank(e.getEnName()) && e.getEnName().equals(finalValue)).collect(Collectors.toList());
|
||||
}
|
||||
if (collect.size() != 0) {
|
||||
value = collect.get(0).getItemValue();
|
||||
}
|
||||
}
|
||||
} else if (FieldTypeEnum.PULL_MORE.getValue().equals(fieldShowType)) {
|
||||
//判断是否必填
|
||||
if (IsMustEnum.YES.getValue().equals(mustInput) && StringUtils.isBlank(value)) {
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += key + "为必填项,不能为空, ";
|
||||
}else{
|
||||
errorMsg += key + " This parameter is mandatory and cannot be empty, ";
|
||||
}
|
||||
countError++;
|
||||
}
|
||||
//判断长度
|
||||
if (StringUtils.isNotBlank(value) && value.length() > Long.parseLong(dbLength)) {
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += key + "不能超过" + dbLength + "个字符, ";
|
||||
}else{
|
||||
errorMsg += key + " Can not be more than" + dbLength + " char, ";
|
||||
}
|
||||
countError++;
|
||||
}
|
||||
//下拉多选
|
||||
if (StringUtils.isNotBlank(value)) {
|
||||
for (String valueTemp : value.split(",")) {
|
||||
if (!itemNameList.contains(valueTemp)) {
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += key + "中的" + valueTemp + "与数据字典不匹配, ";
|
||||
}else{
|
||||
errorMsg += key +" "+ valueTemp + " Does not match the data dictionary, ";
|
||||
}
|
||||
countError++;
|
||||
//判断长度
|
||||
if (StringUtils.isNotBlank(value) && value.length() > Long.parseLong(dbLength)) {
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += key + "不能超过" + dbLength + "个字符, ";
|
||||
}else{
|
||||
errorMsg += key + " Can not be more than " + dbLength + " char, ";
|
||||
}
|
||||
countError++;
|
||||
}
|
||||
}
|
||||
|
||||
String valueId = "";
|
||||
//文字转数据字典id
|
||||
if (StringUtils.isNotBlank(value)) {
|
||||
for (String valueTemp : value.split(",")) {
|
||||
if (itemNameList.contains(valueTemp)) {
|
||||
List<SysDictItem> collect = new ArrayList<>();
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
collect = dictItemList.stream().filter(e -> StringUtils.isNotBlank(e.getItemText()) && e.getItemText().equals(valueTemp)).collect(Collectors.toList());
|
||||
}else{
|
||||
collect = dictItemList.stream().filter(e -> StringUtils.isNotBlank(e.getEnName()) && e.getEnName().equals(valueTemp)).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
valueId += collect.get(0).getItemValue() + ",";
|
||||
}
|
||||
}
|
||||
if (StringUtils.isNotBlank(valueId)) {
|
||||
value = valueId.substring(0, valueId.length() - 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
} else if (FieldTypeEnum.DATE_SINGLE.getValue().equals(fieldShowType)) {
|
||||
value = value.replaceAll("/","-");
|
||||
//单选日期
|
||||
//判断是否必填
|
||||
if (IsMustEnum.YES.getValue().equals(mustInput) && StringUtils.isBlank(value)) {
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += key + "为必填项,不能为空, ";
|
||||
}else{
|
||||
errorMsg += key + " This parameter is mandatory and cannot be empty, ";
|
||||
}
|
||||
countError++;
|
||||
}
|
||||
//a判断是否是单日期选择
|
||||
if (StringUtils.isNotBlank(value) && value.contains(",")) {
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += key + "为单日期选项, ";
|
||||
}else{
|
||||
errorMsg += key + " Is single date option, ";
|
||||
}
|
||||
countError++;
|
||||
}
|
||||
//判断格式是否正确
|
||||
if (!DateUtils.isValidDate((String) value)) {
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += key + "格式不正确, 正确格式如:yyyy/m/d、yyyy-MM-dd、yyyy年MM月dd日, ";
|
||||
}else{
|
||||
errorMsg += key + " Incorrect format correct format is:yyyy/m/d、yyyy-MM-dd、yyyy年MM月dd日, ";
|
||||
}
|
||||
countError++;
|
||||
}
|
||||
|
||||
} else if (FieldTypeEnum.DATE_SINGLE.getValue().equals(fieldShowType)) {
|
||||
//多选日期
|
||||
//判断是否必填
|
||||
if (IsMustEnum.YES.getValue().equals(mustInput) && StringUtils.isBlank(value)) {
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += key + "为必填项,不能为空, ";
|
||||
}else{
|
||||
errorMsg += key + " This parameter is mandatory and cannot be empty, ";
|
||||
}
|
||||
countError++;
|
||||
}
|
||||
//判断格式是否正确
|
||||
if (!DateUtils.isValidDate((String) value)) {
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += key + "格式不正确, 正确格式如:yyyy/m/d、yyyy-MM-dd、yyyy年MM月dd日, ";
|
||||
}else{
|
||||
errorMsg += key + " Incorrect format correct format is:yyyy/m/d、yyyy-MM-dd、yyyy年MM月dd日, ";
|
||||
}
|
||||
countError++;
|
||||
}
|
||||
|
||||
|
||||
} else if (FieldTypeEnum.FILE.getValue().equals(fieldShowType)) {
|
||||
//文件
|
||||
//判断是否必填
|
||||
if (IsMustEnum.YES.getValue().equals(mustInput) && StringUtils.isBlank(value)) {
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += key + "为必填项,不能为空, ";
|
||||
}else{
|
||||
errorMsg += key + " This parameter is mandatory and cannot be empty, ";
|
||||
}
|
||||
countError++;
|
||||
}
|
||||
//判断长度
|
||||
if (StringUtils.isNotBlank(value) && value.length() > Long.parseLong(dbLength)) {
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += key + "不能超过" + dbLength + "个字符, ";
|
||||
}else{
|
||||
errorMsg += key + " Can not be more than " + dbLength + " char, ";
|
||||
}
|
||||
countError++;
|
||||
}
|
||||
if (StringUtils.isNotBlank(value)) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for (String fileName : value.split(",")) {
|
||||
List<File> nowFileList = FileUnZip.readFileByFilename(zipEntryName, fileName,cut,errorMsg,null,key,key);
|
||||
if (nowFileList.size() == 0) {
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += key + " 压缩包中没有" + fileName + "文件, ";
|
||||
}else{
|
||||
errorMsg += key + " Not in the zip package" + fileName + "file, ";
|
||||
}
|
||||
countError++;
|
||||
} else {
|
||||
try {
|
||||
FileInputStream input = new FileInputStream(nowFileList.get(0));
|
||||
MultipartFile multipartFile =
|
||||
new MockMultipartFile(nowFileList.get(0).getName(), nowFileList.get(0).getName(), "text/plain", input);
|
||||
//文件存入文件表
|
||||
OSSFile ossFile = iOSSFileService.uploadLocalOfCos(multipartFile, "", null,null);
|
||||
if (ObjectUtils.isNotEmpty(ossFile)) {
|
||||
sb.append(ossFile.getId() + ",");
|
||||
//判断数据是否匹配
|
||||
if (StringUtils.isNotBlank(value)) {
|
||||
for (String valueTemp : value.split(",")) {
|
||||
if (!treeNameList.contains(valueTemp)) {
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += key + "中的" + valueTemp + "与数据字典不匹配, ";
|
||||
}else{
|
||||
errorMsg += key +" "+ valueTemp + " Does not match the data dictionary, ";
|
||||
}
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
countError++;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (StringUtils.isNotBlank(sb)) {
|
||||
String substring = sb.substring(0, sb.length() - 1);
|
||||
value = substring;
|
||||
String valueId = "";
|
||||
//文字转ID
|
||||
if (StringUtils.isNotBlank(value)) {
|
||||
for (String valueTemp : value.split(",")) {
|
||||
if (treeNameList.contains(valueTemp)) {
|
||||
List<SysCategory> collect = new ArrayList<>();
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
collect = categoryList.stream().filter(e -> e.getName().equals(valueTemp)).collect(Collectors.toList());
|
||||
}else{
|
||||
collect = categoryList.stream().filter(e -> e.getEnName().equals(valueTemp)).collect(Collectors.toList());
|
||||
}
|
||||
valueId += collect.get(0).getId()+",";
|
||||
}
|
||||
}
|
||||
if(StringUtils.isNotBlank(valueId)){
|
||||
value = valueId.substring(0, valueId.length() - 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} else if (FieldTypeEnum.STANDARD.getValue().equals(fieldShowType)) {
|
||||
//标准选择
|
||||
//判断是否必填
|
||||
if (IsMustEnum.YES.getValue().equals(mustInput) && StringUtils.isBlank(value)) {
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += key + "为必填项,不能为空, ";
|
||||
}else{
|
||||
errorMsg += key + " This parameter is mandatory and cannot be empty, ";
|
||||
} else if (FieldTypeEnum.TEXT_STRING.getValue().equals(fieldShowType)) {
|
||||
//输入框
|
||||
//判断是否必填
|
||||
if (IsMustEnum.YES.getValue().equals(mustInput) && StringUtils.isBlank(value)) {
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += key + "为必填项,不能为空, ";
|
||||
}else{
|
||||
errorMsg += key + " This parameter is mandatory and cannot be empty, ";
|
||||
}
|
||||
countError++;
|
||||
}
|
||||
countError++;
|
||||
}
|
||||
//判断长度
|
||||
if (StringUtils.isNotBlank(value) && value.length() > Long.parseLong(dbLength)) {
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += key + "不能超过" + dbLength + "个字符, ";
|
||||
}else{
|
||||
errorMsg += key + " Can not be more than " + dbLength + " char, ";
|
||||
//判断长度
|
||||
if (StringUtils.isNotBlank(value) && value.length() > Long.parseLong(dbLength)) {
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += key + "不能超过" + dbLength + "个字符, ";
|
||||
}else{
|
||||
errorMsg += key + " Can not be more than" + dbLength + "char, ";
|
||||
}
|
||||
countError++;
|
||||
}
|
||||
countError++;
|
||||
}
|
||||
//判断库中是否存在,如果存在则存id,如果不存在则存输入的值
|
||||
|
||||
} else if (FieldTypeEnum.TEXT_NUMBER.getValue().equals(fieldShowType)) {
|
||||
//正则判断仅能为 负号(-),小数点(.)和数字
|
||||
|
||||
|
||||
} else if (FieldTypeEnum.PULL_SINGLE.getValue().equals(fieldShowType)) {
|
||||
//下拉单选
|
||||
//判断是否必填
|
||||
if (IsMustEnum.YES.getValue().equals(mustInput) && StringUtils.isBlank(value)) {
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += key + "为必填项,不能为空, ";
|
||||
}else{
|
||||
errorMsg += key + " This parameter is mandatory and cannot be empty, ";
|
||||
}
|
||||
countError++;
|
||||
}
|
||||
//判断长度
|
||||
if (StringUtils.isNotBlank(value) && value.length() > Long.parseLong(dbLength)) {
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += key + "不能超过" + dbLength + "个字符, ";
|
||||
}else{
|
||||
errorMsg += key + " Can not be more than" + dbLength + " char, ";
|
||||
}
|
||||
countError++;
|
||||
}
|
||||
//判断是否是单选
|
||||
if (StringUtils.isNotBlank(value) && value.contains(",")) {
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += key + "为单选项, ";
|
||||
}else{
|
||||
errorMsg += key + " Is multiple choice, ";
|
||||
}
|
||||
|
||||
countError++;
|
||||
}
|
||||
//判断数据是否匹配
|
||||
if (StringUtils.isNotBlank(value)) {
|
||||
if (!itemNameList.contains(value)) {
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += key + "中的" + value + "与数据字典不匹配, ";
|
||||
}else{
|
||||
errorMsg += key + " " + value + " Does not match the data dictionary, ";
|
||||
}
|
||||
countError++;
|
||||
}
|
||||
}
|
||||
//文字转数据字典编码
|
||||
if (itemNameList.contains(value)) {
|
||||
String finalValue = value;
|
||||
List<SysDictItem> collect = new ArrayList<>();
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
collect = dictItemList.stream().filter(e -> StringUtils.isNotBlank(e.getItemText()) && e.getItemText().equals(finalValue)).collect(Collectors.toList());
|
||||
}else{
|
||||
collect = dictItemList.stream().filter(e -> StringUtils.isNotBlank(e.getEnName()) && e.getEnName().equals(finalValue)).collect(Collectors.toList());
|
||||
}
|
||||
if (collect.size() != 0) {
|
||||
value = collect.get(0).getItemValue();
|
||||
}
|
||||
}
|
||||
} else if (FieldTypeEnum.PULL_MORE.getValue().equals(fieldShowType)) {
|
||||
//判断是否必填
|
||||
if (IsMustEnum.YES.getValue().equals(mustInput) && StringUtils.isBlank(value)) {
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += key + "为必填项,不能为空, ";
|
||||
}else{
|
||||
errorMsg += key + " This parameter is mandatory and cannot be empty, ";
|
||||
}
|
||||
countError++;
|
||||
}
|
||||
//判断长度
|
||||
if (StringUtils.isNotBlank(value) && value.length() > Long.parseLong(dbLength)) {
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += key + "不能超过" + dbLength + "个字符, ";
|
||||
}else{
|
||||
errorMsg += key + " Can not be more than" + dbLength + " char, ";
|
||||
}
|
||||
countError++;
|
||||
}
|
||||
//下拉多选
|
||||
if (StringUtils.isNotBlank(value)) {
|
||||
for (String valueTemp : value.split(",")) {
|
||||
if (!itemNameList.contains(valueTemp)) {
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += key + "中的" + valueTemp + "与数据字典不匹配, ";
|
||||
}else{
|
||||
errorMsg += key +" "+ valueTemp + " Does not match the data dictionary, ";
|
||||
}
|
||||
countError++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
String valueId = "";
|
||||
//文字转数据字典id
|
||||
if (StringUtils.isNotBlank(value)) {
|
||||
for (String valueTemp : value.split(",")) {
|
||||
if (itemNameList.contains(valueTemp)) {
|
||||
List<SysDictItem> collect = new ArrayList<>();
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
collect = dictItemList.stream().filter(e -> StringUtils.isNotBlank(e.getItemText()) && e.getItemText().equals(valueTemp)).collect(Collectors.toList());
|
||||
}else{
|
||||
collect = dictItemList.stream().filter(e -> StringUtils.isNotBlank(e.getEnName()) && e.getEnName().equals(valueTemp)).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
valueId += collect.get(0).getItemValue() + ",";
|
||||
}
|
||||
}
|
||||
if (StringUtils.isNotBlank(valueId)) {
|
||||
value = valueId.substring(0, valueId.length() - 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
} else if (FieldTypeEnum.DATE_SINGLE.getValue().equals(fieldShowType)) {
|
||||
value = value.replaceAll("/","-");
|
||||
//单选日期
|
||||
//判断是否必填
|
||||
if (IsMustEnum.YES.getValue().equals(mustInput) && StringUtils.isBlank(value)) {
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += key + "为必填项,不能为空, ";
|
||||
}else{
|
||||
errorMsg += key + " This parameter is mandatory and cannot be empty, ";
|
||||
}
|
||||
countError++;
|
||||
}
|
||||
//a判断是否是单日期选择
|
||||
if (StringUtils.isNotBlank(value) && value.contains(",")) {
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += key + "为单日期选项, ";
|
||||
}else{
|
||||
errorMsg += key + " Is single date option, ";
|
||||
}
|
||||
countError++;
|
||||
}
|
||||
//判断格式是否正确
|
||||
if (!DateUtils.isValidDate((String) value)) {
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += key + "格式不正确, 正确格式如:yyyy/m/d、yyyy-MM-dd、yyyy年MM月dd日, ";
|
||||
}else{
|
||||
errorMsg += key + " Incorrect format correct format is:yyyy/m/d、yyyy-MM-dd、yyyy年MM月dd日, ";
|
||||
}
|
||||
countError++;
|
||||
}
|
||||
|
||||
} else if (FieldTypeEnum.DATE_SINGLE.getValue().equals(fieldShowType)) {
|
||||
//多选日期
|
||||
//判断是否必填
|
||||
if (IsMustEnum.YES.getValue().equals(mustInput) && StringUtils.isBlank(value)) {
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += key + "为必填项,不能为空, ";
|
||||
}else{
|
||||
errorMsg += key + " This parameter is mandatory and cannot be empty, ";
|
||||
}
|
||||
countError++;
|
||||
}
|
||||
//判断格式是否正确
|
||||
if (!DateUtils.isValidDate((String) value)) {
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += key + "格式不正确, 正确格式如:yyyy/m/d、yyyy-MM-dd、yyyy年MM月dd日, ";
|
||||
}else{
|
||||
errorMsg += key + " Incorrect format correct format is:yyyy/m/d、yyyy-MM-dd、yyyy年MM月dd日, ";
|
||||
}
|
||||
countError++;
|
||||
}
|
||||
|
||||
|
||||
} else if (FieldTypeEnum.FILE.getValue().equals(fieldShowType)) {
|
||||
//文件
|
||||
//判断是否必填
|
||||
if (IsMustEnum.YES.getValue().equals(mustInput) && StringUtils.isBlank(value)) {
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += key + "为必填项,不能为空, ";
|
||||
}else{
|
||||
errorMsg += key + " This parameter is mandatory and cannot be empty, ";
|
||||
}
|
||||
countError++;
|
||||
}
|
||||
//判断长度
|
||||
if (StringUtils.isNotBlank(value) && value.length() > Long.parseLong(dbLength)) {
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += key + "不能超过" + dbLength + "个字符, ";
|
||||
}else{
|
||||
errorMsg += key + " Can not be more than " + dbLength + " char, ";
|
||||
}
|
||||
countError++;
|
||||
}
|
||||
if (StringUtils.isNotBlank(value)) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for (String fileName : value.split(",")) {
|
||||
List<File> nowFileList = FileUnZip.readFileByFilename(zipEntryName, fileName,cut,errorMsg,null,key,key);
|
||||
if (nowFileList.size() == 0) {
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += key + " 压缩包中没有" + fileName + "文件, ";
|
||||
}else{
|
||||
errorMsg += key + " Not in the zip package" + fileName + "file, ";
|
||||
}
|
||||
countError++;
|
||||
} else {
|
||||
try {
|
||||
FileInputStream input = new FileInputStream(nowFileList.get(0));
|
||||
MultipartFile multipartFile =
|
||||
new MockMultipartFile(nowFileList.get(0).getName(), nowFileList.get(0).getName(), "text/plain", input);
|
||||
//文件存入文件表
|
||||
OSSFile ossFile = iOSSFileService.uploadLocalOfCos(multipartFile, "", null,null);
|
||||
if (ObjectUtils.isNotEmpty(ossFile)) {
|
||||
sb.append(ossFile.getId() + ",");
|
||||
}
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
if (StringUtils.isNotBlank(sb)) {
|
||||
String substring = sb.substring(0, sb.length() - 1);
|
||||
value = substring;
|
||||
}
|
||||
}
|
||||
|
||||
} else if (FieldTypeEnum.STANDARD.getValue().equals(fieldShowType)) {
|
||||
//标准选择
|
||||
//判断是否必填
|
||||
if (IsMustEnum.YES.getValue().equals(mustInput) && StringUtils.isBlank(value)) {
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += key + "为必填项,不能为空, ";
|
||||
}else{
|
||||
errorMsg += key + " This parameter is mandatory and cannot be empty, ";
|
||||
}
|
||||
countError++;
|
||||
}
|
||||
//判断长度
|
||||
if (StringUtils.isNotBlank(value) && value.length() > Long.parseLong(dbLength)) {
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += key + "不能超过" + dbLength + "个字符, ";
|
||||
}else{
|
||||
errorMsg += key + " Can not be more than " + dbLength + " char, ";
|
||||
}
|
||||
countError++;
|
||||
}
|
||||
//判断库中是否存在,如果存在则存id,如果不存在则存输入的值
|
||||
// List<Map<String, Object>> listBySerialNumber = getListBySerialNumber(value);
|
||||
// String serialNumberStr = "";
|
||||
// StringBuilder sb = new StringBuilder();
|
||||
@@ -6231,14 +6358,15 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
// }
|
||||
// value = substring;
|
||||
// }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// if (countError > 0) {
|
||||
// msgList.add(errorMsg);
|
||||
// }
|
||||
mapResult.put(field, value);
|
||||
// if (countError > 0) {
|
||||
// msgList.add(errorMsg);
|
||||
// }
|
||||
mapResult.put(field, value);
|
||||
}
|
||||
}
|
||||
if (countError > 0) {
|
||||
if(errorMsg.endsWith(", ")){
|
||||
|
||||
+116
@@ -16,8 +16,11 @@ import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.util.DateUtils;
|
||||
import com.jero.common.util.oss.CosBootUtil;
|
||||
import com.jero.modules.document.entity.BussDocumentLibraryEO;
|
||||
import com.jero.modules.document.entity.PhasedImplementationDetailsEO;
|
||||
import com.jero.modules.document.enums.ImplementationTypeEnum;
|
||||
import com.jero.modules.document.enums.LawsStateEnum;
|
||||
import com.jero.modules.document.service.IBussDocumentLibraryEOService;
|
||||
import com.jero.modules.document.service.IPhasedImplementationDetailsEOService;
|
||||
import com.jero.modules.dummy.entity.DummyInventoryBaseEO;
|
||||
import com.jero.modules.dummy.entity.DummyInventoryInfoEO;
|
||||
import com.jero.modules.dummy.entity.DummyInventoryInfoEOEn;
|
||||
@@ -98,6 +101,8 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl<DummyInventoryI
|
||||
private DummyInventoryBaseEOServiceImpl dummyInventoryBaseEOService;
|
||||
@Autowired
|
||||
SysCategoryMapper sysCategoryMapper;
|
||||
@Autowired
|
||||
private IPhasedImplementationDetailsEOService phasedImplementationDetailsEOService;
|
||||
|
||||
@Override
|
||||
public IPage<DummyInventoryInfoEO> getPageInfo(DummyInventoryInfoEO dummyInventoryInfoEO,HttpServletRequest req) {
|
||||
@@ -401,6 +406,52 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl<DummyInventoryI
|
||||
queryWrapper.orderByDesc("create_time","serial_number");
|
||||
}
|
||||
|
||||
if(StringUtils.isNotEmpty(dummyInventoryInfoEO.getImplementTimeString())){
|
||||
String[] implementTimeArr = dummyInventoryInfoEO.getImplementTimeString().split(",");
|
||||
|
||||
QueryWrapper<PhasedImplementationDetailsEO> phasedDetailsQueryWrap = new QueryWrapper<>();
|
||||
phasedDetailsQueryWrap.lambda().like(PhasedImplementationDetailsEO::getImplementationType,ImplementationTypeEnum.CAR_IN_PRODUCTION.getItemValue());
|
||||
phasedDetailsQueryWrap.lambda().ge(PhasedImplementationDetailsEO::getImplementationDate,implementTimeArr[0]);
|
||||
phasedDetailsQueryWrap.lambda().le(PhasedImplementationDetailsEO::getImplementationDate,implementTimeArr[1]);
|
||||
List<String> bussDocumentLibraryIdList = this.phasedImplementationDetailsEOService.list(phasedDetailsQueryWrap)
|
||||
.stream().map(PhasedImplementationDetailsEO::getBussDocumentLibraryId).collect(Collectors.toList());
|
||||
|
||||
queryWrapper.and(query -> {
|
||||
query.and(q -> {
|
||||
q.lambda().ge(DummyInventoryInfoEO::getImplementTime,implementTimeArr[0]);
|
||||
q.lambda().le(DummyInventoryInfoEO::getImplementTime,implementTimeArr[1]);
|
||||
});
|
||||
|
||||
if(CollectionUtils.isNotEmpty(bussDocumentLibraryIdList)){
|
||||
query.or(q -> {
|
||||
q.lambda().in(DummyInventoryInfoEO::getBussDocumentLibraryId,bussDocumentLibraryIdList);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
if(StringUtils.isNotEmpty(dummyInventoryInfoEO.getXin1Che1Xing2Shi2Shi1Ri4Qi1String())){
|
||||
String[] newCarTimeArr = dummyInventoryInfoEO.getXin1Che1Xing2Shi2Shi1Ri4Qi1String().split(",");
|
||||
|
||||
QueryWrapper<PhasedImplementationDetailsEO> phasedDetailsQueryWrap = new QueryWrapper<>();
|
||||
phasedDetailsQueryWrap.lambda().like(PhasedImplementationDetailsEO::getImplementationType,ImplementationTypeEnum.NEW_CAR_MODEL.getItemValue());
|
||||
phasedDetailsQueryWrap.lambda().ge(PhasedImplementationDetailsEO::getImplementationDate,newCarTimeArr[0]);
|
||||
phasedDetailsQueryWrap.lambda().le(PhasedImplementationDetailsEO::getImplementationDate,newCarTimeArr[1]);
|
||||
List<String> bussDocumentLibraryIdList = this.phasedImplementationDetailsEOService.list(phasedDetailsQueryWrap)
|
||||
.stream().map(PhasedImplementationDetailsEO::getBussDocumentLibraryId).collect(Collectors.toList());
|
||||
|
||||
queryWrapper.and(query -> {
|
||||
query.and(q -> {
|
||||
q.lambda().ge(DummyInventoryInfoEO::getXin1Che1Xing2Shi2Shi1Ri4Qi1,newCarTimeArr[0]);
|
||||
q.lambda().le(DummyInventoryInfoEO::getXin1Che1Xing2Shi2Shi1Ri4Qi1,newCarTimeArr[1]);
|
||||
});
|
||||
if(CollectionUtils.isNotEmpty(bussDocumentLibraryIdList)){
|
||||
query.or(q -> {
|
||||
q.lambda().in(DummyInventoryInfoEO::getBussDocumentLibraryId,bussDocumentLibraryIdList);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
List<DummyInventoryInfoEO> dummyInventoryInfoEOList = this.list(queryWrapper);
|
||||
log.info("一阶段消耗时间:" + (System.currentTimeMillis() - startTime));
|
||||
//数据字典
|
||||
@@ -412,6 +463,9 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl<DummyInventoryI
|
||||
log.info("三阶段消耗时间:" + (System.currentTimeMillis() - startTime));
|
||||
treeDict(dummyInventoryInfoEO, dummyInventoryInfoEOList,sysDictItems);
|
||||
|
||||
// 数据处理
|
||||
this.disposeData(dummyInventoryInfoEOList,dummyInventoryInfoEO.getCut());
|
||||
|
||||
//表头排序
|
||||
dummyInventoryInfoEOList = hearSort(orderBy, orderByField, dummyInventoryInfoEOList);
|
||||
|
||||
@@ -419,6 +473,68 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl<DummyInventoryI
|
||||
return dummyInventoryInfoEOList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 数据处理
|
||||
* @param datas
|
||||
* @param cut
|
||||
*/
|
||||
private void disposeData(List<DummyInventoryInfoEO> datas, String cut) {
|
||||
if(CollectionUtils.isNotEmpty(datas)){
|
||||
List<String> bussDocumentLibraryIdList = datas.stream().map(DummyInventoryInfoEO::getBussDocumentLibraryId).distinct().collect(Collectors.toList());
|
||||
QueryWrapper<PhasedImplementationDetailsEO> phasedDetailsQueryWrap = new QueryWrapper<>();
|
||||
phasedDetailsQueryWrap.lambda().in(PhasedImplementationDetailsEO::getBussDocumentLibraryId,bussDocumentLibraryIdList);
|
||||
List<PhasedImplementationDetailsEO> phasedDetailsList = this.phasedImplementationDetailsEOService.list(phasedDetailsQueryWrap);
|
||||
|
||||
// 新车型分阶段实施数据信息
|
||||
List<PhasedImplementationDetailsEO> newCarModelPhasedDetailsList = phasedDetailsList.stream().filter(phasedDetails -> {
|
||||
boolean flag = false;
|
||||
if(StringUtils.contains(phasedDetails.getImplementationType(), ImplementationTypeEnum.NEW_CAR_MODEL.getItemValue())){
|
||||
flag = true;
|
||||
}
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
// 在产车分阶段实施数据信息
|
||||
List<PhasedImplementationDetailsEO> carInProductionPhasedDetailsList = phasedDetailsList.stream().filter(phasedDetails -> {
|
||||
boolean flag = false;
|
||||
if(StringUtils.contains(phasedDetails.getImplementationType(), ImplementationTypeEnum.CAR_IN_PRODUCTION.getItemValue())){
|
||||
flag = true;
|
||||
}
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
for (DummyInventoryInfoEO data : datas) {
|
||||
// 处理新车型实施日期展示
|
||||
List<Date> newCarModelDateList = newCarModelPhasedDetailsList.stream().filter(phasedDetails -> {
|
||||
boolean flag = false;
|
||||
if (StringUtils.equals(phasedDetails.getBussDocumentLibraryId(), data.getBussDocumentLibraryId())) {
|
||||
flag = true;
|
||||
}
|
||||
return flag;
|
||||
}).map(PhasedImplementationDetailsEO::getImplementationDate).collect(Collectors.toList());
|
||||
if(data.getXin1Che1Xing2Shi2Shi1Ri4Qi1() != null){
|
||||
newCarModelDateList.add(data.getXin1Che1Xing2Shi2Shi1Ri4Qi1());
|
||||
}
|
||||
String newCarModelDateStr = DateUtils.formatDateList(newCarModelDateList);
|
||||
data.setXin1Che1Xing2Shi2Shi1Ri4Qi1String(newCarModelDateStr);
|
||||
|
||||
// 处理在产车实施日期展示
|
||||
List<Date> carInProductionDateList = carInProductionPhasedDetailsList.stream().filter(phasedDetails -> {
|
||||
boolean flag = false;
|
||||
if (StringUtils.equals(phasedDetails.getBussDocumentLibraryId(), data.getBussDocumentLibraryId())) {
|
||||
flag = true;
|
||||
}
|
||||
return flag;
|
||||
}).map(PhasedImplementationDetailsEO::getImplementationDate).collect(Collectors.toList());
|
||||
if(data.getImplementTime() != null){
|
||||
carInProductionDateList.add(data.getImplementTime());
|
||||
}
|
||||
String carInProductionDateStr = DateUtils.formatDateList(carInProductionDateList);
|
||||
data.setImplementTimeString(carInProductionDateStr);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private List<DummyInventoryInfoEO> hearSort(String orderBy, String orderByField, List<DummyInventoryInfoEO> dummyInventoryInfoEOList) {
|
||||
if(ObjectUtils.isNotEmpty(orderByField)){
|
||||
Collator comparator = Collator.getInstance(Locale.CHINESE);
|
||||
|
||||
Reference in New Issue
Block a user