Commit f340a851 by shiwenbo

修改岗位管理模型依赖

parent 297739e1
...@@ -15,4 +15,6 @@ public interface DinasOrganizationDao { ...@@ -15,4 +15,6 @@ public interface DinasOrganizationDao {
List<Map<String, Object>> queryOrganizationByStaffId(UUID uuid); List<Map<String, Object>> queryOrganizationByStaffId(UUID uuid);
List<KObject> queryFollowerByStaffId(UUID id); List<KObject> queryFollowerByStaffId(UUID id);
KObject load(UUID id);
} }
...@@ -103,4 +103,9 @@ public class DinasOrganizationDaoImpl implements DinasOrganizationDao, DinasOrga ...@@ -103,4 +103,9 @@ public class DinasOrganizationDaoImpl implements DinasOrganizationDao, DinasOrga
}); });
} }
@Override
public KObject load(UUID id) {
return (KObject) template.load(ORGANIZATION_ENTITY, id);
}
} }
...@@ -2,6 +2,7 @@ package com.xyst.dinas.biz.internal.service; ...@@ -2,6 +2,7 @@ package com.xyst.dinas.biz.internal.service;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.UUID;
import org.hibernate.Session; import org.hibernate.Session;
import org.hibernate.query.Query; import org.hibernate.query.Query;
...@@ -49,6 +50,11 @@ public class DinasOrganizationServiceImpl implements DinasOrganizationService { ...@@ -49,6 +50,11 @@ public class DinasOrganizationServiceImpl implements DinasOrganizationService {
return list; return list;
} }
@Override
public KObject load(UUID id) {
return dinasOrganizationDao.load(id);
}
} }
...@@ -2,6 +2,7 @@ package com.xyst.dinas.biz.internal.service; ...@@ -2,6 +2,7 @@ package com.xyst.dinas.biz.internal.service;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.UUID; import java.util.UUID;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -10,6 +11,7 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -10,6 +11,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import com.beecode.amino.core.Amino; import com.beecode.amino.core.Amino;
import com.beecode.bap.staff.BapContext;
import com.beecode.bap.staff.service.StaffService; import com.beecode.bap.staff.service.StaffService;
import com.beecode.bcp.core.context.AminoContextHolder; import com.beecode.bcp.core.context.AminoContextHolder;
import com.beecode.bcp.type.KClass; import com.beecode.bcp.type.KClass;
...@@ -18,6 +20,7 @@ import com.beecode.bcp.type.json.JSONObjectUtils; ...@@ -18,6 +20,7 @@ import com.beecode.bcp.type.json.JSONObjectUtils;
import com.beecode.inz.basis.team.pojo.ResponseObj; import com.beecode.inz.basis.team.pojo.ResponseObj;
import com.xyst.dinas.biz.constant.PositionConstant; import com.xyst.dinas.biz.constant.PositionConstant;
import com.xyst.dinas.biz.dao.PositionDao; import com.xyst.dinas.biz.dao.PositionDao;
import com.xyst.dinas.biz.service.DinasOrganizationService;
import com.xyst.dinas.biz.service.PositionService; import com.xyst.dinas.biz.service.PositionService;
public class PositionServiceImpl implements PositionService, PositionConstant { public class PositionServiceImpl implements PositionService, PositionConstant {
...@@ -28,13 +31,19 @@ public class PositionServiceImpl implements PositionService, PositionConstant { ...@@ -28,13 +31,19 @@ public class PositionServiceImpl implements PositionService, PositionConstant {
@Autowired @Autowired
private StaffService staffService; private StaffService staffService;
@Autowired
public BapContext bapContext;
@Autowired
public DinasOrganizationService dinasOrganizationService;
@Override @Override
@Transactional @Transactional
public Object saveAndUpdate(JSONObject jsonObject) { public Object saveAndUpdate(JSONObject jsonObject) {
try{ try{
KObject staff = AminoContextHolder.getContext().getStaff(); KObject staff = AminoContextHolder.getContext().getStaff();
//当前登录人所在区域公司 //当前登录人所在区域公司
KObject department = staff.get("department"); KObject currentRegionalCompany = getCurrentLoginRegionalCompany();
if (jsonObject.isNull("id") || StringUtils.isEmpty(jsonObject.getString("id"))) { if (jsonObject.isNull("id") || StringUtils.isEmpty(jsonObject.getString("id"))) {
//新建 //新建
KClass kClass = Amino.getApplicationMetadataContext().getBean(ENTITY, KClass.class); KClass kClass = Amino.getApplicationMetadataContext().getBean(ENTITY, KClass.class);
...@@ -43,30 +52,30 @@ public class PositionServiceImpl implements PositionService, PositionConstant { ...@@ -43,30 +52,30 @@ public class PositionServiceImpl implements PositionService, PositionConstant {
kObject.set("id", UUID.randomUUID()); kObject.set("id", UUID.randomUUID());
kObject.set("creator", staff); kObject.set("creator", staff);
kObject.set("createTime", new Date()); kObject.set("createTime", new Date());
kObject.set("regionalCompany", department); kObject.set("regionalCompany", currentRegionalCompany);
positionDao.save(kObject); positionDao.save(kObject);
} else { } else {
//编辑 //编辑
KObject kObject = positionDao.load(UUID.fromString(jsonObject.getString("id"))); KObject kObject = positionDao.load(UUID.fromString(jsonObject.getString("id")));
//如果岗位名称更改,更改已经关联的岗位名称 //如果岗位名称更改,更改已经关联的岗位名称
if (!kObject.getString("name").equals(jsonObject.getString("name"))) { // if (!kObject.getString("name").equals(jsonObject.getString("name"))) {
List<KObject> allStaffByDeptList = staffService.getAllByDept(department.getUuid("id")); // List<KObject> allStaffByDeptList = staffService.getAllByDept(department.getUuid("id"));
if (allStaffByDeptList.size() > 0 && allStaffByDeptList != null) { // if (allStaffByDeptList.size() > 0 && allStaffByDeptList != null) {
for (int i = 0; i < allStaffByDeptList.size(); i++) { // for (int i = 0; i < allStaffByDeptList.size(); i++) {
KObject staffByDept = allStaffByDeptList.get(i); // KObject staffByDept = allStaffByDeptList.get(i);
//如果岗位不为空 // //如果岗位不为空
if (StringUtils.isNotEmpty(staffByDept.getString("name"))) { // if (StringUtils.isNotEmpty(staffByDept.getString("name"))) {
if (kObject.getString("name").equals(staffByDept.getString("duty"))) { // if (kObject.getString("name").equals(staffByDept.getString("duty"))) {
//编辑员工岗位 // //编辑员工岗位
staffByDept.set("duty", jsonObject.getString("name")); // staffByDept.set("duty", jsonObject.getString("name"));
staffService.modify(staffByDept); // staffService.modify(staffByDept);
} // }
//
} // }
} // }
} // }
} // }
kObject.set("modifyTime", new Date()); kObject.set("modifyTime", new Date());
kObject.set("modifier", staff); kObject.set("modifier", staff);
kObject.set("name", jsonObject.getString("name")); kObject.set("name", jsonObject.getString("name"));
...@@ -111,4 +120,18 @@ public class PositionServiceImpl implements PositionService, PositionConstant { ...@@ -111,4 +120,18 @@ public class PositionServiceImpl implements PositionService, PositionConstant {
return flag; return flag;
} }
/**
* 获取当前登录的区域公司
* @return
*/
public KObject getCurrentLoginRegionalCompany() {
Map<String, String> map = bapContext.getCurrentUserDatas();
String currentRegionalCompany = map.get("currentRegionalCompany");
JSONObject obj = new JSONObject(currentRegionalCompany);
KObject regionalCompany = dinasOrganizationService.load(UUID.fromString(obj.getString("id")));
return regionalCompany;
}
} }
package com.xyst.dinas.biz.service; package com.xyst.dinas.biz.service;
import java.util.List; import java.util.List;
import java.util.UUID;
import com.beecode.bcp.type.KObject; import com.beecode.bcp.type.KObject;
...@@ -13,4 +14,6 @@ public interface DinasOrganizationService { ...@@ -13,4 +14,6 @@ public interface DinasOrganizationService {
Object queryOrganizationByUserName(String name); Object queryOrganizationByUserName(String name);
List<KObject> queryFollowerByUserName(String name); List<KObject> queryFollowerByUserName(String name);
KObject load(UUID id);
} }
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
<dataModel id='235230b3-0e48-46b9-bc48-07e750f16722' multiVersion='' domainInherit='undefined' tableName='xyst_dinas_position'> <dataModel id='235230b3-0e48-46b9-bc48-07e750f16722' multiVersion='' domainInherit='undefined' tableName='xyst_dinas_position'>
<parent>com.beecode.bap.biztrait.datamodel.BasicBillRequirement</parent> <parent>com.beecode.bap.biztrait.datamodel.BasicBillRequirement</parent>
<parent>com.beecode.inz.common.datamodel.BaseInfo</parent> <parent>com.beecode.inz.common.datamodel.BaseInfo</parent>
<attribute id='c4154a1b-f727-48cf-9ef0-ad1bee512504' name='regionalCompany' columnName='regional_company' title='区域公司' type='com.beecode.bap.department.datamodel.Department' default='' precision='' isArray='false'> <attribute id='c4154a1b-f727-48cf-9ef0-ad1bee512504' name='regionalCompany' columnName='regional_company' title='区域公司' type='com.xyst.dinas.biz.datamodel.Organization' default='' precision='' isArray='false'>
<annotation id='00caecc1-35aa-4342-90c8-250f84609fe4' attributeId='55efd3f5-036a-4ac4-83c9-14e22cf5465a' name='length' value='undefined'> <annotation id='00caecc1-35aa-4342-90c8-250f84609fe4' attributeId='55efd3f5-036a-4ac4-83c9-14e22cf5465a' name='length' value='undefined'>
</annotation> </annotation>
<annotation id='95a6dd6d-c676-4265-9c8b-d115c13b472f' attributeId='43768653-e259-4b0f-8c9d-8739f030675b' name='mappingType' value='many-to-one'> <annotation id='95a6dd6d-c676-4265-9c8b-d115c13b472f' attributeId='43768653-e259-4b0f-8c9d-8739f030675b' name='mappingType' value='many-to-one'>
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
</innerScene> </innerScene>
<innerScene title='权限过滤'> <innerScene title='权限过滤'>
<id>4a2e48e2-5bdd-467c-bbc3-d31a02f55087</id> <id>4a2e48e2-5bdd-467c-bbc3-d31a02f55087</id>
<javaImplement>com.xyst.dinas.biz.scene.XystDinasCommonAllScene/javaImplement> <javaImplement>com.xyst.dinas.biz.scene.XystDinasCommonAllScene</javaImplement>
<defaultExecute>true</defaultExecute> <defaultExecute>true</defaultExecute>
<hide>true</hide> <hide>true</hide>
</innerScene> </innerScene>
...@@ -39,20 +39,20 @@ ...@@ -39,20 +39,20 @@
<description></description> <description></description>
</field> </field>
<field title='区域公司id'> <field title='区域公司id'>
<name>department.id</name> <name>regionalCompany.id</name>
<type>uuid</type> <type>uuid</type>
<ref> <ref>
<type></type> <type></type>
<name>com.beecode.bap.department.datamodel.Department</name> <name>com.xyst.dinas.biz.datamodel.Organization</name>
</ref> </ref>
<description></description> <description></description>
</field> </field>
<field title='区域公司名称'> <field title='区域公司名称'>
<name>department.name</name> <name>regionalCompany.name</name>
<type>string</type> <type>string</type>
<ref> <ref>
<type></type> <type></type>
<name>com.beecode.bap.department.datamodel.Department</name> <name>com.xyst.dinas.biz.datamodel.Organization</name>
</ref> </ref>
<description></description> <description></description>
</field> </field>
......
...@@ -7,10 +7,10 @@ ...@@ -7,10 +7,10 @@
<description>岗位</description> <description>岗位</description>
<define>bcp.type.Class</define> <define>bcp.type.Class</define>
<define-version>1.0</define-version> <define-version>1.0</define-version>
<dependency>com.xyst.dinas.biz.datamodel.Organization</dependency>
<dependency>bcp.type.constraint.StringLength</dependency> <dependency>bcp.type.constraint.StringLength</dependency>
<dependency>com.beecode.inz.common.datamodel.BaseInfo</dependency> <dependency>com.beecode.inz.common.datamodel.BaseInfo</dependency>
<dependency>com.beecode.bap.biztrait.datamodel.BasicBillRequirement</dependency> <dependency>com.beecode.bap.biztrait.datamodel.BasicBillRequirement</dependency>
<dependency>com.beecode.bap.department.datamodel.Department</dependency>
<content> <content>
<m:class> <m:class>
<m:parents> <m:parents>
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
<m:id>c4154a1b-f727-48cf-9ef0-ad1bee512504</m:id> <m:id>c4154a1b-f727-48cf-9ef0-ad1bee512504</m:id>
<m:name>regionalCompany</m:name> <m:name>regionalCompany</m:name>
<m:title>区域公司</m:title> <m:title>区域公司</m:title>
<m:type>com.beecode.bap.department.datamodel.Department</m:type> <m:type>com.xyst.dinas.biz.datamodel.Organization</m:type>
<m:description></m:description> <m:description></m:description>
<m:default></m:default> <m:default></m:default>
</m:attribute> </m:attribute>
......
...@@ -48,21 +48,21 @@ ...@@ -48,21 +48,21 @@
<m:desc></m:desc> <m:desc></m:desc>
</m:field> </m:field>
<m:field> <m:field>
<m:name>department.id</m:name> <m:name>regionalCompany.id</m:name>
<m:title>区域公司id</m:title> <m:title>区域公司id</m:title>
<m:type>uuid</m:type> <m:type>uuid</m:type>
<m:ref> <m:ref>
<m:name>com.beecode.bap.department.datamodel.Department</m:name> <m:name>com.xyst.dinas.biz.datamodel.Organization</m:name>
<m:type></m:type> <m:type></m:type>
</m:ref> </m:ref>
<m:desc></m:desc> <m:desc></m:desc>
</m:field> </m:field>
<m:field> <m:field>
<m:name>department.name</m:name> <m:name>regionalCompany.name</m:name>
<m:title>区域公司名称</m:title> <m:title>区域公司名称</m:title>
<m:type>string</m:type> <m:type>string</m:type>
<m:ref> <m:ref>
<m:name>com.beecode.bap.department.datamodel.Department</m:name> <m:name>com.xyst.dinas.biz.datamodel.Organization</m:name>
<m:type></m:type> <m:type></m:type>
</m:ref> </m:ref>
<m:desc></m:desc> <m:desc></m:desc>
......
...@@ -42,7 +42,7 @@ ...@@ -42,7 +42,7 @@
<property name="name" type="nstring" not-null="false"> <property name="name" type="nstring" not-null="false">
<column name="name" length="50"></column> <column name="name" length="50"></column>
</property> </property>
<many-to-one name="regionalCompany" entity-name="com.beecode.bap.department.datamodel.Department" fetch="select"> <many-to-one name="regionalCompany" entity-name="com.xyst.dinas.biz.datamodel.Organization" fetch="select">
<column name="regional_company" not-null="false"/> <column name="regional_company" not-null="false"/>
</many-to-one> </many-to-one>
<property name="description" type="nstring" not-null="false"> <property name="description" type="nstring" not-null="false">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment