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

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() { public String getPluginId() {
System.out.println(YdzbdataSyncConstants.getPluginId());
return YdzbdataSyncConstants.getPluginId(); return YdzbdataSyncConstants.getPluginId();
} }

View File

@@ -3,8 +3,15 @@ package com.seeyon.apps.src_ydctdatasync.constants;
public enum YdzbdataSyncConstants { 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) { YdzbdataSyncConstants(String defaultValue, String description) {
this.defaultValue = defaultValue; this.defaultValue = defaultValue;
this.description = description; 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("xqzcpLevelValue"));
params.add((String) sourceMap.get("zcTypeFwValue")); params.add((String) sourceMap.get("zcTypeFwValue"));
params.add((String) sourceMap.get("village_name")); 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); agent.execute(villageQuerySql, params);
List resList = agent.resultSetToList(); List resList = agent.resultSetToList();
if(resList == null || resList.size() == 0) { if(resList == null || resList.size() == 0) {
@@ -122,7 +123,7 @@ public class BzfAssetMode extends AbstractAssetDataMapMode{
getFormFactory().importBusinessFormData(loginName, "zcbd1",formExport, new String[] {}); getFormFactory().importBusinessFormData(loginName, "zcbd1",formExport, new String[] {});
} }
}catch (Exception e) { }catch (Exception e) {
e.printStackTrace();
} }
} }

View File

