优化代码

This commit is contained in:
2026-04-28 23:09:28 +08:00
parent cb9638ccbd
commit 701bac9b9b
7 changed files with 80 additions and 62 deletions

View File

@@ -0,0 +1,19 @@
package com.seeyon.apps.src_leasebill.config;
import com.seeyon.apps.common.config.ICstConfigApi;
import com.seeyon.apps.common.plugin.vo.ConfigVo;
import com.seeyon.apps.src_leasebill.constant.LeaseBillConstant;
import com.seeyon.ctp.common.AppContext;
import static com.seeyon.apps.src_leasebill.constant.LeaseBillConstant.getPluginId;
public class LeaseBillConfigProvider {
protected ICstConfigApi cstConfigApi = (ICstConfigApi) AppContext.getBean("cstConfigApi");
public String getBizConfigByKey(LeaseBillConstant key) {
ConfigVo config = cstConfigApi.getConfig(getPluginId());
return config.getParamVal(key.name());
}
}

View File

@@ -4,6 +4,9 @@ public enum LeaseBillConstant {
plugin("src_leasebill","插件ID"),
annualPaymentTypeOneMapName("年方案一","年缴费方式一取值映射名称"),
annualPaymentTypeTwoMapName("年方案二","年缴费方式二取值映射名称"),
assistiveFormNo("ZJZDMX","账单生成辅助表表单编码"),
loginName("shenxian","辅助表创建人");
// u8cUrl("http://ip:port", "U8C地址"),

View File

@@ -2,8 +2,10 @@ package com.seeyon.apps.src_leasebill.controller;
import cn.hutool.log.Log;
import com.alibaba.fastjson.JSONObject;
import com.seeyon.aicloud.common.JsonUtils;
import com.seeyon.apps.common.config.ICstConfigApi;
import com.seeyon.apps.common.plugin.vo.ConfigVo;
import com.seeyon.apps.src_leasebill.config.LeaseBillConfigProvider;
import com.seeyon.apps.src_leasebill.constant.LeaseBillConstant;
import com.seeyon.apps.src_leasebill.dao.ILeaseBillDao;
import com.seeyon.apps.src_leasebill.util.DateUtil;
@@ -30,6 +32,7 @@ import java.util.*;
public class LeaseBillController extends BaseController {
private static Log log = Log.get(LeaseBillController.class);
private LeaseBillConfigProvider configProvider = (LeaseBillConfigProvider) AppContext.getBean("leaseBillConfigProvider");
protected ICstConfigApi cstConfigApi = (ICstConfigApi) AppContext.getBean("cstConfigApi");
private FormFactory formFactory;
@@ -57,7 +60,7 @@ public class LeaseBillController extends BaseController {
}
public ModelAndView index(HttpServletRequest request, HttpServletResponse response) throws Exception {
log.info("进入ajax方法");
log.info("进入生成账单ajax方法");
ConfigVo configVo = getYdctLeaseBillConfig();
DateUtil dateUtil = new DateUtil();
LeaseBillUtil leaseBillUtil = new LeaseBillUtil();
@@ -120,6 +123,7 @@ public class LeaseBillController extends BaseController {
Calendar startTime = Calendar.getInstance();
startTime.setTime(startDate);
// 判断合同开始时间是否为月底
log.info("入参: " + jsonObject.toString());
boolean isMaxDay = false;
int currentDay = startTime.get(Calendar.DAY_OF_MONTH);
int maxDay = startTime.getActualMaximum(Calendar.DAY_OF_MONTH);
@@ -148,18 +152,27 @@ public class LeaseBillController extends BaseController {
render(response, JSONUtil.toJSONString(res));
return null;
}else{
if(njiaofeifs.equals("正常年度")){
if(njiaofeifs.equals(configProvider.getBizConfigByKey(LeaseBillConstant.annualPaymentTypeOneMapName))){
// 采用方式一/正常年度
System.out.println("开始生成账单数据");
log.info("正常年度-生成账单数据");
rents = leaseBillUtil.getLeaseBillYers1(startTime,endTime,isMaxDay,jfzqNum,jsonObject,jifeifs);
}else if(njiaofeifs.equals("非正常年度")){
}else if(njiaofeifs.equals(configProvider.getBizConfigByKey(LeaseBillConstant.annualPaymentTypeTwoMapName))){
// 采用方式二/非正常年度
System.out.println("开始生成账单数据");
log.info("非正常年度-生成账单数据");
rents = leaseBillUtil.getLeaseBillYers2(startTime,endTime,isMaxDay,jfzqNum,jsonObject,jifeifs);
}
}
}else{
// 根据标准方法生成
System.out.println("开始生成账单数据");
log.info("开始用标准方法生成账单数据");
rents = leaseBillUtil.getLeaseBill(startTime,endTime,isMaxDay,jfzqNum,jsonObject,jifeifs);
}
if(rents.size() == 0){
log.info("要生成账单的数据为空");
}
log.info("创建档案");
List<SubordinateFormExport> subordinateFormExports = formExportUtil.setSubordinateFormValue(rents);
Map<String , String > billMap = new HashMap<String, String>();
@@ -167,8 +180,8 @@ public class LeaseBillController extends BaseController {
List<ValueExport> valueExports = formExportUtil.setFormValue(billMap);
formExport.setSubordinateForms(subordinateFormExports);
formExport.setValues(valueExports);
String loginName = configVo.getParamVal(LeaseBillConstant.loginName.name());
getFormFactory().importBusinessFormData(loginName, "ZJZDMX",
String loginName = configProvider.getBizConfigByKey(LeaseBillConstant.loginName);
getFormFactory().importBusinessFormData(loginName, configProvider.getBizConfigByKey(LeaseBillConstant.assistiveFormNo),
formExport, new String[] {});
res.put("success", true);
res.put("name", AppContext.currentUserLoginName());

View File

@@ -1,84 +1,56 @@
package com.seeyon.apps.src_leasebill.dao.impl;
import com.seeyon.apps.src_leasebill.config.LeaseBillConfigProvider;
import com.seeyon.apps.src_leasebill.constant.LeaseBillConstant;
import com.seeyon.apps.src_leasebill.dao.ILeaseBillDao;
import com.seeyon.ctp.common.AppContext;
import com.seeyon.ctp.common.exceptions.BusinessException;
import com.seeyon.ctp.util.JDBCAgent;
import com.seeyon.utils.form.FormColumn;
import com.seeyon.utils.form.FormTableExecutor;
import com.seeyon.utils.form.FormWhereCondition;
import com.seeyon.utils.form.TableContext;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
public class LeaseBillDaoImpl implements ILeaseBillDao {
//本地
// private String leaseBillByCode = "SELECT id FROM formmain_0231 WHERE field0004 = ? ";
// private String deleteBillById = "delete from formmain_0231 where id=?";
// private String deleteBillsByBillId = "delete from formson_0232 where formmain_id=?";
// 正式
private String leaseBillByCode = "SELECT id FROM formmain_0031 WHERE field0004 = ? ";
private String deleteBillById = "delete from formmain_0031 where id=?";
private String deleteBillsByBillId = "delete from formson_0032 where formmain_id=?";
private LeaseBillConfigProvider configProvider = (LeaseBillConfigProvider) AppContext.getBean("leaseBillConfigProvider");
private String getFormNo(){
return configProvider.getBizConfigByKey(LeaseBillConstant.assistiveFormNo);
}
@Override
public List<String> leaseBillByCode(String code) throws BusinessException, SQLException {
List<String> lists = new ArrayList<String>();
JDBCAgent agent = new JDBCAgent();
try {
StringBuilder sql = new StringBuilder(leaseBillByCode);
// StringBuilder sql = new StringBuilder("SELECT id FROM formmain_0536 WHERE field0013 = ? ");
List<Object> p = new ArrayList<Object>();
p.add(code);
agent.execute(sql.toString(), p);
List<Map> list = agent.resultSetToList();
if (list != null && list.size() > 0) {
for(int i = 0 ; i < list.size() ; i++) {
Map map = list.get(i);
Object object = map.get("id");
lists.add(object.toString());
}
}
}finally {
if (agent != null) {
agent.close();
}
TableContext tableContext = FormTableExecutor.master(getFormNo());
List<FormWhereCondition> conditions = new ArrayList<FormWhereCondition>();
conditions.add(FormWhereCondition.build().display("账单编号").value(code));
List<String> queryColumns = new ArrayList<String>();
queryColumns.add("ID");
List<FormColumn> formColumns = FormTableExecutor.query(tableContext, queryColumns, conditions, false);
for (FormColumn formColumn : formColumns) {
lists.add(formColumn.getId());
}
return lists;
}
@Override
public int deleteBillById(String id) throws BusinessException, SQLException {
int i = 0 ;
JDBCAgent agent = new JDBCAgent();
try {
StringBuilder sql = new StringBuilder(deleteBillById);
// StringBuilder sql = new StringBuilder("delete from formmain_0536 where id=?");
List<Object> p = new ArrayList<Object>();
p.add(id);
i=agent.execute(sql.toString(), p);
}finally {
if (agent != null) {
agent.close();
}
}
return i;
TableContext tableContext = FormTableExecutor.master(getFormNo());
List<FormWhereCondition> conditions = new ArrayList<>();
conditions.add(FormWhereCondition.build().display("ID").value(id));
return FormTableExecutor.delete(tableContext, conditions);
}
@Override
public int deleteBillsByBillId(String formmainId) throws BusinessException, SQLException {
int i = 0 ;
JDBCAgent agent = new JDBCAgent();
try {
StringBuilder sql = new StringBuilder(deleteBillsByBillId);
// StringBuilder sql = new StringBuilder("delete from formson_0538 where formmain_id=?");
List<Object> p = new ArrayList<Object>();
p.add(formmainId);
i=agent.execute(sql.toString(), p);
}finally {
if (agent != null) {
agent.close();
}
}
return i;
TableContext sub = FormTableExecutor.sub(getFormNo(), "明细表1");
List<FormWhereCondition> conditions = new ArrayList<>();
conditions.add(FormWhereCondition.build().display("formmain_id").value(formmainId));
return FormTableExecutor.delete(sub,conditions);
}
}

View File

@@ -22,6 +22,7 @@ public class LeaseBillUtil {
public List<Map<String,String>> getLeaseBill(Calendar startTime, Calendar endTime, boolean isMaxDay, int jfzqNum,
JSONObject jsonObject,String jifeifs){
List<Map<String,String>> rents = new ArrayList<>();
System.out.println("生成账单的参数: " + startTime + ","+ endTime+"," + isMaxDay+"," + jfzqNum +","+ jsonObject.toString() +","+ jifeifs);
DateUtil dateUtil = new DateUtil();
// 两个日期相差多少月
int monthNum = dateUtil.betweenMonthByTwoCalendar(startTime,endTime);
@@ -129,6 +130,7 @@ public class LeaseBillUtil {
*/
public List<Map<String,String>> getLeaseBillYers1(Calendar startTime, Calendar endTime, boolean isMaxDay, int jfzqNum,
JSONObject jsonObject,String jifeifs){
System.out.println("生成账单的参数: " + startTime + ","+ endTime+"," + isMaxDay+"," + jfzqNum +","+ jsonObject.toString() +","+ jifeifs);
List<Map<String,String>> rents = new ArrayList<>();
DateUtil dateUtil = new DateUtil();
// 两个日期相差多少月
@@ -206,6 +208,7 @@ public class LeaseBillUtil {
*/
public List<Map<String,String>> getLeaseBillYers2(Calendar startTime, Calendar endTime, boolean isMaxDay, int jfzqNum,
JSONObject jsonObject,String jifeifs){
System.out.println("生成账单的参数: " + startTime + ","+ endTime+"," + isMaxDay+"," + jfzqNum +","+ jsonObject.toString() +","+ jifeifs);
List<Map<String,String>> rents = new ArrayList<>();
DateUtil dateUtil = new DateUtil();
// 两个日期相差多少年

View File

@@ -2,4 +2,5 @@
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans default-autowire="byName">
<bean id="leaseBillFieldCtrl" class="com.seeyon.apps.src_leasebill.fieldCtrl.LeaseBillFieldCtrl" />
<bean id="leaseBillConfigProvider" class="com.seeyon.apps.src_leasebill.config.LeaseBillConfigProvider"/>
</beans>

View File

@@ -0,0 +1,7 @@
import com.seeyon.apps.src_leasebill.LeaseBillPluginApi;
public class Test {
public static void main(String[] args) {
new LeaseBillPluginApi();
}
}