From fa0ac883c126aeab4a9471e708526628246bd366 Mon Sep 17 00:00:00 2001 From: hecan <1718492867@qq.com> Date: Thu, 15 May 2025 15:45:22 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A0=94=E5=8F=91=E9=A1=B9=E7=9B=AE=E7=AB=8B?= =?UTF-8?q?=E9=A1=B9=E5=90=8C=E6=AD=A5C4=E9=A1=B9=E7=9B=AE=E6=A1=A3?= =?UTF-8?q?=E6=A1=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugin/c4project/dao/IC4ProjectDao.java | 29 ++++ .../c4project/dao/impl/C4ProjectDaoImpl.java | 22 +++ .../c4project/entity/C4ProjectEntity.java | 142 ++++++++++++++++++ .../c4project/entity/C4ProjectEntity.xml | 86 +++++++++++ .../plugin/C4ProjectPluginInitializer.java | 124 +++++++++++++++ .../cfgHome/plugin/c4project/pluginCfg.xml | 6 + .../spring/spring-buildpackage-dao.xml | 5 + .../spring/spring-buildpackage-plugin.xml | 5 + .../service/impl/ServiceDataServiceImpl.java | 4 +- 9 files changed, 421 insertions(+), 2 deletions(-) create mode 100644 base-buildpackage/src/main/java/com/hzya/frame/plugin/c4project/dao/IC4ProjectDao.java create mode 100644 base-buildpackage/src/main/java/com/hzya/frame/plugin/c4project/dao/impl/C4ProjectDaoImpl.java create mode 100644 base-buildpackage/src/main/java/com/hzya/frame/plugin/c4project/entity/C4ProjectEntity.java create mode 100644 base-buildpackage/src/main/java/com/hzya/frame/plugin/c4project/entity/C4ProjectEntity.xml create mode 100644 base-buildpackage/src/main/java/com/hzya/frame/plugin/c4project/plugin/C4ProjectPluginInitializer.java create mode 100644 base-buildpackage/src/main/resources/cfgHome/plugin/c4project/pluginCfg.xml create mode 100644 base-buildpackage/src/main/resources/cfgHome/plugin/c4project/spring/spring-buildpackage-dao.xml create mode 100644 base-buildpackage/src/main/resources/cfgHome/plugin/c4project/spring/spring-buildpackage-plugin.xml diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/c4project/dao/IC4ProjectDao.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/c4project/dao/IC4ProjectDao.java new file mode 100644 index 00000000..95bafff3 --- /dev/null +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/c4project/dao/IC4ProjectDao.java @@ -0,0 +1,29 @@ +package com.hzya.frame.plugin.c4project.dao; + +import com.hzya.frame.basedao.dao.IBaseDao; +import com.hzya.frame.plugin.c4project.entity.C4ProjectEntity; + +import java.util.List; + +public interface IC4ProjectDao extends IBaseDao { + + /** + * + * @content 查询研发项目立项数据推送C4项目档案 + * @Param + * @Return + * @Author hecan + * @Date 2025-05-14 11:48 + * **/ + List queryProjectToC4(C4ProjectEntity entity); + + /** + * + * @content 新增数据到C4项目档案 + * @Param + * @Return + * @Author hecan + * @Date 2025-05-14 11:53 + * **/ + Integer saveC4Project(C4ProjectEntity entity); +} diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/c4project/dao/impl/C4ProjectDaoImpl.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/c4project/dao/impl/C4ProjectDaoImpl.java new file mode 100644 index 00000000..c22e5e03 --- /dev/null +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/c4project/dao/impl/C4ProjectDaoImpl.java @@ -0,0 +1,22 @@ +package com.hzya.frame.plugin.c4project.dao.impl; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.hzya.frame.basedao.dao.MybatisGenericDao; +import com.hzya.frame.plugin.c4project.dao.IC4ProjectDao; +import com.hzya.frame.plugin.c4project.entity.C4ProjectEntity; + +import java.util.List; + +public class C4ProjectDaoImpl extends MybatisGenericDao implements IC4ProjectDao { + @DS("#entity.dataSourceCode") + @Override + public List queryProjectToC4(C4ProjectEntity entity) { + return (List) super.selectList("queryProjectToC4",entity); + } + + @DS("#entity.dataSourceCode") + @Override + public Integer saveC4Project(C4ProjectEntity entity) { + return super.insert("saveC4Project",entity); + } +} diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/c4project/entity/C4ProjectEntity.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/c4project/entity/C4ProjectEntity.java new file mode 100644 index 00000000..60dd6f1f --- /dev/null +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/c4project/entity/C4ProjectEntity.java @@ -0,0 +1,142 @@ +package com.hzya.frame.plugin.c4project.entity; + +import com.hzya.frame.web.entity.BaseEntity; + +public class C4ProjectEntity extends BaseEntity { + private String caNo;//项目编号 + private String caName;//项目名称 + private String caTypenm;//项目类型 + private String caManagernm;//项目负责人 + private String caBegindate;//项目开始时间 + private String caEnddate;//项目结束时间 + private String caBudgetamt;//项目预算总额 + private String caBudgetorg;//公司id + private String caBudgetornm;//公司名称 + private String caFathernm;//项目档案 + private String caFactmat;//项目实际到账额 + private String caCoveramt;//项目实际报销额 + private String caFulllevelno;// + private String startTime;//开始时间 + private String endTime;//结束时间 + + + public String getCaBudgetorg() { + return caBudgetorg; + } + + public void setCaBudgetorg(String caBudgetorg) { + this.caBudgetorg = caBudgetorg; + } + + public String getCaBudgetornm() { + return caBudgetornm; + } + + public void setCaBudgetornm(String caBudgetornm) { + this.caBudgetornm = caBudgetornm; + } + + public String getCaFathernm() { + return caFathernm; + } + + public void setCaFathernm(String caFathernm) { + this.caFathernm = caFathernm; + } + + public String getCaFactmat() { + return caFactmat; + } + + public void setCaFactmat(String caFactmat) { + this.caFactmat = caFactmat; + } + + public String getCaCoveramt() { + return caCoveramt; + } + + public void setCaCoveramt(String caCoveramt) { + this.caCoveramt = caCoveramt; + } + + public String getCaFulllevelno() { + return caFulllevelno; + } + + public void setCaFulllevelno(String caFulllevelno) { + this.caFulllevelno = caFulllevelno; + } + + public String getStartTime() { + return startTime; + } + + public void setStartTime(String startTime) { + this.startTime = startTime; + } + + public String getEndTime() { + return endTime; + } + + public void setEndTime(String endTime) { + this.endTime = endTime; + } + + public String getCaNo() { + return caNo; + } + + public void setCaNo(String caNo) { + this.caNo = caNo; + } + + public String getCaName() { + return caName; + } + + public void setCaName(String caName) { + this.caName = caName; + } + + public String getCaTypenm() { + return caTypenm; + } + + public void setCaTypenm(String caTypenm) { + this.caTypenm = caTypenm; + } + + public String getCaManagernm() { + return caManagernm; + } + + public void setCaManagernm(String caManagernm) { + this.caManagernm = caManagernm; + } + + public String getCaBegindate() { + return caBegindate; + } + + public void setCaBegindate(String caBegindate) { + this.caBegindate = caBegindate; + } + + public String getCaEnddate() { + return caEnddate; + } + + public void setCaEnddate(String caEnddate) { + this.caEnddate = caEnddate; + } + + public String getCaBudgetamt() { + return caBudgetamt; + } + + public void setCaBudgetamt(String caBudgetamt) { + this.caBudgetamt = caBudgetamt; + } +} diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/c4project/entity/C4ProjectEntity.xml b/base-buildpackage/src/main/java/com/hzya/frame/plugin/c4project/entity/C4ProjectEntity.xml new file mode 100644 index 00000000..93e4590a --- /dev/null +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/c4project/entity/C4ProjectEntity.xml @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + main.id as id, + main.MODIFY_DATE as MODIFY_DATE, + 'formmain_9555' as tab_name, + field0047 as caNo, + field0012 as caName, + field0080 as caTypenm, + ORG_MEMBER.name as caManagernm, + field0044 as caBegindate, + field0045 as caEnddate, + field0077 as caBudgetamt, + '670869647114347' as caBudgetorg, + '三维通信股份有限公司' as caBudgetornm, + '项目档案' as caFathernm, + '0' as caFactmat, + '0' as caCoveramt + + + + + + + + insert into LEXMISC4_case( + + CA_BUDGETORG , + CA_BUDGETORGNM , + CA_NO , + CA_NAME , + CA_TYPENM , + CA_MANAGERNM , + CA_BEGINDATE , + CA_ENDDATE , + CA_FATHERNM , + CA_BUDGETAMT , + CA_FACTAMT , + CA_COVERAMT , + CA_FULLLEVELNO + + )values( + + #{caBudgetorg} , + #{caBudgetornm} , + #{caNo} , + #{caName} , + #{caTypenm} , + #{caManagernm} , + TO_TIMESTAMP(#{caBegindate}, 'SYYYY-MM-DD HH24:MI:SS:FF6') , + TO_TIMESTAMP(#{caEnddate}, 'SYYYY-MM-DD HH24:MI:SS:FF6') , + #{caFathernm} , + #{caBudgetamt} , + #{caFactmat} , + #{caCoveramt} , + #{caFulllevelno} + + ) + + + + + diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/c4project/plugin/C4ProjectPluginInitializer.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/c4project/plugin/C4ProjectPluginInitializer.java new file mode 100644 index 00000000..af0372ba --- /dev/null +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/c4project/plugin/C4ProjectPluginInitializer.java @@ -0,0 +1,124 @@ +package com.hzya.frame.plugin.c4project.plugin; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSONObject; +import com.hzya.frame.base.PluginBaseEntity; +import com.hzya.frame.plugin.c4project.dao.IC4ProjectDao; +import com.hzya.frame.plugin.c4project.dao.impl.C4ProjectDaoImpl; +import com.hzya.frame.plugin.c4project.entity.C4ProjectEntity; +import com.hzya.frame.sysnew.integtationTaskLivingDetails.entity.IntegrationTaskLivingDetailsEntity; +import com.hzya.frame.sysnew.integtationTaskLivingDetails.service.IIntegrationTaskLivingDetailsService; +import com.hzya.frame.uuid.UUIDUtils; +import com.hzya.frame.web.entity.BaseResult; +import com.hzya.frame.web.entity.JsonResultEntity; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.Date; +import java.util.List; + +public class C4ProjectPluginInitializer extends PluginBaseEntity { + Logger logger = LoggerFactory.getLogger(C4ProjectPluginInitializer.class); + + @Autowired + private IC4ProjectDao ic4ProjectDao; + + @Autowired + private IIntegrationTaskLivingDetailsService taskLivingDetailsService; + + @Override + public void initialize() { + logger.info(getPluginLabel() + "執行初始化方法initialize()"); + } + + @Override + public void destroy() { + logger.info(getPluginLabel() + "執行銷毀方法destroy()"); + } + + @Override + public String getPluginId() { + return "C4ProjectPluginInitializer"; + } + + @Override + public String getPluginName() { + return "研发项目立项生成C4项目档案"; + } + + @Override + public String getPluginLabel() { + return "C4ProjectPluginInitializer"; + } + + @Override + public String getPluginType() { + return "1"; + } + + @Override + public JsonResultEntity executeBusiness(JSONObject requestJson) throws Exception { + try { + String startTime = DateUtil.format(requestJson.getDate("startTime"),"yyyy-MM-dd HH:mm:ss");//定时任务执行时传入的开始时间 + String endTime = DateUtil.format(requestJson.getDate("endTime"),"yyyy-MM-dd HH:mm:ss");//定时任务执行时传入的开始时间 + logger.info("=======研发项目立项推送C4项目档案的开始时间为:{}=======",startTime); + logger.info("=======研发项目立项推送C4项目档案的结束时间为:{}=======",endTime); + if(StrUtil.isEmpty(startTime)){ + DateUtil.format(new Date(),"yyyy-MM-dd HH:mm:ss"); + } + + logger.info("=======在:{}时间查询研发项目立项推送C4项目档案=======",startTime); + C4ProjectEntity c4ProjectEntity=new C4ProjectEntity(); + c4ProjectEntity.setStartTime(startTime); + c4ProjectEntity.setDataSourceCode("SW-OA"); + List c4ProjectEntities = ic4ProjectDao.queryProjectToC4(c4ProjectEntity); + if(c4ProjectEntities == null || c4ProjectEntities.size() == 0){ + logger.info("=====查询研发项目立项推送C4项目档案数据有:{}条",c4ProjectEntities.size()); + return BaseResult.getSuccessMessageEntity("查询成功"); + } + for (C4ProjectEntity projectEntity : c4ProjectEntities) { + projectEntity.setDataSourceCode("SW-OA"); + projectEntity.setCaFulllevelno("@"+projectEntity.getCaNo()+"@"); + projectEntity.setCaTypenm(projectEntity.getCaTypenm()==null?"项目类型":projectEntity.getCaTypenm()); + logger.info("======开始将项目编号:{},项目名称:{}新增到C4项目档案中=======",projectEntity.getCaNo(),projectEntity.getCaName()); + Integer integer = ic4ProjectDao.saveC4Project(projectEntity); + logger.info("======将项目编号:{},项目名称:{}新增到C4项目档案中完毕=======",projectEntity.getCaNo(),projectEntity.getCaName()); + saveTaskLivingDetails(projectEntity.getId(),projectEntity.getCaNo(),JSONObject.parseObject(projectEntity.toString()).toJSONString(),String.valueOf(integer),true); + } + logger.info("=======研发项目立项推送C4项目档案执行成功======="); + return BaseResult.getSuccessMessageEntity("研发项目立项推送C4项目档案执行成功"); + }catch (Exception e){ + logger.info("========研发项目立项推送C4项目档案失败,:{}",e.getMessage()); + e.printStackTrace(); + } + return BaseResult.getFailureMessageEntity("研发项目立项推送C4项目档案执行成功"); + } + + private void saveTaskLivingDetails(String rootAppPk,String rootAppBill,String rootAppNewData,String newTransmitInfo,boolean flag) { + try { + IntegrationTaskLivingDetailsEntity integrationTaskLivingDetailsEntity = new IntegrationTaskLivingDetailsEntity(); + integrationTaskLivingDetailsEntity.setId(UUIDUtils.getUUID()); + integrationTaskLivingDetailsEntity.setSts("Y"); + integrationTaskLivingDetailsEntity.setCreate_user_id("1"); + integrationTaskLivingDetailsEntity.setModify_user_id("1"); + integrationTaskLivingDetailsEntity.setCreate_time(new Date()); + integrationTaskLivingDetailsEntity.setModify_time(new Date()); + integrationTaskLivingDetailsEntity.setOrg_id("0"); + integrationTaskLivingDetailsEntity.setCompanyId("0"); + integrationTaskLivingDetailsEntity.setRootAppPk(rootAppPk); + integrationTaskLivingDetailsEntity.setRootAppBill(rootAppBill); + integrationTaskLivingDetailsEntity.setPluginId("C4ProjectPluginInitializer"); + integrationTaskLivingDetailsEntity.setRootAppNewData(rootAppNewData); + integrationTaskLivingDetailsEntity.setNewTransmitInfo(newTransmitInfo); + if(flag){ + taskLivingDetailsService.saveLogToSuccess(integrationTaskLivingDetailsEntity); + }else { + taskLivingDetailsService.saveLogToFail(integrationTaskLivingDetailsEntity); + } + }catch (Exception e){ + logger.info("保存日志到集成任务日志明细中失败:{}",e.getMessage()); + } + } +} diff --git a/base-buildpackage/src/main/resources/cfgHome/plugin/c4project/pluginCfg.xml b/base-buildpackage/src/main/resources/cfgHome/plugin/c4project/pluginCfg.xml new file mode 100644 index 00000000..0a47fd4e --- /dev/null +++ b/base-buildpackage/src/main/resources/cfgHome/plugin/c4project/pluginCfg.xml @@ -0,0 +1,6 @@ + + +C4ProjectPluginInitializer +C4ProjectPluginInitializer +90000098 + diff --git a/base-buildpackage/src/main/resources/cfgHome/plugin/c4project/spring/spring-buildpackage-dao.xml b/base-buildpackage/src/main/resources/cfgHome/plugin/c4project/spring/spring-buildpackage-dao.xml new file mode 100644 index 00000000..29d92bf2 --- /dev/null +++ b/base-buildpackage/src/main/resources/cfgHome/plugin/c4project/spring/spring-buildpackage-dao.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/base-buildpackage/src/main/resources/cfgHome/plugin/c4project/spring/spring-buildpackage-plugin.xml b/base-buildpackage/src/main/resources/cfgHome/plugin/c4project/spring/spring-buildpackage-plugin.xml new file mode 100644 index 00000000..ccd071a2 --- /dev/null +++ b/base-buildpackage/src/main/resources/cfgHome/plugin/c4project/spring/spring-buildpackage-plugin.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/base-service/src/main/java/com/hzya/frame/sysnew/comparison/serviceData/service/impl/ServiceDataServiceImpl.java b/base-service/src/main/java/com/hzya/frame/sysnew/comparison/serviceData/service/impl/ServiceDataServiceImpl.java index 48af6450..17c005df 100644 --- a/base-service/src/main/java/com/hzya/frame/sysnew/comparison/serviceData/service/impl/ServiceDataServiceImpl.java +++ b/base-service/src/main/java/com/hzya/frame/sysnew/comparison/serviceData/service/impl/ServiceDataServiceImpl.java @@ -420,7 +420,7 @@ public class ServiceDataServiceImpl extends BaseService Object object = comparisonServiceimpl.saveEntity(jsonStr); logger.info("单据视图新增结果为:{}", JSON.toJSONString(object)); result.add(object); - } else { + }/* else { hashMap.put("appName","数智中台"); hashMap.put("appCode","800004"); hashMap.put("mdmCode", mdmCode); @@ -429,7 +429,7 @@ public class ServiceDataServiceImpl extends BaseService Object object = comparisonServiceimpl.updateEntity(jsonStr); logger.info("单据视图更新结果为:{}", JSON.toJSONString(result)); result.add(object); - } + }*/ } return result; }catch (Exception e){