Commit 23c3e1f0 authored by 刘林's avatar 刘林

fix(jg):黑设备历史登记功能开发

parent fd2ac89b
......@@ -180,4 +180,7 @@ public class JgUseRegistrationDto extends BaseDto {
@ApiModelProperty(value = "气瓶类别(0液化石油气瓶、1工业气瓶、2其他)")
private String cylinderCategory;
@ApiModelProperty(value = " 监察处置机构代码")
private String supervisionOrgCode;
}
......@@ -64,4 +64,9 @@ public class TaskMessageDto {
* 下节点任务id
*/
String nextTaskId;
/**
* 登记类型(新增使用登记,历史使用登记,特殊使用登记)
*/
String regType;
}
......@@ -255,4 +255,10 @@ public class JgUseRegistration extends BaseEntity {
*/
@TableField("cylinder_category")
private String cylinderCategory;
/**
* 监察处置机构代码
*/
@TableField("supervision_org_code")
private String supervisionOrgCode;
}
......@@ -19,11 +19,11 @@ public enum WorkFlowStatusEnum {
* 使用登记流程
*/
USE_SUBMIT("使用单位提交", "useSubmit", "使用单位待提交", "一级受理已驳回", "使用单位已撤回"),
USE_RECEIVE("一级受理", "useReceive", "一级待受理", "二级受理已驳回", "一级受理已撤回"),
USE_RECEIVE("一级受理", "useReceive", "一级待受理", "已驳回", "一级受理已撤回"),
USE_SAFETY_CHECK("安全监察受理", "safetyCheck", "安全监察待受理", "二级受理已驳回", "安全监察已撤回"),
USE_PRELIMINARY("二级受理", "usePreliminary", "二级待受理", "三级受理已驳回", "二级受理已撤回"),
USE_REEXAMINE("三级受理", "useReexamine", "三级待受理","",""),
/**
* 维保备案
*/
......
......@@ -77,6 +77,7 @@
ur.receive_company_code,
ur.use_unit_credit_code,
ur.transfer_to_user_ids,
ur.supervision_org_code,
ur.use_address as fullAddress,
ur.cancel_reason as cancelReason,
(select group_concat(re.equ_id) from tzs_jg_use_registration_eq re where ur.sequence_nbr = re.equip_transfer_id) as equipId,
......@@ -186,8 +187,9 @@
AND auditPassDate BETWEEN #{dto.auditPassDateStart} AND #{dto.auditPassDateEnd}
</if>
<if test="dto.dataType == 'supervision' ">
AND (receive_company_code = #{dto.receiveCompanyCode} or transfer_to_user_ids LIKE concat ('%',
#{dto.currentUserId}, '%'))
AND (receive_company_code = #{dto.receiveCompanyCode}
OR transfer_to_user_ids LIKE concat ('%',#{dto.currentUserId}, '%'))
OR supervision_org_code LIKE concat (#{dto.supervisionOrgCode}, '%')
AND status <![CDATA[<>]]> '使用单位待提交'
</if>
<if test="dto.dataType == 'company' ">
......@@ -305,7 +307,8 @@
jri.OTHER_ACCESSORIES_REG as otherAccessoriesReg,
jfi.OTHER_ACCESSORIES_FACT as otherAccessoriesFact,
jfi.FACT_SUPERVISION_INSPECTION_REPORT as factSupervisionInspectionReport,
jfi.BOILER_ENERGY_EFFICIENCY_CERTIFICATE as boilerEnergyEfficiencyCertificate
jfi.BOILER_ENERGY_EFFICIENCY_CERTIFICATE as boilerEnergyEfficiencyCertificate,
jfi.FACTORY_IS_COMPLETE as factoryIsComplete
from idx_biz_jg_register_info jri
LEFT JOIN idx_biz_jg_factory_info jfi on jri.RECORD = jfi.RECORD
where jri.RECORD = #{id}
......@@ -399,7 +402,8 @@
APPRAISAL_DATE as appraisalDate,
DESIGN_DOC as designDoc,
DESIGN_STANDARD as designStandard,
OTHER_ACCESSORIES_DES as otherAccessoriesDes
OTHER_ACCESSORIES_DES as otherAccessoriesDes,
DESIGN_IS_COMPLETE as designIsComplete
from idx_biz_jg_design_info
where RECORD = #{id}
</select>
......
......@@ -120,6 +120,20 @@ public class IdxBizJqEquipmentRegisterController extends BaseController {
return ResponseHelper.buildResponse(idxBizJgRegisterInfoService.queryForEquipmentRegisterPage(jsonObject));
}
/**
* @author LiuLin
*
* 历史无证设备分页查询接口(ES)
* @param map 参数
* @return 分页信息
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/queryHisNoCertEquipPage")
@ApiOperation(httpMethod = "GET", value = "历史无证设备分页查询接口查询", notes = "历史无证设备分页查询接口查询")
public ResponseModel<Page<JSONObject>> queryHisNoCertEquipPage(@RequestParam Map<String, Object> map) {
return ResponseHelper.buildResponse(idxBizJgRegisterInfoService.queryHisNoCertEquipPage(new JSONObject(map)));
}
// /**
// * 查询设备注册列表
// *
......
......@@ -112,6 +112,7 @@ public class JgUseRegistrationController extends BaseController {
} else {
dto.setDataType(BaseController.COMPANY_TYPE_SUPERVISION);
dto.setReceiveCompanyCode(info.getCompany().getCompanyCode());
dto.setSupervisionOrgCode(info.getCompany().getOrgCode());
}
if (dto.getAuditPassDateRange() != null && !dto.getAuditPassDateRange().isEmpty() && !dto.getAuditPassDateRange().equals("[, ]")) {
String dateRangeStr = dto.getAuditPassDateRange();
......@@ -136,7 +137,7 @@ public class JgUseRegistrationController extends BaseController {
Page<Map<String, Object>> list = jgUseRegistrationServiceImpl.getList(dto, sort, page, dto.getRoleIds());
list.getRecords().forEach(x -> {
x.put("companyType", info.getCompany().getCompanyType());
x.put("regType", "1".equals(x.get("regType")) ? "历史登记" : "新增登记");
x.put("regType", "1".equals(x.get("regType")) ? "历史登记": "2".equals(x.get("regType")) ? "特殊历史登记": "新增登记");
});
return ResponseHelper.buildResponse(list);
}
......
......@@ -73,4 +73,6 @@ public interface IIdxBizJgRegisterInfoService {
void inspectionExpirationReminderOnce();
void initEnterpriseLicenseExpirationOnce();
Page<JSONObject> queryHisNoCertEquipPage(JSONObject jsonObject);
}
......@@ -1291,6 +1291,11 @@ public class CommonServiceImpl implements ICommonService {
return jgUseRegistrationServiceImpl.handleUnitHistoryEquip(jsonObject);
case "vehicle":
return jgVehicleInformationService.saveOrUpdateHisData(jsonObject);
case "set_sp"://特殊历史登记
jsonObject.put("regType", "2");
jsonObject.put("businessCode", "DJ_SY");
jsonObject.put("submit", Boolean.TRUE);
return jgUseRegistrationServiceImpl.handleUseRegistration(jsonObject);
default:
return jgUseRegistrationServiceImpl.handleHistoryEquip(jsonObject);
}
......
......@@ -1609,6 +1609,296 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
return resultListMap;
}
@Override
public Page<JSONObject> queryHisNoCertEquipPage(JSONObject map) {
if (map.containsKey("flag") && !map.containsKey("USE_UNIT_CREDIT_CODE")) {
return new Page<>();
}
Integer pageNumber = ObjectUtils.isEmpty(map.getInteger("number")) ? 1 : map.getInteger("number");
Integer size = ObjectUtils.isEmpty(map.getInteger("size")) ? 20 : map.getInteger("size");
Page<JSONObject> result = new Page<>(pageNumber, size);
SearchRequest request = new SearchRequest();
request.indices("idx_biz_view_jg_all");
SearchSourceBuilder builder = new SearchSourceBuilder();
builder.trackTotalHits(true);
BoolQueryBuilder boolMust = QueryBuilders.boolQuery();
// 获取当前登录人单位类型
JSONObject company = getCompanyType();
if (ValidationUtil.isEmpty(company)) {
result.setRecords(new ArrayList<>());
result.setTotal(0);
return result;
}
String companyCode = company.getString("companyCode").contains("_") ?
company.getString("companyCode").split("_")[1] : company.getString("companyCode");
String type = company.getString("companyType");
// 根据当前登录人查询
if (!ValidationUtil.isEmpty(map.get(EQUSTATE))) {
map.put(EQUSTATE, EquimentEnum.getCode.get(map.get(EQUSTATE).toString()).toString());
}
// 根据当前登录用户类型及管辖机构筛选条件添加对应参数
if (ObjectUtils.isEmpty(map.getString(SEQUENCE_NBR)) && ObjectUtils.isEmpty(map.getString("useUnitCreditCode"))) {
if (!ValidationUtil.isEmpty(type) && type.contains("使用单位")) {
if (ValidationUtil.isEmpty(map.getString("USE_UNIT_CREDIT_CODE"))) {
map.put("USE_UNIT_CREDIT_CODE", companyCode);
}
}
if (!ValidationUtil.isEmpty(type) && type.contains("安装改造维修单位")) {
map.put("USC_UNIT_CREDIT_CODE", companyCode);
}
if (!ValidationUtil.isEmpty(type) && type.contains("个人主体")) {
map.put("USE_UNIT_CREDIT_CODE", companyCode);
}
}
// 默认条件【STATUS==="" || null】
BoolQueryBuilder meBuilder = QueryBuilders.boolQuery();
meBuilder.should(QueryBuilders.matchQuery("STATUS", "已认领"));
meBuilder.should(QueryBuilders.boolQuery().mustNot(QueryBuilders.existsQuery("STATUS")));
meBuilder.should(QueryBuilders.boolQuery().must(QueryBuilders.matchPhraseQuery("STATUS", "")));
meBuilder.minimumShouldMatch(1);
boolMust.must(meBuilder);
// 查询下次检验日期大于当前天的设备
long currentDayTime = DateUtil.parse(DateUtil.now(), "yyy-MM-dd").getTime();
boolMust.must(QueryBuilders.rangeQuery("NEXT_INSPECT_DATE").gte(currentDayTime));
// DATA_SOURCE 为“jg”开头的数据(从监管新加或复制的设备)
// 20240314 提出的监管业务不要让企业用户选到之前一码通认领或补录的设备,让从监管业务中去新增
BoolQueryBuilder dBuilder = QueryBuilders.boolQuery();
String queryType = map.getString("QUERY_TYPE");
if (map.containsKey("DATA_SOURCE") && !ObjectUtils.isEmpty(map.get("DATA_SOURCE"))) {
String dataSource = map.getString("DATA_SOURCE");
if ("jg_his_black".equals(dataSource)) {
// 只查历史,前缀为 jg_his
dBuilder.must(QueryBuilders.prefixQuery("DATA_SOURCE", "jg_his_black"));
}
}
boolMust.must(dBuilder);
if (!ObjectUtils.isEmpty(map.getString(IS_INTO_MANAGEMENT))) {
BoolQueryBuilder pBuilder = QueryBuilders.boolQuery();
String param = QueryParser.escape(map.getString(IS_INTO_MANAGEMENT));
pBuilder.must(QueryBuilders.matchQuery(IS_INTO_MANAGEMENT, param));
boolMust.must(pBuilder);
}
if (!ObjectUtils.isEmpty(map.getString(EQU_CATEGORY))) {
BoolQueryBuilder pBuilder = QueryBuilders.boolQuery();
String param = QueryParser.escape(map.getString(EQU_CATEGORY));
pBuilder.must(QueryBuilders.matchPhraseQuery(EQU_CATEGORY, "*" + param + "*"));
boolMust.must(pBuilder);
}
// 使用单位 //安装改造维修单位
if (!ObjectUtils.isEmpty(map.getString("USE_UNIT_CREDIT_CODE")) && !ObjectUtils.isEmpty(map.getString("USC_UNIT_CREDIT_CODE"))) {
BoolQueryBuilder ubuilder = QueryBuilders.boolQuery();
String useCode = QueryParser.escape(map.getString("USE_UNIT_CREDIT_CODE"));
useCode = useCode.contains("_") ? useCode.split("_")[0] : useCode;
ubuilder.must(QueryBuilders.matchQuery("USE_UNIT_CREDIT_CODE", useCode));
String uscCode = QueryParser.escape(map.getString("USC_UNIT_CREDIT_CODE")).toLowerCase();
ubuilder.must(QueryBuilders.wildcardQuery("USC_UNIT_CREDIT_CODE", "*" + QueryParser.escape(uscCode) + "*"));
boolMust.must(ubuilder);
} else {
if (!ObjectUtils.isEmpty(map.getString("USE_UNIT_CREDIT_CODE")) || !ObjectUtils.isEmpty(map.getString("useUnitCreditCode"))) {
BoolQueryBuilder uuccBuilder = QueryBuilders.boolQuery();
String uucc = !ValidationUtil.isEmpty(map.getString("USE_UNIT_CREDIT_CODE")) ? map.getString("USE_UNIT_CREDIT_CODE") : map.getString("useUnitCreditCode");
String param = QueryParser.escape(uucc);
param = param.contains("_") ? param.split("_")[0] : param;
uuccBuilder.must(QueryBuilders.matchQuery("USE_UNIT_CREDIT_CODE", param));
boolMust.must(uuccBuilder);
}
if (!ObjectUtils.isEmpty(map.getString("USC_UNIT_CREDIT_CODE"))) {
BoolQueryBuilder uuccBuilder = QueryBuilders.boolQuery();
String uscCode = QueryParser.escape(map.getString("USC_UNIT_CREDIT_CODE")).toLowerCase();
uuccBuilder.must(QueryBuilders.wildcardQuery("USC_UNIT_CREDIT_CODE", "*" + QueryParser.escape(uscCode) + "*"));
boolMust.must(uuccBuilder);
}
}
// 设备种类编码
if (!ObjectUtils.isEmpty(map.getString("EQU_LIST_CODE"))) {
BoolQueryBuilder elcBuilder = QueryBuilders.boolQuery();
String test = QueryParser.escape(map.getString("EQU_LIST_CODE"));
elcBuilder.must(QueryBuilders.matchPhraseQuery("EQU_LIST_CODE", test));
boolMust.must(elcBuilder);
}
// 设备类别编码
if (!ObjectUtils.isEmpty(map.getString("EQU_DEFINE_CODE"))) {
BoolQueryBuilder elcBuilder = QueryBuilders.boolQuery();
String test = QueryParser.escape(map.getString("EQU_DEFINE_CODE"));
elcBuilder.must(QueryBuilders.matchPhraseQuery("EQU_DEFINE_CODE", test));
boolMust.must(elcBuilder);
}
// 设备种类名称
if (!ObjectUtils.isEmpty(map.getString(EQU_LIST))) {
BoolQueryBuilder elBuilder = QueryBuilders.boolQuery();
String test = QueryParser.escape(map.getString(EQU_LIST));
elBuilder.must(QueryBuilders.matchPhraseQuery(EQU_LIST, "*" + test + "*"));
boolMust.must(elBuilder);
}
// 设备类别
if (!ObjectUtils.isEmpty(map.getString(EQU_CATEGORY_CODE))) {
BoolQueryBuilder pBuilder = QueryBuilders.boolQuery();
String test = QueryParser.escape(map.getString(EQU_CATEGORY_CODE));
pBuilder.must(QueryBuilders.termQuery(EQU_CATEGORY_CODE, test));
boolMust.must(pBuilder);
}
// 设备代码模糊查询
if (!ObjectUtils.isEmpty(map.getString(EQU_CODE))) {
BoolQueryBuilder pBuilder = QueryBuilders.boolQuery();
String test = QueryParser.escape(map.getString(EQU_CODE));
pBuilder.must(QueryBuilders.wildcardQuery(EQU_CODE, "*" + QueryParser.escape(test.toLowerCase()) + "*"));
boolMust.must(pBuilder);
}
// 单位内部编号模糊查询
if (!ObjectUtils.isEmpty(map.getString("USE_INNER_CODE"))) {
BoolQueryBuilder pBuilder = QueryBuilders.boolQuery();
String test = QueryParser.escape(map.getString("USE_INNER_CODE"));
pBuilder.must(QueryBuilders.wildcardQuery("USE_INNER_CODE", "*" + QueryParser.escape(test.toLowerCase()) + "*"));
boolMust.must(pBuilder);
}
// 出厂编号/产品编码模糊查询
if (!ObjectUtils.isEmpty(map.getString(FACTORY_NUM))) {
BoolQueryBuilder pBuilder = QueryBuilders.boolQuery();
String test = QueryParser.escape(map.getString(FACTORY_NUM));
pBuilder.must(QueryBuilders.wildcardQuery(FACTORY_NUM, "*" + QueryParser.escape(test.toLowerCase()) + "*"));
boolMust.must(pBuilder);
}
// 制造单位(生产单位)名称模糊查询
if (!ObjectUtils.isEmpty(map.getString("PRODUCE_UNIT_NAME"))) {
BoolQueryBuilder pBuilder = QueryBuilders.boolQuery();
String test = QueryParser.escape(map.getString("PRODUCE_UNIT_NAME"));
pBuilder.must(QueryBuilders.wildcardQuery("PRODUCE_UNIT_NAME", "*" + QueryParser.escape(test.toLowerCase()) + "*"));
boolMust.must(pBuilder);
}
// 模糊查询
if (!ObjectUtils.isEmpty(map.getString(USE_PLACE_CODE))) {
BoolQueryBuilder pBuilder = QueryBuilders.boolQuery();
String test = QueryParser.escape(map.getString(USE_PLACE_CODE));
pBuilder.must(QueryBuilders.wildcardQuery(USE_PLACE_CODE, "*" + QueryParser.escape(test.toLowerCase()) + "*"));
boolMust.must(pBuilder);
}
// 工程装置名称模糊查询
if (!ObjectUtils.isEmpty(map.getString(PROJECT_CONTRAPTION))) {
BoolQueryBuilder pBuilder = QueryBuilders.boolQuery();
pBuilder.must(QueryBuilders.termsQuery("PROJECT_CONTRAPTION.keyword", map.getString(PROJECT_CONTRAPTION)));
boolMust.must(pBuilder);
}
// 查询 使用登记【可选设备列表】【(EQU_STATUS=== null || "" ) && (USE_ORG_CODE(使用登记证编号) ==="" || null)】
BoolQueryBuilder syBuilder = QueryBuilders.boolQuery();
syBuilder.mustNot(QueryBuilders.existsQuery("EQU_STATE"));
// syBuilder.mustNot(QueryBuilders.wildcardQuery("USE_ORG_CODE", "*"));
boolMust.must(syBuilder);
this.setRepeatUsedCheckFilterParam(boolMust, companyCode, "useRegistration");
builder.query(boolMust);
builder.sort("REC_DATE", SortOrder.DESC);
builder.from((pageNumber - 1) * size);
builder.size(size);
request.source(builder);
List<JSONObject> list = new LinkedList<>();
long totle = 0;
if (log.isDebugEnabled()) {
log.debug("查询es 的查询条件: {}", request);
}
try {
SearchResponse response = restHighLevelClient.search(request, RequestOptions.DEFAULT);
for (SearchHit hit : response.getHits().getHits()) {
System.out.println(hit);
JSONObject jsonObject = (JSONObject) JSONObject.toJSON(hit);
JSONObject dto2 = jsonObject.getJSONObject("sourceAsMap");
if (!ValidationUtil.isEmpty(dto2.get(CONSTRUCTIONTYPE))) {
// 转化施工类型
String constructionType = dto2.get(CONSTRUCTIONTYPE).toString();
if (!ValidationUtil.isEmpty(constructionType)) {
String[] constructionTypeList = constructionType.split(",");
List<String> statusList = new ArrayList<>();
for (String cType : constructionTypeList) {
Integer integer = Integer.valueOf(cType);
String status = ConstructionEnum.getName.get(integer);
statusList.add(status);
}
dto2.put(CONSTRUCTIONTYPE, Joiner.on(",").join(statusList));
}
}
if (!ValidationUtil.isEmpty(dto2.get(EQUSTATE))) {
Integer integer = Integer.valueOf(dto2.get(EQUSTATE).toString());
String status = EquimentEnum.getName.get(integer);
dto2.put(EQUSTATE, status);
}
if (!ValidationUtil.isEmpty(dto2.get(DATA_SOURCE))) {
String s = dto2.get(DATA_SOURCE).toString();
dto2.put(DATA_SOURCE, s);
dto2.put(DATA_SOURCE_NAME, Arrays.stream(EquipSourceEnum.values())
.filter(e -> s.startsWith(e.getCode()))
.map(EquipSourceEnum::getName)
.findFirst()
.orElse(EquipSourceEnum.jg.getName()));
}
dto2.put("record", dto2.get(SEQUENCE_NBR));
list.add(dto2);
}
// 获取所有设备的Id
List<String> equIds = null;
if (!ValidationUtil.isEmpty(list)) {
equIds = list.stream().map(item -> item.get(SEQUENCE_NBR).toString()).collect(Collectors.toList());
}
if (!ValidationUtil.isEmpty(equIds)) {
// 查询设备地址
List<IdxBizJgUseInfo> useInfoListByEquIds = idxBizJgUseInfoService.getUseInfoListByEquIds(equIds);
Map<String, String> equAddressMap = new HashMap<>();
if (!ValidationUtil.isEmpty(useInfoListByEquIds)) {
equAddressMap = useInfoListByEquIds.stream().collect(Collectors.toMap(IdxBizJgUseInfo::getRecord,
useInfo -> {
String fulladdress = "";
if (!ValidationUtil.isEmpty(useInfo.getProvinceName())) {
fulladdress += useInfo.getProvinceName();
}
if (!ValidationUtil.isEmpty(useInfo.getCityName())) {
fulladdress += useInfo.getCityName();
}
if (!ValidationUtil.isEmpty(useInfo.getCountyName())) {
fulladdress += useInfo.getCountyName();
}
if (!ValidationUtil.isEmpty(useInfo.getStreetName())) {
fulladdress += useInfo.getStreetName();
}
if (!ValidationUtil.isEmpty(useInfo.getAddress())) {
fulladdress += useInfo.getAddress();
}
return fulladdress;
}
)
);
}
// 更新设备使用情况和设备地址
for (JSONObject item : list) {
String fullAddress = equAddressMap.get(item.getString(SEQUENCE_NBR));
item.put("ADDRESS", !ValidationUtil.isEmpty(fullAddress) ? fullAddress : "");
item.put("CAN_EDIT", this.checkEquipIsCanEdit(item.getString(SEQUENCE_NBR)));
item.put("CAN_DELETE", this.checkEquipIsCanDelete(item.getString(SEQUENCE_NBR)));
}
}
totle = response.getInternalResponse().hits().getTotalHits().value;
result.setRecords(list);
result.setTotal(totle);
} catch (IOException e) {
throw new RuntimeException(e);
}
return result;
}
/**
* 设备注册信息分页查询
*
......
......@@ -441,8 +441,6 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
* @param map map
* @return list
*/
@Transactional(rollbackFor = Exception.class)
@GlobalTransactional(rollbackFor = Exception.class)
public List<Map<String, Object>> save(JSONObject map) {
Map<String, Function<JSONObject, List<Map<String, Object>>>> functionMap = MapBuilder.<String, Function<JSONObject, List<Map<String, Object>>>>create()
.put("unit", this::handleUnitUseRegistration).build();
......@@ -456,7 +454,9 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
* @param map map
* @return list
*/
private List<Map<String, Object>> handleUseRegistration(JSONObject map) {
@Transactional(rollbackFor = Exception.class)
@GlobalTransactional(rollbackFor = Exception.class)
public List<Map<String, Object>> handleUseRegistration(JSONObject map) {
try {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
CompanyBo company = reginParams.getCompany();
......@@ -483,6 +483,11 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
jgUseRegistration.setReceiveOrgName(splitMaintenanceUnitCode[1]);
jgUseRegistration.setReceiveCompanyOrgCode(commonService.getOneCompany(jgUseRegistration.getReceiveCompanyCode()).getOrgCode());
}
if (map.containsKey("orgBranchCode")) {
// 监察处置机构代码
String[] splitOrgBranchCode = String.valueOf(map.getString("orgBranchCode")).split("_");
jgUseRegistration.setSupervisionOrgCode(splitOrgBranchCode[0]);
}
// 安全管理员
if (map.containsKey("safetyManager")) {
String[] data = String.valueOf(map.getString("safetyManager")).split("_");
......@@ -563,8 +568,9 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
if (!ObjectUtils.isEmpty(listResponseModel)) {
jgUseRegistration.setApplyNo(listResponseModel.getResult().get(0));
}
jgUseRegistration.setAuditStatus("待提交");
jgUseRegistration.setAuditStatus("待提交");//字段不用
jgUseRegistration.setStatus(WorkFlowStatusEnum.USE_SUBMIT.getPass());
jgUseRegistration.setRegType("2".equals(map.get("regType")) ? "2" : "0");
this.save(jgUseRegistration);
jgRelationEquip.setEquipTransferId(jgUseRegistration.getSequenceNbr().toString());
jgRelationEquipMapper.insert(jgRelationEquip);
......@@ -596,12 +602,11 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
WorkflowResultDto workflowResultDto = resultDto.get(0);
updateData(jgUseRegistration.getSequenceNbr(), "0", workflowResultDto, "", Boolean.TRUE, null);
}
}
if (!ObjectUtils.isEmpty(instanceId)) {
// 执行流程
flowExecute(jgUseRegistration.getSequenceNbr(), instanceId, "0", "", "", map.getString("manageType"), String.valueOf(map.get("nextTaskId")), null);
flowExecute(jgUseRegistration.getSequenceNbr(), instanceId, "0", "", "", map.getString("manageType"), String.valueOf(map.get("nextTaskId")), map);
}
} else {
if (ObjectUtils.isEmpty(map.get("instanceId"))) {
......@@ -686,7 +691,9 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
* @param map map
* @return list
*/
private List<Map<String, Object>> handleUnitUseRegistration(JSONObject map) {
@Transactional(rollbackFor = Exception.class)
@GlobalTransactional(rollbackFor = Exception.class)
public List<Map<String, Object>> handleUnitUseRegistration(JSONObject map) {
try {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())) + "", ReginParams.class);
CompanyBo company = reginParams.getCompany();
......@@ -1571,22 +1578,69 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
}
// 组装信息
TaskResultDTO dto = new TaskResultDTO();
dto.setResultCode("approvalStatus");
dto.setTaskId(jgUseRegistration.getNextTaskId());
dto.setComment(comment);
HashMap<String, Object> map = new HashMap<>();
map.put("approvalStatus", operate);
if (jgUseRegistration.getStatus().equals(WorkFlowStatusEnum.USE_SUBMIT.getReject()) || jgUseRegistration.getStatus().equals(WorkFlowStatusEnum.USE_SUBMIT.getRollBack())) {
map.put("approvalStatus", "提交");
}
dto.setVariable(map);
// 接受机构
if ("1".equals(operate) && WorkFlowStatusEnum.USE_RECEIVE.getPass().equals(jgUseRegistration.getStatus())) {
// 驳回到使用单位
String companyCode = "";
if (jsonObject.containsKey("orgBranchCode") && !ObjectUtils.isEmpty(jsonObject.get("orgBranchCode"))) {
String orgBranchCode = String.valueOf(jsonObject.get("orgBranchCode")).split("_")[0];
String orgCode = orgBranchCode.substring(0, orgBranchCode.lastIndexOf("*"));
HashMap<String, Object> parentMessage = (HashMap<String, Object>) Privilege.companyClient.queryByOrgcode(orgCode).getResult();
CompanyModel parentModel = JSON.parseObject(JSON.toJSONString(parentMessage.get("compnay")), CompanyModel.class);
companyCode = parentModel.getCompanyCode();
}
//驳回
if ("1".equals(operate)){
//一级驳回
if(WorkFlowStatusEnum.USE_RECEIVE.getPass().equals(jgUseRegistration.getStatus())){
// 一级驳回到使用单位
dto.setNextExecuteUserCompanyCode(jgUseRegistration.getUseUnitCreditCode());
dto.setNextExecuteUserOrgCode(jgUseRegistration.getUseUnitCreditCode());
}
//特殊登记,安全监察驳回到一级
if("2".equals(jgUseRegistration.getRegType())) {
// 二级驳回到监察单位
if(WorkFlowStatusEnum.USE_PRELIMINARY.getPass().equals(jgUseRegistration.getStatus()) || WorkFlowStatusEnum.USE_PRELIMINARY.getReject().equals(jgUseRegistration.getStatus())){
dto.setNextExecuteUserCompanyCode(companyCode);
dto.setResultCode("approvalStatus");
map.put("approvalStatus", "9");
operate = "9";
}else if(WorkFlowStatusEnum.USE_SAFETY_CHECK.getPass().equals(jgUseRegistration.getStatus())|| WorkFlowStatusEnum.USE_SAFETY_CHECK.getReject().equals(jgUseRegistration.getStatus())){
//安全监察驳回到一级
dto.setNextExecuteUserCompanyCode(jgUseRegistration.getReceiveCompanyCode());
dto.setResultCode("approvalStatus");
map.put("approvalStatus", operate);
operate = "2";
}else{
dto.setNextExecuteUserCompanyCode(jgUseRegistration.getReceiveCompanyCode());
dto.setResultCode("approvalStatus");
map.put("approvalStatus", operate);
}
} else {
//正常使用登记
dto.setNextExecuteUserCompanyCode(jgUseRegistration.getReceiveCompanyCode());
map.put("approvalStatus", operate);
dto.setResultCode("approvalStatus");
}
} else{
//通过
//一级通过,且是特殊登记,需要监察,approvalStatus=2
if ("2".equals(jgUseRegistration.getRegType()) && (WorkFlowStatusEnum.USE_RECEIVE.getPass().equals(jgUseRegistration.getStatus()) || WorkFlowStatusEnum.USE_RECEIVE.getReject().equals(jgUseRegistration.getStatus()))){
dto.setResultCode("approvalStatus");
map.put("approvalStatus", "9");
dto.setNextExecuteUserCompanyCode(companyCode);
}else{//新增登记
map.put("approvalStatus", operate);
dto.setResultCode("approvalStatus");
dto.setNextExecuteUserCompanyCode(jgUseRegistration.getReceiveCompanyCode());
}
}
dto.setVariable(map);//无驳回1需监察 0, 通过,需要监察2, 驳回到监察是2
ProcessTaskDTO complete = cmWorkflowService.completeOrReject(jgUseRegistration.getNextTaskId(), dto, operate);
ArrayList<ProcessTaskDTO> processTaskDTOS = new ArrayList<>();
processTaskDTOS.add(complete);
......@@ -2940,6 +2994,11 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
jgUseRegistration.setReceiveOrgName(splitMaintenanceUnitCode[1]);
jgUseRegistration.setReceiveCompanyOrgCode(commonService.getOneCompany(jgUseRegistration.getReceiveCompanyCode()).getOrgCode());
}
if (map.containsKey("orgBranchCode")) {
// 监察处置机构代码
String[] splitOrgBranchCode = String.valueOf(map.getString("orgBranchCode")).split("_");
jgUseRegistration.setSupervisionOrgCode(splitOrgBranchCode[0]);
}
// 安全管理员
if (map.containsKey("safetyManager")) {
String[] data = String.valueOf(map.getString("safetyManager")).split("_");
......@@ -3410,6 +3469,11 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
jgUseRegistration.setReceiveOrgName(splitMaintenanceUnitCode[1]);
jgUseRegistration.setReceiveCompanyOrgCode(commonService.getOneCompany(jgUseRegistration.getReceiveCompanyCode()).getOrgCode());
}
if (map.containsKey("orgBranchCode")) {
// 监察处置机构代码
String[] splitOrgBranchCode = String.valueOf(map.getString("orgBranchCode")).split("_");
jgUseRegistration.setSupervisionOrgCode(splitOrgBranchCode[0]);
}
// 安全管理员
if (map.containsKey("safetyManager")) {
String[] data = String.valueOf(map.getString("safetyManager")).split("_");
......
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