Commit c48bcba5 authored by suhuiguang's avatar suhuiguang

1.检验检测报检规则3.0版本

parent 181926e9
......@@ -217,4 +217,10 @@ public class JyjcInspectionApplication extends BaseEntity {
@TableField(value = "plan_data", typeHandler = JacksonTypeHandler.class)
private JSONObject planData;
/**
* 是否必须处理: true-必须处理,false-可不予受理
*/
@TableField(value = "is_must_accept")
private Boolean isMustAccept;
}
......@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* @author LiuLin
* @date 2024年01月02日 16:47
......
......@@ -166,6 +166,11 @@ public class JyjcInspectionApplicationModel extends BaseModel {
@ApiModelProperty(value = "是否已经进行计划排期")
private Boolean isExistPlanData;
/**
* 是否必须处理: true-必须处理,false-可不予受理
*/
private Boolean isMustAccept;
public String getProcessInstanceId() {
return this.instanceId != null ? this.instanceId : this.processInstanceId;
}
......
......@@ -38,17 +38,25 @@ import java.util.Map;
public class JyjcInspectionApplicationController extends BaseController {
@Autowired
JyjcInspectionApplicationServiceImpl jyjcInspectionApplicationServiceImpl;
private JyjcInspectionApplicationServiceImpl jyjcInspectionApplicationServiceImpl;
// 业务通用发起——基本信息
private static final String basic = "basic";
// 业务通用发起——设备信息
private static final String equipPageInfo = "equipPageInfo";
// 业务通用发起——技术参数-
private static final String filePageData = "filePageData";
/**
* 业务通用发起——基本信息
*/
private static final String BASIC = "basic";
/**
* 业务通用发起——设备信息
*/
private static final String EQUIP_PAGE_INFO = "equipPageInfo";
/**
* 业务通用发起——技术参数
*/
private static final String FILE_PAGE_DATA = "filePageData";
@Autowired
EventPublisher eventPublisher;
private EventPublisher eventPublisher;
/**
* 新增
......@@ -59,11 +67,11 @@ public class JyjcInspectionApplicationController extends BaseController {
@PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "暂存、提交", notes = "新增")
public ResponseModel<List<JyjcInspectionApplicationModel>> save(@RequestBody JSONObject model) {
if (model.containsKey(basic)) {
if (model.containsKey(BASIC)) {
JSONObject finallyJson = new JSONObject();
Map<String, Object> basicObj = (Map<String, Object>) model.get(basic);
Map<String, Object> equipPageInfoObj = (Map<String, Object>) model.get(equipPageInfo);
Map<String, Object> filePageDataObj = (Map<String, Object>) model.get(filePageData);
Map<String, Object> basicObj = (Map<String, Object>) model.get(BASIC);
Map<String, Object> equipPageInfoObj = (Map<String, Object>) model.get(EQUIP_PAGE_INFO);
Map<String, Object> filePageDataObj = (Map<String, Object>) model.get(FILE_PAGE_DATA);
finallyJson.putAll(model);
finallyJson.putAll(basicObj);
finallyJson.putAll(equipPageInfoObj);
......@@ -122,7 +130,7 @@ public class JyjcInspectionApplicationController extends BaseController {
@GetMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "GET", value = "根据sequenceNbr查询单个", notes = "根据sequenceNbr查询单个")
public ResponseModel<Map<String, Object>> selectOne(@PathVariable Long sequenceNbr) {
return ResponseHelper.buildResponse(jyjcInspectionApplicationServiceImpl.selectBySeq(sequenceNbr));
return ResponseHelper.buildResponse(jyjcInspectionApplicationServiceImpl.selectBySeq(sequenceNbr, getSelectedOrgInfo().getCompany().getCompanyType()));
}
......
......@@ -54,4 +54,10 @@ public class InspectionEquipInfo implements Serializable {
@ApiModelProperty(value = "所在区域")
private String areaCode;
@ApiModelProperty(value = "设备所在区/县行政编码")
private String districtOrCountyCode;
@ApiModelProperty(value = "是否是球阀,压力容器定向规则使用")
private Boolean isBallValve = false;
}
......@@ -195,6 +195,7 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec
// 校验流程中的不能再次提交
this.checkForFlowingEquip(model);
if (CharSequenceUtil.isNotEmpty(model.getProcessInstanceId()) && model.getOperationType().equals("0")) {
// 之前有工作流,再次提交
model.setOperationType("2");
}
......@@ -215,7 +216,7 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec
String[] inspectionUnit = model.getInspectionUnitCode().split("_");
if (inspectionUnit.length == 2) {
model.setInspectionUnitCode(inspectionUnit[0]);
model.setInspectionUnitName(inspectionUnit[1]);
model.setIsMustAccept(Boolean.parseBoolean(inspectionUnit[1]));
} else {
this.setInspectionUnitNameAfterSave(model);
}
......@@ -358,6 +359,13 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec
model.setDockingUnitCode(jyjcOpeningApplications.get(0).getDockingUnitCode());
}
}
String[] inspectionUnit = model.getInspectionUnitCode().split("_");
if (inspectionUnit.length == 2) {
model.setInspectionUnitCode(inspectionUnit[0]);
model.setIsMustAccept(Boolean.parseBoolean(inspectionUnit[1]));
} else {
this.setInspectionUnitNameAfterSave(model);
}
this.setInspectionUnitNameAfterSave(model);
//更新报检装备监管码
......@@ -569,9 +577,8 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec
return this.queryForList("", false);
}
public Map<String, Object> selectBySeq(Long sequenceNbr) {
public Map<String, Object> selectBySeq(Long sequenceNbr, String companyType) {
JyjcInspectionApplicationModel model = this.getBaseMapper().selectDataBySeq(sequenceNbr);
int times = noAcceptLogService.count(new LambdaQueryWrapper<JyjcInspectionApplicationNoAcceptLog>().eq(JyjcInspectionApplicationNoAcceptLog::getApplicationSeq, sequenceNbr).eq(JyjcInspectionApplicationNoAcceptLog::getInspectionUnitCode,shanxiCompanyCode));
Map<String, Object> map = BeanUtil.beanToMap(model);
List<Map<String, Object>> dataByApplicationSeq = jyjcInspectionApplicationAttachmentService.getBaseMapper().getDataByApplicationSeq(sequenceNbr);
Map<String, Object> attMap = new HashMap<>();
......@@ -606,8 +613,7 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec
map.put("equip", arrayList);
}
map.putAll(attMap);
// 陕西特检验院不予首次的次数
map.put("sytjybyslcs",times);
map.put("companyType", companyType);
this.setPlanData(sequenceNbr, map);
return map;
}
......
......@@ -32,6 +32,7 @@ import com.yeejoin.amos.boot.module.ymt.api.dto.TzBaseEnterpriseInfoDto;
import com.yeejoin.amos.boot.module.ymt.api.dto.TzBaseUnitLicenceDto;
import com.yeejoin.amos.boot.module.ymt.api.entity.BaseUnitLicence;
import com.yeejoin.amos.boot.module.ymt.api.entity.TzBaseEnterpriseInfo;
import com.yeejoin.amos.boot.module.ymt.api.entity.TzBaseUnitLicence;
import com.yeejoin.amos.boot.module.ymt.api.entity.TzsUserInfo;
import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum;
......@@ -130,6 +131,12 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
@Autowired
RedissonClient redissonClient;
@Autowired
private RuleCommonServiceImpl ruleCommonService;
@Autowired
private TzBaseEnterpriseInfoMapper tzBaseEnterpriseInfoMapper;
private static Map<String, DictionarieValueModel> permissionLevelMap;
private static List<DictionarieValueModel> permissionItemList;
......@@ -902,7 +909,24 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
@Override
public List<TzBaseEnterpriseInfoDto> getUnitListByRecord(String record) {
return ruleActionHandler.getInspectionUnitList(new ArrayList<>(), true, record, OpenBizTypeEnum.JC.getCode());
return this.getInspectionUnitList(new ArrayList<>(), true, record, OpenBizTypeEnum.JC.getCode());
}
private List<TzBaseEnterpriseInfoDto> getInspectionUnitList(List<TzBaseUnitLicence> unitLicenceList, Boolean isMatchArea, String record, String openBizType) {
// 是否进行属地过滤
String areaCode = isMatchArea ? ruleCommonService.getArea(record) : "";
// 所有符合单位的code
Set<String> unitCodes = unitLicenceList.stream().map(TzBaseUnitLicence::getUnitCode).collect(Collectors.toSet());
List<TzBaseEnterpriseInfoDto> matchEnterpriseInfos = new ArrayList<>();
// 按照资质 + areaCode,进行设备单位的筛选
if (unitCodes.size() > 0) {
matchEnterpriseInfos = tzBaseEnterpriseInfoMapper.getInspectionUnitListByCode(new ArrayList<>(unitCodes), areaCode, openBizType);
}
if (matchEnterpriseInfos.isEmpty()) {
log.info("按照资质、区域未匹配到对应的单位、按照地市未匹配到单位,将返回全部单位");
return tzBaseEnterpriseInfoMapper.getInspectionUnitListByCode(null, null, openBizType);
}
return matchEnterpriseInfos;
}
/**
......
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