Commit 2f9930ba authored by xixinzhao's avatar xixinzhao

三维校验

parent aa35d171
...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; ...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.yeejoin.amos.boot.module.tdc.api.dto.CheckModelDto; import com.yeejoin.amos.boot.module.tdc.api.dto.CheckModelDto;
import com.yeejoin.amos.boot.module.tdc.api.entity.CheckModel; import com.yeejoin.amos.boot.module.tdc.api.entity.CheckModel;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
...@@ -34,13 +35,13 @@ public interface CheckModelService extends IService<CheckModel> { ...@@ -34,13 +35,13 @@ public interface CheckModelService extends IService<CheckModel> {
* 校验机构下全部模型 * 校验机构下全部模型
* @param amosOrgCode 机构code * @param amosOrgCode 机构code
*/ */
void checkAllMode(String amosOrgCode); void checkAllMode(String amosOrgCode, AgencyUserModel userInfo);
/** /**
* 校验单个模型 * 校验单个模型
* @param modelId 模型id * @param modelId 模型id
*/ */
void checkSingleMode(String modelId); void checkSingleMode(String modelId, AgencyUserModel userInfo);
/** /**
* 根据机构code和模型名称查询模型对象 * 根据机构code和模型名称查询模型对象
......
...@@ -48,4 +48,11 @@ public interface CheckResultService extends IService<CheckResult> { ...@@ -48,4 +48,11 @@ public interface CheckResultService extends IService<CheckResult> {
*/ */
Integer selectItemCount(String batchNo); Integer selectItemCount(String batchNo);
/**
* 查询不合格项
* @param batchNo 批次号
* @return 属性个数
*/
Integer selectItemNo(String batchNo,Long modelId);
} }
...@@ -73,6 +73,7 @@ public class CheckModelAction { ...@@ -73,6 +73,7 @@ public class CheckModelAction {
String batchNo = String.valueOf(propertyValues.get("batch_no")); String batchNo = String.valueOf(propertyValues.get("batch_no"));
Integer checkType = Integer.valueOf(String.valueOf(propertyValues.get("checkType"))); Integer checkType = Integer.valueOf(String.valueOf(propertyValues.get("checkType")));
String orgCode = String.valueOf(propertyValues.get("org_code")); String orgCode = String.valueOf(propertyValues.get("org_code"));
String checkPeopleName = String.valueOf(propertyValues.get("checkPeopleName"));
String itemName = idxProjectModel.getItemName(); String itemName = idxProjectModel.getItemName();
// 获取模型 // 获取模型
...@@ -105,12 +106,12 @@ public class CheckModelAction { ...@@ -105,12 +106,12 @@ public class CheckModelAction {
if (ObjectUtils.isNotEmpty(checkType)) { if (ObjectUtils.isNotEmpty(checkType)) {
if (checkType == 1) { if (checkType == 1) {
// 2.2 单独模型校验,根据批次号查询已经入库的属性 // 2.2 单独模型校验,根据批次号查询已经入库的属性
sendWebMessage(batchNo, checkModel.getCheckItemAmount()); sendWebMessage(batchNo, checkModel.getCheckItemAmount(), orgCode, checkPeopleName, checkType, itemName);
} else if (checkType == 0) { } else if (checkType == 0) {
// 2.1 全站校验 // 2.1 全站校验
List<CheckModel> checkModels = checkModelService.selectByOrgCode(orgCode); List<CheckModel> checkModels = checkModelService.selectByOrgCode(orgCode);
int sum = checkModels.stream().mapToInt(CheckModel::getCheckItemAmount).sum(); int sum = checkModels.stream().mapToInt(CheckModel::getCheckItemAmount).sum();
sendWebMessage(batchNo, sum); sendWebMessage(batchNo, sum, orgCode, checkPeopleName, checkType, itemName);
} }
} }
// else { // else {
...@@ -124,7 +125,7 @@ public class CheckModelAction { ...@@ -124,7 +125,7 @@ public class CheckModelAction {
// } // }
} }
private void sendWebMessage(String batchNo, Integer itemSize) { private void sendWebMessage(String batchNo, Integer itemSize, String orgCode, String checkPeopleName, Integer checkType, String itemName) {
Integer itemCount = checkResultService.selectItemCount(batchNo); Integer itemCount = checkResultService.selectItemCount(batchNo);
if (itemCount.equals(itemSize)) { if (itemCount.equals(itemSize)) {
// 所有属性已全部入库,给前端发送消息 // 所有属性已全部入库,给前端发送消息
...@@ -139,8 +140,29 @@ public class CheckModelAction { ...@@ -139,8 +140,29 @@ public class CheckModelAction {
e.printStackTrace(); e.printStackTrace();
} }
// 全站校验生成报告 if (checkType == 0) {
// 全站校验生成报告
checkResultService.saveSql(orgCode, checkPeopleName);
List<CheckModel> checkModels = checkModelService.selectByOrgCode(orgCode);
checkModels.forEach(checkModel -> {
saveCheckModel(checkModel, batchNo);
});
} else {
// 更改校验结果
CheckModel checkModel = checkModelService.selectCheckModelByNameCode(itemName, orgCode);
saveCheckModel(checkModel, batchNo);
}
}
}
private void saveCheckModel (CheckModel checkModel, String batchNo) {
Integer integer = checkResultService.selectItemNo(batchNo, checkModel.getSequenceNbr());
if (0 == integer) {
checkModel.setCheckStatus(1);
} else {
checkModel.setCheckStatus(2);
} }
checkModel.setCheckDate(new Date());
checkModelService.updateById(checkModel);
} }
} }
package com.yeejoin.amos.boot.module.tdc.biz.controller; package com.yeejoin.amos.boot.module.tdc.biz.controller;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.tdc.api.dto.CheckModelDto; import com.yeejoin.amos.boot.module.tdc.api.dto.CheckModelDto;
import com.yeejoin.amos.boot.module.tdc.api.entity.CheckModel; import com.yeejoin.amos.boot.module.tdc.api.entity.CheckModel;
import com.yeejoin.amos.boot.module.tdc.api.service.CheckModelService; import com.yeejoin.amos.boot.module.tdc.api.service.CheckModelService;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -21,7 +23,7 @@ import java.util.List; ...@@ -21,7 +23,7 @@ import java.util.List;
@RestController @RestController
@Api(tags = "校验模型api") @Api(tags = "校验模型api")
@RequestMapping(value = "/model") @RequestMapping(value = "/model")
public class CheckModelController { public class CheckModelController extends BaseController {
@Autowired @Autowired
CheckModelService checkModelService; CheckModelService checkModelService;
...@@ -55,7 +57,8 @@ public class CheckModelController { ...@@ -55,7 +57,8 @@ public class CheckModelController {
@GetMapping(value = "/CheckAllModel/{amosOrgCode}") @GetMapping(value = "/CheckAllModel/{amosOrgCode}")
@ApiOperation(httpMethod = "GET",value = "点击全站校验", notes = "根据机构code校验模型") @ApiOperation(httpMethod = "GET",value = "点击全站校验", notes = "根据机构code校验模型")
public void CheckAllModel(@PathVariable(value = "amosOrgCode") String amosOrgCode) { public void CheckAllModel(@PathVariable(value = "amosOrgCode") String amosOrgCode) {
checkModelService.checkAllMode(amosOrgCode); AgencyUserModel userInfo = getUserInfo();
checkModelService.checkAllMode(amosOrgCode, userInfo);
} }
/** /**
...@@ -65,6 +68,7 @@ public class CheckModelController { ...@@ -65,6 +68,7 @@ public class CheckModelController {
@GetMapping(value = "/checkSingleMode/{modelId}") @GetMapping(value = "/checkSingleMode/{modelId}")
@ApiOperation(httpMethod = "GET",value = "点击单独模型校验", notes = "根据modelId校验模型") @ApiOperation(httpMethod = "GET",value = "点击单独模型校验", notes = "根据modelId校验模型")
public void checkSingleMode(@PathVariable(value = "modelId") String modelId) { public void checkSingleMode(@PathVariable(value = "modelId") String modelId) {
checkModelService.checkSingleMode(modelId); AgencyUserModel userInfo = getUserInfo();
checkModelService.checkSingleMode(modelId, userInfo);
} }
} }
...@@ -20,6 +20,7 @@ import com.yeejoin.amos.boot.module.tdc.api.vo.SubjectTreeVo; ...@@ -20,6 +20,7 @@ import com.yeejoin.amos.boot.module.tdc.api.vo.SubjectTreeVo;
import com.yeejoin.amos.boot.module.tdc.api.vo.TableColumnsVo; import com.yeejoin.amos.boot.module.tdc.api.vo.TableColumnsVo;
import com.yeejoin.amos.boot.module.tdc.biz.action.model.IdxProjectModel; import com.yeejoin.amos.boot.module.tdc.biz.action.model.IdxProjectModel;
import com.yeejoin.amos.component.rule.RuleTrigger; import com.yeejoin.amos.component.rule.RuleTrigger;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -78,27 +79,29 @@ public class CheckModelImpl extends ServiceImpl<CheckModelMapper, CheckModel> im ...@@ -78,27 +79,29 @@ public class CheckModelImpl extends ServiceImpl<CheckModelMapper, CheckModel> im
} }
@Override @Override
public void checkAllMode(String amosOrgCode) { public void checkAllMode(String amosOrgCode, AgencyUserModel userInfo) {
String userName = userInfo.getUserName();
LambdaQueryWrapper<CheckModel> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<CheckModel> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(CheckModel::getAmosOrgCode, amosOrgCode); wrapper.eq(CheckModel::getAmosOrgCode, amosOrgCode);
List<CheckModel> checkModels = this.baseMapper.selectList(wrapper); List<CheckModel> checkModels = this.baseMapper.selectList(wrapper);
String batchNo = UUID.randomUUID().toString(); String batchNo = UUID.randomUUID().toString();
if (!CollectionUtils.isEmpty(checkModels)) { if (!CollectionUtils.isEmpty(checkModels)) {
checkModels.forEach(checkModel -> { checkModels.forEach(checkModel -> {
checkModelRule(checkModel, 0, batchNo, amosOrgCode); checkModelRule(checkModel, 0, batchNo, amosOrgCode, userName);
}); });
} }
} }
@Override @Override
public void checkSingleMode(String modelId) { public void checkSingleMode(String modelId, AgencyUserModel userInfo) {
String userName = userInfo.getUserName();
LambdaQueryWrapper<CheckModel> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<CheckModel> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(CheckModel::getSequenceNbr, modelId); wrapper.eq(CheckModel::getSequenceNbr, modelId);
CheckModel checkModel = this.baseMapper.selectOne(wrapper); CheckModel checkModel = this.baseMapper.selectOne(wrapper);
if (!ObjectUtils.isEmpty(checkModel)) { if (!ObjectUtils.isEmpty(checkModel)) {
// 调用规则校验模型 // 调用规则校验模型
String batchNo = UUID.randomUUID().toString(); String batchNo = UUID.randomUUID().toString();
checkModelRule(checkModel, 1, batchNo, checkModel.getAmosOrgCode()); checkModelRule(checkModel, 1, batchNo, checkModel.getAmosOrgCode(), userName);
} }
} }
...@@ -110,7 +113,7 @@ public class CheckModelImpl extends ServiceImpl<CheckModelMapper, CheckModel> im ...@@ -110,7 +113,7 @@ public class CheckModelImpl extends ServiceImpl<CheckModelMapper, CheckModel> im
return this.baseMapper.selectOne(wrapper); return this.baseMapper.selectOne(wrapper);
} }
private void checkModelRule(CheckModel checkModel, int checkType, String batchNo, String amosOrgCode) { private void checkModelRule(CheckModel checkModel, int checkType, String batchNo, String amosOrgCode, String userName) {
IdxProjectModel idxProjectModel = new IdxProjectModel(); IdxProjectModel idxProjectModel = new IdxProjectModel();
// 查询表最新一条数据 // 查询表最新一条数据
String idxTableName = checkModel.getIdxTableName(); String idxTableName = checkModel.getIdxTableName();
...@@ -121,6 +124,7 @@ public class CheckModelImpl extends ServiceImpl<CheckModelMapper, CheckModel> im ...@@ -121,6 +124,7 @@ public class CheckModelImpl extends ServiceImpl<CheckModelMapper, CheckModel> im
} }
map.put("batch_no", batchNo); map.put("batch_no", batchNo);
map.put("checkType", checkType); map.put("checkType", checkType);
map.put("checkPeopleName", userName);
// 查询表所有字段 // 查询表所有字段
ResponseModel<JSONObject> model = idxFeignService.queryByTableId(checkModel.getTableId()); ResponseModel<JSONObject> model = idxFeignService.queryByTableId(checkModel.getTableId());
......
...@@ -28,7 +28,7 @@ public class CheckReportImpl extends ServiceImpl<CheckReportMapper, CheckReport> ...@@ -28,7 +28,7 @@ public class CheckReportImpl extends ServiceImpl<CheckReportMapper, CheckReport>
return this.page(page); return this.page(page);
}else{ }else{
LambdaQueryWrapper<CheckReport> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<CheckReport> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(CheckReport::getAmosOrgCode, amosOrgCode); wrapper.likeRight(CheckReport::getAmosOrgCode, amosOrgCode);
return this.page(page,wrapper); return this.page(page,wrapper);
} }
......
...@@ -165,6 +165,15 @@ public class CheckResultImpl extends ServiceImpl<CheckResultMapper, CheckResult> ...@@ -165,6 +165,15 @@ public class CheckResultImpl extends ServiceImpl<CheckResultMapper, CheckResult>
return this.baseMapper.selectCount(wrapper); return this.baseMapper.selectCount(wrapper);
} }
@Override
public Integer selectItemNo(String batchNo, Long modelId) {
LambdaQueryWrapper<CheckResult> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(CheckResult::getBatchNo, batchNo);
wrapper.eq(CheckResult::getModelId, modelId);
wrapper.eq(CheckResult::getCheckItemResult, 1);
return this.baseMapper.selectCount(wrapper);
}
/** /**
* 获取报告数据 * 获取报告数据
......
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