Commit d1b12488 authored by 刘凡's avatar 刘凡

新增:修改气瓶校验

parent aae26323
package com.yeejoin.amos.api.openapi.constant;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
@AllArgsConstructor
@Getter
public enum CylinderFillingAuditFieldEnum {
sequenceCode(true, true),
fillingExamineId(true, true),
fillingAuditDate(true, false),
fillingAuditUrl(true, false),
fillingAuditname(true, false),
syncDate(true, false),
syncState(true, false);
private boolean isRequire;
private boolean isUnique;
public static List<String> getAllRequireKeys() {
List<String> keys = Arrays.stream(values()).filter(e -> e.isRequire).map(e -> e.name()).collect(Collectors.toList());
return keys;
}
public static List<String> getAllUniqueKeys() {
List<String> keys = Arrays.stream(values()).filter(e -> e.isUnique).map(e -> e.name()).collect(Collectors.toList());
return keys;
}
}
package com.yeejoin.amos.api.openapi.constant;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
@AllArgsConstructor
@Getter
public enum CylinderInfoFieldEnum {
creditCode,
unitName,
sequenceCode,
cylinderVariety,
cylinderVarietyName,
factoryNum,
fillingMedia,
fillingMediaName,
manufacturingUnit,
manufacturingDate,
valveManufacturUnit,
nominalWorkPressure,
volume,
productQualified,
proofQuality,
supervisionInspec,
typeExperiments,
cylinderStatus,
syncDate,
syncState;
creditCode(true, false),
unitName(true, false),
sequenceCode(true, true),
cylinderVariety(true, false),
cylinderVarietyName(true, false),
factoryNum(true, false),
fillingMedia(true, false),
fillingMediaName(true, false),
manufacturingUnit(true, false),
manufacturingDate(true, false),
valveManufacturUnit(true, false),
nominalWorkPressure(true, false),
volume(true, false),
productQualified(true, false),
proofQuality(true, false),
supervisionInspec(true, false),
typeExperiments(true, false),
cylinderStatus(true, false),
syncDate(true, false),
syncState(true, false);
private boolean isRequire;
private boolean isUnique;
public static List<String> getAllRequireKeys() {
List<String> keys = Arrays.stream(values()).filter(e -> e.isRequire).map(e -> e.name()).collect(Collectors.toList());
return keys;
}
public static List<String> getAllUniqueKeys() {
List<String> keys = Arrays.stream(values()).filter(e -> e.isUnique).map(e -> e.name()).collect(Collectors.toList());
return keys;
}
}
package com.yeejoin.amos.api.openapi.constant;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
@AllArgsConstructor
@Getter
public enum CylinderInspectionFieldEnum {
sequenceCode(true, true),
inspectionUnit(true, true),
inspectionDate(true, true),
inspectionResult(true, true),
scrapQuantity(true, true),
nextInspectionDate(true, true),
syncDate(true, true),
syncState(true, true);
private boolean isRequire;
private boolean isUnique;
public static List<String> getAllRequireKeys() {
List<String> keys = Arrays.stream(values()).filter(e -> e.isRequire).map(e -> e.name()).collect(Collectors.toList());
return keys;
}
public static List<String> getAllUniqueKeys() {
List<String> keys = Arrays.stream(values()).filter(e -> e.isUnique).map(e -> e.name()).collect(Collectors.toList());
return keys;
}
}
package com.yeejoin.amos.api.openapi.constant;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
@AllArgsConstructor
@Getter
public enum CylinderTagFieldEnum {
sequenceCode(true, true),
qrCode(true, true),
electronicLabelCode(true, true),
gasCylinderStamp(true, true),
syncDate(true, false),
syncState(true, false);
private boolean isRequire;
private boolean isUnique;
public static List<String> getAllRequireKeys() {
List<String> keys = Arrays.stream(values()).filter(e -> e.isRequire).map(e -> e.name()).collect(Collectors.toList());
return keys;
}
public static List<String> getAllUniqueKeys() {
List<String> keys = Arrays.stream(values()).filter(e -> e.isUnique).map(e -> e.name()).collect(Collectors.toList());
return keys;
}
}
package com.yeejoin.amos.api.openapi.constant;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
@AllArgsConstructor
@Getter
public enum CylinderUnitFieldEnum {
unitId,
regionCode,
regionName,
unitName,
creditCode,
address,
unitPerson,
personMobilePhone,
personTelephone,
securityAdm,
securityAdmPhone,
postalCode,
syncDate,
syncState;
unitId(true, true),
regionCode(true, false),
regionName(true, false),
unitName(true, true),
creditCode(true, true),
address(true, false),
unitPerson(true, false),
personMobilePhone(true, false),
personTelephone(true, false),
securityAdm(true, false),
securityAdmPhone(true, false),
postalCode(true, false),
syncDate(true, false),
syncState(true, false);
private boolean isRequire;
private boolean isUnique;
public static List<String> getAllRequireKeys() {
List<String> keys = Arrays.stream(values()).filter(e -> e.isRequire).map(e -> e.name()).collect(Collectors.toList());
return keys;
}
public static List<String> getAllUniqueKeys() {
List<String> keys = Arrays.stream(values()).filter(e -> e.isUnique).map(e -> e.name()).collect(Collectors.toList());
return keys;
}
}
package com.yeejoin.amos.api.openapi.constant;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
@AllArgsConstructor
@Getter
public enum FillingAfterFieldEnum {
sequenceCode,
fillingCheckId,
withinScope,
sealedState,
defective,
abnormaLTemperature,
warningSign,
compliance,
checkResults,
nonconformances,
inspector,
inspectionDate,
syncDate,
syncState;
sequenceCode(true, true),
fillingCheckId(true, true),
withinScope(true, false),
sealedState(true, false),
defective(true, false),
abnormaLTemperature(true, false),
warningSign(true, false),
compliance(true, false),
checkResults(true, false),
nonconformances(true, false),
inspector(true, false),
inspectionDate(true, false),
syncDate(true, false),
syncState(true, false);
private boolean isRequire;
private boolean isUnique;
public static List<String> getAllRequireKeys() {
List<String> keys = Arrays.stream(values()).filter(e -> e.isRequire).map(e -> e.name()).collect(Collectors.toList());
return keys;
}
public static List<String> getAllUniqueKeys() {
List<String> keys = Arrays.stream(values()).filter(e -> e.isUnique).map(e -> e.name()).collect(Collectors.toList());
return keys;
}
}
package com.yeejoin.amos.api.openapi.constant;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
@AllArgsConstructor
@Getter
public enum FillingBeforeFieldEnum {
sequenceCode,
fillingBeforeId,
creditCode,
fillingUnitName,
inspectorUser,
inspectionDate,
isValid,
same,
isRegulations,
isComplianceWithGBT,
haveStillPressure,
isComplete,
haveSecurityDocuments,
fillBeforeItem,
checkResults,
nonconformances,
syncDate,
syncState;
sequenceCode(true, true),
fillingBeforeId(true, true),
creditCode(true, false),
fillingUnitName(true, false),
inspectorUser(true, false),
inspectionDate(true, false),
isValid(true, false),
same(true, false),
isRegulations(true, false),
isComplianceWithGBT(true, false),
haveStillPressure(true, false),
isComplete(true, false),
haveSecurityDocuments(true, false),
fillBeforeItem(true, false),
checkResults(true, false),
nonconformances(true, false),
syncDate(true, false),
syncState(true, false);
private boolean isRequire;
private boolean isUnique;
public static List<String> getAllRequireKeys() {
List<String> keys = Arrays.stream(values()).filter(e -> e.isRequire).map(e -> e.name()).collect(Collectors.toList());
return keys;
}
public static List<String> getAllUniqueKeys() {
List<String> keys = Arrays.stream(values()).filter(e -> e.isUnique).map(e -> e.name()).collect(Collectors.toList());
return keys;
}
}
package com.yeejoin.amos.api.openapi.constant;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
@AllArgsConstructor
@Getter
public enum FillingRecordFieldEnum {
sequenceCode,
fillingRecordId,
fillingBeforeId,
fillingCheckId,
fillingExamineId,
fillingStartTime,
fillingEndTime,
fillingUser,
inspectorName,
fillingQuantity,
dischargeVolume,
temperature,
abnormal,
syncDate,
syncState;
sequenceCode(true, true),
fillingRecordId(true, true),
fillingBeforeId(true, true),
fillingCheckId(true, true),
fillingExamineId(true, true),
fillingStartTime(true, false),
fillingEndTime(true, false),
fillingUser(true, false),
inspectorName(true, false),
fillingQuantity(true, false),
dischargeVolume(true, false),
temperature(true, false),
abnormal(true, false),
syncDate(true, false),
syncState(true, false);
private boolean isRequire;
private boolean isUnique;
public static List<String> getAllRequireKeys() {
List<String> keys = Arrays.stream(values()).filter(e -> e.isRequire).map(e -> e.name()).collect(Collectors.toList());
return keys;
}
public static List<String> getAllUniqueKeys() {
List<String> keys = Arrays.stream(values()).filter(e -> e.isUnique).map(e -> e.name()).collect(Collectors.toList());
return keys;
}
}
......@@ -35,14 +35,13 @@ public class CylinderFillingDataValidationService {
*/
public boolean validatEcylinderUnit(List<CylinderUnitModel> unitData) {
JSONArray jsonArray = JSONArray.fromObject(unitData);
List<String> keys = Arrays.stream(CylinderUnitFieldEnum.values()).map(e -> e.name()).collect(Collectors.toList());
// 1.必填校验
List<String> errorRows = validateRequired(keys, jsonArray);
List<String> errorRows = validateRequired(CylinderUnitFieldEnum.getAllRequireKeys(), jsonArray);
if (!ObjectUtils.isEmpty(errorRows)) {
throw new BadRequest(JSONArray.fromObject( errorRows.stream().map(e -> "必填字段为空::" + e).collect(Collectors.toList())).toString());
}
// 2.本次上传数据唯一性校验
errorRows = validateUnique(keys, jsonArray);
errorRows = validateUnique(CylinderUnitFieldEnum.getAllUniqueKeys(), jsonArray);
if (!ObjectUtils.isEmpty(errorRows)) {
throw new BadRequest(JSONArray.fromObject( errorRows.stream().map(e -> "上传数据重复:" + e).collect(Collectors.toList())).toString());
}
......@@ -56,16 +55,20 @@ public class CylinderFillingDataValidationService {
}
/**
* 校验气瓶数据
* @param infoData
* @return
*/
public boolean validateCylinderInfo(List<CylinderInfoModel> infoData) {
JSONArray jsonArray = JSONArray.fromObject(infoData);
List<String> keys = Arrays.stream(CylinderInfoFieldEnum.values()).map(e -> e.name()).collect(Collectors.toList());
// 1.必填校验
List<String> errorRows = validateRequired(keys, jsonArray);
List<String> errorRows = validateRequired(CylinderInfoFieldEnum.getAllRequireKeys(), jsonArray);
if (!ObjectUtils.isEmpty(errorRows)) {
throw new BadRequest(JSONArray.fromObject( errorRows.stream().map(e -> "必填字段为空::" + e).collect(Collectors.toList())).toString());
}
// 2.本次上传数据唯一性校验
errorRows = validateUnique(keys, jsonArray);
errorRows = validateUnique(CylinderInfoFieldEnum.getAllUniqueKeys(), jsonArray);
if (!ObjectUtils.isEmpty(errorRows)) {
throw new BadRequest(JSONArray.fromObject( errorRows.stream().map(e -> "上传数据重复:" + e).collect(Collectors.toList())).toString());
}
......@@ -84,6 +87,73 @@ public class CylinderFillingDataValidationService {
return true;
}
public boolean validateCylinderTag(List<CylinderTagsModel> tagData) {
JSONArray jsonArray = JSONArray.fromObject(tagData);
// 1.必填校验
List<String> errorRows = validateRequired(CylinderTagFieldEnum.getAllRequireKeys(), jsonArray);
if (!ObjectUtils.isEmpty(errorRows)) {
throw new BadRequest(JSONArray.fromObject( errorRows.stream().map(e -> "必填字段为空::" + e).collect(Collectors.toList())).toString());
}
// 2.本次上传数据唯一性校验
errorRows = validateUnique(CylinderTagFieldEnum.getAllUniqueKeys(), jsonArray);
if (!ObjectUtils.isEmpty(errorRows)) {
throw new BadRequest(JSONArray.fromObject( errorRows.stream().map(e -> "上传数据重复:" + e).collect(Collectors.toList())).toString());
}
// 3.检查气瓶唯一标识码是否存在
Set<String> sequenceCodes = getAllData(FillingBeforeFieldEnum.sequenceCode.name(), jsonArray);
errorRows = getNotExistSequenceCodes(sequenceCodes);
if (!ObjectUtils.isEmpty(errorRows)) {
throw new BadRequest(JSONArray.fromObject( errorRows.stream().map(e -> "气瓶唯一标识码不存在:" + e).collect(Collectors.toList())).toString());
}
return true;
}
boolean validateCylinderInspection(List<CylinderInspectionModel> inspectionData) {
JSONArray jsonArray = JSONArray.fromObject(inspectionData);
// 1.必填校验
List<String> errorRows = validateRequired(CylinderInspectionFieldEnum.getAllRequireKeys(), jsonArray);
if (!ObjectUtils.isEmpty(errorRows)) {
throw new BadRequest(JSONArray.fromObject( errorRows.stream().map(e -> "必填字段为空::" + e).collect(Collectors.toList())).toString());
}
// 2.本次上传数据唯一性校验
errorRows = validateUnique(CylinderInspectionFieldEnum.getAllUniqueKeys(), jsonArray);
if (!ObjectUtils.isEmpty(errorRows)) {
throw new BadRequest(JSONArray.fromObject( errorRows.stream().map(e -> "上传数据重复:" + e).collect(Collectors.toList())).toString());
}
// 3.检查气瓶唯一标识码是否存在
Set<String> sequenceCodes = getAllData(FillingBeforeFieldEnum.sequenceCode.name(), jsonArray);
errorRows = getNotExistSequenceCodes(sequenceCodes);
if (!ObjectUtils.isEmpty(errorRows)) {
throw new BadRequest(JSONArray.fromObject( errorRows.stream().map(e -> "气瓶唯一标识码不存在:" + e).collect(Collectors.toList())).toString());
}
return true;
}
boolean validateCylinderFillingExamineModel(List<CylinderFillingExamineModel> inspectionData) {
JSONArray jsonArray = JSONArray.fromObject(inspectionData);
// 1.必填校验
List<String> errorRows = validateRequired(CylinderFillingAuditFieldEnum.getAllRequireKeys(), jsonArray);
if (!ObjectUtils.isEmpty(errorRows)) {
throw new BadRequest(JSONArray.fromObject( errorRows.stream().map(e -> "必填字段为空::" + e).collect(Collectors.toList())).toString());
}
// 2.本次上传数据唯一性校验
errorRows = validateUnique(CylinderFillingAuditFieldEnum.getAllUniqueKeys(), jsonArray);
if (!ObjectUtils.isEmpty(errorRows)) {
throw new BadRequest(JSONArray.fromObject( errorRows.stream().map(e -> "上传数据重复:" + e).collect(Collectors.toList())).toString());
}
// 3.检查气瓶唯一标识码是否存在
Set<String> sequenceCodes = getAllData(FillingBeforeFieldEnum.sequenceCode.name(), jsonArray);
errorRows = getNotExistSequenceCodes(sequenceCodes);
if (!ObjectUtils.isEmpty(errorRows)) {
throw new BadRequest(JSONArray.fromObject( errorRows.stream().map(e -> "气瓶唯一标识码不存在:" + e).collect(Collectors.toList())).toString());
}
return true;
}
/**
* 验证气瓶充装数据
* @return
......@@ -121,14 +191,13 @@ public class CylinderFillingDataValidationService {
* @return List 异常数据
*/
public List<String> validateFillingBeforeData(JSONArray jsonArray) {
List<String> keys = Arrays.stream(FillingBeforeFieldEnum.values()).map(e -> e.name()).collect(Collectors.toList());
// 1.必填校验
List<String> errorRows = validateRequired(keys, jsonArray);
List<String> errorRows = validateRequired(FillingBeforeFieldEnum.getAllRequireKeys(), jsonArray);
if (!ObjectUtils.isEmpty(errorRows)) {
return errorRows.stream().map(e -> "必填字段为空::" + e).collect(Collectors.toList());
}
// 2.本次上传数据唯一性校验
errorRows = validateUnique(keys, jsonArray);
errorRows = validateUnique(FillingBeforeFieldEnum.getAllUniqueKeys(), jsonArray);
if (!ObjectUtils.isEmpty(errorRows)) {
return errorRows.stream().map(e -> "上传数据重复:" + e).collect(Collectors.toList());
}
......@@ -153,14 +222,13 @@ public class CylinderFillingDataValidationService {
* @return List 异常数据
*/
public List<String> validateFillingRecordData(JSONArray jsonArray) {
List<String> keys = Arrays.stream(FillingRecordFieldEnum.values()).map(e -> e.name()).collect(Collectors.toList());
// 1.必填校验
List<String> errorRows = validateRequired(keys, jsonArray);
List<String> errorRows = validateRequired(FillingRecordFieldEnum.getAllRequireKeys(), jsonArray);
if (!ObjectUtils.isEmpty(errorRows)) {
return errorRows.stream().map(e -> "必填字段为空::" + e).collect(Collectors.toList());
}
// 2.本次上传数据唯一性校验
errorRows = validateUnique(keys, jsonArray);
errorRows = validateUnique(FillingRecordFieldEnum.getAllUniqueKeys(), jsonArray);
if (!ObjectUtils.isEmpty(errorRows)) {
return errorRows.stream().map(e -> "上传数据重复:" + e).collect(Collectors.toList());
}
......@@ -185,14 +253,14 @@ public class CylinderFillingDataValidationService {
* @return List 异常数据
*/
public List<String> validateFillinAfterData(JSONArray jsonArray) {
List<String> keys = Arrays.stream(FillingAfterFieldEnum.values()).map(e -> e.name()).collect(Collectors.toList());
// 1.必填校验
List<String> errorRows = validateRequired(keys, jsonArray);
List<String> errorRows = validateRequired(FillingAfterFieldEnum.getAllRequireKeys(), jsonArray);
if (!ObjectUtils.isEmpty(errorRows)) {
return errorRows.stream().map(e -> "必填字段为空::" + e).collect(Collectors.toList());
}
// 2.本次上传数据唯一性校验
errorRows = validateUnique(keys, jsonArray);
errorRows = validateUnique(FillingAfterFieldEnum.getAllUniqueKeys(), jsonArray);
if (!ObjectUtils.isEmpty(errorRows)) {
return errorRows.stream().map(e -> "上传数据重复:" + e).collect(Collectors.toList());
}
......
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