宜都城投资产数据同步插件 修复一些问题

This commit is contained in:
2025-01-06 17:32:34 +08:00
parent 936a1649b1
commit d6540bf8cf
6 changed files with 81 additions and 77 deletions

View File

@@ -9,7 +9,6 @@ public class YdzbdataSyncPluginApi extends APluginInfoApi {
}
public String getPluginId() {
System.out.println(YdzbdataSyncConstants.getPluginId());
return YdzbdataSyncConstants.getPluginId();
}

View File

@@ -3,8 +3,15 @@ package com.seeyon.apps.src_ydctdatasync.constants;
public enum YdzbdataSyncConstants {
plugin("YdzbdataSyncConstants","插件ID");
plugin("src_ydctdatasync","插件ID"),
loginName("dev", "流程表创建人"),
zcTable("formmain_0013","资产表表名"),
zcFormNo("zcbd1","资产表单编号"),
contractTable("formmain_0019","合同表表名"),
contractFormNo("zcbd3","合同表单编号"),
feeTable("formmain_0018","费用表表名"),
feeFormNo("zcbd2","费用表单编号"),
;
YdzbdataSyncConstants(String defaultValue, String description) {
this.defaultValue = defaultValue;
this.description = description;

View File

@@ -92,7 +92,8 @@ public class BzfAssetMode extends AbstractAssetDataMapMode{
params.add((String) sourceMap.get("xqzcpLevelValue"));
params.add((String) sourceMap.get("zcTypeFwValue"));
params.add((String) sourceMap.get("village_name"));
String villageQuerySql = "SELECT 1 FROM formmain_0934 WHERE field0027 = ? and field0023 = ? and field0037 =?;";
String table = (String) sourceMap.get("zcTable");
String villageQuerySql = "SELECT 1 FROM "+ table +" WHERE field0027 = ? and field0023 = ? and field0037 =?;";
agent.execute(villageQuerySql, params);
List resList = agent.resultSetToList();
if(resList == null || resList.size() == 0) {
@@ -122,7 +123,7 @@ public class BzfAssetMode extends AbstractAssetDataMapMode{
getFormFactory().importBusinessFormData(loginName, "zcbd1",formExport, new String[] {});
}
}catch (Exception e) {
e.printStackTrace();
}
}

View File

@@ -2,9 +2,18 @@ package com.seeyon.apps.src_ydctdatasync.quartz;
import cn.hutool.log.Log;
import com.seeyon.apps.common.config.ICstConfigApi;
import com.seeyon.apps.common.plugin.vo.ConfigVo;
import com.seeyon.apps.ext.quartz.AbstractQuartzTask;
import com.seeyon.apps.src_ydctdatasync.constants.YdzbdataSyncConstants;
import com.seeyon.apps.src_ydctdatasync.dao.FormExportUtil;
import com.seeyon.apps.src_ydctdatasync.datamap.*;
import com.seeyon.apps.src_ydctdatasync.datamap.BzfAssetMode;
import com.seeyon.apps.src_ydctdatasync.datamap.ContractBillMode;
import com.seeyon.apps.src_ydctdatasync.datamap.ContractMode;
import com.seeyon.apps.src_ydctdatasync.datamap.GzcfAssetMode;
import com.seeyon.apps.src_ydctdatasync.datamap.GzfwAssetMode;
import com.seeyon.apps.src_ydctdatasync.datamap.GztdAssetMode;
import com.seeyon.apps.src_ydctdatasync.datamap.HydropowerRechargeDataMapMode;
import com.seeyon.apps.src_ydctdatasync.datamap.RefundDataMapMode;
import com.seeyon.apps.src_ydctdatasync.datasource.DataSource;
import com.seeyon.apps.src_ydctdatasync.utils.StatementQueryUtil;
import com.seeyon.apps.src_ydctdatasync.utils.TimeUtils;
@@ -21,7 +30,13 @@ import java.sql.SQLException;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import static com.seeyon.apps.src_ydctdatasync.constants.YdzbdataSyncConstants.getPluginId;
public class YdzbDataSyncQuartz extends AbstractQuartzTask implements DisposableBean {
@@ -30,59 +45,14 @@ public class YdzbDataSyncQuartz extends AbstractQuartzTask implements Disposable
private FormFactory formFactory;
private DataSource ydzbThirdDataSource = (DataSource) AppContext.getBean("ydzbThirdDataSource");
private JDBCAgent agent = new JDBCAgent();
private String zcTable;
private String zcFormNo;
private String contractTable;
private String contractFormNo;
private String feeFormNo;
private String loginName;
private boolean prod;
public String getZcTable() {
return zcTable;
public boolean isProd() {
return prod;
}
public void setZcTable(String zcTable) {
this.zcTable = zcTable;
}
public String getZcFormNo() {
return zcFormNo;
}
public void setZcFormNo(String zcFormNo) {
this.zcFormNo = zcFormNo;
}
public String getContractTable() {
return contractTable;
}
public void setContractTable(String contractTable) {
this.contractTable = contractTable;
}
public String getContractFormNo() {
return contractFormNo;
}
public void setContractFormNo(String contractFormNo) {
this.contractFormNo = contractFormNo;
}
public String getFeeFormNo() {
return feeFormNo;
}
public void setFeeFormNo(String feeFormNo) {
this.feeFormNo = feeFormNo;
}
public String getLoginName() {
return loginName;
}
public void setLoginName(String loginName) {
this.loginName = loginName;
public void setProd(boolean prod) {
this.prod = prod;
}
public FormFactory getFormFactory() {
@@ -142,7 +112,11 @@ public class YdzbDataSyncQuartz extends AbstractQuartzTask implements Disposable
contractMode.transfer(targetMap,rowMap);
Map<String,Object> subMap = (Map<String,Object>)targetMap.get("subTable");
targetMap.remove("subTable");
upsertData(contractFormNo,convert2StringValue(targetMap),contractTable,convert2StringValue(subMap),"","");
upsertData(getBizConfigByKey(YdzbdataSyncConstants.contractFormNo),
convert2StringValue(targetMap),
getBizConfigByKey(YdzbdataSyncConstants.contractTable),
convert2StringValue(subMap),
"WHERE field0003 = ?", (String) targetMap.get("合同编号"));
}
}
log.info("合同表数据同步结束");
@@ -210,7 +184,7 @@ public class YdzbDataSyncQuartz extends AbstractQuartzTask implements Disposable
Map<String, Object> targetMap = new HashMap<>();
rechargeDataMapMode.preProcess(rowMap);
rechargeDataMapMode.transfer(targetMap,rowMap);
insertData(feeFormNo,convert2StringValue(targetMap));
insertData(getBizConfigByKey(YdzbdataSyncConstants.feeFormNo),convert2StringValue(targetMap));
}
}
log.info("水电费数据同步完成");
@@ -231,7 +205,7 @@ public class YdzbDataSyncQuartz extends AbstractQuartzTask implements Disposable
Map<String, Object> targetMap = new HashMap<>();
refundDataMapMode.preProcess(rowMap);
refundDataMapMode.transfer(targetMap,rowMap);
insertData(feeFormNo,convert2StringValue(targetMap));
insertData(getBizConfigByKey(YdzbdataSyncConstants.feeFormNo),convert2StringValue(targetMap));
}
}
log.info("退费数据同步结束");
@@ -261,7 +235,11 @@ public class YdzbDataSyncQuartz extends AbstractQuartzTask implements Disposable
Map<String, Object> targetMap = new HashMap<>();
gztdAssetMode.preProcess(rowMap);
gztdAssetMode.transfer(targetMap,rowMap);
upsertData(zcFormNo,convert2StringValue(targetMap),zcTable,"WHERE field0031 = ?",targetMap.get("资产编号") +"");
upsertData(getBizConfigByKey(YdzbdataSyncConstants.zcFormNo),
convert2StringValue(targetMap),
getBizConfigByKey(YdzbdataSyncConstants.zcFormNo),
"WHERE field0031 = ?",
targetMap.get("资产编号") +"");
}
}
log.info("国资土地数据同步完成");
@@ -281,7 +259,11 @@ public class YdzbDataSyncQuartz extends AbstractQuartzTask implements Disposable
Map<String, Object> targetMap = new HashMap<>();
gzfwAssetMode.preProcess(rowMap);
gzfwAssetMode.transfer(targetMap,rowMap);
upsertData(zcFormNo,convert2StringValue(targetMap),zcTable,"WHERE field0031 = ?",targetMap.get("资产编号") + "");
upsertData(getBizConfigByKey(YdzbdataSyncConstants.zcFormNo),
convert2StringValue(targetMap),
getBizConfigByKey(YdzbdataSyncConstants.zcTable),
"WHERE field0031 = ?",
targetMap.get("资产编号") + "");
}
}
log.info("国资房屋数据同步结束");
@@ -301,7 +283,11 @@ public class YdzbDataSyncQuartz extends AbstractQuartzTask implements Disposable
Map<String, Object> targetMap = new HashMap<>();
gzcfAssetMode.preProcess(rowMap);
gzcfAssetMode.transfer(targetMap,rowMap);
upsertData(zcFormNo,convert2StringValue(targetMap),getZcTable(),"WHERE field0031 = ?",targetMap.get("资产编号") + "");
upsertData(getBizConfigByKey(YdzbdataSyncConstants.zcFormNo),
convert2StringValue(targetMap),
getBizConfigByKey(YdzbdataSyncConstants.zcTable),
"WHERE field0031 = ?",
targetMap.get("资产编号") + "");
}
}
log.info("国资厂房数据同步完成");
@@ -319,10 +305,17 @@ public class YdzbDataSyncQuartz extends AbstractQuartzTask implements Disposable
List<Map<String, Object>> dataList = StatementQueryUtil.queryList(pageQuerySql, connection, i*100);
for (Map<String, Object> rowMap : dataList) {
Map<String, Object> targetMap = new HashMap<>();
rowMap.put("loginName",loginName);
bzfAssetMode.preProcess(rowMap);
bzfAssetMode.transfer(targetMap,rowMap);
upsertData(zcFormNo,convert2StringValue(targetMap),zcTable,"WHERE field0031 = ?",targetMap.get("资产编号") + "");
Map<String,Object> temp = new HashMap<>();
temp.putAll(rowMap);
temp.put("loginName",getBizConfigByKey(YdzbdataSyncConstants.loginName));
temp.put("zcTable",getBizConfigByKey(YdzbdataSyncConstants.zcTable));
bzfAssetMode.preProcess(temp);
bzfAssetMode.transfer(targetMap,temp);
upsertData(getBizConfigByKey(YdzbdataSyncConstants.zcFormNo),
convert2StringValue(targetMap),
getBizConfigByKey(YdzbdataSyncConstants.zcTable),
"WHERE field0031 = ?",
targetMap.get("资产编号") + "");
}
}
log.info("保障房数据同步结束");
@@ -349,7 +342,7 @@ public class YdzbDataSyncQuartz extends AbstractQuartzTask implements Disposable
}else {
FormExport formExport = new FormExport();
formExport.setValues(FormExportUtil.setFormValue(targetMap));
getFormFactory().importBusinessFormData(loginName, formNo,formExport, new String[] {});
getFormFactory().importBusinessFormData(getBizConfigByKey(YdzbdataSyncConstants.loginName), formNo,formExport, new String[] {});
}
}
@@ -357,7 +350,7 @@ public class YdzbDataSyncQuartz extends AbstractQuartzTask implements Disposable
private void insertData(String formNo,Map<String, String> targetMap) throws BusinessException, SQLException, ServiceException {
FormExport formExport = new FormExport();
formExport.setValues(FormExportUtil.setFormValue(targetMap));
getFormFactory().importBusinessFormData(loginName, formNo,formExport, new String[] {});
getFormFactory().importBusinessFormData(getBizConfigByKey(YdzbdataSyncConstants.loginName), formNo,formExport, new String[] {});
}
private void upsertData(String formNo,Map<String, String> targetMap,String table,Map<String, String> subTableMap,String whereSql,String param) throws BusinessException, SQLException, ServiceException {
@@ -382,7 +375,7 @@ public class YdzbDataSyncQuartz extends AbstractQuartzTask implements Disposable
FormExport formExport = new FormExport();
formExport.setValues(FormExportUtil.setFormValue(targetMap));
formExport.setSubordinateForms(FormExportUtil.setSubordinateFormValue(subTableMap));
getFormFactory().importBusinessFormData(loginName, formNo,formExport, new String[] {});
getFormFactory().importBusinessFormData(getBizConfigByKey(YdzbdataSyncConstants.loginName), formNo,formExport, new String[] {});
}
}
@@ -423,4 +416,13 @@ public class YdzbDataSyncQuartz extends AbstractQuartzTask implements Disposable
public void destroy() throws Exception {
ydzbThirdDataSource.close();
}
private String getBizConfigByKey(YdzbdataSyncConstants key) {
ConfigVo config = cstConfigApi.getConfig(getPluginId());
if(prod) {
return config.getParamVal(key.name());
}else {
return key.getDefaultValue();
}
}
}

View File

@@ -2,5 +2,5 @@
<plugin>
<id>src_ydctdatasync</id>
<name>宜都城投数据同步</name>
<category>20241231</category>
<category>20250101</category>
</plugin>

View File

@@ -2,12 +2,7 @@
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans default-autowire="byName">
<bean id="ydzbDataSyncQuartz" class="com.seeyon.apps.src_ydctdatasync.quartz.YdzbDataSyncQuartz">
<property name="zcTable" value="formmain_0013"/>
<property name="zcFormNo" value="zcbd1"/>
<property name="contractTable" value=""/>
<property name="contractFormNo" value=""/>
<property name="feeFormNo" value=""/>
<property name="loginName" value="dev"/>
<property name="prod" value="false"/>
</bean>
</beans>