WebApiUtils.java 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. package bamp.basedata.util;
  2. import kd.bos.dataentity.entity.DynamicObject;
  3. import kd.bos.orm.query.QCP;
  4. import kd.bos.orm.query.QFilter;
  5. import kd.bos.servicehelper.BusinessDataServiceHelper;
  6. import java.text.ParseException;
  7. import java.text.SimpleDateFormat;
  8. import java.util.Map;
  9. /**
  10. * @author : libo_kd
  11. * @description :
  12. * @date : 2025.01.21 9:39:57
  13. */
  14. public class WebApiUtils {
  15. /* 校验并设置F7字段
  16. * @key 入参校验字段
  17. * @fieldName 写入客户对象的字段名
  18. * @entityNumber 字段对应基础资料实体名
  19. * @param 接口入参对象
  20. * @resultData 返回报文对象
  21. * @customerObj 客户对象
  22. */
  23. public static void setDynamicField(Boolean isMust, String key, String fieldName, String entityNumber, Map param, Map resultData, DynamicObject customerObj) {
  24. if(param.get(key)==null || "".equals(param.get(key))){
  25. if(isMust){
  26. resultData.put("errors","参数【" + key + "】必填");
  27. }
  28. }else{
  29. QFilter qFilter_number = new QFilter("number", QCP.equals,param.get(key));
  30. QFilter qFilter_enable = new QFilter("enable", QCP.equals,"1");
  31. QFilter qFilter_status = new QFilter("status", QCP.equals, "C");
  32. DynamicObject objCol = BusinessDataServiceHelper.loadSingleFromCache(entityNumber,"id,number,name",
  33. new QFilter[]{qFilter_number,qFilter_enable,qFilter_status});
  34. if(objCol!=null){
  35. customerObj.set(fieldName,objCol);
  36. }else{
  37. String errors = resultData.get("errors")!=null?resultData.get("errors").toString()+";":"";
  38. resultData.put("errors",errors+"参数【" + key + "】值匹配不成功,可能的原因是:1、编码不正确;2、不符合基础资料字段查询条件");
  39. }
  40. }
  41. }
  42. /* 校验并设置文本字段
  43. * @key 入参校验字段
  44. * @fieldName 写入客户对象的字段名
  45. * @param 接口入参对象
  46. * @resultData 返回报文对象
  47. * @customerObj 客户对象
  48. */
  49. public static void setTextField(Boolean isMust, String key, String fieldName, Map param, Map resultData, DynamicObject customerObj) {
  50. if(param.get(key)==null || "".equals(param.get(key))){
  51. if(isMust){
  52. String errors = resultData.get("errors")!=null?resultData.get("errors").toString()+";":"";
  53. resultData.put("errors",errors+"参数【" + key + "】必填");
  54. }
  55. }else{
  56. customerObj.set(fieldName,param.get(key));
  57. }
  58. }
  59. /* 校验并设置布尔字段
  60. * @key 入参校验字段
  61. * @fieldName 写入客户对象的字段名
  62. * @param 接口入参对象
  63. * @defaultValue 默认值
  64. * @resultData 返回报文对象
  65. * @customerObj 客户对象
  66. */
  67. public static void setBooleanField(Boolean isMust, String key, String fieldName,Boolean defaultValue,Map param, Map resultData, DynamicObject customerObj) throws ParseException {
  68. if(param.get(key)==null || "".equals(param.get(key))){
  69. if(isMust){
  70. String errors = resultData.get("errors")!=null?resultData.get("errors").toString()+";":"";
  71. resultData.put("errors",errors+"参数【" + key + "】必填");
  72. }else {
  73. customerObj.set(fieldName, defaultValue);
  74. }
  75. }else{
  76. customerObj.set(fieldName, param.get(key));
  77. }
  78. }
  79. /* 校验并设置日期字段
  80. * @key 入参校验字段
  81. * @fieldName 写入客户对象的字段名
  82. * @param 接口入参对象
  83. * @resultData 返回报文对象
  84. * @customerObj 客户对象
  85. */
  86. public static void setDateField(Boolean isMust, String key, String fieldName, Map param, Map resultData, DynamicObject customerObj) throws ParseException {
  87. if(param.get(key)==null || "".equals(param.get(key))){
  88. if(isMust){
  89. String errors = resultData.get("errors")!=null?resultData.get("errors").toString()+";":"";
  90. resultData.put("errors",errors+"参数【" + key + "】必填");
  91. }
  92. }else{
  93. customerObj.set(fieldName,new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(param.get(key).toString()));
  94. }
  95. }
  96. }