package bamp.basedata.util; import kd.bos.dataentity.entity.DynamicObject; import kd.bos.orm.query.QCP; import kd.bos.orm.query.QFilter; import kd.bos.servicehelper.BusinessDataServiceHelper; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Map; /** * @author : libo_kd * @description : * @date : 2025.01.21 9:39:57 */ public class WebApiUtils { /* 校验并设置F7字段 * @key 入参校验字段 * @fieldName 写入客户对象的字段名 * @entityNumber 字段对应基础资料实体名 * @param 接口入参对象 * @resultData 返回报文对象 * @customerObj 客户对象 */ public static void setDynamicField(Boolean isMust, String key, String fieldName, String entityNumber, Map param, Map resultData, DynamicObject customerObj) { if(param.get(key)==null || "".equals(param.get(key))){ if(isMust){ resultData.put("errors","参数【" + key + "】必填"); } }else{ QFilter qFilter_number = new QFilter("number", QCP.equals,param.get(key)); QFilter qFilter_enable = new QFilter("enable", QCP.equals,"1"); QFilter qFilter_status = new QFilter("status", QCP.equals, "C"); DynamicObject objCol = BusinessDataServiceHelper.loadSingleFromCache(entityNumber,"id,number,name", new QFilter[]{qFilter_number,qFilter_enable,qFilter_status}); if(objCol!=null){ customerObj.set(fieldName,objCol); }else{ String errors = resultData.get("errors")!=null?resultData.get("errors").toString()+";":""; resultData.put("errors",errors+"参数【" + key + "】值匹配不成功,可能的原因是:1、编码不正确;2、不符合基础资料字段查询条件"); } } } /* 校验并设置文本字段 * @key 入参校验字段 * @fieldName 写入客户对象的字段名 * @param 接口入参对象 * @resultData 返回报文对象 * @customerObj 客户对象 */ public static void setTextField(Boolean isMust, String key, String fieldName, Map param, Map resultData, DynamicObject customerObj) { if(param.get(key)==null || "".equals(param.get(key))){ if(isMust){ String errors = resultData.get("errors")!=null?resultData.get("errors").toString()+";":""; resultData.put("errors",errors+"参数【" + key + "】必填"); } }else{ customerObj.set(fieldName,param.get(key)); } } /* 校验并设置布尔字段 * @key 入参校验字段 * @fieldName 写入客户对象的字段名 * @param 接口入参对象 * @defaultValue 默认值 * @resultData 返回报文对象 * @customerObj 客户对象 */ public static void setBooleanField(Boolean isMust, String key, String fieldName,Boolean defaultValue,Map param, Map resultData, DynamicObject customerObj) throws ParseException { if(param.get(key)==null || "".equals(param.get(key))){ if(isMust){ String errors = resultData.get("errors")!=null?resultData.get("errors").toString()+";":""; resultData.put("errors",errors+"参数【" + key + "】必填"); }else { customerObj.set(fieldName, defaultValue); } }else{ customerObj.set(fieldName, param.get(key)); } } /* 校验并设置日期字段 * @key 入参校验字段 * @fieldName 写入客户对象的字段名 * @param 接口入参对象 * @resultData 返回报文对象 * @customerObj 客户对象 */ public static void setDateField(Boolean isMust, String key, String fieldName, Map param, Map resultData, DynamicObject customerObj) throws ParseException { if(param.get(key)==null || "".equals(param.get(key))){ if(isMust){ String errors = resultData.get("errors")!=null?resultData.get("errors").toString()+";":""; resultData.put("errors",errors+"参数【" + key + "】必填"); } }else{ customerObj.set(fieldName,new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(param.get(key).toString())); } } }