package com.engine.recruit.service.impl; import com.alibaba.fastjson.JSON; import com.api.browser.bean.SearchConditionGroup; import com.api.browser.bean.SearchConditionItem; import com.api.browser.util.ConditionFactory; import com.api.browser.util.ConditionType; import com.engine.core.impl.Service; import com.engine.recruit.exception.CustomizeRunTimeException; import com.engine.recruit.service.RecruitPositionService; import com.weaver.rpa.sdk.clients.application.resume.ERPAResumeSDKClient; import com.weaver.rpa.sdk.clients.application.resume.entity.ResumeJobDynamicField; import com.weaver.rpa.sdk.clients.core.ERPASDKClients; import org.apache.commons.lang3.StringUtils; import weaver.conn.RecordSet; import weaver.general.Util; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * @author:dxfeng * @createTime: 2023/10/09 * @version: 1.0 */ public class RecruitPositionServiceImpl extends Service implements RecruitPositionService { @Override public Map updatePostInfo(Map param) { Map returnMap = new HashMap<>(); String zpzwfzr = Util.null2String(param.get("zpzwfzr")); String zpxzr = Util.null2String(param.get("zpxzr")); String ids = Util.null2String(param.get("ids")); if (StringUtils.isBlank(ids)) { throw new CustomizeRunTimeException("数据有误,请重试"); } RecordSet rs = new RecordSet(); if (StringUtils.isNotBlank(zpzwfzr)) { rs.executeUpdate(" update uf_jcl_zp_zpzw set zpzwfzr = ? where id in (" + ids + ")", zpzwfzr); } if (StringUtils.isNotBlank(zpxzr)) { rs.executeUpdate(" update uf_jcl_zp_zpzw set zpxzr = ? where id in (" + ids + ")", zpxzr); } return returnMap; } @Override public Map getFormCondition(Map param) { Map apidatas = new HashMap<>(); apidatas.put("hasRight", true); ConditionFactory conditionFactory = new ConditionFactory(user); //输入框类 List inputItems = new ArrayList<>(); List addGroups = new ArrayList<>(); /** *输入框类 */ //文本框设置 SearchConditionItem demo_input = conditionFactory.createCondition(ConditionType.INPUT,502327, "input"); demo_input.setColSpan(2);//定义一行显示条件数,默认值为2,当值为1时标识该条件单独占一行 demo_input.setFieldcol(12); //条件输入框所占宽度,默认值18 demo_input.setViewAttr(3); // 编辑权限 1:只读,2:可编辑, 3:必填 默认2 demo_input.setLength(10); // 设置输入长度 demo_input.setLabel("文本输入框"); //设置文本值 这个将覆盖多语言标签的值 demo_input.setRules("required"); //设置字段填入规则 demo_input.setValue("我是默认值"); //这里设置数据的默认值,开发可以通过从数据库取出数据传入 inputItems.add(demo_input); //整数 SearchConditionItem demo_inputnumber = conditionFactory.createCondition(ConditionType.INPUTNUMBER,502227, "inputNumber"); demo_inputnumber.setColSpan(2); demo_inputnumber.setFieldcol(12); demo_inputnumber.setViewAttr(2); // demo_inputnumber.setLabel("数字输入框"); demo_inputnumber.setRules("required"); //设置字段填入规则 inputItems.add(demo_inputnumber); SearchConditionItem cascaderItem = conditionFactory.createCondition(ConditionType.CASCADER,"388482,1329","cascader"); cascaderItem.setFieldcol(12); cascaderItem.setViewAttr(3); StringBuffer sb = new StringBuffer(); sb.append("{\n" + " type: 'select',\n" + " parent: {type:'div',style:{float:'left'}},\n" + " style: {width: 120},\n" + " options: "); List pathIdList = new ArrayList<>(); ERPAResumeSDKClient client = ERPASDKClients.getResumeSDKClient(); ResumeJobDynamicField resumeJobDynamicField = client.getResumeJobDynamicField(); List boss_type = (List)resumeJobDynamicField.getBoss_type(); String bossTypeStr = JSON.toJSONString(boss_type); bossTypeStr = bossTypeStr.replace("value","key").replace("label","showname").replace("children","subChildren"); //for (ResumeJobDynamicField.Item item : boss_type) { // String pathId = item.get; // String pathName = Util.null2String(rs.getString("name")); // pathIdList.add(pathId); // sb.append("{\n" + // " key: \""+pathId+"\",\n" + // " selected: true,\n" + // " showname: '"+pathName+"'\n" + // " },"); //} sb.append(bossTypeStr); //sb.append("]"); sb.append(" }"); System.out.println(JSON.parseObject(sb.toString())); cascaderItem.setCompDef(JSON.parseObject(sb.toString())); inputItems.add(cascaderItem); addGroups.add(new SearchConditionGroup("输入框类",true,inputItems)); apidatas.put("condition", addGroups ); return apidatas; } }