Merge branch 'pet' into liujun-2024-06-13-一公司人员定位新需求

liujun0703-新项目开发
liujun 2024-06-27 17:31:14 +08:00
commit 8f5bbae950
11 changed files with 190 additions and 53 deletions

View File

@ -32,6 +32,13 @@ import java.util.Map;
public class DockingAspect {
@Autowired
private DockSendMessageService sendMessageService;
@Value("${mq.csy.data.topic}")
private String csyDataDocking;
@Value("${mq.cmt.data.topic}")
private String cmtDataDocking;
@Value("${mq.czks.data.topic}")
private String czksDataDocking;
@Value("${baseimgpath}")
public String baseimgpath;
@Pointcut("@annotation(com.zcloud.aspect.DockAnnotation)")
@ -104,9 +111,27 @@ public class DockingAspect {
tenCorpDto.setProducer_name("qa-prevention-czks");
// 有dockData
if (Tools.notEmpty(proceed.get("dockData"))) {
sendData.put("dockData", proceed.get("dockData"));
String dockData = proceed.get("dockData");
PageData dockDataMap = JSON.parseObject(dockData, PageData.class);
sendData.put("dockData",dockData);
// 操作企业
if ("f8da1790b1034058ae2efefd69af3284".contains(dockDataMap.getString("operatingCorpId"))
|| "016d19225e9d4ece863cce8a256a3e72".contains(dockDataMap.getString("operatingCorpId"))
|| "1".equals(dockDataMap.getString("sendAllCorp"))
){
tenCorpDto.setTopic(czksDataDocking);
sendMessageService.sendMessage(tenCorpDto);
}
// todo先不给其他两家发送消息上线前打开
if ("8854edee3aa94be496cee676b6d4845a".equals(dockDataMap.getString("operatingCorpId")) || "1".equals(dockDataMap.getString("sendAllCorp"))){
tenCorpDto.setTopic(csyDataDocking);
sendMessageService.sendMessage(tenCorpDto);
}
if ("6aa255d41602497fa0f934a822820df4".equals(dockDataMap.getString("operatingCorpId")) || "1".equals(dockDataMap.getString("sendAllCorp"))){
tenCorpDto.setTopic(cmtDataDocking);
sendMessageService.sendMessage(tenCorpDto);
}
proceed.remove("dockData");
sendMessageService.sendMessage(tenCorpDto);
} else {
System.out.println("------------------------无dockData不发消息------------------------");
}

View File

@ -108,6 +108,7 @@ public class TextLibraryController extends BaseController {
}
if (StringUtils.isEmpty(pd.getString("CORPINFO_ID")))pd.put("CORPINFO_ID",Jurisdiction.getCORPINFO_ID());
if ("3".equals(pd.getString("ASSOCIATION"))) {
pd.put("TYPE_ONE", "43ed4012090d4614bb35da60d06c8264");
pd.put("plan",pd.getString("CATEGORY_ID"));
@ -124,6 +125,11 @@ public class TextLibraryController extends BaseController {
}
pd.put("STATUS","1");
// 标准规范库特殊处理
if ("~".equals(pd.getString("CORPINFO_ID"))) {
pd.put("CORPINFO_ID", null);
pd.put("STATUS", null);
}
page.setPd(pd);
List<PageData> varList = textlibraryService.list(page);

View File

@ -2,6 +2,7 @@ package com.zcloud.dto;
import com.alibaba.fastjson.JSON;
import com.zcloud.entity.PageData;
import com.zcloud.util.Warden;
import lombok.Data;
@Data
@ -23,6 +24,10 @@ public class TenCorpDto {
// 消息体
private PageData data;
private String messageLogId;
private String CREATE_TIME;
public TenCorpDto() {
this.id = Warden.get32UUID();
}
@ -40,6 +45,9 @@ public class TenCorpDto {
info.put("MARK_NAME", this.mark_name);
info.put("MESSAGE", this.message);
info.put("TOPIC",this.topic);
info.put("DATA", JSON.toJSONString(this.data));
info.put("CREATE_TIME", this.CREATE_TIME);
info.put("MESSAGE_LOG_ID", this.messageLogId);
return info;
}
}

View File

@ -54,6 +54,10 @@ public class TextLibraryServiceImpl implements TextLibraryService {
@Value("${heBeiQinAnFile}")
private String heBeiQinAnFile;
@Value("${biaoZhunShuJuKu}")
private String biaoZhunShuJuKu;
/**
*
*
@ -107,8 +111,12 @@ public class TextLibraryServiceImpl implements TextLibraryService {
}
// 如果是迁移数据就用河北秦安的路径
for (PageData entity : list) {
if(!"1".equals(entity.getString("MIGRATION_FLAG"))){
entity.put("PATH",heBeiQinAnFile + entity.getString("PATH"));
String url = entity.getString("PATH");
if (!"1".equals(entity.getString("MIGRATION_FLAG"))) {
entity.put("PATH", heBeiQinAnFile + url);
}
if ("2".equals(entity.getString("MIGRATION_FLAG"))) {
entity.put("PATH", biaoZhunShuJuKu + url);
}
}
return list;

View File

@ -26,6 +26,13 @@ public class DockSendMessageServiceImpl implements DockSendMessageService {
private String gwjDataTopic;
@Value("${mq.gwj.file.topic}")
private String gwjFileTopic;
@Value("${mq.csy.data.topic}")
private String csyDataDocking;
@Value("${mq.cmt.data.topic}")
private String cmtDataDocking;
@Value("${mq.czks.data.topic}")
private String czksDataDocking;
@Resource
private RocketMQTemplate rocketMQTemplate;
@ -40,14 +47,32 @@ public class DockSendMessageServiceImpl implements DockSendMessageService {
@Override
public void sendMessage(TenCorpDto tenCorpDto) throws Exception {
PageData productionPD = new PageData();
productionPD.put("PRODUCTION_ID", Warden.get32UUID());
productionPD.put("MESSAGE_LOG_ID", tenCorpDto.getMessageLogId() == null ? "" : tenCorpDto.getMessageLogId());
productionPD.put("PRODUCTION_TYPE", "gwj-DockSendMessageServiceImpl.sendMessage(TenCorpDto tenCorpDto)");
productionPD.put("PRODUCTION_TIME", DateUtil.getTime());
productionPD.put("CREATE_TIME", tenCorpDto.getCREATE_TIME() == null ? "" : tenCorpDto.getCREATE_TIME());
productionPD.put("MARK", tenCorpDto.getMark() == null ? "" : tenCorpDto.getMark());
productionPD.put("DATA", tenCorpDto.getData() == null ? "" : tenCorpDto.getData().toString());
try {
PageData log = tenCorpDto.getPd();
log.put("MESSAGE_LOG_ID", Warden.get32UUID());
log.put("CREATE_TIME", DateUtil.getTime());
mqMessageLogMapper.save(log);
System.out.println("生产者:" + tenCorpDto.toString());
SendResult sendResult = rocketMQTemplate.syncSend(this.gwjDataTopic, tenCorpDto.toString());
if (!sendResult.getSendStatus().equals(SendStatus.SEND_OK)) {
SendResult sendResult = null;
// 曹煤炭 后期是 三家
if (tenCorpDto.getTopic().equals(czksDataDocking)) {
sendResult = rocketMQTemplate.syncSend(this.czksDataDocking, tenCorpDto.toString());
}
if (tenCorpDto.getTopic().equals(cmtDataDocking)) {
sendResult = rocketMQTemplate.syncSend(this.cmtDataDocking, tenCorpDto.toString());
}
if (tenCorpDto.getTopic().equals(csyDataDocking)) {
sendResult = rocketMQTemplate.syncSend(this.csyDataDocking, tenCorpDto.toString());
}
if (sendResult != null && !sendResult.getSendStatus().equals(SendStatus.SEND_OK)) {
throw new RuntimeException("产品入栈失败");
}
} catch (Exception e) {

View File

@ -992,37 +992,24 @@ public class XgfUserServiceImpl implements XgfUserService {
@Override
public void repulse(PageData flows, XgfFlowDto info) throws Exception {
// add by liu jun 相关方可指定打回至指定节点 -1 为默认打回至相关方端
if ("-1".equals(info.getBACK_STEP())){
PageData condition = new PageData();
condition.put("XGF_USER_ID", flows.getString("FLOWS_ID"));
PageData entity = xgfUserMapper.findById(condition);
entity.put("STATUS", "0");
entity.put("VALID_FLAG", "0");
entity.put("CHECK_STATUS", "-2");
PageData key = new PageData();
key.putAll(entity);
key.put("USER_ID", condition.get("XGF_USER_ID"));
key.put("STATUS", "1");
key.put("OPINION", flows.get("OPINION"));
Map result = HttpClientService.doPost(prevention_xgf_url + "openApi/user/approve", key);
if (result == null || !"succeed".equals(result.get("result"))) {
throw new RuntimeException("请求失败");
}
xgfUserMapper.edit(entity);
this.clearInfo(flows);
xgfFlowsMapper.edit(flows);
} else {
// 1、判断不能自己打回到自己
PageData condition = new PageData();
condition.put("FLOWS_ID",flows.getString("FLOWS_ID"));
PageData flowEntity = xgfFlowsMapper.findById(condition);
if (flowEntity != null && flowEntity.size() > 0 && flowEntity.getString("FLOWS_STEP").equals(info.getBACK_STEP())){
throw new RuntimeException("不能自己打回到自己");
}
flowEntity.put("FLOWS_STEP", info.getBACK_STEP());
xgfFlowsMapper.edit(flowEntity);
PageData condition = new PageData();
condition.put("XGF_USER_ID", flows.getString("FLOWS_ID"));
PageData entity = xgfUserMapper.findById(condition);
entity.put("STATUS", "0");
entity.put("VALID_FLAG", "0");
entity.put("CHECK_STATUS", "-2");
PageData key = new PageData();
key.putAll(entity);
key.put("USER_ID", condition.get("XGF_USER_ID"));
key.put("STATUS", "1");
key.put("OPINION", flows.get("OPINION"));
Map result = HttpClientService.doPost(prevention_xgf_url + "openApi/user/approve", key);
if (result == null || !"succeed".equals(result.get("result"))) {
throw new RuntimeException("请求失败");
}
xgfUserMapper.edit(entity);
this.clearInfo(flows);
xgfFlowsMapper.edit(flows);
}
@Override

View File

@ -2,12 +2,12 @@
datasource.no1.driver-class-name: com.mysql.cj.jdbc.Driver
datasource.no1.url=jdbc:mysql://39.101.130.96:33068/qa-gwj-prevention?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=utf-8
datasource.no1.username=root
datasource.no1.password=Mysql@zcloud88888
datasource.no1.username=dev
datasource.no1.password=Zykj@dev123456
datasource.no2.driver-class-name: com.mysql.cj.jdbc.Driver
datasource.no2.url=jdbc:mysql://39.101.130.96:33068/qa-gwj-regulatory?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=utf-8
datasource.no2.username=root
datasource.no2.password=Mysql@zcloud88888
datasource.no2.username=dev
datasource.no2.password=Zykj@dev123456
#druid???
@ -63,18 +63,18 @@ spring.main.banner-mode=off
preventionxgf.api.url=https://qgxgf.qhdsafety.com/qa-prevention-xgf/
qa-regulatory-gwj.api.url=https://qgjg.qhdsafety.com/qa-regulatory-gwj/
#?????
smb.host=192.168.192.201
smb.host=39.101.130.96
smb.port=22
smb.user=root
smb.password=SJSKAQHBGLXT@20220311
smb.basePath=/mnt/qask/file/
smb.password=Zcloud@zcloud88888
smb.basePath=/mnt/wwag/file/
#Mq\u914D\u7F6E
rocketmq.consumer.group2=edu-admin-edit
rocketmq.consumer.group1=edu-admin-add
#rocketmq.name-server=10.0.140.141:9876
#rocketmq.name-server=192.168.0.70:9876
rocketmq.name-server=192.168.151.57:9876
rocketmq.name-server=192.168.0.2:9876
rocketmq.producer.group=libmiddle
rocketmq.producer.send-message-timeout=3000
rocketmq.producer.compress-message-body-threshold=4096
@ -95,6 +95,28 @@ corp.default.pic-path=https://qgqy.qhdsafety.com/
corp.default.back-end-path=https://qgqy.qhdsafety.com/file/
http.file.url=https://qgqy.qhdsafety.com/file/
mq.csy.data.topic=csy_docking
mq.csy.data.group=scheduled_tasks_csy_docking
mq.csy.file.topic=csy_dockingPicture
mq.csy.file.group=scheduled_tasks_csy_dockingPicture
mq.cmt.data.topic=cmt_docking
mq.cmt.data.group=scheduled_tasks_cmt_docking
mq.cmt.file.topic=cmt_dockingPicture
mq.cmt.file.group=scheduled_tasks_cmt_dockingPicture
mq.czks.data.topic=czks_docking
mq.czks.data.group=scheduled_tasks_czks_docking
mq.czks.file.topic=czks_dockingPicture
mq.czks.file.group=scheduled_tasks_czks_dockingPicture
mq.gwj.data.topic=czks_docking
mq.gwj.file.topic=czks_dockingPicture
baseimgpath =http://192.168.192.201:8991/file/
heBeiQinAnFile=https://file.zcloudchina.com/YTHFile
biaoZhunShuJuKu=https://file.zcloudchina.com/
dw.url=http://192.168.192.201:8888/qa-dingWei-gwj/
#<23>û<EFBFBD><C3BB><EFBFBD>ʶ
# <20><><EFBFBD>ݿ<EFBFBD>ʯ

View File

@ -100,6 +100,7 @@ http.file.url=http://192.168.192.201:8991/file/
#河北秦安文件服务器前缀
heBeiQinAnFile=https://file.zcloudchina.com/YTHFile
biaoZhunShuJuKu=https://file.zcloudchina.com/
liteflow.rule-source=flow.xml
liteflow.print-execution-log=false

View File

@ -2,11 +2,11 @@ spring.application.name=qa-prevention-gwj
server.port=8091
#??
#spring.profiles.active=local
spring.profiles.active=local
#<23><><EFBFBD><EFBFBD>31ʱʹ<CAB1><CAB9>
#spring.profiles.active=dev
#??
spring.profiles.active=master
#spring.profiles.active=master

View File

@ -32,7 +32,14 @@
f.STATUS,
f.BUS_TEXT_LIBRARY_ID,
f.MIGRATION_FLAG,
f.CORPINFO_ID
f.CORPINFO_ID,
f.CODE_NAME,
f.PUBLISHES,
f.TEXT_NAME,
f.PUBLICATION_DATE,
f.IMPLEMENTATION_DATE,
f.TYPE_TWO,
f.TYPE_TWO_NAME
</sql>
<!-- 字段用于新增 -->
@ -54,8 +61,15 @@
ASSOCIATION,
STATUS,
BUS_TEXT_LIBRARY_ID,
MIGRATION_FLAG,
CORPINFO_ID,
MIGRATION_FLAG
CODE_NAME,
PUBLISHES,
TEXT_NAME,
PUBLICATION_DATE,
IMPLEMENTATION_DATE,
TYPE_TWO,
TYPE_TWO_NAME
</sql>
<!-- 字段值 -->
@ -77,8 +91,15 @@
#{ASSOCIATION},
#{STATUS},
#{BUS_TEXT_LIBRARY_ID},
#{MIGRATION_FLAG},
#{CORPINFO_ID},
#{MIGRATION_FLAG}
#{CODE_NAME},
#{PUBLISHES},
#{TEXT_NAME},
#{PUBLICATION_DATE},
#{IMPLEMENTATION_DATE},
#{TYPE_TWO},
#{TYPE_TWO_NAME}
</sql>
<!-- 新增-->
@ -124,6 +145,13 @@
STATUS = #{STATUS},
CORPINFO_ID = #{CORPINFO_ID},
MIGRATION_FLAG = #{MIGRATION_FLAG},
CODE_NAME = #{CODE_NAME},
PUBLISHES = #{PUBLISHES},
TEXT_NAME = #{TEXT_NAME},
PUBLICATION_DATE = #{PUBLICATION_DATE},
IMPLEMENTATION_DATE = #{IMPLEMENTATION_DATE},
TYPE_TWO = #{TYPE_TWO},
TYPE_TWO_NAME = #{TYPE_TWO_NAME},
BUS_TEXT_LIBRARY_ID = BUS_TEXT_LIBRARY_ID
where
BUS_TEXT_LIBRARY_ID = #{BUS_TEXT_LIBRARY_ID}
@ -152,6 +180,9 @@
<if test="pd.KEYWORDS != null and pd.KEYWORDS != ''"><!-- 关键词检索 -->
and f.REMARKS LIKE CONCAT(CONCAT('%', #{pd.KEYWORDS}),'%')
</if>
<if test="pd.KEYWORD != null and pd.KEYWORD != ''"><!-- 关键词检索 -->
and (f.TYPE_NAME LIKE CONCAT(CONCAT('%', #{pd.KEYWORD}),'%') or f.TYPE_TWO_NAME LIKE CONCAT(CONCAT('%', #{pd.KEYWORD}),'%'))
</if>
<if test="pd.LABELS != null and pd.LABELS.length > 0">
and exists(select 1 from bus_library_labels b where b.BUS_TEXT_LIBRARY_ID = f.BUS_TEXT_LIBRARY_ID and
b.BUS_LABEL_FACTORY_ID in
@ -184,6 +215,15 @@
<if test="pd.LIBRARY_FLAG != null and pd.LIBRARY_FLAG != ''">
and (f.MIGRATION_FLAG = '0' or f.MIGRATION_FLAG is null)
</if>
<if test="pd.TYPE != null and pd.TYPE != ''">
and f.TYPE = #{pd.TYPE}
</if>
<if test="pd.TYPE_TWO != null and pd.TYPE_TWO != ''">
and f.TYPE_TWO like CONCAT('%' #{pd.TYPE_TWO}, '%')
</if>
<if test="pd.TEXT_NAME != null and pd.TEXT_NAME != ''">
and f.TEXT_NAME like CONCAT('%' #{pd.TEXT_NAME}, '%')
</if>
order by f.ISTOPTIME desc,f.CREATED_TIME desc
</select>

View File

@ -304,7 +304,7 @@
vua.NAME OUTSOURCED_CREATOR_NAME,
ifnull(vac.CORP_NAME,'秦港股份有限公司') CORP_NAME,
p.`NAME` as UNITS_PIC_NAME,
ifnull(h.HIDDEN_COUNT,0) HIDDEN_COUNT
ifnull(h.HIDDEN_COUNT,0) + ifnull(hai.AI_COUNT ,0) HIDDEN_COUNT
from
<include refid="tableName"></include> f
left join bus_units b using (UNITS_ID)
@ -335,9 +335,24 @@
) t group by t.OUTSOURCED_ID,t.CREATOR
) uncheck on uncheck.OUTSOURCED_ID = f.OUTSOURCED_ID and uncheck.CREATOR = #{pd.UserId}
</if>
left join ( SELECT t.OUTSOURCED_ID, COUNT( t.HIDDEN_ID ) HIDDEN_COUNT, t.SOURCE SOURCE, t.CREATOR CREATOR
FROM
( SELECT IFNULL( k.OUTSOURCED_ID, h.FOREIGN_ID ) OUTSOURCED_ID, h.* FROM `qa-gwj-prevention`.bus_keyproject_hidden h LEFT JOIN `qa-gwj-prevention`.bus_keyprojectcheck k ON h.FOREIGN_ID = k.KEYPROJECTCHECK_ID and h.ISDELETE = '0') t GROUP BY t.OUTSOURCED_ID,t.CREATOR ) h on h.OUTSOURCED_ID = f.OUTSOURCED_ID
left join (
SELECT t.OUTSOURCED_ID, COUNT( t.HIDDEN_ID ) HIDDEN_COUNT, t.SOURCE SOURCE, t.CREATOR CREATOR
FROM
(
SELECT IFNULL( k.OUTSOURCED_ID, h.FOREIGN_ID ) OUTSOURCED_ID, h.*
FROM `qa-gwj-prevention`.bus_keyproject_hidden h
LEFT JOIN `qa-gwj-prevention`.bus_keyprojectcheck k ON h.FOREIGN_ID = k.KEYPROJECTCHECK_ID and h.ISDELETE = '0'
) t
GROUP BY t.OUTSOURCED_ID,t.CREATOR
) h on h.OUTSOURCED_ID = f.OUTSOURCED_ID
left join (
select vm.OUTSOURCED_ID ,COUNT(1) AI_COUNT
from `qa-gwj-regulatory`.bus_videomanager vm
left join `qa-gwj-regulatory`.bus_aiwarning ai on ai.VIDEOMANAGER_ID = vm.VIDEOMANAGER_ID and vm.ISDELETE = '0'
left join `qa-gwj-regulatory`.bus_aiwarning_hiddens ah on ai.AIWARNING_ID = ah.AIWARNING_ID
left join `qa-gwj-prevention`.bus_keyproject_hidden h on ah.HIDDEN_ID = h.HIDDEN_ID
where h.ISDELETE = '0' and h.SOURCE = '1'
) hai on hai.OUTSOURCED_ID = f.OUTSOURCED_ID
where f.ISDELETE = '0'
<if test="pd.CORPINFO_ID != null and pd.CORPINFO_ID != ''"><!-- 关键词检索 -->
and