@@ -2,9 +2,18 @@ package com.seeyon.apps.src_ydctdatasync.quartz;
import cn.hutool.log.Log; import cn.hutool.log.Log;
import com.seeyon.apps.common.config.ICstConfigApi; 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.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.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.datasource.DataSource;
import com.seeyon.apps.src_ydctdatasync.utils.StatementQueryUtil; import com.seeyon.apps.src_ydctdatasync.utils.StatementQueryUtil;
import com.seeyon.apps.src_ydctdatasync.utils.TimeUtils; import com.seeyon.apps.src_ydctdatasync.utils.TimeUtils;
@@ -21,7 +30,13 @@ import java.sql.SQLException;
import java.text.DateFormat; import java.text.DateFormat;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; 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 { public class YdzbDataSyncQuartz extends AbstractQuartzTask implements DisposableBean {
@@ -30,59 +45,14 @@ public class YdzbDataSyncQuartz extends AbstractQuartzTask implements Disposable
private FormFactory formFactory; private FormFactory formFactory;
private DataSource ydzbThirdDataSource = (DataSource) AppContext.getBean("ydzbThirdDataSource"); private DataSource ydzbThirdDataSource = (DataSource) AppContext.getBean("ydzbThirdDataSource");
private JDBCAgent agent = new JDBCAgent(); private JDBCAgent agent = new JDBCAgent();
private String zcTable; private boolean prod;
private String zcFormNo;
private String contractTable;
private String contractFormNo;
private String feeFormNo;
private String loginName;
public String getZcTable() { public boolean isProd() {
return zcTable; return prod;
} }
public void setZcTable(String zcTable) { public void setProd(boolean prod) {
this.zcTable = zcTable; this.prod = prod;
}
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 FormFactory getFormFactory() { public FormFactory getFormFactory() {
@@ -142,7 +112,11 @@ public class YdzbDataSyncQuartz extends AbstractQuartzTask implements Disposable
contractMode.transfer(targetMap,rowMap); contractMode.transfer(targetMap,rowMap);
Map<String,Object> subMap = (Map<String,Object>)targetMap.get("subTable"); Map<String,Object> subMap = (Map<String,Object>)targetMap.get("subTable");
targetMap.remove("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("合同表数据同步结束"); log.info("合同表数据同步结束");
@@ -210,7 +184,7 @@ public class YdzbDataSyncQuartz extends AbstractQuartzTask implements Disposable
Map<String, Object> targetMap = new HashMap<>(); Map<String, Object> targetMap = new HashMap<>();
rechargeDataMapMode.preProcess(rowMap); rechargeDataMapMode.preProcess(rowMap);
rechargeDataMapMode.transfer(targetMap,rowMap); rechargeDataMapMode.transfer(targetMap,rowMap);
insertData(feeFormNo,convert2StringValue(targetMap)); insertData(getBizConfigByKey(YdzbdataSyncConstants.feeFormNo),convert2StringValue(targetMap));
} }
} }
log.info("水电费数据同步完成"); log.info("水电费数据同步完成");
@@ -231,7 +205,7 @@ public class YdzbDataSyncQuartz extends AbstractQuartzTask implements Disposable
Map<String, Object> targetMap = new HashMap<>(); Map<String, Object> targetMap = new HashMap<>();
refundDataMapMode.preProcess(rowMap); refundDataMapMode.preProcess(rowMap);
refundDataMapMode.transfer(targetMap,rowMap); refundDataMapMode.transfer(targetMap,rowMap);
insertData(feeFormNo,convert2StringValue(targetMap)); insertData(getBizConfigByKey(YdzbdataSyncConstants.feeFormNo),convert2StringValue(targetMap));
} }
} }
log.info("退费数据同步结束"); log.info("退费数据同步结束");
@@ -261,7 +235,11 @@ public class YdzbDataSyncQuartz extends AbstractQuartzTask implements Disposable
Map<String, Object> targetMap = new HashMap<>(); Map<String, Object> targetMap = new HashMap<>();
gztdAssetMode.preProcess(rowMap); gztdAssetMode.preProcess(rowMap);
gztdAssetMode.transfer(targetMap,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("国资土地数据同步完成"); log.info("国资土地数据同步完成");
@@ -281,7 +259,11 @@ public class YdzbDataSyncQuartz extends AbstractQuartzTask implements Disposable
Map<String, Object> targetMap = new HashMap<>(); Map<String, Object> targetMap = new HashMap<>();
gzfwAssetMode.preProcess(rowMap); gzfwAssetMode.preProcess(rowMap);
gzfwAssetMode.transfer(targetMap,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("国资房屋数据同步结束"); log.info("国资房屋数据同步结束");
@@ -301,7 +283,11 @@ public class YdzbDataSyncQuartz extends AbstractQuartzTask implements Disposable
Map<String, Object> targetMap = new HashMap<>(); Map<String, Object> targetMap = new HashMap<>();
gzcfAssetMode.preProcess(rowMap); gzcfAssetMode.preProcess(rowMap);
gzcfAssetMode.transfer(targetMap,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("国资厂房数据同步完成"); log.info("国资厂房数据同步完成");
@@ -319,10 +305,17 @@ public class YdzbDataSyncQuartz extends AbstractQuartzTask implements Disposable
List<Map<String, Object>> dataList = StatementQueryUtil.queryList(pageQuerySql, connection, i*100); List<Map<String, Object>> dataList = StatementQueryUtil.queryList(pageQuerySql, connection, i*100);
for (Map<String, Object> rowMap : dataList) { for (Map<String, Object> rowMap : dataList) {
Map<String, Object> targetMap = new HashMap<>(); Map<String, Object> targetMap = new HashMap<>();
rowMap.put("loginName",loginName); Map<String,Object> temp = new HashMap<>();
bzfAssetMode.preProcess(rowMap); temp.putAll(rowMap);
bzfAssetMode.transfer(targetMap,rowMap); temp.put("loginName",getBizConfigByKey(YdzbdataSyncConstants.loginName));
upsertData(zcFormNo,convert2StringValue(targetMap),zcTable,"WHERE field0031 = ?",targetMap.get("资产编号") + ""); 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("保障房数据同步结束"); log.info("保障房数据同步结束");
@@ -349,7 +342,7 @@ public class YdzbDataSyncQuartz extends AbstractQuartzTask implements Disposable
}else { }else {
FormExport formExport = new FormExport(); FormExport formExport = new FormExport();
formExport.setValues(FormExportUtil.setFormValue(targetMap)); 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 { private void insertData(String formNo,Map<String, String> targetMap) throws BusinessException, SQLException, ServiceException {
FormExport formExport = new FormExport(); FormExport formExport = new FormExport();
formExport.setValues(FormExportUtil.setFormValue(targetMap)); 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 { 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 formExport = new FormExport();
formExport.setValues(FormExportUtil.setFormValue(targetMap)); formExport.setValues(FormExportUtil.setFormValue(targetMap));
formExport.setSubordinateForms(FormExportUtil.setSubordinateFormValue(subTableMap)); 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 { public void destroy() throws Exception {
ydzbThirdDataSource.close(); 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> <plugin>
<id>src_ydctdatasync</id> <id>src_ydctdatasync</id>
<name>宜都城投数据同步</name> <name>宜都城投数据同步</name>
<category>20241231</category> <category>20250101</category>
</plugin> </plugin>

View File

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