1.0.65 合同模板时间类型优化

dev
yinq 1 day ago
parent c66858aec7
commit 445c00bc1c

@ -95,6 +95,11 @@ public enum FormatsType {
*/
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"
*/

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

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

Loading…
Cancel
Save