|
@@ -21,10 +21,11 @@ import com.ozs.service.BaseRailwayManagementService;
|
|
|
import com.ozs.service.BaseUserService;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
-import org.springframework.util.ObjectUtils;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import javax.validation.Validator;
|
|
|
+import java.math.BigDecimal;
|
|
|
+import java.math.RoundingMode;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.HashSet;
|
|
|
import java.util.List;
|
|
@@ -67,7 +68,7 @@ public class BaseCameraManagementServiceImpl extends ServiceImpl<BaseCameraManag
|
|
|
*/
|
|
|
@Override
|
|
|
public String importBaseAccountManagement(List<BaseCameraManagementVos> accountManageList, boolean updateSupport, String userId) {
|
|
|
- if (StringUtils.isNull(accountManageList) || accountManageList.size() == 0) {
|
|
|
+ if (StringUtils.isEmptySunhh(accountManageList) || accountManageList.size() == 0) {
|
|
|
throw new ServiceException("导入相机台账列表信息不能为空!");
|
|
|
}
|
|
|
int successNum = 0;
|
|
@@ -80,52 +81,92 @@ public class BaseCameraManagementServiceImpl extends ServiceImpl<BaseCameraManag
|
|
|
BeanUtils.copyProperties(cameraManagementVos, accountManagement);
|
|
|
// 判断相机编码是否存在
|
|
|
LambdaQueryWrapper<BaseCameraManagement> lw = new LambdaQueryWrapper<BaseCameraManagement>();
|
|
|
- if (!ObjectUtils.isEmpty(accountManagement.getCameraCode())) {
|
|
|
+ if (!StringUtils.isEmptySunhh(accountManagement.getCameraCode())) {
|
|
|
lw.eq(BaseCameraManagement::getCameraCode, accountManagement.getCameraCode());
|
|
|
}
|
|
|
BaseCameraManagement baseAccountManagement = baseCameraManagementMapper.selectOne(lw);
|
|
|
- if (ObjectUtils.isEmpty(baseAccountManagement)) {
|
|
|
+ if (StringUtils.isEmptySunhh(baseAccountManagement)) {
|
|
|
BeanValidators.validateWithException(validator, accountManagement);
|
|
|
accountManagement.setUpdateBy(userId);
|
|
|
accountManagement.setCreateBy(userId);
|
|
|
- Long deptId = baseDeptMapper.selectDeptByDeptName(accountManagement.getDeptName());
|
|
|
- log.debug(accountManagement.getDeptName() + "主键id:" + deptId);
|
|
|
+// Long deptId = baseDeptMapper.selectDeptByDeptName(accountManagement.getDeptName());
|
|
|
+// log.debug(accountManagement.getDeptName() + "主键id:" + deptId);
|
|
|
// if (!ObjectUtils.isEmpty(deptId)) {
|
|
|
- accountManagement.setDeptId(deptId);
|
|
|
- LambdaQueryWrapper<BaseRailwayManagement> queryWrapper = new LambdaQueryWrapper<BaseRailwayManagement>();
|
|
|
- if (!ObjectUtils.isEmpty(accountManagement.getRailwayName())) {
|
|
|
- queryWrapper.eq(BaseRailwayManagement::getRailwayName, accountManagement.getRailwayName());
|
|
|
- }
|
|
|
- BaseRailwayManagement baseRailwayManagement = baseRailwayManagementService.getOne(queryWrapper);
|
|
|
- if (!ObjectUtils.isEmpty(baseRailwayManagement)) {
|
|
|
- if (!accountManagement.getBeginMile().toString().matches(PATTERN) || !accountManagement.getInstallMile().toString().matches(PATTERN) || !accountManagement.getEndMile().toString().matches(PATTERN)) {
|
|
|
- failureNum++;
|
|
|
- failureMsg.append(failureNum + "、相机编码为: " + accountManagement.getCameraCode() + "的数据,里程位置填写格式不正确,请填写数字");
|
|
|
- } else {
|
|
|
- accountManagement.setRailwayCode(baseRailwayManagement.getRailwayCode());
|
|
|
- accountManagement.setInstallMile(accountManagement.getInstallMile() * 1000);
|
|
|
- accountManagement.setEndMile(accountManagement.getEndMile() * 1000);
|
|
|
- accountManagement.setBeginMile(accountManagement.getBeginMile() * 1000);
|
|
|
- if (accountManagement.getBeginMile() < accountManagement.getEndMile()) {
|
|
|
- baseCameraManagementMapper.insert(accountManagement);
|
|
|
- BaseDeviceDynamicManagement baseDeviceDynamicManagement = new BaseDeviceDynamicManagement();
|
|
|
- baseDeviceDynamicManagement.setCameraCode(accountManagement.getCameraCode());
|
|
|
- baseDeviceDynamicManagement.setUpdateBy(userId);
|
|
|
- baseDeviceDynamicManagement.setCreateBy(userId);
|
|
|
- baseDeviceDynamicManagementMapper.insert(baseDeviceDynamicManagement);
|
|
|
- successNum++;
|
|
|
- successMsg.append(successNum + "、相机编码 " + accountManagement.getCameraCode() + " 导入成功");
|
|
|
+// accountManagement.setDeptId(deptId);
|
|
|
+ LambdaQueryWrapper<BaseRailwayManagement> queryWrapper = new LambdaQueryWrapper<BaseRailwayManagement>();
|
|
|
+ if (!StringUtils.isEmptySunhh(accountManagement.getRailwayName())) {
|
|
|
+ queryWrapper.eq(BaseRailwayManagement::getRailwayName, accountManagement.getRailwayName());
|
|
|
+ }
|
|
|
+ // List<BaseRailwayManagement> list = baseRailwayManagementService.list(queryWrapper);
|
|
|
+ BaseRailwayManagement baseRailwayManagement = baseRailwayManagementService.getOne(queryWrapper);
|
|
|
+ if (!StringUtils.isEmptySunhh(baseRailwayManagement)) {
|
|
|
+ if (!accountManagement.getBeginMile().toString().matches(PATTERN) || !accountManagement.getInstallMile().toString().matches(PATTERN) || !accountManagement.getEndMile().toString().matches(PATTERN)) {
|
|
|
+ failureNum++;
|
|
|
+ failureMsg.append(failureNum + "、相机编码为: " + accountManagement.getCameraCode() + "的数据,里程位置填写格式不正确,请填写数字");
|
|
|
+ } else {
|
|
|
+ accountManagement.setRailwayCode(baseRailwayManagement.getRailwayCode());
|
|
|
+ if (!StringUtils.isEmptySunhh(accountManagement.getBeginMileBD())) {
|
|
|
+ if (!accountManagement.getBeginMileBD().toString().matches(PATTERN)) {
|
|
|
+ failureNum++;
|
|
|
+ String msg = failureNum + "、监控范围开始里程位置填写格式不正确";
|
|
|
+ failureMsg.append(msg);
|
|
|
+ log.error(msg);
|
|
|
+ // return error("监控范围开始里程位置填写格式不正确");
|
|
|
+ } else {
|
|
|
+ BigDecimal begin = accountManagement.getBeginMileBD().setScale(3, RoundingMode.HALF_UP);
|
|
|
+ // BigDecimal begin = BigDecimal.parseDouble(baseCameraManagement.getBeginMile().toString());
|
|
|
+ accountManagement.setBeginMile(begin.multiply(new BigDecimal("1000")).intValue());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (!StringUtils.isEmptySunhh(accountManagement.getInstallMileBD())) {
|
|
|
+ if (!accountManagement.getInstallMileBD().toString().matches(PATTERN)) {
|
|
|
+ failureNum++;
|
|
|
+ String msg = failureNum + "、监控相机安装里程位置填写格式不正确";
|
|
|
+ failureMsg.append(msg);
|
|
|
+ log.error(msg);
|
|
|
+ // return error("监控相机安装里程位置填写格式不正确");
|
|
|
} else {
|
|
|
+ BigDecimal install = accountManagement.getInstallMileBD().setScale(3, RoundingMode.HALF_UP);
|
|
|
+ // double install = Double.parseDouble(baseCameraManagement.getInstallMile().toString());
|
|
|
+ accountManagement.setInstallMile(install.multiply(new BigDecimal("1000")).intValue());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (!StringUtils.isEmptySunhh(accountManagement.getInstallMileBD())) {
|
|
|
+ if (!accountManagement.getInstallMileBD().toString().matches(PATTERN)) {
|
|
|
failureNum++;
|
|
|
- failureMsg.append(failureNum + "、相机编码为: " + accountManagement.getCameraCode() + "的数据,监控范围开始里程位置不能大于监控范围结束里程位置");
|
|
|
+ String msg = failureNum + "、监控范围结束里程位置填写格式不正确";
|
|
|
+ failureMsg.append(msg);
|
|
|
+ log.error(msg);
|
|
|
+ // return error("监控范围结束里程位置填写格式不正确");
|
|
|
+ } else {
|
|
|
+ BigDecimal end = accountManagement.getInstallMileBD().setScale(3, RoundingMode.HALF_UP);
|
|
|
+ // double end = Double.parseDouble(baseCameraManagement.getEndMile().toString());
|
|
|
+ accountManagement.setEndMile(end.multiply(new BigDecimal("1000")).intValue());
|
|
|
}
|
|
|
}
|
|
|
- } else {
|
|
|
- failureNum++;
|
|
|
- String msg = failureNum + "、相机所属线路名称 " + accountManagement.getRailwayName() + "不存在, 导入失败:";
|
|
|
- failureMsg.append(msg);
|
|
|
- log.error(msg);
|
|
|
+// accountManagement.setInstallMile(accountManagement.getInstallMileBD() * 1000);
|
|
|
+// accountManagement.setEndMile(accountManagement.getEndMile() * 1000);
|
|
|
+// accountManagement.setBeginMile(accountManagement.getBeginMile() * 1000);
|
|
|
+ if (accountManagement.getBeginMile() < accountManagement.getEndMile()) {
|
|
|
+ baseCameraManagementMapper.insert(accountManagement);
|
|
|
+ BaseDeviceDynamicManagement baseDeviceDynamicManagement = new BaseDeviceDynamicManagement();
|
|
|
+ baseDeviceDynamicManagement.setCameraCode(accountManagement.getCameraCode());
|
|
|
+ baseDeviceDynamicManagement.setUpdateBy(userId);
|
|
|
+ baseDeviceDynamicManagement.setCreateBy(userId);
|
|
|
+ baseDeviceDynamicManagementMapper.insert(baseDeviceDynamicManagement);
|
|
|
+ successNum++;
|
|
|
+ successMsg.append(successNum + "、相机编码 " + accountManagement.getCameraCode() + " 导入成功");
|
|
|
+ } else {
|
|
|
+ failureNum++;
|
|
|
+ failureMsg.append(failureNum + "、相机编码为: " + accountManagement.getCameraCode() + "的数据,监控范围开始里程位置不能大于监控范围结束里程位置");
|
|
|
+ }
|
|
|
}
|
|
|
+ } else {
|
|
|
+ failureNum++;
|
|
|
+ String msg = failureNum + "、相机所属线路名称 " + accountManagement.getRailwayName() + "不存在, 导入失败:";
|
|
|
+ failureMsg.append(msg);
|
|
|
+ log.error(msg);
|
|
|
+ }
|
|
|
// } else {
|
|
|
// failureNum++;
|
|
|
// String msg = failureNum + "、相机所属工务段 " + accountManagement.getDeptName() + "不存在, 导入失败:";
|
|
@@ -141,7 +182,7 @@ public class BaseCameraManagementServiceImpl extends ServiceImpl<BaseCameraManag
|
|
|
accountManagement.setDeptId(deptId);
|
|
|
baseCameraManagementMapper.update(accountManagement, lw);
|
|
|
LambdaQueryWrapper<BaseDeviceDynamicManagement> wrapper = new LambdaQueryWrapper<BaseDeviceDynamicManagement>();
|
|
|
- if (!ObjectUtils.isEmpty(baseAccountManagement.getCameraCode())) {
|
|
|
+ if (!StringUtils.isEmptySunhh(baseAccountManagement.getCameraCode())) {
|
|
|
wrapper.eq(BaseDeviceDynamicManagement::getCameraCode, baseAccountManagement.getCameraCode());
|
|
|
}
|
|
|
BaseDeviceDynamicManagement baseDeviceDynamicManagement = baseDeviceDynamicManagementMapper.selectOne(wrapper);
|