package com.ld.igds.sys.service;
|
|
import com.bstek.bdf2.core.model.DefaultCompany;
|
import com.bstek.bdf2.core.model.DefaultDept;
|
import com.bstek.bdf2.core.model.DefaultUser;
|
import com.bstek.bdf2.core.model.UserDept;
|
import com.bstek.bdf2.core.orm.hibernate.HibernateDao;
|
import com.bstek.dorado.data.entity.EntityState;
|
import com.bstek.dorado.data.entity.EntityUtils;
|
import com.bstek.dorado.data.provider.Page;
|
import com.ld.igds.constant.Constant;
|
import com.ld.igds.util.ContextUtil;
|
import org.hibernate.Session;
|
import org.springframework.stereotype.Component;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* 框架中的组织信息接口
|
*/
|
@Component
|
public class SysCompanyService extends HibernateDao {
|
|
public void saveAll(List<DefaultCompany> list) {
|
Session session = this.getSessionFactory().openSession();
|
try {
|
for (DefaultCompany c : list) {
|
if (EntityState.MODIFIED.equals(EntityUtils.getState(c))) {
|
session.saveOrUpdate(c);
|
} else if (EntityState.NEW.equals(EntityUtils.getState(c))) {
|
session.saveOrUpdate(c);
|
// 默认创建用户
|
DefaultUser user = new DefaultUser();
|
user.setAdministrator(true);
|
user.setCname("系统管理员");
|
user.setCompanyId(c.getId());
|
user.setUsername(c.getId());
|
user.setEnabled(true);
|
//user.setEname("Admin");
|
user.setPassword("71513d28a0157221685926ab05792b1aa68aeb93");
|
user.setSalt("23");
|
session.saveOrUpdate(user);
|
} else if (EntityState.DELETED.equals(EntityUtils.getState(c))) {
|
session.delete(c);
|
}
|
}
|
} finally {
|
session.flush();
|
session.close();
|
}
|
}
|
|
@Transactional
|
public String register(DefaultCompany data) {
|
|
DefaultCompany defaultData = this.getCompany(data.getId());
|
if(null != defaultData){
|
return "当前组编码已经被使用,请更换!!";
|
}
|
|
Session session = this.getSessionFactory().openSession();
|
try {
|
session.save(data);
|
// 默认创建用户
|
DefaultUser user = new DefaultUser();
|
user.setAdministrator(true);
|
user.setCname("系统管理员");
|
user.setCompanyId(data.getId());
|
user.setUsername(data.getId());
|
user.setEnabled(true);
|
user.setPassword("6604b47a45cbc76b9a1dbac618b3b255db9af79c");
|
user.setSalt("93");
|
session.save(user);
|
|
// 创建一个部门
|
DefaultDept dept = new DefaultDept();
|
dept.setId(data.getId());
|
dept.setCompanyId(data.getId());
|
dept.setName(data.getName());
|
dept.setType(Constant.DEPT_TYPE_10);
|
dept.setLat(34.797358);
|
dept.setLon(113.548794);
|
session.save(dept);
|
|
// 创业一个子部门-粮库系统使用
|
dept = new DefaultDept();
|
dept.setId(data.getId() + "_001");
|
dept.setCompanyId(data.getId());
|
dept.setParentId(data.getId());
|
dept.setName(data.getName());
|
dept.setType(Constant.DEPT_TYPE_20);
|
dept.setLat(35.797358);
|
dept.setLon(114.548794);
|
session.save(dept);
|
|
//默认给用户分配部门
|
UserDept userDept = new UserDept();
|
userDept.setId(ContextUtil.getUUID());
|
userDept.setDeptId(data.getId());
|
userDept.setUsername(data.getId());
|
session.save(userDept);
|
|
|
} catch (Exception e) {
|
return "注册失败:" + e.getMessage();
|
} finally {
|
session.flush();
|
session.close();
|
}
|
|
return null;
|
}
|
|
public void findAll(Page<DefaultCompany> page, Map<String, Object> parameter)
|
throws Exception {
|
StringBuffer hql = new StringBuffer();
|
hql.append(" from " + DefaultCompany.class.getName() + " where 1=1 ");
|
Map<String, Object> args = new HashMap<>();
|
|
if (null != parameter){
|
buildHql(hql, parameter, args);
|
}
|
|
String countHql = "select count(*) " + hql.toString();
|
hql.append(" order by id desc ");
|
this.pagingQuery(page, hql.toString(), countHql, args);
|
}
|
|
private void buildHql(StringBuffer hql, Map<String, Object> parameter,
|
Map<String, Object> args) {
|
|
Object obj = parameter.get("id");
|
if (null != obj) {
|
hql.append(" and id =:id ");
|
args.put("id", obj);
|
}
|
|
obj = parameter.get("name");
|
if (null != obj) {
|
hql.append(" and name like :name ");
|
args.put("name", "%" + obj + "%");
|
}
|
|
obj = parameter.get("sysServer");
|
if (null != obj) {
|
hql.append(" and sysServer = :sysServer ");
|
args.put("sysServer", obj);
|
}
|
obj = parameter.get("smsServer");
|
if (null != obj) {
|
hql.append(" and smsServer = :smsServer ");
|
args.put("smsServer", obj);
|
}
|
obj = parameter.get("voiceServer");
|
if (null != obj) {
|
hql.append(" and voiceServer = :voiceServer ");
|
args.put("voiceServer", obj);
|
}
|
}
|
|
public DefaultCompany getCompany(String companyId) {
|
String hql = " from " + DefaultCompany.class.getName()
|
+ " where id=:id ";
|
Map<String, Object> args = new HashMap<>();
|
args.put("id", companyId);
|
List<DefaultCompany> list = this.query(hql, args);
|
if (null == list || list.isEmpty())
|
return null;
|
|
return list.get(0);
|
}
|
|
public List<DefaultCompany> getAll() {
|
return this.query("from " + DefaultCompany.class.getName());
|
}
|
|
public void updateData(DefaultCompany company) {
|
Session session = this.getSessionFactory().openSession();
|
try {
|
session.update(company);
|
} finally {
|
session.flush();
|
session.close();
|
}
|
}
|
}
|