提交代码

This commit is contained in:
2026-06-07 18:17:12 +08:00
parent b1097e86e2
commit ac32c13ad6
40 changed files with 1787 additions and 404 deletions

View File

@@ -2,19 +2,21 @@ package com.seeyon.apps.assetstenant.discharge;
import com.alibaba.fastjson.JSONObject;
import com.seeyon.apps.assetstenant.assets.OaAssetsVo;
import com.seeyon.apps.assetstenant.bill.BillVo;
import com.seeyon.apps.assetstenant.config.AssetsTenantConfigProvider;
import com.seeyon.apps.assetstenant.constants.RentConstants;
import com.seeyon.apps.assetstenant.constants.AssetsTenantConstants;
import com.seeyon.apps.assetstenant.contract.ContractService;
import com.seeyon.apps.assetstenant.flow.FlowCreateService;
import com.seeyon.apps.assetstenant.po.PageQueryVo;
import com.seeyon.cap4.form.api.FormApi4Cap4;
import com.seeyon.cap4.form.bean.FormBean;
import com.seeyon.apps.assetstenant.utils.ProtUtil;
import com.seeyon.apps.esign.constants.EsignConfigConstants;
import com.seeyon.cap4.form.bean.FormTableBean;
import com.seeyon.ctp.common.AppContext;
import com.seeyon.ctp.common.exceptions.BusinessException;
import com.seeyon.utils.form.*;
import org.apache.commons.lang3.StringUtils;
import java.io.IOException;
import java.util.*;
import java.util.stream.Collectors;
@@ -25,7 +27,7 @@ public class DisCharegeService {
private ContractService contractService = (ContractService) AppContext.getBean("contractService");
private String getFormNo() {
return configProvider.getBizConfigByKey(RentConstants.DISCHARGE_FORMNO);
return configProvider.getBizConfigByKey(AssetsTenantConstants.DISCHARGE_TEMPLATECODE);
}
private TableContext getTableContext() throws BusinessException {
return FormTableExecutor.master(getFormNo());
@@ -50,8 +52,8 @@ public class DisCharegeService {
List<FormColumn> datas = FormTableExecutor.pageQuery(tableContext, queryColumnVos, conditions, pageNo, pageSize,true);
Long count = FormTableExecutor.count(tableContext,null, conditions);
if(datas.size() > 0){
for (Object data : datas) {
Map<String,Object> map = (Map<String, Object>) data;
for (FormColumn data : datas) {
Map<String,Object> map = data.getFieldsMap();
DisChargeRecordVo vo = new DisChargeRecordVo();
fillVo(map,vo);
vos.add(vo);
@@ -74,8 +76,8 @@ public class DisCharegeService {
List<Object> subFormDataList = new ArrayList<>();
Map<String,Object> data = new HashMap<>();
subFormDataMap.put(subDbTableName,subFormDataList);
String templateCode = configProvider.getBizConfigByKey(RentConstants.DISCHARGE_TEMPLATECODE);
String appName = configProvider.getBizConfigByKey(RentConstants.FORMAPPNAME);
String templateCode = configProvider.getBizConfigByKey(AssetsTenantConstants.DISCHARGE_TEMPLATECODE);
String appName = configProvider.getBizConfigByKey(AssetsTenantConstants.FORMAPPNAME);
mainFormData.put(tableName,data);
String contractNo = params.getString("contractNo");
List<String> assetsNoList = (List<String>) params.get("assetsNoList");
@@ -101,6 +103,40 @@ public class DisCharegeService {
flowCreateService.flowStart("退租申请",mainFormData,subFormDataMap,appName,templateCode);
}
public void cancelApply(String id) throws BusinessException, IOException {
List<FormWhereCondition> conditions = new ArrayList<>();
conditions.add(FormWhereCondition.build().display("ID").value(id));
FormColumn formColumn = FormTableExecutor.queryOne(getTableContext(), conditions, true);
if(formColumn == null) {
throw new BusinessException("未找到退租申请");
}
Map<String, Object> fieldsMap = formColumn.getFieldsMap();
String nodeId = (String)fieldsMap.get("流程节点ID");
JSONObject params = new JSONObject();
params.put("message", "租户取消退租申请");
params.put("returnCode", 5);
ProtUtil.sendPostNotification(configProvider,params.toString(),"/seeyon/rest/flow/notification/", nodeId);
}
public void forwardApply(String id) throws BusinessException, IOException {
List<FormWhereCondition> conditions = new ArrayList<>();
conditions.add(FormWhereCondition.build().display("ID").value(id));
FormColumn formColumn = FormTableExecutor.queryOne(getTableContext(), conditions, true);
if(formColumn == null) {
throw new BusinessException("未找到退租申请");
}
Map<String, Object> fieldsMap = formColumn.getFieldsMap();
String nodeId = (String)fieldsMap.get("流程节点ID");
JSONObject params = new JSONObject();
params.put("message", "租户已确认清退费用");
params.put("returnCode", 1);
ProtUtil.sendPostNotification(configProvider,params.toString(),"/seeyon/rest/flow/notification/", nodeId);
}
// public List<BillVo> queryDisChargeBill(String id) {
// List
// }
public void fillVo(Map<String, Object> fieldsMap,DisChargeRecordVo vo) throws BusinessException {
vo.setContractName(getStringValue(fieldsMap,"合同名称"));
vo.setId(getStringValue(fieldsMap,"id"));