1.1.38 合同模板导出是数值的删除小数点。

dev
yinq 2 months ago
parent 0adc28dd69
commit f161d26c28

@ -367,28 +367,83 @@ public class TemplateVariableAssignServiceImpl implements ITemplateVariableAssig
String varType = variable != null ? variable.getVarType() : null;
boolean shouldReturnArray = "4".equals(varType);
if (shouldReturnArray) {
// 转换为数组类型
if (value instanceof List) {
return value;
} else if (value instanceof Collection) {
return new ArrayList<>((Collection<?>) value);
// 转换为数组类型元素为数值类型Number/BigDecimal时去掉小数点后无意义的 0
final List<Object> list;
if (value instanceof List<?> l) {
list = new ArrayList<>(l);
} else if (value instanceof Collection<?> c) {
list = new ArrayList<>(c);
} else if (value != null) {
// 单个值,转换为列表
List<Object> arrayValue = new ArrayList<>();
arrayValue.add(value);
return arrayValue;
list = new ArrayList<>();
list.add(value);
} else {
return new ArrayList<>();
list = new ArrayList<>();
}
return normalizeArrayElementsNumericStrip(list);
}
if ("3".equals(varType)) {
return formatDateValue(value);
}
// 变量类型 2=数值
if ("2".equals(varType)) {
return formatNumericValue(value);
}
return convertScalarValueToString(value);
}
/**
* {@link Number} BigDecimalInteger
*/
private List<Object> normalizeArrayElementsNumericStrip(List<Object> list) {
List<Object> out = new ArrayList<>(list.size());
for (Object item : list) {
if (item == null) {
out.add("");
} else if (item instanceof Number) {
out.add(formatNumericValue(item));
} else {
out.add(item);
}
}
return out;
}
/**
* 0
*/
private String formatNumericValue(Object value) {
if (value == null) {
return "";
}
if (value instanceof Collection<?> collection) {
if (collection.isEmpty()) {
return "";
}
return formatNumericValue(collection.iterator().next());
}
try {
BigDecimal bd;
if (value instanceof BigDecimal bigDecimal) {
bd = bigDecimal;
} else if (value instanceof Number number) {
bd = new BigDecimal(number.toString());
} else {
String s = value.toString().trim();
if (StringUtils.isBlank(s)) {
return "";
}
bd = new BigDecimal(s);
}
bd = bd.stripTrailingZeros();
return bd.toPlainString();
} catch (NumberFormatException ex) {
return value.toString();
}
}
/**
*
*

@ -40,7 +40,7 @@ public class ErpContractMaterialController extends BaseController {
/**
*
*/
@SaCheckPermission("oa/erp:contractMaterial:list")
// @SaCheckPermission("oa/erp:contractMaterial:list")
@GetMapping("/list")
public TableDataInfo<ErpContractMaterialVo> list(ErpContractMaterialBo bo, PageQuery pageQuery) {
return erpContractMaterialService.queryPageList(bo, pageQuery);
@ -49,7 +49,7 @@ public class ErpContractMaterialController extends BaseController {
/**
*
*/
@SaCheckPermission("oa/erp:contractMaterial:export")
// @SaCheckPermission("oa/erp:contractMaterial:export")
@Log(title = "合同物料信息", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(ErpContractMaterialBo bo, HttpServletResponse response) {
@ -62,7 +62,7 @@ public class ErpContractMaterialController extends BaseController {
*
* @param contractMaterialId
*/
@SaCheckPermission("oa/erp:contractMaterial:query")
// @SaCheckPermission("oa/erp:contractMaterial:query")
@GetMapping("/{contractMaterialId}")
public R<ErpContractMaterialVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable("contractMaterialId") Long contractMaterialId) {
@ -72,7 +72,7 @@ public class ErpContractMaterialController extends BaseController {
/**
*
*/
@SaCheckPermission("oa/erp:contractMaterial:add")
// @SaCheckPermission("oa/erp:contractMaterial:add")
@Log(title = "合同物料信息", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
@ -83,7 +83,7 @@ public class ErpContractMaterialController extends BaseController {
/**
*
*/
@SaCheckPermission("oa/erp:contractMaterial:edit")
// @SaCheckPermission("oa/erp:contractMaterial:edit")
@Log(title = "合同物料信息", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
@ -96,7 +96,7 @@ public class ErpContractMaterialController extends BaseController {
*
* @param contractMaterialIds
*/
@SaCheckPermission("oa/erp:contractMaterial:remove")
// @SaCheckPermission("oa/erp:contractMaterial:remove")
@Log(title = "合同物料信息", businessType = BusinessType.DELETE)
@DeleteMapping("/{contractMaterialIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")

@ -40,7 +40,7 @@ public class ErpProjectContractsController extends BaseController {
/**
*
*/
@SaCheckPermission("oa/erp:projectContracts:list")
// @SaCheckPermission("oa/erp:projectContracts:list")
@GetMapping("/list")
public TableDataInfo<ErpProjectContractsVo> list(ErpProjectContractsBo bo, PageQuery pageQuery) {
return erpProjectContractsService.queryPageList(bo, pageQuery);
@ -49,7 +49,7 @@ public class ErpProjectContractsController extends BaseController {
/**
*
*/
@SaCheckPermission("oa/erp:projectContracts:export")
// @SaCheckPermission("oa/erp:projectContracts:export")
@Log(title = "项目关联合同", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(ErpProjectContractsBo bo, HttpServletResponse response) {
@ -62,7 +62,7 @@ public class ErpProjectContractsController extends BaseController {
*
* @param projectContractsId
*/
@SaCheckPermission("oa/erp:projectContracts:query")
// @SaCheckPermission("oa/erp:projectContracts:query")
@GetMapping("/{projectContractsId}")
public R<ErpProjectContractsVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable("projectContractsId") Long projectContractsId) {
@ -72,7 +72,7 @@ public class ErpProjectContractsController extends BaseController {
/**
*
*/
@SaCheckPermission("oa/erp:projectContracts:add")
// @SaCheckPermission("oa/erp:projectContracts:add")
@Log(title = "项目关联合同", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
@ -83,7 +83,7 @@ public class ErpProjectContractsController extends BaseController {
/**
*
*/
@SaCheckPermission("oa/erp:projectContracts:edit")
// @SaCheckPermission("oa/erp:projectContracts:edit")
@Log(title = "项目关联合同", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
@ -96,7 +96,7 @@ public class ErpProjectContractsController extends BaseController {
*
* @param projectContractsIds
*/
@SaCheckPermission("oa/erp:projectContracts:remove")
// @SaCheckPermission("oa/erp:projectContracts:remove")
@Log(title = "项目关联合同", businessType = BusinessType.DELETE)
@DeleteMapping("/{projectContractsIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")

Loading…
Cancel
Save