Commit cc931be9 by shiwenbo

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

parent dedbf50f
......@@ -10,6 +10,8 @@ public interface DinasOrganizationDao {
KObject queryOrganizationByName(String name);
KObject queryOrganizationByCode(String code);
void save(KObject kObject);
List<Map<String, Object>> queryOrganizationByStaffId(UUID uuid);
......
package com.xyst.dinas.biz.internal.dao;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import javax.persistence.Tuple;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.query.NativeQuery;
import org.hibernate.query.Query;
import org.omg.CosNaming.NamingContextExtPackage.StringNameHelper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate5.HibernateCallback;
import org.springframework.orm.hibernate5.HibernateOperations;
import org.springframework.orm.hibernate5.HibernateTemplate;
import com.beecode.amino.common.Convert;
import com.beecode.bcp.type.KObject;
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.PositionDao;
public class DinasOrganizationDaoImpl implements DinasOrganizationDao, DinasOrganizationConstant {
......@@ -52,6 +48,18 @@ public class DinasOrganizationDaoImpl implements DinasOrganizationDao, DinasOrga
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
public List<Map<String, Object>> queryOrganizationByStaffId(UUID id) {
// return (List<KObject>)template.execute(new HibernateCallback<List<KObject>>() {
......@@ -164,4 +172,9 @@ public class DinasOrganizationDaoImpl implements DinasOrganizationDao, DinasOrga
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 {
KObject org = dinasOrganizationDao.queryOrganizationByName(name);
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 {
boolean repeatName(String name);
boolean repeatCode(String code);
/**
* 获取当前区域公司
* @return
......
......@@ -51,6 +51,12 @@ public class DinasOrganizationController {
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
......
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