diff --git a/.flattened-pom.xml b/.flattened-pom.xml index 7af03473..077662b0 100644 --- a/.flattened-pom.xml +++ b/.flattened-pom.xml @@ -2,103 +2,52 @@ 4.0.0 - - org.springframework.boot - spring-boot-starter-parent - 2.7.18 - - com.hzya.frame kangarooDataCenterV3 0.0.1-SNAPSHOT pom - kangarooDataCenterV3 - kangarooDataCenterV3 Apache License, Version 2.0 https://www.apache.org/licenses/LICENSE-2.0 - - base-buildpackage - base-service - base-common - base-webapp - base-core - - - 2.3.0 - 1.8 - 2.7.18 - 4.12 - 2.8.5 - 1.9.4 - 3.9.1 - 2.0.20 - 3.3.0 - 1.18.22 - 2.0.33 - UTF-8 - 2.7.18 - 4.5.13 - 2.7.18 - 1.30.0 - 1.4.6 - 5.8.19 - 3.5.6 - 1.8 - 3.5.2 - 2.6 - 1.1.22 - 8.0.13 - 1.30.0 - 8.0.3 - 3.13.0 - 42.2.6 - 1.3.1 - 1.2.18 - 2.1.46 - 2.7.18 - 2.7.18 - 4.12 - 1.7.4 - 1.30.0 - 2.7.18 - 2.6.0 - 1.3.7 - 32.0.1-jre - 6.1.0.jre8 - 5.3.23 - 2.6 - 11.2.0.4 - 0.0.1-SNAPSHOT - net.sourceforge.jtds jtds - ${net.sourceforge.jtds.version} + 1.3.1 + compile org.springframework.boot spring-boot-starter-aop - ${spring-boot-starter-aop.version} + 2.7.18 + compile org.apache.httpcomponents httpclient - ${httpclient.version} + 4.5.13 + compile + + + commons-logging + commons-logging + + org.springframework.boot spring-boot-starter-cache - ${spring-boot-starter-cache.version} + 2.7.18 + compile org.springframework.boot spring-boot-starter-test - ${spring-boot-starter-test.version} + 2.7.18 + compile spring-core @@ -109,46 +58,56 @@ junit junit - ${unit.version} + 4.12 + compile com.alibaba fastjson - ${fastjson.version} + 2.0.33 + compile p6spy p6spy - ${p6spy.version} + 3.9.1 + compile com.google.code.gson gson - ${gson.version} + 2.8.5 + compile com.google.zxing core - ${zxing.version} + 3.3.0 + compile com.google.guava guava - ${guava.version} + 32.0.1-jre + compile mysql mysql-connector-java - ${mysql-connector-java} + 8.0.13 + compile org.springframework.boot spring-boot-starter-data-jdbc + 2.7.18 + compile com.github.pagehelper pagehelper-spring-boot-starter - ${pagehelper-spring-boot-starter.version} + 1.4.6 + compile mybatis @@ -167,37 +126,44 @@ com.baomidou mybatis-plus-boot-starter - ${mybatis-plus-boot-starter.version} + 3.5.6 + compile cn.hutool hutool-all - ${hutool.version} + 5.8.19 + compile cn.dev33 sa-token-spring-boot-starter - ${sa.token.version} + 1.30.0 + compile cn.dev33 sa-token-oauth2 - ${sa-token-oauth2.version} + 1.30.0 + compile cn.dev33 sa-token-jwt - ${sa-token-jwt.version} + 1.30.0 + compile com.baomidou dynamic-datasource-spring-boot-starter - ${dynamic-datasource-spring-boot-starter.version} + 3.5.2 + compile com.alibaba druid-spring-boot-starter - ${druid-spring-boot-starter.version} + 1.2.18 + compile spring-boot-autoconfigure @@ -209,67 +175,89 @@ com.dameng Dm8JdbcDriver18 8.1.1.49 + compile commons-beanutils commons-beanutils - ${beanutils.version} + 1.9.4 + compile org.apache.commons commons-pool2 - ${commons.pool2.version} + 2.6.0 + compile org.apache.commons commons-lang3 - ${lang3.version} + 3.13.0 + compile org.projectlombok lombok - ${lombok.version} + 1.18.22 + compile true com.microsoft.sqlserver mssql-jdbc 6.4.0.jre8 + compile org.apache.pdfbox pdfbox - ${pdfbox.version} + 2.0.20 + compile com.oracle.database.jdbc ojdbc6 - ${ojdbc6.version} + 11.2.0.4 + compile org.quartz-scheduler quartz - ${quartz.version} + 2.3.0 + compile + + + c3p0 + com.mchange + + + * + com.zaxxer + + org.springframework spring-context-support - ${org.springframework.version} + 5.3.23 + compile commons-io commons-io - ${commons.io.version} + 2.6 + compile dom4j dom4j 1.6.1 + compile org.postgresql postgresql - ${postgresql.version} + 42.2.6 runtime @@ -277,50 +265,61 @@ groovy-all 4.0.21 pom + compile org.flywaydb flyway-core 8.5.13 + compile org.flywaydb flyway-mysql 8.5.13 + compile com.yomahub tlog-all-spring-boot-starter 1.5.2 + compile org.springframework.boot spring-boot-starter-data-mongodb + 2.7.18 + compile com.dingtalk.open app-stream-client - ${dingtalk-stream-sdk.version} + 1.3.7 + compile com.aliyun dingtalk - ${dingtalk-sdk.version} + 2.1.46 + compile com.aliyun alibaba-dingtalk-service-sdk 2.0.0 + compile commons-net commons-net 3.8.0 + compile com.jcraft jsch 0.1.53 + compile @@ -341,94 +340,4 @@ https://maven.jeecg.org/nexus/content/repositories/jeecg - - - - src/main/java - - **/*.xml - - - - true - src/main/resources - - **/*.yml - **/*.properties - **/*.xml - **/*.xmreport - **/*.xlsx - **/*.json - **/*.xdb - **/*.txt - **/*.sql - - - - true - src/ - - **/*.yml - **/*.properties - **/*.xml - **/*.json - **/*.txt - **/*.sql - - - - - - org.codehaus.mojo - flatten-maven-plugin - 1.2.7 - - - flatten - process-resources - - flatten - - - - - resolveCiFriendliesOnly - - - - maven-resources-plugin - 2.6 - - UTF-8 - - - - maven-compiler-plugin - 3.10.1 - - 1.8 - 1.8 - UTF-8 - - - - org.springframework.boot - spring-boot-maven-plugin - 2.7.18 - - ${project.artifactId} - none - execute - true - - - - maven-surefire-plugin - 2.18.1 - - true - - - - diff --git a/base-buildpackage/.flattened-pom.xml b/base-buildpackage/.flattened-pom.xml index ad2fa1ab..d0452680 100644 --- a/base-buildpackage/.flattened-pom.xml +++ b/base-buildpackage/.flattened-pom.xml @@ -2,11 +2,6 @@ 4.0.0 - - com.hzya.frame - kangarooDataCenterV3 - 0.0.1-SNAPSHOT - com.hzya.frame base-buildpackage 0.0.1-SNAPSHOT @@ -21,28 +16,26 @@ com.hzya.frame base-webapp - ${revision} + 0.0.1-SNAPSHOT + compile - - kangarooDataCenterV3 - - - maven-war-plugin - 3.3.2 - - - - - - - dev - - true - - - dev - - - + + + + false + + aliyun + aliyun Repository + https://maven.aliyun.com/repository/public + + + + false + + jeecg + jeecg Repository + https://maven.jeecg.org/nexus/content/repositories/jeecg + + diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/gm/U8C_plugin_bd_cumandoc_ks.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/gm/U8C_plugin_bd_cumandoc_ks.java new file mode 100644 index 00000000..3f48af62 --- /dev/null +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/gm/U8C_plugin_bd_cumandoc_ks.java @@ -0,0 +1,209 @@ +package com.hzya.frame.plugin.gm; + +import cn.hutool.core.lang.Assert; +import com.alibaba.fastjson.JSONObject; +import com.google.common.collect.Lists; +import com.hzya.frame.base.PluginBaseEntity; +import com.hzya.frame.plugin.gm.constant.ProfilesActiveConstant; +import com.hzya.frame.plugin.gm.dao.IMdmBfCumandocKsDao; +import com.hzya.frame.plugin.gm.dao.IMdmBfJobmngfilDao; +import com.hzya.frame.plugin.gm.entity.MdmBfCumandocKsEntity; +import com.hzya.frame.plugin.gm.entity.MdmBfJobmngfilEntity; +import com.hzya.frame.plugin.gm.utils.SaveOrUpdateBusinessLogUtil; +import com.hzya.frame.sysnew.integtationTaskLivingDetails.dao.IIntegrationTaskLivingDetailsDao; +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.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.locks.ReentrantLock; + +/** + * Created by zydd on 2025-09-09 23:55 + */ +public class U8C_plugin_bd_cumandoc_ks extends PluginBaseEntity { + Logger logger = LoggerFactory.getLogger(U8C_plugin_bd_cumandoc_ks.class); + private static final ReentrantLock LOCK = new ReentrantLock(true); + // 创建格式化器 + public static DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + + List U8C_LIST_SAVE = new ArrayList<>(); + List U8C_LIST_UPDATE = new ArrayList<>(); + + @Override + public void initialize() { + logger.info(getPluginLabel() + "执行初始化方法initialize()"); + } + + @Override + public void destroy() { + logger.info(getPluginLabel() + "执行销毁方法destroy()"); + } + + @Override + public String getPluginId() { + return "gm.U8C_plugin_bd_cumandoc_ks"; + } + + @Override + public String getPluginName() { + return "广脉:U8C客商档案同步"; + } + + @Override + public String getPluginLabel() { + return "广脉:U8C客商档案同步"; + } + + @Override + public String getPluginType() { + return "1"; + } + + @Override + public JsonResultEntity executeBusiness(JSONObject requestJson) throws Exception { + try { + logger.info("调用:" + getPluginName() + "-插件"); + String prod = "prod"; + String param = String.valueOf(requestJson.get("param")); + if (requestJson != null && ProfilesActiveConstant.TYPE_DATE.equals(requestJson.get("type"))) { + //按日期 + if (param != null && !"".equals(param)) { + String[] split = param.split("/"); + if (!(split.length == 2)) { + Assert.state(false, "时间格式传递不正确"); + } + Assert.notNull(split[0], "开始时间不能为空"); + Assert.notNull(split[1], "结束时间不能为空"); + start(split[0], split[1]); + } + } else if (ProfilesActiveConstant.LETS_PROFILES_ACTIVE.equals(prod)) { + //默认 + start(); + } + } catch (Exception e) { + e.printStackTrace(); + logger.error("executeBusiness方法抛出异常", e); + } + return BaseResult.getSuccessMessageEntity("插件执行成功"); + } + + + @Autowired + private IIntegrationTaskLivingDetailsDao iIntegrationTaskLivingDetailsDao; + @Autowired + private SaveOrUpdateBusinessLogUtil saveOrUpdateBusinessLogUtil; + @Autowired + private IMdmBfCumandocKsDao mdmBfCumandocKsDao; + + public void start() { + U8C_LIST_SAVE.clear(); + U8C_LIST_UPDATE.clear(); + try { + + // 获取当前日期和时间,时间偏移6分钟 + LocalDateTime now = LocalDateTime.now(); + String end = now.format(formatter); + String start = now.minusMinutes(6L).format(formatter); + logger.info("自动同步==> U8C项目管理档案同步 时间区间:[{}]-[{}]", start, end); + + //查询数据 + List allOAList = queryData(start, end); + + //过滤,生成凭证的报错 + filterData(allOAList); + //保存 + saveData(U8C_LIST_SAVE); + //更新 + updateData(U8C_LIST_UPDATE); + } catch (Exception e) { + e.printStackTrace(); + } + + } + + public void start(String startTime, String endTime) { + U8C_LIST_SAVE.clear(); + U8C_LIST_UPDATE.clear(); + startTime += " 00:00:00"; + endTime += " 23:59:59"; + try { + //查询数据 + List allU8CList = queryData(startTime, endTime); + + //过滤 + filterData(allU8CList); + //保存 + saveData(U8C_LIST_SAVE); + //更新 + updateData(U8C_LIST_UPDATE); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + + + + private void saveData(List u8CListSave) { + u8CListSave.forEach(index -> { + index.setSts("Y"); + index.setDataStatus("Y"); + index.setId(index.getPkCumandoc()); + }); + List> partition = Lists.partition(u8CListSave, 500); + for (List mdmBfCumandocKsEntities : partition) { + mdmBfCumandocKsDao.saveList(mdmBfCumandocKsEntities); + } + + } + + private void updateData(List u8CListUpdate) { + List list = new ArrayList<>(); + for (MdmBfCumandocKsEntity mdmBfCumandocKsEntity : u8CListUpdate) { + String pkCumandoc = mdmBfCumandocKsEntity.getPkCumandoc(); + + MdmBfCumandocKsEntity mdmBfCumandocKs = new MdmBfCumandocKsEntity(); + mdmBfCumandocKs.setPkCumandoc(pkCumandoc); + mdmBfCumandocKsDao.delete("com.hzya.frame.plugin.gm.dao.impl.MdmBfCumandocKsDaoImpl.entity_delete",mdmBfCumandocKs); + list.add(mdmBfCumandocKsEntity); + } + saveData(list); + } + + + + + private void filterData(List allOAList) { + for (MdmBfCumandocKsEntity mdmBfCumandocKsEntity : allOAList) { + String pkCumandoc = mdmBfCumandocKsEntity.getPkCumandoc(); + MdmBfCumandocKsEntity mdmBfJobmngfil = new MdmBfCumandocKsEntity(); + mdmBfJobmngfil.setPkCumandoc(pkCumandoc); + List query = mdmBfCumandocKsDao.query(mdmBfJobmngfil); + if (query.size() == 0) { + U8C_LIST_SAVE.add(mdmBfCumandocKsEntity); + } else { + U8C_LIST_UPDATE.add(mdmBfCumandocKsEntity); + } + } + } + + + + private List queryData(String start, String end) { + MdmBfCumandocKsEntity entity = new MdmBfCumandocKsEntity(); + entity.setStartTime(start); + entity.setEndTime(end); + List list = mdmBfCumandocKsDao.queryU8CAll(entity); + return list; + } + + + +} diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/gm/dao/IMdmBfCumandocKsDao.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/gm/dao/IMdmBfCumandocKsDao.java new file mode 100644 index 00000000..b8eb9b2c --- /dev/null +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/gm/dao/IMdmBfCumandocKsDao.java @@ -0,0 +1,22 @@ +package com.hzya.frame.plugin.gm.dao; + +import com.hzya.frame.plugin.gm.entity.MdmBfCumandocKsEntity; +import com.hzya.frame.basedao.dao.IBaseDao; +import com.hzya.frame.plugin.gm.entity.MdmBfJobmngfilEntity; + +import java.util.List; + +/** + * 基础档案:客商管理档案-ks(mdm_bf_cumandoc_ks: table)表数据库访问层 + * + * @author zydd + * @since 2025-09-09 23:51:36 + */ +public interface IMdmBfCumandocKsDao extends IBaseDao { + + List queryU8CAll(MdmBfCumandocKsEntity entity); + + void saveList(List list); + +} + diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/gm/dao/impl/MdmBfCumandocKsDaoImpl.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/gm/dao/impl/MdmBfCumandocKsDaoImpl.java new file mode 100644 index 00000000..21047d22 --- /dev/null +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/gm/dao/impl/MdmBfCumandocKsDaoImpl.java @@ -0,0 +1,35 @@ +package com.hzya.frame.plugin.gm.dao.impl; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.hzya.frame.plugin.gm.constant.ProfilesActiveConstant; +import com.hzya.frame.plugin.gm.entity.MdmBfCumandocKsEntity; +import com.hzya.frame.plugin.gm.dao.IMdmBfCumandocKsDao; +import com.hzya.frame.plugin.gm.entity.MdmBfJobmngfilEntity; +import org.springframework.stereotype.Repository; +import com.hzya.frame.basedao.dao.MybatisGenericDao; + +import java.util.List; + +/** + * 基础档案:客商管理档案-ks(MdmBfCumandocKs)表数据库访问层 + * + * @author zydd + * @since 2025-09-09 23:51:36 + */ +public class MdmBfCumandocKsDaoImpl extends MybatisGenericDao implements IMdmBfCumandocKsDao{ + + @DS(ProfilesActiveConstant.GM_U8C_DATE_SOURCE) + @Override + public List queryU8CAll(MdmBfCumandocKsEntity entity) { + List all = (List) + selectList("com.hzya.frame.plugin.gm.dao.impl.MdmBfCumandocKsDaoImpl.queryU8CAll", entity); + return all; + } + + + @Override + public void saveList(List list) { + insert("com.hzya.frame.plugin.gm.dao.impl.MdmBfCumandocKsDaoImpl.saveList", list); + } +} + diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/gm/entity/MdmBfCumandocKsEntity.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/gm/entity/MdmBfCumandocKsEntity.java new file mode 100644 index 00000000..7cfb53a8 --- /dev/null +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/gm/entity/MdmBfCumandocKsEntity.java @@ -0,0 +1,204 @@ +package com.hzya.frame.plugin.gm.entity; + +import java.util.Date; +import com.hzya.frame.web.entity.BaseEntity; +/** + * 基础档案:客商管理档案-ks(MdmBfCumandocKs)实体类 + * + * @author zydd + * @since 2025-09-09 23:51:36 + */ +public class MdmBfCumandocKsEntity extends BaseEntity { + + /** 单据规则 */ + private String documentRule; + /** 单据规则流水号 */ + private Long documentRuleNum; + /** 数据状态 Y正常 N删除 F修改 */ + private String dataStatus; + /** 新增数据状态 0待下发 1已下发 */ + private String addStatus; + /** 修改数据状态 0待下发 1已下发 */ + private String updateStatus; + /** 删除数据状态 0待下发 1已下发 */ + private String deleteStatus; + /** 公司id */ + private String companyId; + /** data_id */ + private String dataId; + /** mdm_up_id */ + private String mdmUpId; + /** 客商管理档案主键 */ + private String pkCumandoc; + /** 客商档案主键 */ + private String pkCubasdoc; + /** 公司主键 */ + private String pkCorp; + /** 客商属性 */ + private String custflag; + /** 更新时间 */ + private Date ts; + /** 删除标识 */ + private String dr; + /** 客商编码 */ + private String code; + /** 客商名称 */ + private String name; + + + public String getDocumentRule() { + return documentRule; + } + + public void setDocumentRule(String documentRule) { + this.documentRule = documentRule; + } + + public Long getDocumentRuleNum() { + return documentRuleNum; + } + + public void setDocumentRuleNum(Long documentRuleNum) { + this.documentRuleNum = documentRuleNum; + } + + public String getDataStatus() { + return dataStatus; + } + + public void setDataStatus(String dataStatus) { + this.dataStatus = dataStatus; + } + + public String getAddStatus() { + return addStatus; + } + + public void setAddStatus(String addStatus) { + this.addStatus = addStatus; + } + + public String getUpdateStatus() { + return updateStatus; + } + + public void setUpdateStatus(String updateStatus) { + this.updateStatus = updateStatus; + } + + public String getDeleteStatus() { + return deleteStatus; + } + + public void setDeleteStatus(String deleteStatus) { + this.deleteStatus = deleteStatus; + } + + public String getCompanyId() { + return companyId; + } + + public void setCompanyId(String companyId) { + this.companyId = companyId; + } + + public String getDataId() { + return dataId; + } + + public void setDataId(String dataId) { + this.dataId = dataId; + } + + public String getMdmUpId() { + return mdmUpId; + } + + public void setMdmUpId(String mdmUpId) { + this.mdmUpId = mdmUpId; + } + + public String getPkCumandoc() { + return pkCumandoc; + } + + public void setPkCumandoc(String pkCumandoc) { + this.pkCumandoc = pkCumandoc; + } + + public String getPkCubasdoc() { + return pkCubasdoc; + } + + public void setPkCubasdoc(String pkCubasdoc) { + this.pkCubasdoc = pkCubasdoc; + } + + public String getPkCorp() { + return pkCorp; + } + + public void setPkCorp(String pkCorp) { + this.pkCorp = pkCorp; + } + + public String getCustflag() { + return custflag; + } + + public void setCustflag(String custflag) { + this.custflag = custflag; + } + + public Date getTs() { + return ts; + } + + public void setTs(Date ts) { + this.ts = ts; + } + + public String getDr() { + return dr; + } + + public void setDr(String dr) { + this.dr = dr; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + private String startTime; + private String endTime; + + 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; + } + +} + diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/gm/entity/MdmBfCumandocKsEntity.xml b/base-buildpackage/src/main/java/com/hzya/frame/plugin/gm/entity/MdmBfCumandocKsEntity.xml new file mode 100644 index 00000000..790bcfcd --- /dev/null +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/gm/entity/MdmBfCumandocKsEntity.xml @@ -0,0 +1,468 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id + ,document_rule + ,document_rule_num + ,data_status + ,add_status + ,update_status + ,delete_status + ,sorts + ,create_user_id + ,create_time + ,modify_user_id + ,modify_time + ,sts + ,org_id + ,company_id + ,data_id + ,mdm_up_id + ,pk_cumandoc + ,pk_cubasdoc + ,pk_corp + ,custflag + ,ts + ,dr + ,code + ,name + + + + + + + + + + + + + + + + insert into mdm_bf_cumandoc_ks( + + id , + document_rule , + document_rule_num , + data_status , + add_status , + update_status , + delete_status , + sorts , + create_user_id , + create_time , + modify_user_id , + modify_time , + sts , + org_id , + company_id , + data_id , + mdm_up_id , + pk_cumandoc , + pk_cubasdoc , + pk_corp , + custflag , + ts , + dr , + code , + name , + sorts, + sts, + + )values( + + #{id} , + #{documentRule} , + #{documentRuleNum} , + #{dataStatus} , + #{addStatus} , + #{updateStatus} , + #{deleteStatus} , + #{sorts} , + #{create_user_id} , + #{create_time} , + #{modify_user_id} , + #{modify_time} , + #{sts} , + #{org_id} , + #{companyId} , + #{dataId} , + #{mdmUpId} , + #{pkCumandoc} , + #{pkCubasdoc} , + #{pkCorp} , + #{custflag} , + #{ts} , + #{dr} , + #{code} , + #{name} , + (select (max(IFNULL( a.sorts, 0 )) + 1) as sort from mdm_bf_cumandoc_ks a WHERE + a.sts = 'Y' ), + + 'Y', + + ) + + + + insert into mdm_bf_cumandoc_ks(document_rule, document_rule_num, data_status, add_status, update_status, + delete_status, create_user_id, create_time, modify_user_id, modify_time, sts, org_id, company_id, data_id, + mdm_up_id, pk_cumandoc, pk_cubasdoc, pk_corp, custflag, ts, dr, code, name, sts) + values + + (#{entity.documentRule},#{entity.documentRuleNum},#{entity.dataStatus},#{entity.addStatus},#{entity.updateStatus},#{entity.deleteStatus},#{entity.create_user_id},#{entity.create_time},#{entity.modify_user_id},#{entity.modify_time},#{entity.sts},#{entity.org_id},#{entity.companyId},#{entity.dataId},#{entity.mdmUpId},#{entity.pkCumandoc},#{entity.pkCubasdoc},#{entity.pkCorp},#{entity.custflag},#{entity.ts},#{entity.dr},#{entity.code},#{entity.name}, + 'Y') + + + + + insert into mdm_bf_cumandoc_ks(document_rule, document_rule_num, data_status, add_status, update_status, + delete_status, create_user_id, create_time, modify_user_id, modify_time, sts, org_id, company_id, data_id, + mdm_up_id, pk_cumandoc, pk_cubasdoc, pk_corp, custflag, ts, dr, code, name) + values + + (#{entity.documentRule},#{entity.documentRuleNum},#{entity.dataStatus},#{entity.addStatus},#{entity.updateStatus},#{entity.deleteStatus},#{entity.create_user_id},#{entity.create_time},#{entity.modify_user_id},#{entity.modify_time},#{entity.sts},#{entity.org_id},#{entity.companyId},#{entity.dataId},#{entity.mdmUpId},#{entity.pkCumandoc},#{entity.pkCubasdoc},#{entity.pkCorp},#{entity.custflag},#{entity.ts},#{entity.dr},#{entity.code},#{entity.name}) + + on duplicate key update + document_rule = values(document_rule), + document_rule_num = values(document_rule_num), + data_status = values(data_status), + add_status = values(add_status), + update_status = values(update_status), + delete_status = values(delete_status), + create_user_id = values(create_user_id), + create_time = values(create_time), + modify_user_id = values(modify_user_id), + modify_time = values(modify_time), + sts = values(sts), + org_id = values(org_id), + company_id = values(company_id), + data_id = values(data_id), + mdm_up_id = values(mdm_up_id), + pk_cumandoc = values(pk_cumandoc), + pk_cubasdoc = values(pk_cubasdoc), + pk_corp = values(pk_corp), + custflag = values(custflag), + ts = values(ts), + dr = values(dr), + code = values(code), + name = values(name) + + + + update mdm_bf_cumandoc_ks set + + document_rule = #{documentRule}, + document_rule_num = #{documentRuleNum}, + data_status = #{dataStatus}, + add_status = #{addStatus}, + update_status = #{updateStatus}, + delete_status = #{deleteStatus}, + create_user_id = #{create_user_id}, + create_time = #{create_time}, + modify_user_id = #{modify_user_id}, + modify_time = #{modify_time}, + sts = #{sts}, + org_id = #{org_id}, + company_id = #{companyId}, + data_id = #{dataId}, + mdm_up_id = #{mdmUpId}, + pk_cumandoc = #{pkCumandoc}, + pk_cubasdoc = #{pkCubasdoc}, + pk_corp = #{pkCorp}, + custflag = #{custflag}, + ts = #{ts}, + dr = #{dr}, + code = #{code}, + name = #{name}, + + where id = #{id} + + + + update mdm_bf_cumandoc_ks + set sts= 'N', + modify_time = #{modify_time}, + modify_user_id = #{modify_user_id} + where id = #{id} + + + + update mdm_bf_cumandoc_ks set sts= 'N' ,modify_time = #{modify_time},modify_user_id = #{modify_user_id} + + and id = #{id} + and document_rule = #{documentRule} + and document_rule_num = #{documentRuleNum} + and data_status = #{dataStatus} + and add_status = #{addStatus} + and update_status = #{updateStatus} + and delete_status = #{deleteStatus} + and sorts = #{sorts} + and sts = #{sts} + and company_id = #{companyId} + and data_id = #{dataId} + and mdm_up_id = #{mdmUpId} + and pk_cumandoc = #{pkCumandoc} + and pk_cubasdoc = #{pkCubasdoc} + and pk_corp = #{pkCorp} + and custflag = #{custflag} + and ts = #{ts} + and dr = #{dr} + and code = #{code} + and name = #{name} + and sts='Y' + + + + + delete + from mdm_bf_cumandoc_ks + where + 1=1 + and id = #{id} + and pk_cumandoc = #{pkCumandoc} + + + + + + + + insert into mdm_bf_cumandoc_ks( + id, + data_status, + create_time, + sts, + + pk_cumandoc, + pk_cubasdoc, + code, + name, + pk_corp, + custflag, + ts, + dr + )values + + ( + #{item.id}, + #{item.dataStatus}, + now(), + #{item.sts}, + + + #{item.pkCumandoc}, + #{item.pkCubasdoc}, + #{item.code}, + #{item.name}, + #{item.pkCorp}, + #{item.custflag}, + #{item.ts}, + #{item.dr} + ) + + + + + + diff --git a/base-buildpackage/src/main/java/com/hzya/frame/voucher/ae/comf/bd/controller/BdController.java b/base-buildpackage/src/main/java/com/hzya/frame/voucher/ae/comf/bd/controller/BdController.java index dc4bf8e9..0ff33b1c 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/voucher/ae/comf/bd/controller/BdController.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/voucher/ae/comf/bd/controller/BdController.java @@ -508,6 +508,18 @@ public class BdController extends DefaultController { return getFailureMessageEntity(e.getMessage()); } } + @Autowired + private U8C_plugin_bd_cumandoc_ks u8CPluginBdCumandocKs; + @RequestMapping(value = "/u8CPluginBdCumandocKs", method = RequestMethod.POST) + public JsonResultEntity u8CPluginBdCumandocKs (String start,String end) { + try { + u8CPluginBdCumandocKs.start(start,end); + return getSuccessMessageEntity("请求成功"); + } catch (Exception e) { + e.printStackTrace(); + return getFailureMessageEntity(e.getMessage()); + } + } diff --git a/base-buildpackage/src/main/java/com/hzya/frame/voucher/ae/generate/core/controller/CoreController.java b/base-buildpackage/src/main/java/com/hzya/frame/voucher/ae/generate/core/controller/CoreController.java index c2de71cc..83070283 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/voucher/ae/generate/core/controller/CoreController.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/voucher/ae/generate/core/controller/CoreController.java @@ -100,6 +100,7 @@ public class CoreController extends DefaultController { StringBuffer sbsb = new StringBuffer(); for (String s : uniqueArray) { try { + Thread.sleep(500); createVoucherVO.setBill_code(s); coreService.backVoucher(createVoucherVO); j++; diff --git a/base-buildpackage/src/main/java/com/hzya/frame/voucher/ae/generate/core/service/impl/ICoreServiceImpl.java b/base-buildpackage/src/main/java/com/hzya/frame/voucher/ae/generate/core/service/impl/ICoreServiceImpl.java index 36e3f4c0..5228c297 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/voucher/ae/generate/core/service/impl/ICoreServiceImpl.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/voucher/ae/generate/core/service/impl/ICoreServiceImpl.java @@ -54,6 +54,7 @@ import com.hzya.frame.voucher.utils.ZTResult; import org.apache.commons.collections.map.HashedMap; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -587,6 +588,13 @@ public class ICoreServiceImpl implements ICoreService { List assList = new ArrayList<>(); //根据科目的辅助核算匹配模板的配置 + + //专门记录 业务大类 D0003 + //合同收款单:业务大类 D0003 为三方运营 06 /分期收款 07 时,业务细分 D0004 对接直接默认为"无"显示。 202509091500 add by zydd + VoucherData.Voucher.Detail.Ass ass_D0003 = null; + + boolean flat_D0004=false; + for (Map.Entry assByBdCodeEntry : AssByBdCodeMap.entrySet()) { String key = assByBdCodeEntry.getKey(); @@ -598,6 +606,12 @@ public class ICoreServiceImpl implements ICoreService { //辅助核算取值 Map assValue = new HashMap<>(); + + if("350499bebe41426eaf29c603ca54fd88".equals(createVoucherVO.getMdmId()) && "D0004".equals(value) && ass_D0003==null){ + flat_D0004=true; + continue; + } + try{ assValue = getAssValue(templateAssistEntity, dataValue, orgBookVO); }catch (Exception e){ @@ -610,6 +624,7 @@ public class ICoreServiceImpl implements ICoreService { } } System.out.println(assValue); + if (assValue.size() != 0) { VoucherData.Voucher.Detail.Ass assEntity = new VoucherData.Voucher.Detail.Ass(); assEntity.setChecktypecode(value); @@ -623,8 +638,27 @@ public class ICoreServiceImpl implements ICoreService { break; } } + //合同收款单:业务细分赋值 + if("350499bebe41426eaf29c603ca54fd88".equals(createVoucherVO.getMdmId())&&"D0003".equals(value)){ + ass_D0003=assEntity; + } + assList.add(assEntity); } + + //合同收款单:业务细分赋值 + if("350499bebe41426eaf29c603ca54fd88".equals(createVoucherVO.getMdmId())&&"D0003".equals(value)&&ass_D0003!=null){ + if("06".equals(ass_D0003.getCheckvaluecode())||"07".equals(ass_D0003.getCheckvaluecode())){ + VoucherData.Voucher.Detail.Ass assEntity = new VoucherData.Voucher.Detail.Ass(); + assEntity.setChecktypecode("D0004"); + assEntity.setChecktypename("业务细分"); + assEntity.setCheckvalueid("0001A110000000000MJ2"); + assEntity.setCheckvaluecode("17"); + assEntity.setCheckvaluename("无"); + assList.add(assEntity); + } + } + } if (assList.size() != 0) { detail.setAss(assList); @@ -681,7 +715,7 @@ public class ICoreServiceImpl implements ICoreService { voucher.add(vouche); //重新组装参数 - List resultVoucher = reassemblyParam(voucher); + List resultVoucher = reassemblyParam(voucher,createVoucherVO.getMdmId()); String data="{\"voucher\":"; data+=JSONUtil.toJsonStr(resultVoucher)+"}"; @@ -1736,7 +1770,7 @@ public class ICoreServiceImpl implements ICoreService { if(falseValue.startsWith("(")&&falseValue.endsWith(")")){ falseV=minus(falseValue,dataMap); } - + if(symbolStatus){ bigDecimal=bigDecimal.add(trueV); }else { @@ -2367,8 +2401,65 @@ public class ICoreServiceImpl implements ICoreService { deleteDetails.setVoucherId(Long.valueOf(HId)); logDetailsDao.logicRemove(deleteDetails); - //分录保存 - for (VoucherData.Voucher.Detail detail : voucher.getDetails()) { + + List all = new ArrayList<>(); + all.addAll(voucher.getDetails()); + if ("350499bebe41426eaf29c603ca54fd88".equals(mdmId)) { + List details_1002 =new LinkedList<>(); + List details_otehr =new LinkedList<>(); + for (VoucherData.Voucher.Detail detail : all) { + if("1002".equals(detail.getPk_accsubj())){ + details_1002.add(detail); + continue; + } + details_otehr.add(detail); + } + //汇总1002 + VoucherData.Voucher.Detail detail1 = new VoucherData.Voucher.Detail(); + if(details_1002.size()!=0) { + all.clear(); + BigDecimal debitamount_1002 = new BigDecimal(0); + BigDecimal localdebitamount_1002 = new BigDecimal(0); + for (VoucherData.Voucher.Detail detail : details_1002) { + debitamount_1002 = debitamount_1002.add(new BigDecimal(detail.getDebitamount())); + localdebitamount_1002 = localdebitamount_1002.add(new BigDecimal(detail.getLocaldebitamount())); + } + BeanUtils.copyProperties(details_1002.get(0), detail1); + detail1.setDebitamount(debitamount_1002.toString());//借方金额 debitamount + detail1.setLocaldebitamount(localdebitamount_1002.toString());//借方金额 debitamount + + //现金流分析 + List cashflow = detail1.getCashflow(); + for (VoucherData.Voucher.Detail.Cashflow cashflow1 : cashflow) { + cashflow1.setMoney(debitamount_1002.toString());//金额 money + } + } + all.add(detail1); + all.addAll(details_otehr); + } + + // 验收收入申报单:112201 科目金额取一次。 + if ("26ea58c724014177bea26d185beb7795".equals(mdmId)) { + List details_112201 =new LinkedList<>(); + List details_other =new LinkedList<>(); + boolean flag=true; + for (VoucherData.Voucher.Detail detail : all) { + if("112201".equals(detail.getPk_accsubj())&&flag){ + details_112201.add(detail); + flag=false; + } + if(!"112201".equals(detail.getPk_accsubj())){ + details_other.add(detail); + } + } + all.clear(); + all.addAll(details_112201); + all.addAll(details_other); + } + + + //分录保存 + for (VoucherData.Voucher.Detail detail : all) { AePushVoucherLogDetailsEntity logDetail = new AePushVoucherLogDetailsEntity(); logDetail.setVoucherId(Long.valueOf(HId)); logDetail.setAbstractStr(detail.getExplanation());//摘要 @@ -2568,7 +2659,7 @@ public class ICoreServiceImpl implements ICoreService { * @param voucher * @return */ - private List reassemblyParam(List voucher) { + private List reassemblyParam(List voucher,String mdmId) { List resultVoucher =new LinkedList<>(); for (VoucherData.Voucher vou : voucher) { VoucherData.Voucher resuVoucher = new VoucherData.Voucher(); @@ -2603,6 +2694,28 @@ public class ICoreServiceImpl implements ICoreService { } } + //合同收款单:业务大类 D0003 为三方运营 06 /分期收款 07 时,业务细分 D0004 对接直接默认为"无"显示。 202509091500 add by zydd + if ("350499bebe41426eaf29c603ca54fd88".equals(mdmId)) { + boolean flag=false; + //判断 业务大类 D0003 为三方运营/分期收款 + for (VoucherData.Voucher.Detail.Ass ass1 : ass) { + if("D0003".equals(ass1.getChecktypecode())&&("06".equals(ass1.getCheckvaluecode())||"07".equals(ass1.getCheckvaluecode()))){ + flag=true; + break; + } + } + if(flag) { + for (VoucherData.Voucher.Detail.Ass ass1 : ass) { + if ("D0004".equals(ass1.getChecktypecode())) { + //业务细分 D0004 对接直接默认为"无"显示 + ass1.setCheckvaluecode("17");//辅助核算的值编码 checkvaluecode + } + + } + } + + } + List cashflow =new LinkedList<>(); if(detail.getCashflow()!=null){ //现金流映射 @@ -2620,6 +2733,64 @@ public class ICoreServiceImpl implements ICoreService { det.setCashflow(cashflow); details.add(det); } + + //合同收款单:银行实际收到的只有一笔,我们需要和银行流水对应上,1002的科目,不按项目汇总,按单据汇总 202509091541 add by zydd + if ("350499bebe41426eaf29c603ca54fd88".equals(mdmId)) { + List details_1002 =new LinkedList<>(); + List details_other =new LinkedList<>(); + for (VoucherData.Voucher.Detail detail : details) { + if("1002".equals(detail.getPk_accsubj())){ + details_1002.add(detail); + continue; + } + details_other.add(detail); + } + //汇总1002 + VoucherData.Voucher.Detail detail1 = new VoucherData.Voucher.Detail(); + if(details_1002.size()!=0) { + details.clear(); + BigDecimal debitamount_1002 = new BigDecimal(0); + BigDecimal localdebitamount_1002 = new BigDecimal(0); + for (VoucherData.Voucher.Detail detail : details_1002) { + debitamount_1002 = debitamount_1002.add(new BigDecimal(detail.getDebitamount())); + localdebitamount_1002 = localdebitamount_1002.add(new BigDecimal(detail.getLocaldebitamount())); + } + BeanUtils.copyProperties(details_1002.get(0), detail1); + detail1.setDebitamount(debitamount_1002.toString());//借方金额 debitamount + detail1.setLocaldebitamount(localdebitamount_1002.toString());//借方金额 debitamount + + //现金流分析 + List cashflow = detail1.getCashflow(); + for (VoucherData.Voucher.Detail.Cashflow cashflow1 : cashflow) { + cashflow1.setMoney(debitamount_1002.toString());//金额 money + } + } + + details.add(detail1); + details.addAll(details_other); + + } + + // 验收收入申报单:112201 科目金额取一次。 + if("26ea58c724014177bea26d185beb7795".equals(mdmId)){ + System.out.println(details); + List details_112201 =new LinkedList<>(); + List details_other =new LinkedList<>(); + boolean flag=true; + for (VoucherData.Voucher.Detail detail : details) { + if("112201".equals(detail.getPk_accsubj())&&flag){ + details_112201.add(detail); + flag=false; + } + if(!"112201".equals(detail.getPk_accsubj())){ + details_other.add(detail); + } + } + details.clear(); + details.addAll(details_112201); + details.addAll(details_other); + } + resuVoucher.setDetails(details); resultVoucher.add(resuVoucher); } diff --git a/base-buildpackage/src/main/resources/application-gmprod.yml b/base-buildpackage/src/main/resources/application-gmprod.yml index 62a3b900..314dc508 100644 --- a/base-buildpackage/src/main/resources/application-gmprod.yml +++ b/base-buildpackage/src/main/resources/application-gmprod.yml @@ -13,6 +13,7 @@ spring: datasource: master: url: jdbc:mysql://127.0.0.1:3306/businesscenter_voucher_gm_250907?useUnicode=true&characterEncoding=UTF8&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowLoadLocalInfile=false&autoReconnect=true&failOverReadOnly=false&connectTimeout=600000000&socketTimeout=600000000&autoReconnectForPools=true&keepAlive=true +# url: jdbc:mysql://8.136.10.42:3306/businesscenter_voucher_gm_250907?useUnicode=true&characterEncoding=UTF8&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowLoadLocalInfile=false&autoReconnect=true&failOverReadOnly=false&connectTimeout=600000000&socketTimeout=600000000&autoReconnectForPools=true&keepAlive=true username: root password: bd993088e8a7c3dc5f44441617f9b4bf driver-class-name: com.mysql.cj.jdbc.Driver # 3.2.0开始支持SPI可省略此配置 diff --git a/base-buildpackage/src/main/resources/application.yml b/base-buildpackage/src/main/resources/application.yml index 0d9472d1..85ec44d2 100644 --- a/base-buildpackage/src/main/resources/application.yml +++ b/base-buildpackage/src/main/resources/application.yml @@ -36,6 +36,7 @@ spring: # use-suffix-pattern: true profiles: # active: @profileActive@ +# active: gmprod active: gmdev # active: dev servlet: diff --git a/base-buildpackage/src/main/resources/cfgHome/plugin/gm/spring/spring-buildpackage-dao.xml b/base-buildpackage/src/main/resources/cfgHome/plugin/gm/spring/spring-buildpackage-dao.xml index 87966537..297a9543 100644 --- a/base-buildpackage/src/main/resources/cfgHome/plugin/gm/spring/spring-buildpackage-dao.xml +++ b/base-buildpackage/src/main/resources/cfgHome/plugin/gm/spring/spring-buildpackage-dao.xml @@ -14,4 +14,5 @@ + diff --git a/base-buildpackage/src/main/resources/cfgHome/plugin/gm/spring/spring-buildpackage-plugin.xml b/base-buildpackage/src/main/resources/cfgHome/plugin/gm/spring/spring-buildpackage-plugin.xml index 6e5dd57a..1fc050cb 100644 --- a/base-buildpackage/src/main/resources/cfgHome/plugin/gm/spring/spring-buildpackage-plugin.xml +++ b/base-buildpackage/src/main/resources/cfgHome/plugin/gm/spring/spring-buildpackage-plugin.xml @@ -19,4 +19,6 @@ + + diff --git a/base-common/.flattened-pom.xml b/base-common/.flattened-pom.xml index 7c2f7417..3f6a2c06 100644 --- a/base-common/.flattened-pom.xml +++ b/base-common/.flattened-pom.xml @@ -2,11 +2,6 @@ 4.0.0 - - com.hzya.frame - kangarooDataCenterV3 - 0.0.1-SNAPSHOT - com.hzya.frame base-common 0.0.1-SNAPSHOT @@ -16,24 +11,22 @@ https://www.apache.org/licenses/LICENSE-2.0 - - - - org.springframework.boot - spring-boot-maven-plugin - - - - repackage - - - - - none - execute - true - - - - + + + + false + + aliyun + aliyun Repository + https://maven.aliyun.com/repository/public + + + + false + + jeecg + jeecg Repository + https://maven.jeecg.org/nexus/content/repositories/jeecg + + diff --git a/base-core/.flattened-pom.xml b/base-core/.flattened-pom.xml index 4e780da3..b1c083aa 100644 --- a/base-core/.flattened-pom.xml +++ b/base-core/.flattened-pom.xml @@ -2,11 +2,6 @@ 4.0.0 - - com.hzya.frame - kangarooDataCenterV3 - 0.0.1-SNAPSHOT - com.hzya.frame base-core 0.0.1-SNAPSHOT @@ -20,27 +15,26 @@ com.hzya.frame base-common - ${revision} + 0.0.1-SNAPSHOT + compile - - - - org.springframework.boot - spring-boot-maven-plugin - - - - repackage - - - - - none - execute - true - - - - + + + + false + + aliyun + aliyun Repository + https://maven.aliyun.com/repository/public + + + + false + + jeecg + jeecg Repository + https://maven.jeecg.org/nexus/content/repositories/jeecg + + diff --git a/base-service/.flattened-pom.xml b/base-service/.flattened-pom.xml index 43145c11..046aa462 100644 --- a/base-service/.flattened-pom.xml +++ b/base-service/.flattened-pom.xml @@ -2,11 +2,6 @@ 4.0.0 - - com.hzya.frame - kangarooDataCenterV3 - 0.0.1-SNAPSHOT - com.hzya.frame base-service 0.0.1-SNAPSHOT @@ -20,32 +15,38 @@ com.hzya.frame base-core - ${revision} + 0.0.1-SNAPSHOT + compile mysql mysql-connector-java - ${mysql-connector-java} + 8.0.13 + compile + + + com.alibaba + easyexcel + 3.0.5 + compile - - - - org.springframework.boot - spring-boot-maven-plugin - - - - repackage - - - - - none - execute - true - - - - + + + + false + + aliyun + aliyun Repository + https://maven.aliyun.com/repository/public + + + + false + + jeecg + jeecg Repository + https://maven.jeecg.org/nexus/content/repositories/jeecg + + diff --git a/base-webapp/.flattened-pom.xml b/base-webapp/.flattened-pom.xml index 67e24455..1e2496ac 100644 --- a/base-webapp/.flattened-pom.xml +++ b/base-webapp/.flattened-pom.xml @@ -2,11 +2,6 @@ 4.0.0 - - com.hzya.frame - kangarooDataCenterV3 - 0.0.1-SNAPSHOT - com.hzya.frame base-webapp 0.0.1-SNAPSHOT @@ -20,26 +15,26 @@ com.hzya.frame base-service - ${revision} + 0.0.1-SNAPSHOT + compile - - - - org.springframework.boot - spring-boot-maven-plugin - - - - repackage - - - - - none - execute - - - - + + + + false + + aliyun + aliyun Repository + https://maven.aliyun.com/repository/public + + + + false + + jeecg + jeecg Repository + https://maven.jeecg.org/nexus/content/repositories/jeecg + +