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; String varType = variable != null ? variable.getVarType() : null;
boolean shouldReturnArray = "4".equals(varType); boolean shouldReturnArray = "4".equals(varType);
if (shouldReturnArray) { if (shouldReturnArray) {
// 转换为数组类型 // 转换为数组类型元素为数值类型Number/BigDecimal时去掉小数点后无意义的 0
if (value instanceof List) { final List<Object> list;
return value; if (value instanceof List<?> l) {
} else if (value instanceof Collection) { list = new ArrayList<>(l);
return new ArrayList<>((Collection<?>) value); } else if (value instanceof Collection<?> c) {
list = new ArrayList<>(c);
} else if (value != null) { } else if (value != null) {
// 单个值,转换为列表 list = new ArrayList<>();
List<Object> arrayValue = new ArrayList<>(); list.add(value);
arrayValue.add(value);
return arrayValue;
} else { } else {
return new ArrayList<>(); list = new ArrayList<>();
} }
return normalizeArrayElementsNumericStrip(list);
} }
if ("3".equals(varType)) { if ("3".equals(varType)) {
return formatDateValue(value); return formatDateValue(value);
} }
// 变量类型 2=数值
if ("2".equals(varType)) {
return formatNumericValue(value);
}
return convertScalarValueToString(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") @GetMapping("/list")
public TableDataInfo<ErpContractMaterialVo> list(ErpContractMaterialBo bo, PageQuery pageQuery) { public TableDataInfo<ErpContractMaterialVo> list(ErpContractMaterialBo bo, PageQuery pageQuery) {
return erpContractMaterialService.queryPageList(bo, 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) @Log(title = "合同物料信息", businessType = BusinessType.EXPORT)
@PostMapping("/export") @PostMapping("/export")
public void export(ErpContractMaterialBo bo, HttpServletResponse response) { public void export(ErpContractMaterialBo bo, HttpServletResponse response) {
@ -62,7 +62,7 @@ public class ErpContractMaterialController extends BaseController {
* *
* @param contractMaterialId * @param contractMaterialId
*/ */
@SaCheckPermission("oa/erp:contractMaterial:query") // @SaCheckPermission("oa/erp:contractMaterial:query")
@GetMapping("/{contractMaterialId}") @GetMapping("/{contractMaterialId}")
public R<ErpContractMaterialVo> getInfo(@NotNull(message = "主键不能为空") public R<ErpContractMaterialVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable("contractMaterialId") Long contractMaterialId) { @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) @Log(title = "合同物料信息", businessType = BusinessType.INSERT)
@RepeatSubmit() @RepeatSubmit()
@PostMapping() @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) @Log(title = "合同物料信息", businessType = BusinessType.UPDATE)
@RepeatSubmit() @RepeatSubmit()
@PutMapping() @PutMapping()
@ -96,7 +96,7 @@ public class ErpContractMaterialController extends BaseController {
* *
* @param contractMaterialIds * @param contractMaterialIds
*/ */
@SaCheckPermission("oa/erp:contractMaterial:remove") // @SaCheckPermission("oa/erp:contractMaterial:remove")
@Log(title = "合同物料信息", businessType = BusinessType.DELETE) @Log(title = "合同物料信息", businessType = BusinessType.DELETE)
@DeleteMapping("/{contractMaterialIds}") @DeleteMapping("/{contractMaterialIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空") 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") @GetMapping("/list")
public TableDataInfo<ErpProjectContractsVo> list(ErpProjectContractsBo bo, PageQuery pageQuery) { public TableDataInfo<ErpProjectContractsVo> list(ErpProjectContractsBo bo, PageQuery pageQuery) {
return erpProjectContractsService.queryPageList(bo, 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) @Log(title = "项目关联合同", businessType = BusinessType.EXPORT)
@PostMapping("/export") @PostMapping("/export")
public void export(ErpProjectContractsBo bo, HttpServletResponse response) { public void export(ErpProjectContractsBo bo, HttpServletResponse response) {
@ -62,7 +62,7 @@ public class ErpProjectContractsController extends BaseController {
* *
* @param projectContractsId * @param projectContractsId
*/ */
@SaCheckPermission("oa/erp:projectContracts:query") // @SaCheckPermission("oa/erp:projectContracts:query")
@GetMapping("/{projectContractsId}") @GetMapping("/{projectContractsId}")
public R<ErpProjectContractsVo> getInfo(@NotNull(message = "主键不能为空") public R<ErpProjectContractsVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable("projectContractsId") Long projectContractsId) { @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) @Log(title = "项目关联合同", businessType = BusinessType.INSERT)
@RepeatSubmit() @RepeatSubmit()
@PostMapping() @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) @Log(title = "项目关联合同", businessType = BusinessType.UPDATE)
@RepeatSubmit() @RepeatSubmit()
@PutMapping() @PutMapping()
@ -96,7 +96,7 @@ public class ErpProjectContractsController extends BaseController {
* *
* @param projectContractsIds * @param projectContractsIds
*/ */
@SaCheckPermission("oa/erp:projectContracts:remove") // @SaCheckPermission("oa/erp:projectContracts:remove")
@Log(title = "项目关联合同", businessType = BusinessType.DELETE) @Log(title = "项目关联合同", businessType = BusinessType.DELETE)
@DeleteMapping("/{projectContractsIds}") @DeleteMapping("/{projectContractsIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空") public R<Void> remove(@NotEmpty(message = "主键不能为空")

Loading…
Cancel
Save