虚拟组织(新增修改删除接口)
This commit is contained in:
parent
1992c1375d
commit
7d88bb9d5b
|
|
@ -129,7 +129,7 @@ public class OrgChartServiceImpl extends Service implements OrgChartService {
|
|||
|
||||
// 获取根节点
|
||||
RecordSet rs = new RecordSet();
|
||||
rs.executeQuery("select id, fname, ftype, fparentid, fnumber, fobjid from jcl_org_map " + whereSql + whereItemSql);
|
||||
rs.executeQuery("select id, fname, ftype, fparentid, fnumber, fobjid, fisvitual from jcl_org_map " + whereSql + whereItemSql);
|
||||
List<Map<String, Object>> list = new ArrayList<>();
|
||||
String id = null;
|
||||
if (rs.next()) {
|
||||
|
|
@ -142,6 +142,7 @@ public class OrgChartServiceImpl extends Service implements OrgChartService {
|
|||
item.put("fobjid", rs.getString("fobjid"));
|
||||
item.put("parentId", null);
|
||||
item.put("expand", "1");
|
||||
item.put("fisvitual", rs.getString("fisvitual"));
|
||||
item.put("hasChildren", hasChildren(rs.getString("id"), true));
|
||||
list.add(item);
|
||||
}
|
||||
|
|
@ -158,7 +159,7 @@ public class OrgChartServiceImpl extends Service implements OrgChartService {
|
|||
}
|
||||
|
||||
private void findCompanyItemByParantId(String id, int currentLevel, String level, RecordSet rs, List<Map<String, Object>> list, String whereSql, boolean expand) {
|
||||
String sql = "select id, fname, ftype, fparentid,fobjid,fecid,fnumber from jcl_org_map " + whereSql;
|
||||
String sql = "select id, fname, ftype, fparentid,fobjid,fecid,fnumber,fisvitual from jcl_org_map " + whereSql;
|
||||
DetachUtil detachUtil = new DetachUtil(user.getUID());
|
||||
if (detachUtil.isDETACH() && "0".equals(id)) {
|
||||
sql += " and ftype = 1 and fobjid in(" + detachUtil.getJclRoleLevels() + ")";
|
||||
|
|
@ -176,6 +177,7 @@ public class OrgChartServiceImpl extends Service implements OrgChartService {
|
|||
item.put("fnumber", rs.getString("fnumber"));
|
||||
item.put("fobjid", rs.getString("fobjid"));
|
||||
item.put("fecid", rs.getString("fecid"));
|
||||
item.put("fisvitual", rs.getString("fisvitual"));
|
||||
item.put("expand", expand ? "1" : "0");
|
||||
item.put("hasChildren", hasChildren(rs.getString("id"), true));
|
||||
currentList.add(item);
|
||||
|
|
@ -247,7 +249,7 @@ public class OrgChartServiceImpl extends Service implements OrgChartService {
|
|||
|
||||
// 获取根节点
|
||||
RecordSet rs = new RecordSet();
|
||||
rs.executeQuery("select t.id, t.fname, t.ftype, t.fparentid, t.fleadername,t.fobjid,t.fecid, t.fleaderimg, t.fleaderjob, t.fplan, t.fonjob, t.fnumber, t.fleader, t.fleaderlv, t.fleaderst,t.fecid from jcl_org_map t " + whereSql + whereItemSql);
|
||||
rs.executeQuery("select t.id, t.fname, t.ftype, t.fparentid, t.fleadername,t.fobjid,t.fecid, t.fleaderimg, t.fleaderjob, t.fplan, t.fonjob, t.fnumber, t.fleader, t.fleaderlv, t.fleaderst, t.fecid, t.fisvitual from jcl_org_map t " + whereSql + whereItemSql);
|
||||
List<Map<String, Object>> list = new ArrayList<>();
|
||||
String id = null;
|
||||
if (rs.next()) {
|
||||
|
|
@ -270,6 +272,7 @@ public class OrgChartServiceImpl extends Service implements OrgChartService {
|
|||
item.put("fleaderlv", convertLevel(rs.getString("fleaderlv")));
|
||||
item.put("fleaderst", convertGrade(rs.getString("fleaderst")));
|
||||
item.put("fecid", rs.getString("fecid"));
|
||||
item.put("fisvitual", rs.getString("fisvitual"));
|
||||
list.add(item);
|
||||
}
|
||||
|
||||
|
|
@ -292,7 +295,7 @@ public class OrgChartServiceImpl extends Service implements OrgChartService {
|
|||
whereSql += " and fparentid in (" + ids + ") ";
|
||||
|
||||
RecordSet rs = new RecordSet();
|
||||
rs.executeQuery("select t.id, t.fname, t.ftype, t.fparentid, t.fleadername, t.fleaderimg, t.fleaderjob, t.fplan, t.fonjob, t.fnumber, t.fleader,t.fleaderlv, t.fleaderst,t.fobjid from jcl_org_map t " + whereSql);
|
||||
rs.executeQuery("select t.id, t.fname, t.ftype, t.fparentid, t.fleadername, t.fleaderimg, t.fleaderjob, t.fplan, t.fonjob, t.fnumber, t.fleader,t.fleaderlv, t.fleaderst,t.fobjid,t.fisvitual from jcl_org_map t " + whereSql);
|
||||
List<Map<String, Object>> currentList = new ArrayList<>();
|
||||
while (rs.next()) {
|
||||
Map<String, Object> item = new HashMap<>();
|
||||
|
|
@ -311,6 +314,7 @@ public class OrgChartServiceImpl extends Service implements OrgChartService {
|
|||
item.put("fleaderlv", convertLevel(rs.getString("fleaderlv")));
|
||||
item.put("fleaderst", convertGrade(rs.getString("fleaderst")));
|
||||
item.put("fobjid", rs.getString("fobjid"));
|
||||
item.put("fisvitual", rs.getString("fisvitual"));
|
||||
currentList.add(item);
|
||||
}
|
||||
|
||||
|
|
@ -346,7 +350,7 @@ public class OrgChartServiceImpl extends Service implements OrgChartService {
|
|||
whereSql += " and fparentid in (" + ids + ") ";
|
||||
|
||||
RecordSet rs = new RecordSet();
|
||||
rs.executeQuery("select id, fname, ftype, fparentid, fnumber,fobjid from jcl_org_map " + whereSql);
|
||||
rs.executeQuery("select id, fname, ftype, fparentid, fnumber,fobjid,fisvitual from jcl_org_map " + whereSql);
|
||||
List<Map<String, Object>> currentList = new ArrayList<>();
|
||||
while (rs.next()) {
|
||||
Map<String, Object> item = new HashMap<>();
|
||||
|
|
@ -356,6 +360,7 @@ public class OrgChartServiceImpl extends Service implements OrgChartService {
|
|||
item.put("parentId", rs.getString("fparentid"));
|
||||
item.put("fnumber", rs.getString("fnumber"));
|
||||
item.put("fobjid", rs.getString("fobjid"));
|
||||
item.put("fisvitual", rs.getString("fisvitual"));
|
||||
item.put("hasChildren", hasChildren(rs.getString("id"), true));
|
||||
currentList.add(item);
|
||||
}
|
||||
|
|
@ -368,7 +373,7 @@ public class OrgChartServiceImpl extends Service implements OrgChartService {
|
|||
|
||||
|
||||
private void findUserItemByParantId(String id, int currentLevel, String level, RecordSet rs, List<Map<String, Object>> list, String whereSql, boolean expand) {
|
||||
String sql = "select t.id, t.fname, t.ftype, t.fparentid,t.fobjparentid,t.fleader, t.fleadername, t.fleaderimg, t.fleaderjob, t.fplan, t.fonjob, t.fnumber,t.fobjid,t.fecid,t.fleaderlv, t.fleaderst from jcl_org_map t " + whereSql;
|
||||
String sql = "select t.id, t.fname, t.ftype, t.fparentid, t.fobjparentid, t.fleader, t.fleadername, t.fleaderimg, t.fleaderjob, t.fplan, t.fonjob, t.fnumber, t.fobjid, t.fecid, t.fleaderlv, t.fleaderst, t.fisvitual from jcl_org_map t " + whereSql;
|
||||
DetachUtil detachUtil = new DetachUtil(user.getUID());
|
||||
if (detachUtil.isDETACH() && "0".equals(id)) {
|
||||
sql += " and ftype = 1 and fobjid in(" + detachUtil.getJclRoleLevels() + ")";
|
||||
|
|
@ -396,6 +401,7 @@ public class OrgChartServiceImpl extends Service implements OrgChartService {
|
|||
item.put("fleader", rs.getString("fleader"));
|
||||
item.put("fleaderlv", convertLevel(rs.getString("fleaderlv")));
|
||||
item.put("fleaderst", convertGrade(rs.getString("fleaderst")));
|
||||
item.put("fisvitual", rs.getString("fisvitual"));
|
||||
item.put("hasChildren", hasChildren(rs.getString("id"), false));
|
||||
currentList.add(item);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,61 @@
|
|||
package weaver.formmode.customjavacode.modeexpand;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.engine.organization.entity.map.JclOrgMap;
|
||||
import com.engine.organization.mapper.jclorgmap.JclOrgMapper;
|
||||
import com.engine.organization.util.OrganizationDateUtil;
|
||||
import com.engine.organization.util.db.MapperProxyFactory;
|
||||
import weaver.conn.RecordSet;
|
||||
import weaver.formmode.customjavacode.AbstractModeExpandJavaCodeNew;
|
||||
import weaver.general.Util;
|
||||
import weaver.hrm.User;
|
||||
import weaver.soa.workflow.request.RequestInfo;
|
||||
|
||||
import java.sql.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 虚拟组织删除map表接口
|
||||
*/
|
||||
public class VODeleteModeExpand extends AbstractModeExpandJavaCodeNew {
|
||||
|
||||
public Map<String, String> doModeExpand(Map<String, Object> param) {
|
||||
Map<String, String> result = new HashMap<String, String>();
|
||||
try {
|
||||
User user = (User) param.get("user");
|
||||
int billid = -1;//数据id
|
||||
int modeid = -1;//模块id
|
||||
RequestInfo requestInfo = (RequestInfo) param.get("RequestInfo");
|
||||
if (requestInfo != null) {
|
||||
billid = Util.getIntValue(requestInfo.getRequestid());
|
||||
modeid = Util.getIntValue(requestInfo.getWorkflowid());
|
||||
if (billid > 0 && modeid > 0) {
|
||||
//------请在下面编写业务逻辑代码------
|
||||
String billids = (String) param.get("billids");
|
||||
String[] billidsTmp = billids.split(",");
|
||||
String currentDate = OrganizationDateUtil.getFormatLocalDate(new java.util.Date());
|
||||
for (String id : billidsTmp) {
|
||||
RecordSet rs = new RecordSet();
|
||||
rs.executeQuery("select id, fid, fecid, fname, ftype, forder, fparentid, fdate from uf_jcl_org_vir where id ='" + id + "'");
|
||||
if (rs.next()) {
|
||||
String ftype = rs.getString("ftype");
|
||||
String fdate = rs.getString("fdate");
|
||||
RecordSet recordSet = new RecordSet();
|
||||
String delsql = "delete JCL_ORG_MAP where id=" + id + " and ftype='" + ftype + "' and fisvitual='1' and fdatebegin='" + fdate + "'";
|
||||
recordSet.execute(delsql);
|
||||
String updatesql = "update JCL_ORG_MAP set fdateend=' " + new Date(OrganizationDateUtil.stringToDate(currentDate).getTime()) +
|
||||
"' where id=" + id + " and ftype='" + ftype + "' and fisvitual='1' and fdateend > '" +fdate + "'";
|
||||
recordSet.execute(updatesql);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
result.put("errmsg", "自定义出错信息");
|
||||
result.put("flag", "false");
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -15,7 +15,10 @@ import weaver.general.Util;
|
|||
import weaver.hrm.User;
|
||||
import weaver.soa.workflow.request.RequestInfo;
|
||||
|
||||
public class VirOrgServiceImpl extends AbstractModeExpandJavaCodeNew {
|
||||
/**
|
||||
* 虚拟组织新增修改到map表接口
|
||||
*/
|
||||
public class VOModeExpand extends AbstractModeExpandJavaCodeNew {
|
||||
|
||||
public Map<String, String> doModeExpand(Map<String, Object> param) {
|
||||
Map<String, String> result = new HashMap<String, String>();
|
||||
|
|
@ -28,42 +31,45 @@ public class VirOrgServiceImpl extends AbstractModeExpandJavaCodeNew {
|
|||
billid = Util.getIntValue(requestInfo.getRequestid());
|
||||
modeid = Util.getIntValue(requestInfo.getWorkflowid());
|
||||
if(billid>0&&modeid>0){
|
||||
//------请在下面编写业务逻辑代码------
|
||||
// 获取字段field
|
||||
RecordSet rs = new RecordSet();
|
||||
rs.executeQuery("select b.id from workflow_bill a \n" +
|
||||
"INNER JOIN workflow_billfield b on a.id=b.billid\n" +
|
||||
"where a.tablename='uf_jcl_org_vir' and b.fieldname='fid'");
|
||||
String field = "field";
|
||||
if (rs.next()) {
|
||||
field += rs.getString("id");
|
||||
}
|
||||
//JSON转换,获取虚拟组织表的fid
|
||||
String JSONStr = (String) param.get("JSONStr");
|
||||
JSONObject jsonObject = (JSONObject) JSONObject.parse(JSONStr);
|
||||
String fid = jsonObject.getString(field);
|
||||
JclOrgMap jclOrgMap = new JclOrgMap();
|
||||
String fid = jsonObject.getString(queryField("fid"));
|
||||
String iscreate = (String)param.get("iscreate");
|
||||
//查询虚拟组织表中的新增记录
|
||||
RecordSet recordSet = new RecordSet();
|
||||
recordSet.executeQuery("select id, fid, fname, ftype, forder, fparentid, fdate from uf_jcl_org_vir where fid = '" + fid + "'");
|
||||
recordSet.executeQuery("select id, fid, fecid, fname, ftype, forder, fparentid, fdate from uf_jcl_org_vir where fid = '" + fid + "'");
|
||||
JclOrgMap jclOrgMap = new JclOrgMap();
|
||||
if(recordSet.next()){
|
||||
Integer ftype = Integer.valueOf(recordSet.getString("ftype"));
|
||||
jclOrgMap.setFType(ftype);
|
||||
jclOrgMap.setFIsVitual(1);//虚拟组织标记
|
||||
jclOrgMap.setFClass(-1);//-1,虚拟组织
|
||||
jclOrgMap.setFClassName("虚拟组织");
|
||||
jclOrgMap.setFClass(0);//-1,行政维度
|
||||
jclOrgMap.setFClassName("行政维度");
|
||||
jclOrgMap.setFDateBegin(new Date(OrganizationDateUtil.stringToDate(recordSet.getString("fdate")).getTime()));
|
||||
jclOrgMap.setFDateEnd(new Date(OrganizationDateUtil.stringToDate("2099-12-31").getTime()));
|
||||
jclOrgMap.setFNumber(String.valueOf(modeid));//模块的数据编号
|
||||
jclOrgMap.setId(Integer.valueOf(recordSet.getString("id")));
|
||||
jclOrgMap.setFName(recordSet.getString("fname"));
|
||||
jclOrgMap.setFParentId(Integer.valueOf(recordSet.getString("fparentid")));
|
||||
if ("1".equals(recordSet.getString("ftype"))) {
|
||||
jclOrgMap.setFParentId(0);
|
||||
}else {
|
||||
jclOrgMap.setFParentId(Integer.valueOf(recordSet.getString("fparentid")));
|
||||
}else if("4".equals(recordSet.getString("ftype"))){
|
||||
RecordSet rsHrm = new RecordSet();
|
||||
rsHrm.executeQuery("select lastname from HrmResource where id=" + recordSet.getString("fecid"));
|
||||
if(rsHrm.next()){
|
||||
jclOrgMap.setFName(rsHrm.getString("lastname"));
|
||||
}
|
||||
}
|
||||
MapperProxyFactory.getProxy(JclOrgMapper.class).insertMap(jclOrgMap);
|
||||
}
|
||||
if(iscreate.equals("2")){
|
||||
RecordSet rs = new RecordSet();
|
||||
String delsql = "delete JCL_ORG_MAP where id="+jclOrgMap.getId()+" and ftype='"+jclOrgMap.getFType()+"' and fisvitual='1' and fdatebegin='"+jclOrgMap.getFDateBegin()+"'";
|
||||
rs.execute(delsql);
|
||||
String updatesql = "update JCL_ORG_MAP set fdateend='"+jclOrgMap.getFDateBegin()+"' where id="+jclOrgMap.getId()+" and ftype='"+jclOrgMap.getFType()+"' and fisvitual='1' and fdateend > '"+jclOrgMap.getFDateBegin()+"'";
|
||||
rs.execute(updatesql);
|
||||
}
|
||||
MapperProxyFactory.getProxy(JclOrgMapper.class).insertMap(jclOrgMap);
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
|
|
@ -72,4 +78,21 @@ public class VirOrgServiceImpl extends AbstractModeExpandJavaCodeNew {
|
|||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询表单对应字段
|
||||
*/
|
||||
private String queryField(String fieldName) {
|
||||
RecordSet rs = new RecordSet();
|
||||
rs.executeQuery("select b.id from workflow_bill a \n" +
|
||||
"INNER JOIN workflow_billfield b on a.id=b.billid\n" +
|
||||
"where a.tablename='uf_jcl_org_vir' and b.fieldname='" + fieldName + "'");
|
||||
String field = "field";
|
||||
if (rs.next()) {
|
||||
field += rs.getString("id");
|
||||
}
|
||||
return field;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue