1.0.65 合同模板时间类型优化

dev
yinq 2 weeks ago
parent c66858aec7
commit 445c00bc1c

@ -95,6 +95,11 @@ public enum FormatsType {
*/ */
YYYY_MM_DD_DOT("yyyy.MM.dd"), YYYY_MM_DD_DOT("yyyy.MM.dd"),
/**
* "2023年7月22日" "2023年7月22日"
*/
YYYY_MM_DD_CAN("yyyy年MM月dd日"),
/** /**
* "2023年7月22日下午3点30分" "2023.07.22 15:30" * "2023年7月22日下午3点30分" "2023.07.22 15:30"
*/ */

@ -15,7 +15,7 @@ public interface ITemplateVariableAssignService {
/** /**
* *
* 1=2= * 1=2=3=4=
* *
* @param request ID * @param request ID
* @return * @return

@ -46,7 +46,7 @@ public class TemplateVariableAssignServiceImpl implements ITemplateVariableAssig
/** /**
* *
* 1=2= * 1=2=3=4=
* *
* @param request ID * @param request ID
* @return * @return
@ -61,6 +61,12 @@ public class TemplateVariableAssignServiceImpl implements ITemplateVariableAssig
} else if ("2".equals(templateType)) { } else if ("2".equals(templateType)) {
// 发货单类型 // 发货单类型
return assignDeliveryTemplateVariables(request); return assignDeliveryTemplateVariables(request);
} else if ("3".equals(templateType)) {
// 项目变更类型
return assignDeliveryTemplateVariables(request);
} else if ("4".equals(templateType)) {
// 报价单类型
return assignDeliveryTemplateVariables(request);
} else { } else {
throw new ServiceException("不支持的模板类型:" + templateType); throw new ServiceException("不支持的模板类型:" + templateType);
} }
@ -87,18 +93,8 @@ public class TemplateVariableAssignServiceImpl implements ITemplateVariableAssig
throw new ServiceException("合同信息不存在合同ID" + request.getContractId()); throw new ServiceException("合同信息不存在合同ID" + request.getContractId());
} }
// 3. 查询合同物料列表(如果存在需要物料数据的变量) // 3. 合同物料列表
List<ErpContractMaterialVo> contractMaterials = null; List<ErpContractMaterialVo> contractMaterials = contractInfo.getContractMaterialList();
boolean needMaterialData = allTemplateVariables.stream()
.anyMatch(var -> "erp_contract_material".equalsIgnoreCase(var.getDataSource()));
if (needMaterialData) {
ErpContractMaterialBo materialBo = new ErpContractMaterialBo();
materialBo.setContractId(request.getContractId());
contractMaterials = erpContractMaterialService.queryList(materialBo);
for (int i = 0; i < contractMaterials.size(); i++) {
contractMaterials.get(i).setSeq(i + 1L);
}
}
// 4. 为所有模板变量赋值 // 4. 为所有模板变量赋值
return buildAssignResultList(allTemplateVariables, variableMap, contractInfo, contractMaterials); return buildAssignResultList(allTemplateVariables, variableMap, contractInfo, contractMaterials);
@ -125,10 +121,10 @@ public class TemplateVariableAssignServiceImpl implements ITemplateVariableAssig
* @return * @return
*/ */
private List<TemplateVariableAssignVo> buildAssignResultList( private List<TemplateVariableAssignVo> buildAssignResultList(
List<BaseTemplateVariableVo> allTemplateVariables, List<BaseTemplateVariableVo> allTemplateVariables,
Map<String, BaseTemplateVariableVo> variableMap, Map<String, BaseTemplateVariableVo> variableMap,
ErpContractInfoVo contractInfo, ErpContractInfoVo contractInfo,
List<ErpContractMaterialVo> contractMaterials) { List<ErpContractMaterialVo> contractMaterials) {
List<TemplateVariableAssignVo> resultList = new ArrayList<>(); List<TemplateVariableAssignVo> resultList = new ArrayList<>();
for (BaseTemplateVariableVo variable : allTemplateVariables) { for (BaseTemplateVariableVo variable : allTemplateVariables) {
@ -217,7 +213,7 @@ public class TemplateVariableAssignServiceImpl implements ITemplateVariableAssig
* @return * @return
*/ */
private Map<String, BaseTemplateVariableVo> buildVariableMap( private Map<String, BaseTemplateVariableVo> buildVariableMap(
List<BaseTemplateVariableVo> templateVariables) { List<BaseTemplateVariableVo> templateVariables) {
Map<String, BaseTemplateVariableVo> variableMap = new HashMap<>(); Map<String, BaseTemplateVariableVo> variableMap = new HashMap<>();
for (BaseTemplateVariableVo variable : templateVariables) { for (BaseTemplateVariableVo variable : templateVariables) {
@ -276,9 +272,10 @@ public class TemplateVariableAssignServiceImpl implements ITemplateVariableAssig
if ("erp_contract_material".equalsIgnoreCase(dataSource)) { if ("erp_contract_material".equalsIgnoreCase(dataSource)) {
// 从合同物料列表中提取字段值 // 从合同物料列表中提取字段值
return getFieldValueFromMaterialList(contractMaterials, variable.getDataField()); return getFieldValueFromMaterialList(contractMaterials, variable.getDataField());
} else { } else if ("erp_contract_info".equalsIgnoreCase(dataSource)){
// 默认从合同信息中获取
return getFieldValueFromContract(contractInfo, variable.getDataField()); return getFieldValueFromContract(contractInfo, variable.getDataField());
} else {
return null;
} }
} }
@ -348,7 +345,7 @@ public class TemplateVariableAssignServiceImpl implements ITemplateVariableAssig
/** /**
* *
* *
* @param value * @param value
* @return * @return
*/ */
private Object convertValueToTargetType(Object value, BaseTemplateVariableVo variable) { private Object convertValueToTargetType(Object value, BaseTemplateVariableVo variable) {
@ -384,8 +381,7 @@ public class TemplateVariableAssignServiceImpl implements ITemplateVariableAssig
* @return * @return
*/ */
private String convertScalarValueToString(Object value) { private String convertScalarValueToString(Object value) {
if (value instanceof Collection<?>) { if (value instanceof Collection<?> collection) {
Collection<?> collection = (Collection<?>) value;
if (!collection.isEmpty()) { if (!collection.isEmpty()) {
Object first = collection.iterator().next(); Object first = collection.iterator().next();
return first != null ? first.toString() : ""; return first != null ? first.toString() : "";
@ -409,8 +405,7 @@ public class TemplateVariableAssignServiceImpl implements ITemplateVariableAssig
return ""; return "";
} }
if (value instanceof Collection<?>) { if (value instanceof Collection<?> collection) {
Collection<?> collection = (Collection<?>) value;
if (collection.isEmpty()) { if (collection.isEmpty()) {
return ""; return "";
} }
@ -435,20 +430,12 @@ public class TemplateVariableAssignServiceImpl implements ITemplateVariableAssig
} }
if (date != null) { if (date != null) {
return DateUtils.parseDateToStr(FormatsType.YYYY_MM_DD_DOT, date); return DateUtils.parseDateToStr(FormatsType.YYYY_MM_DD_CAN, date);
} }
return value.toString(); return value.toString();
} }
/**
*
*
* @param isArrayType
* @return
*/
private Object getDefaultValueByType(boolean isArrayType) {
return isArrayType ? new ArrayList<>() : "";
}
} }

Loading…
Cancel
Save