|
@@ -1,5 +1,6 @@
|
|
|
package cn.cslg.pas.service.business;
|
|
|
|
|
|
+import cn.cslg.pas.common.dto.ClientDTO;
|
|
|
import cn.cslg.pas.common.dto.business.*;
|
|
|
import cn.cslg.pas.common.model.cronModel.*;
|
|
|
import cn.cslg.pas.common.model.request.GroupRequest;
|
|
@@ -62,7 +63,7 @@ public class PatentProjectService extends ServiceImpl<PatentProjectMapper, Paten
|
|
|
private LoginUtils loginUtils;
|
|
|
|
|
|
@Autowired
|
|
|
- private AssoProjectScenarioService assoProjectScenarioService;
|
|
|
+ private PermissionService permissionService;
|
|
|
|
|
|
@Autowired
|
|
|
private AssoProjectEventService assoProjectEventService;
|
|
@@ -77,9 +78,9 @@ public class PatentProjectService extends ServiceImpl<PatentProjectMapper, Paten
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public Object queryMessage(QueryRequest queryRequest) throws Exception {
|
|
|
|
|
|
- List<String> sqls = formatQueryService.reSqls(queryRequest,"patentProject");
|
|
|
- //根据sql查询事件信息
|
|
|
- List<PatentProjectVO> patentProjectVOS = patentProjectMapper.getPatentProject(sqls.get(0),sqls.get(1),sqls.get(2));
|
|
|
+ List<String> sqls = formatQueryService.reSqls(queryRequest, "patentProject");
|
|
|
+ //根据sql查询专题库信息
|
|
|
+ List<PatentProjectVO> patentProjectVOS = patentProjectMapper.getPatentProject(sqls.get(0), sqls.get(1), sqls.get(2));
|
|
|
|
|
|
//装载事件信息
|
|
|
Records records = new Records();
|
|
@@ -97,8 +98,6 @@ public class PatentProjectService extends ServiceImpl<PatentProjectMapper, Paten
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- *
|
|
|
- *
|
|
|
* @param object
|
|
|
* @param files
|
|
|
* @return
|
|
@@ -108,7 +107,6 @@ public class PatentProjectService extends ServiceImpl<PatentProjectMapper, Paten
|
|
|
public Object updateMessage(Object object, List<MultipartFile> files) {
|
|
|
|
|
|
|
|
|
-
|
|
|
return null;
|
|
|
}
|
|
|
|
|
@@ -117,7 +115,7 @@ public class PatentProjectService extends ServiceImpl<PatentProjectMapper, Paten
|
|
|
public Object deleteMessage(List<Integer> ids) throws IOException {
|
|
|
//TODO 检查是否有关联报告,如果有则提示不允许删除
|
|
|
|
|
|
- //TODO 根据id删除专利数据库和文件关联表
|
|
|
+ //TODO 根据id删除专利数据库和文件关联表
|
|
|
|
|
|
//TODO 根据id删除专利数据库和事件的关联表
|
|
|
|
|
@@ -140,7 +138,7 @@ public class PatentProjectService extends ServiceImpl<PatentProjectMapper, Paten
|
|
|
//
|
|
|
|
|
|
|
|
|
- return null;
|
|
|
+ return null;
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -151,14 +149,14 @@ public class PatentProjectService extends ServiceImpl<PatentProjectMapper, Paten
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public Object getGroup(GroupRequest groupRequest,String tableName) throws Exception {
|
|
|
- StringRequest stringRequest =new StringRequest();
|
|
|
- BeanUtils.copyProperties(groupRequest,stringRequest);
|
|
|
- List<String> sqls = formatQueryService.reSqls(stringRequest,tableName);
|
|
|
+ public Object getGroup(GroupRequest groupRequest, String tableName) throws Exception {
|
|
|
+ StringRequest stringRequest = new StringRequest();
|
|
|
+ BeanUtils.copyProperties(groupRequest, stringRequest);
|
|
|
+ List<String> sqls = formatQueryService.reSqls(stringRequest, tableName);
|
|
|
//格式化 分组
|
|
|
- GroupConfig groupConfig=null;
|
|
|
+ GroupConfig groupConfig = null;
|
|
|
if (groupRequest.getGroupBy() != null) {
|
|
|
- String json = CommonService.readJsonFile(tableName+".json");
|
|
|
+ String json = CommonService.readJsonFile(tableName + ".json");
|
|
|
List<GroupConfig> groupConfigs = JSON.parseArray(json, GroupConfig.class);
|
|
|
groupConfig = groupConfigs.stream().filter(item -> groupRequest.getGroupBy().equals(item.getField())).findFirst().orElse(null);
|
|
|
if (groupConfig == null) {
|
|
@@ -168,12 +166,13 @@ public class PatentProjectService extends ServiceImpl<PatentProjectMapper, Paten
|
|
|
|
|
|
//返回分组数据
|
|
|
QueryGroupImp queryGroupImp = queryGroupFactory.getClass(groupConfig.getGroupClass());
|
|
|
- ReGroupDataVO reGroupDataVO = queryGroupImp.getGroup(sqls, tableName, groupConfig.getSqlField());
|
|
|
+ ReGroupDataVO reGroupDataVO = queryGroupImp.getGroup(sqls, tableName, groupConfig.getSqlField());
|
|
|
|
|
|
//装载数据
|
|
|
GroupVO groupVO = new GroupVO();
|
|
|
groupVO.setField(groupRequest.getGroupBy());
|
|
|
groupVO.setValues(reGroupDataVO.getValues());
|
|
|
+
|
|
|
Records records = new Records();
|
|
|
records.setCurrent(groupRequest.getCurrent());
|
|
|
records.setSize(groupRequest.getSize());
|
|
@@ -184,6 +183,7 @@ public class PatentProjectService extends ServiceImpl<PatentProjectMapper, Paten
|
|
|
|
|
|
/**
|
|
|
* 添加
|
|
|
+ *
|
|
|
* @param object
|
|
|
* @return
|
|
|
*/
|
|
@@ -191,7 +191,7 @@ public class PatentProjectService extends ServiceImpl<PatentProjectMapper, Paten
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public Object addMessage(Object object) {
|
|
|
//TODO 校验参数
|
|
|
- PatentProjectDTO patentProjectDTO =(PatentProjectDTO)object;
|
|
|
+ PatentProjectDTO patentProjectDTO = (PatentProjectDTO) object;
|
|
|
//判断是否选择更新并且上传了cron表达式
|
|
|
if (patentProjectDTO.getIfUpdate() != false) {
|
|
|
if (patentProjectDTO.getCrons() == null && patentProjectDTO.getCrons().equals("")) {
|
|
@@ -215,6 +215,45 @@ public class PatentProjectService extends ServiceImpl<PatentProjectMapper, Paten
|
|
|
*/
|
|
|
Project project = new Project();
|
|
|
BeanUtils.copyProperties(patentProjectDTO, project);
|
|
|
+
|
|
|
+ //TODO 当委托方id或者委托方名称不为空时,
|
|
|
+ if (patentProjectDTO.getEntrustId() != null || patentProjectDTO.getEntrustName() != null) {
|
|
|
+
|
|
|
+ //根据创建人的租户类型设置project的委托类型
|
|
|
+ if (personnelVO.getTenantType().equals("1")) {
|
|
|
+ project.setEntrustType(1);
|
|
|
+
|
|
|
+ //当委托方id不为空时
|
|
|
+ if (patentProjectDTO.getEntrustId() != null) {
|
|
|
+ project.setEntrustId(patentProjectDTO.getEntrustId());
|
|
|
+ }
|
|
|
+ //若且租户类型为代理机构,并且委托方id为空,委托方名称不为空时,新增委托方
|
|
|
+ else {
|
|
|
+ ClientDTO clientDTO = new ClientDTO();
|
|
|
+ clientDTO.setName(patentProjectDTO.getEntrustName());
|
|
|
+ clientDTO.setTenantId(personnelVO.getTenantId());
|
|
|
+ try {
|
|
|
+ String res = permissionService.addClient(clientDTO);
|
|
|
+ JSONObject jsonObject = JSONObject.parseObject(res);
|
|
|
+ Integer clientId = Integer.parseInt(jsonObject.get("data").toString());
|
|
|
+ project.setEntrustId(clientId.toString());
|
|
|
+ }
|
|
|
+ catch (Exception e)
|
|
|
+ {
|
|
|
+ throw new XiaoShiException("网络异常");
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+
|
|
|
+ if (patentProjectDTO.getEntrustId() != null) {
|
|
|
+ project.setEntrustType(0);
|
|
|
+ project.setEntrustId(patentProjectDTO.getEntrustId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
project.setCreateId(personnelVO.getId());
|
|
|
project.setTenantId(personnelVO.getTenantId());
|
|
|
project.insert();
|
|
@@ -247,10 +286,45 @@ public class PatentProjectService extends ServiceImpl<PatentProjectMapper, Paten
|
|
|
assoProjectEvent.setProjectType(0);
|
|
|
assoProjectEvents.add(assoProjectEvent);
|
|
|
}
|
|
|
- if (assoProjectEvents != null && assoProjectEvents.size() != 0) {
|
|
|
- assoProjectEventService.saveBatch(assoProjectEvents);
|
|
|
+ }
|
|
|
+
|
|
|
+ //装载应用场景和project关联
|
|
|
+ List<Integer> scenarios = patentProjectDTO.getScenarioIds();
|
|
|
+ if (scenarios != null && scenarios.size() > 0) {
|
|
|
+ for (Integer item : scenarios) {
|
|
|
+ AssoProjectEvent assoProjectEvent = new AssoProjectEvent();
|
|
|
+ //项目id
|
|
|
+ assoProjectEvent.setProjectId(project.getId());
|
|
|
+ //创建人
|
|
|
+ assoProjectEvent.setCreateId(personnelVO.getId());
|
|
|
+ //类型为专题库
|
|
|
+ assoProjectEvent.setProjectType(0);
|
|
|
+ //装载场景id
|
|
|
+ assoProjectEvent.setScenarioId(item);
|
|
|
+ assoProjectEvents.add(assoProjectEvent);
|
|
|
}
|
|
|
+ }
|
|
|
|
|
|
+ //装载应用场景和project关联
|
|
|
+ List<Integer> matter = patentProjectDTO.getMatterIds();
|
|
|
+ if (matter != null && matter.size() > 0) {
|
|
|
+ for (Integer item : matter) {
|
|
|
+ AssoProjectEvent assoProjectEvent = new AssoProjectEvent();
|
|
|
+ //项目id
|
|
|
+ assoProjectEvent.setProjectId(project.getId());
|
|
|
+ //创建人
|
|
|
+ assoProjectEvent.setCreateId(personnelVO.getId());
|
|
|
+ //类型为专题库
|
|
|
+ assoProjectEvent.setProjectType(0);
|
|
|
+ //装载处理事项id
|
|
|
+ assoProjectEvent.setMatterId(item);
|
|
|
+ assoProjectEvents.add(assoProjectEvent);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //统一进行保存
|
|
|
+ if (assoProjectEvents != null && assoProjectEvents.size() != 0) {
|
|
|
+ assoProjectEventService.saveBatch(assoProjectEvents);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -295,20 +369,6 @@ public class PatentProjectService extends ServiceImpl<PatentProjectMapper, Paten
|
|
|
assoProjectFileService.saveBatch(assoProjectFiles);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- //装载应用场景
|
|
|
- List<Integer> scenarios =patentProjectDTO.getScenarios();
|
|
|
- if(scenarios!=null&&scenarios.size()>0){
|
|
|
- List<AssoProjectScenario> assoProjectScenarios =new ArrayList<>();
|
|
|
- scenarios.forEach(item->{
|
|
|
- AssoProjectScenario assoProjectScenario =new AssoProjectScenario();
|
|
|
- assoProjectScenario.setProjectId(project.getId());
|
|
|
- assoProjectScenario.setScenarioId(item);
|
|
|
- assoProjectScenarios.add(assoProjectScenario);
|
|
|
- assoProjectScenarioService.saveBatch(assoProjectScenarios);
|
|
|
- });
|
|
|
- }
|
|
|
-
|
|
|
return project.getId();
|
|
|
}
|
|
|
|
|
@@ -318,7 +378,7 @@ public class PatentProjectService extends ServiceImpl<PatentProjectMapper, Paten
|
|
|
//TODO 更新场景
|
|
|
//TODO 更新事件
|
|
|
//TODO 若产品或产品类别技术类别有更新,则删除产品或产品类别技术类别和专利的标引(只需判断,删除部分,待es完成)
|
|
|
- //TODO 更新关联附件
|
|
|
+ //TODO 更新关联附件
|
|
|
|
|
|
return null;
|
|
|
}
|