Commit cc931be9 by shiwenbo

组织机构增加编号的重复校验

parent dedbf50f
...@@ -9,6 +9,8 @@ import com.beecode.bcp.type.KObject; ...@@ -9,6 +9,8 @@ import com.beecode.bcp.type.KObject;
public interface DinasOrganizationDao { public interface DinasOrganizationDao {
KObject queryOrganizationByName(String name); KObject queryOrganizationByName(String name);
KObject queryOrganizationByCode(String code);
void save(KObject kObject); void save(KObject kObject);
......
package com.xyst.dinas.biz.internal.dao; package com.xyst.dinas.biz.internal.dao;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.UUID; import java.util.UUID;
import javax.persistence.Tuple; import javax.persistence.Tuple;
import org.hibernate.HibernateException; import org.hibernate.HibernateException;
import org.hibernate.Session; import org.hibernate.Session;
import org.hibernate.query.NativeQuery;
import org.hibernate.query.Query; import org.hibernate.query.Query;
import org.omg.CosNaming.NamingContextExtPackage.StringNameHelper;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate5.HibernateCallback; import org.springframework.orm.hibernate5.HibernateCallback;
import org.springframework.orm.hibernate5.HibernateOperations;
import org.springframework.orm.hibernate5.HibernateTemplate; import org.springframework.orm.hibernate5.HibernateTemplate;
import com.beecode.amino.common.Convert; import com.beecode.amino.common.Convert;
import com.beecode.bcp.type.KObject; import com.beecode.bcp.type.KObject;
import com.xyst.dinas.biz.constant.DinasOrganizationConstant; import com.xyst.dinas.biz.constant.DinasOrganizationConstant;
import com.xyst.dinas.biz.constant.PositionConstant;
import com.xyst.dinas.biz.dao.DinasOrganizationDao; import com.xyst.dinas.biz.dao.DinasOrganizationDao;
import com.xyst.dinas.biz.dao.PositionDao;
public class DinasOrganizationDaoImpl implements DinasOrganizationDao, DinasOrganizationConstant { public class DinasOrganizationDaoImpl implements DinasOrganizationDao, DinasOrganizationConstant {
...@@ -51,6 +47,18 @@ public class DinasOrganizationDaoImpl implements DinasOrganizationDao, DinasOrga ...@@ -51,6 +47,18 @@ public class DinasOrganizationDaoImpl implements DinasOrganizationDao, DinasOrga
} }
return list.get(0); return list.get(0);
} }
@SuppressWarnings("unchecked")
private KObject getByCode(Session session, String className, String codeValue) {
String hql = "from " + className + " where code = :code and (discard is null or discard = 0)";
Query<KObject> query = session.createQuery(hql);
query.setParameter("code", codeValue);
List<KObject> list = query.getResultList();
if (list.size() < 1) {
return null;
}
return list.get(0);
}
@Override @Override
public List<Map<String, Object>> queryOrganizationByStaffId(UUID id) { public List<Map<String, Object>> queryOrganizationByStaffId(UUID id) {
...@@ -164,4 +172,9 @@ public class DinasOrganizationDaoImpl implements DinasOrganizationDao, DinasOrga ...@@ -164,4 +172,9 @@ public class DinasOrganizationDaoImpl implements DinasOrganizationDao, DinasOrga
return query.getResultList(); return query.getResultList();
}); });
} }
@Override
public KObject queryOrganizationByCode(String code) {
return template.execute(session -> getByCode(session, ORGANIZATION_ENTITY, code));
}
} }
...@@ -133,4 +133,10 @@ public class DinasOrganizationServiceImpl implements DinasOrganizationService { ...@@ -133,4 +133,10 @@ public class DinasOrganizationServiceImpl implements DinasOrganizationService {
KObject org = dinasOrganizationDao.queryOrganizationByName(name); KObject org = dinasOrganizationDao.queryOrganizationByName(name);
return org == null ? false : true; return org == null ? false : true;
} }
@Override
public boolean repeatCode(String code) {
KObject org = dinasOrganizationDao.queryOrganizationByCode(code);
return org == null ? false : true;
}
} }
...@@ -22,6 +22,8 @@ public interface DinasOrganizationService { ...@@ -22,6 +22,8 @@ public interface DinasOrganizationService {
boolean repeatName(String name); boolean repeatName(String name);
boolean repeatCode(String code);
/** /**
* 获取当前区域公司 * 获取当前区域公司
* @return * @return
......
...@@ -51,6 +51,12 @@ public class DinasOrganizationController { ...@@ -51,6 +51,12 @@ public class DinasOrganizationController {
return dinasOrganizationService.repeatName(name); return dinasOrganizationService.repeatName(name);
} }
@ResponseBody
@RequestMapping(value = "/dinasBiz/organization/repeatCode/{code}", method = RequestMethod.GET)
public boolean repeatCode(@PathVariable("code") String code) {
return dinasOrganizationService.repeatCode(code);
}
/** /**
* 根据区域公司自动生成对应的部门并关联起来 * 根据区域公司自动生成对应的部门并关联起来
* @param id 区域公司id * @param id 区域公司id
......
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