@@ -41,4 +41,15 @@ public class PartyDataCustomHandler extends AbstractHandler { | |||||
public R pushData(SwMap params, UserSession us) { | public R pushData(SwMap params, UserSession us) { | ||||
return null; | return null; | ||||
} | } | ||||
public R checkRepetition(SwMap params, UserSession us) { | |||||
DbEngine instance = DbEngine.getInstance(); | |||||
Integer cur_party_id = instance.queryInt("select count(*) from "+EntityHelper.getSchemaTableName(FillOut.ENTITY_NAME) | |||||
+" where fo_party_id = ? and fo_state != -1 and fo_task = ?" | |||||
, us.getPartyId(),params.readLong("task")); | |||||
if(cur_party_id != 0) { | |||||
return R.error("当前机构已有该任务的填报数据:"+params.readString("task_text")); | |||||
} | |||||
return R.success(); | |||||
} | |||||
} | } |
@@ -52,5 +52,9 @@ public class PartyDataFillService extends LCMsService { | |||||
public R pushData(@SwBody SwMap params, UserSession us) { | public R pushData(@SwBody SwMap params, UserSession us) { | ||||
return pageHandler(params, us, TYPE_CUSTOM, handler -> ((PartyDataCustomHandler) handler).pushData(params, us)); | return pageHandler(params, us, TYPE_CUSTOM, handler -> ((PartyDataCustomHandler) handler).pushData(params, us)); | ||||
} | } | ||||
// 检查当前机构是否有重复任务 | |||||
public R checkRepetition(@SwBody SwMap params, UserSession us) { | |||||
return pageHandler(params, us, TYPE_CUSTOM, handler -> ((PartyDataCustomHandler) handler).checkRepetition(params, us)); | |||||
} | |||||
} | } |
@@ -0,0 +1,76 @@ | |||||
package cc.smtweb.biz.mztb.web.base.partyInfo; | |||||
import cc.smtweb.biz.mztb.web.base.DbSourceConfig; | |||||
import cc.smtweb.biz.mztb.web.tool.DbUtil; | |||||
import cc.smtweb.framework.core.common.SwMap; | |||||
import cc.smtweb.framework.core.db.DbEngine; | |||||
import cc.smtweb.framework.core.util.DateUtil; | |||||
import cc.smtweb.system.bpm.web.engine.model.common.ModelSaveHandler; | |||||
import org.slf4j.Logger; | |||||
import org.slf4j.LoggerFactory; | |||||
import java.sql.Connection; | |||||
import java.sql.DriverManager; | |||||
import java.sql.SQLException; | |||||
import java.util.Map; | |||||
import java.util.StringJoiner; | |||||
public class PartyInfoHandler extends ModelSaveHandler { | |||||
private final static Logger logger = LoggerFactory.getLogger(PartyInfoHandler.class); | |||||
@Override | |||||
protected void doSave() { | |||||
super.doSave(); | |||||
// 将修改的机构数据推送到前置库 | |||||
DbEngine instance = DbEngine.getInstance(); | |||||
DbSourceConfig dbSourceConfig = instance.findDao(DbSourceConfig.class).queryEntityWhere("dsc_use_state = 0"); | |||||
Connection connection = null; | |||||
try { | |||||
connection = DriverManager.getConnection(dbSourceConfig.getWholeUrl(), dbSourceConfig.getUsername(), dbSourceConfig.getPassword()); | |||||
}catch (SQLException sqlException) { | |||||
logger.debug("创建 Connection Exception:",sqlException); | |||||
} | |||||
DbUtil dbUtil = new DbUtil(connection); | |||||
SwMap swmap = this.bean.getData(); | |||||
// 处理前置库和本系统 机构表不同的字段 | |||||
swmap.put("state","0"); | |||||
swmap.put("wr_time", DateUtil.nowDateTimeLong()); | |||||
swmap.put("wr_aspect",1); | |||||
swmap.put("id",instance.nextId()); | |||||
String sql = buildInsertSql(swmap); | |||||
logger.info("====向前置库推送数据的sql==== :{}",sql); | |||||
try { | |||||
boolean insert = dbUtil.insert(sql); | |||||
if(!insert) logger.info("推送机构信息失败!!!!"); | |||||
} catch (SQLException e) { | |||||
logger.debug("修改机构信息后,向前置库推送机构信息失败:",e); | |||||
} | |||||
} | |||||
private String buildInsertSql(SwMap entity) { | |||||
entity.remove("_def_table_name"); | |||||
entity.remove("pi_update_at"); | |||||
entity.remove("pi_update_at_text"); | |||||
entity.remove("pi_national_economy_type_text"); | |||||
entity.remove("pi_change_time_text"); | |||||
entity.remove("pi_reg_time_text"); | |||||
entity.remove("pi_reg_dept_text"); | |||||
entity.remove("pi_change_type_text"); | |||||
entity.remove("pi_party_type_text"); | |||||
entity.remove("_status"); | |||||
entity.remove("pi_sys_party_id"); | |||||
StringJoiner key = new StringJoiner(","); | |||||
StringJoiner value = new StringJoiner(","); | |||||
StringBuilder sql = new StringBuilder(); | |||||
sql.append(" insert into ").append("pre_party_info").append(" ("); | |||||
for (Map.Entry<String, Object> entry : entity.entrySet()) { | |||||
key.add(entry.getKey()); | |||||
value.add("'"+entry.getValue()+"'"); | |||||
} | |||||
sql.append(key); | |||||
sql.append(") values ("); | |||||
sql.append(value); | |||||
sql.append(")"); | |||||
return sql.toString(); | |||||
} | |||||
} |
@@ -0,0 +1,29 @@ | |||||
package cc.smtweb.biz.mztb.web.base.partyInfo; | |||||
import cc.smtweb.framework.core.annotation.SwService; | |||||
import cc.smtweb.framework.core.mvc.service.AbstractHandler; | |||||
import cc.smtweb.system.bpm.web.engine.model.listcard.normal.LCNormalService; | |||||
/** | |||||
* Created by 1 at 2024-01-09 10:57:49 | |||||
* 页面【[机构信息编辑]的服务类 | |||||
*/ | |||||
@SwService | |||||
public class PartyInfoService extends LCNormalService { | |||||
//public final static String TYPE_DEMO = "demo"; | |||||
@Override | |||||
protected AbstractHandler createHandler(String type) { | |||||
switch (type) { | |||||
case TYPE_MODEL_SAVE:return new PartyInfoHandler(); | |||||
} | |||||
return super.createHandler(type); | |||||
} | |||||
/* demo | |||||
//自定义 | |||||
public R demo(@SwBody SwMap params, UserSession us) { | |||||
return pageHandler(params, us, TYPE_DEMO, handler -> ((DemoHandler)handler).demo()); | |||||
} | |||||
*/ | |||||
} |
@@ -17,6 +17,8 @@ import cc.smtweb.system.bpm.web.sys.user.role.group.RoleGroup; | |||||
import cc.smtweb.system.bpm.web.sys.user.role.group.RoleGroupCache; | import cc.smtweb.system.bpm.web.sys.user.role.group.RoleGroupCache; | ||||
import cc.smtweb.system.bpm.web.sys.user.user.*; | import cc.smtweb.system.bpm.web.sys.user.user.*; | ||||
import org.apache.commons.codec.digest.DigestUtils; | import org.apache.commons.codec.digest.DigestUtils; | ||||
import org.slf4j.Logger; | |||||
import org.slf4j.LoggerFactory; | |||||
import java.sql.*; | import java.sql.*; | ||||
import java.util.ArrayList; | import java.util.ArrayList; | ||||
@@ -29,6 +31,7 @@ import java.util.stream.Collectors; | |||||
* 拉取前置库推送的机构信息 执行新增或修改 操作 | * 拉取前置库推送的机构信息 执行新增或修改 操作 | ||||
*/ | */ | ||||
public class AddNewPartyAndAccountTask extends BaseJob { | public class AddNewPartyAndAccountTask extends BaseJob { | ||||
private static final Logger logger = LoggerFactory.getLogger(AddNewPartyAndAccountTask.class); | |||||
private static final String PWD_SALT = "goodpj"; | private static final String PWD_SALT = "goodpj"; | ||||
@Override | @Override | ||||
@@ -67,8 +70,10 @@ public class AddNewPartyAndAccountTask extends BaseJob { | |||||
try { | try { | ||||
connection = DriverManager.getConnection(dbSourceConfig.getWholeUrl(), dbSourceConfig.getUsername(), dbSourceConfig.getPassword()); | connection = DriverManager.getConnection(dbSourceConfig.getWholeUrl(), dbSourceConfig.getUsername(), dbSourceConfig.getPassword()); | ||||
DbUtil dbUtil = new DbUtil(connection); | DbUtil dbUtil = new DbUtil(connection); | ||||
resultSet = dbUtil.dbHandSql("select * from pre_party_info where state = 0 order by wr_time", "query"); // 查询未读取的机构信息,时间升序 先推送的先读取。 | |||||
// 查询未读取并且是民政端(wr_aspect =0)推送的机构信息,时间升序 先推送的先读取。 | |||||
resultSet = dbUtil.dbHandSql("select * from pre_party_info where state = 0 and wr_aspect = 0 order by wr_time", "query"); | |||||
if (resultSet == null) return null; | if (resultSet == null) return null; | ||||
logger.info("select * from pre_party_info where state = 0 and wr_aspect = 1 order by wr_time; 查询到结果,继续执行......"); | |||||
while (resultSet.next()) { | while (resultSet.next()) { | ||||
PartyInfo partyInfo = new PartyInfo(); | PartyInfo partyInfo = new PartyInfo(); | ||||
@@ -174,7 +179,10 @@ public class AddNewPartyAndAccountTask extends BaseJob { | |||||
ptIdList.removeAll(ptIdListExist); | ptIdList.removeAll(ptIdListExist); | ||||
// 读取完成后 修改前置库推送数据的状态,再进行本系统数据入库处理 | // 读取完成后 修改前置库推送数据的状态,再进行本系统数据入库处理 | ||||
dbUtil.update("update pre_party_info set state = 1 , rd_time = " + DateUtil.nowDateTimeNumber() + " where state = 0"); | |||||
int updateNum = dbUtil.update("update pre_party_info set state = 1, rd_time = " + DateUtil.nowDateTimeNumber() + " where state = 0 and wr_aspect = 0"); | |||||
logger.info("修改前置库机构读取状态数量:{}",updateNum); | |||||
logger.info("========开始处理新增或者修改的机构信息========="); | |||||
instance.doTrans(() -> { | instance.doTrans(() -> { | ||||
// 处理新增或者修改的数据 | // 处理新增或者修改的数据 | ||||
@@ -31,7 +31,7 @@ public class PushTask extends BaseJob { | |||||
value.add("'"+entry.getValue()+"'"); | value.add("'"+entry.getValue()+"'"); | ||||
} | } | ||||
sql.append(key); | sql.append(key); | ||||
sql.append(") value ("); | |||||
sql.append(") values ("); | |||||
sql.append(value); | sql.append(value); | ||||
sql.append(")"); | sql.append(")"); | ||||
@@ -86,7 +86,6 @@ public class DbUtil { | |||||
* @throws SQLException sql执行异常 | * @throws SQLException sql执行异常 | ||||
*/ | */ | ||||
public Statement getStatement() throws SQLException { | public Statement getStatement() throws SQLException { | ||||
connection.setAutoCommit(false); | |||||
Statement stmt = connection.createStatement(ResultSet.TYPE_FORWARD_ONLY, | Statement stmt = connection.createStatement(ResultSet.TYPE_FORWARD_ONLY, | ||||
ResultSet.CONCUR_READ_ONLY); | ResultSet.CONCUR_READ_ONLY); | ||||
stmt.setFetchSize(Integer.MIN_VALUE); | stmt.setFetchSize(Integer.MIN_VALUE); | ||||
@@ -77,11 +77,10 @@ window.$swEvent.setup("mztb.base.partyDataFill.partyDataFillCard", { | |||||
, "fi_taxes", "fi_sell_cost", "fi_manage_cost", "fi_mc_taxes" | , "fi_taxes", "fi_sell_cost", "fi_manage_cost", "fi_mc_taxes" | ||||
, "fi_mc_travel", "fi_finance_cost", "fi_fc_interests", "fi_asset_loss" | , "fi_mc_travel", "fi_finance_cost", "fi_fc_interests", "fi_asset_loss" | ||||
, "fi_fair_value_chanage", "fi_income_from_investment", "fi_operating_profit", "fi_nonbusiness_income" | , "fi_fair_value_chanage", "fi_income_from_investment", "fi_operating_profit", "fi_nonbusiness_income" | ||||
, "fi_ni_public_subsidy", "fi_base_pay", "fi_payable_money_year", "fi_yit_donation" | |||||
, "fi_yit_membershiop_fees", "fi_year_sum_fee", "fi_ysf_business_fee", "fi_bf_staff_costs" | |||||
, "fi_bf_every_day_fee", "fi_mf_assets", "fi_bf_tax", "fi_ysf_menage_fee" | |||||
, "fi_ni_public_subsidy", "fi_base_pay", "fi_payable_money_year" | |||||
, "fi_mf_assets", "fi_bf_tax", "fi_ysf_menage_fee" | |||||
, "fi_mf_staff_costs", "fi_mf_every_day_fee", "fi_mf_assets", "fi_mf_tax" | , "fi_mf_staff_costs", "fi_mf_every_day_fee", "fi_mf_assets", "fi_mf_tax" | ||||
, "fi_change_in_not_assets"] | |||||
, "fi_change_in_not_assets","fi_yit_enterpricse","fi_yit_business"] | |||||
}) | }) | ||||
} | } | ||||
const threeHide = () => { // 编制部门登记禁用 | const threeHide = () => { // 编制部门登记禁用 | ||||
@@ -91,12 +90,13 @@ window.$swEvent.setup("mztb.base.partyDataFill.partyDataFillCard", { | |||||
, "fi_taxes", "fi_sell_cost", "fi_manage_cost", "fi_mc_taxes" | , "fi_taxes", "fi_sell_cost", "fi_manage_cost", "fi_mc_taxes" | ||||
, "fi_mc_travel", "fi_finance_cost", "fi_fc_interests", "fi_asset_loss" | , "fi_mc_travel", "fi_finance_cost", "fi_fc_interests", "fi_asset_loss" | ||||
, "fi_fair_value_chanage", "fi_income_from_investment", "fi_operating_profit", "fi_nonbusiness_income" | , "fi_fair_value_chanage", "fi_income_from_investment", "fi_operating_profit", "fi_nonbusiness_income" | ||||
, "fi_ni_public_subsidy", "fi_base_pay", "fi_payable_money_year", "fi_yit_enterpricse" | |||||
, "fi_yit_business", "fi_payable_money_year", "fi_year_expend", "fi_ycs_salary", "fi_ye_commodity_service" | |||||
, "fi_ni_public_subsidy", "fi_base_pay", "fi_payable_money_year", "" | |||||
, "fi_payable_money_year", "fi_year_expend", "fi_ycs_salary", "fi_ye_commodity_service" | |||||
, "fi_cs_heating_fee", "fi_cs_travel_expense", "fi_cs_go_abroad", "fi_cs_service_fee" | , "fi_cs_heating_fee", "fi_cs_travel_expense", "fi_cs_go_abroad", "fi_cs_service_fee" | ||||
, "fi_cs_expend", "fi_cs_weal", "fi_ycs_personage_family_fee", "fi_pff_fuxue" | , "fi_cs_expend", "fi_cs_weal", "fi_ycs_personage_family_fee", "fi_pff_fuxue" | ||||
, "fi_pff_living_subsidy", "fi_pff_relief", "fi_pff_student_grent", "fi_pff_subsidy" | , "fi_pff_living_subsidy", "fi_pff_relief", "fi_pff_student_grent", "fi_pff_subsidy" | ||||
, "fi_ycs_operating_expense", "fi_sell_fee", "fi_taxes"] | |||||
, "fi_year_sum_fee", "fi_ysf_business_fee", "fi_bf_staff_costs","fi_bf_every_day_fee" | |||||
, "fi_ycs_operating_expense", "fi_sell_fee", "fi_taxes","fi_yit_donation","fi_yit_membershiop_fees"] | |||||
}) | }) | ||||
} | } | ||||
const oneHide = () => { // 市场监管部门登记禁用 | const oneHide = () => { // 市场监管部门登记禁用 | ||||
@@ -115,6 +115,7 @@ window.$swEvent.setup("mztb.base.partyDataFill.partyDataFillCard", { | |||||
}) | }) | ||||
} | } | ||||
const loadPageCard = () => { | const loadPageCard = () => { | ||||
// $api.loadCard() | // $api.loadCard() | ||||
} | } | ||||
@@ -21,18 +21,21 @@ window.$swEvent.setup("mztb.base.partyDataFill.partyDataFillList", { | |||||
task_text = data.text; | task_text = data.text; | ||||
type = data.task.includes("99") ? 2 : 1; | type = data.task.includes("99") ? 2 : 1; | ||||
} | } | ||||
const toPageEdit = () =>{ | |||||
if($model.ds_1.data.form.task === undefined) { | |||||
const toPageEdit = async () => { | |||||
if ($model.ds_1.data.form.task === undefined) { | |||||
$$message.notify.warning("请选择任务") | $$message.notify.warning("请选择任务") | ||||
return false | return false | ||||
} | } | ||||
// 检查当前机构是否重复推送 | |||||
const rt = await $$http.post("mztb/partyDataFill/checkRepetition", {task: $model.ds_1.data.form.task,task_text : $model.ds_1.data.form.task_text}) | |||||
$api.closeDialog("tb_dialog") | $api.closeDialog("tb_dialog") | ||||
$api.toPage("mztb.partyDataFillCard",{ | |||||
$api.toPage("mztb.partyDataFillCard", { | |||||
$fromAction: 'button:add' | $fromAction: 'button:add' | ||||
,task:$model.ds_1.data.form.task | |||||
,type: $model.ds_1.data.form.month | |||||
,task_text : $model.ds_1.data.form.task_text | |||||
,outOldData : $model.ds_1.data.form.outOldData }) | |||||
, task: $model.ds_1.data.form.task | |||||
, type: $model.ds_1.data.form.month | |||||
, task_text: $model.ds_1.data.form.task_text | |||||
, outOldData: $model.ds_1.data.form.outOldData | |||||
}) | |||||
} | } | ||||
const selectHide =(data) => { | const selectHide =(data) => { | ||||