| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256 |
- package cn.com.lzt.project.service.impl;
- import cn.com.lzt.project.service.ProjectServiceI;
- import org.apache.commons.lang.xwork.StringUtils;
- import org.jeecgframework.core.common.service.impl.CommonServiceImpl;
- import cn.com.lzt.project.entity.ProjectEntity;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import java.util.UUID;
- import java.io.Serializable;
- import org.jeecgframework.core.util.ApplicationContextUtil;
- import org.jeecgframework.core.util.MyClassLoader;
- import org.jeecgframework.core.util.StringUtil;
- import org.jeecgframework.web.cgform.enhance.CgformEnhanceJavaInter;
- import org.jeecgframework.web.system.pojo.base.TSDepart;
- @Service("projectService")
- @Transactional
- public class ProjectServiceImpl extends CommonServiceImpl implements ProjectServiceI {
-
- public void delete(ProjectEntity entity) throws Exception{
- super.delete(entity);
- //执行删除操作增强业务
- this.doDelBus(entity);
- }
-
- public Serializable save(ProjectEntity entity) throws Exception{
- Serializable t = super.save(entity);
- //执行新增操作增强业务
- this.doAddBus(entity);
- return t;
- }
-
- public void saveOrUpdate(ProjectEntity entity) throws Exception{
- super.saveOrUpdate(entity);
- //执行更新操作增强业务
- this.doUpdateBus(entity);
- }
-
- /**
- * 新增操作增强业务
- * @param t
- * @return
- */
- private void doAddBus(ProjectEntity t) throws Exception{
- //-----------------sql增强 start----------------------------
- //-----------------sql增强 end------------------------------
-
- //-----------------java增强 start---------------------------
- //-----------------java增强 end-----------------------------
- }
- /**
- * 更新操作增强业务
- * @param t
- * @return
- */
- private void doUpdateBus(ProjectEntity t) throws Exception{
- //-----------------sql增强 start----------------------------
- //-----------------sql增强 end------------------------------
-
- //-----------------java增强 start---------------------------
- //-----------------java增强 end-----------------------------
- }
- /**
- * 删除操作增强业务
- * @param id
- * @return
- */
- private void doDelBus(ProjectEntity t) throws Exception{
- //-----------------sql增强 start----------------------------
- //-----------------sql增强 end------------------------------
-
- //-----------------java增强 start---------------------------
- //-----------------java增强 end-----------------------------
- }
-
- private Map<String,Object> populationMap(ProjectEntity t){
- Map<String,Object> map = new HashMap<String,Object>();
- map.put("id", t.getId());
- map.put("create_name", t.getCreateName());
- map.put("create_by", t.getCreateBy());
- map.put("create_date", t.getCreateDate());
- map.put("update_name", t.getUpdateName());
- map.put("update_by", t.getUpdateBy());
- map.put("update_date", t.getUpdateDate());
- map.put("code", t.getCode());
- map.put("name", t.getName());
- map.put("leader", t.getLeader());
- map.put("zone", t.getZone());
- map.put("customer", t.getCustomer());
- map.put("status", t.getStatus());
- map.put("activetime", t.getActivetime());
- map.put("addr", t.getAddr());
- map.put("currentprocessstart", t.getCurrentprocessstart());
- map.put("currentprocessend", t.getCurrentprocessend());
- map.put("abbreviation", t.getAbbreviation());
- map.put("type", t.getType());
- map.put("defnum1", t.getDefnum1());
- map.put("defnum2", t.getDefnum2());
- map.put("defnum3", t.getDefnum3());
- map.put("defnum4", t.getDefnum4());
- map.put("defnum5", t.getDefnum5());
- map.put("defnum6", t.getDefnum6());
- map.put("defnum7", t.getDefnum7());
- map.put("defnum8", t.getDefnum8());
- map.put("defnum9", t.getDefnum9());
- map.put("defnum10", t.getDefnum10());
- map.put("defstr1", t.getDefstr1());
- map.put("defstr2", t.getDefstr2());
- map.put("defstr3", t.getDefstr3());
- map.put("defstr4", t.getDefstr4());
- map.put("defstr5", t.getDefstr5());
- map.put("defstr6", t.getDefstr6());
- map.put("defstr7", t.getDefstr7());
- map.put("defstr8", t.getDefstr8());
- map.put("defstr9", t.getDefstr9());
- map.put("defstr10", t.getDefstr10());
- return map;
- }
-
- /**
- * 替换sql中的变量
- * @param sql
- * @param t
- * @return
- */
- public String replaceVal(String sql,ProjectEntity t){
- sql = sql.replace("#{id}",String.valueOf(t.getId()));
- sql = sql.replace("#{create_name}",String.valueOf(t.getCreateName()));
- sql = sql.replace("#{create_by}",String.valueOf(t.getCreateBy()));
- sql = sql.replace("#{create_date}",String.valueOf(t.getCreateDate()));
- sql = sql.replace("#{update_name}",String.valueOf(t.getUpdateName()));
- sql = sql.replace("#{update_by}",String.valueOf(t.getUpdateBy()));
- sql = sql.replace("#{update_date}",String.valueOf(t.getUpdateDate()));
- sql = sql.replace("#{code}",String.valueOf(t.getCode()));
- sql = sql.replace("#{name}",String.valueOf(t.getName()));
- sql = sql.replace("#{leader}",String.valueOf(t.getLeader()));
- sql = sql.replace("#{zone}",String.valueOf(t.getZone()));
- sql = sql.replace("#{customer}",String.valueOf(t.getCustomer()));
- sql = sql.replace("#{status}",String.valueOf(t.getStatus()));
- sql = sql.replace("#{activetime}",String.valueOf(t.getActivetime()));
- sql = sql.replace("#{addr}",String.valueOf(t.getAddr()));
- sql = sql.replace("#{currentprocessstart}",String.valueOf(t.getCurrentprocessstart()));
- sql = sql.replace("#{currentprocessend}",String.valueOf(t.getCurrentprocessend()));
- sql = sql.replace("#{abbreviation}",String.valueOf(t.getAbbreviation()));
- sql = sql.replace("#{type}",String.valueOf(t.getType()));
- sql = sql.replace("#{defnum1}",String.valueOf(t.getDefnum1()));
- sql = sql.replace("#{defnum2}",String.valueOf(t.getDefnum2()));
- sql = sql.replace("#{defnum3}",String.valueOf(t.getDefnum3()));
- sql = sql.replace("#{defnum4}",String.valueOf(t.getDefnum4()));
- sql = sql.replace("#{defnum5}",String.valueOf(t.getDefnum5()));
- sql = sql.replace("#{defnum6}",String.valueOf(t.getDefnum6()));
- sql = sql.replace("#{defnum7}",String.valueOf(t.getDefnum7()));
- sql = sql.replace("#{defnum8}",String.valueOf(t.getDefnum8()));
- sql = sql.replace("#{defnum9}",String.valueOf(t.getDefnum9()));
- sql = sql.replace("#{defnum10}",String.valueOf(t.getDefnum10()));
- sql = sql.replace("#{defstr1}",String.valueOf(t.getDefstr1()));
- sql = sql.replace("#{defstr2}",String.valueOf(t.getDefstr2()));
- sql = sql.replace("#{defstr3}",String.valueOf(t.getDefstr3()));
- sql = sql.replace("#{defstr4}",String.valueOf(t.getDefstr4()));
- sql = sql.replace("#{defstr5}",String.valueOf(t.getDefstr5()));
- sql = sql.replace("#{defstr6}",String.valueOf(t.getDefstr6()));
- sql = sql.replace("#{defstr7}",String.valueOf(t.getDefstr7()));
- sql = sql.replace("#{defstr8}",String.valueOf(t.getDefstr8()));
- sql = sql.replace("#{defstr9}",String.valueOf(t.getDefstr9()));
- sql = sql.replace("#{defstr10}",String.valueOf(t.getDefstr10()));
- sql = sql.replace("#{UUID}",UUID.randomUUID().toString());
- return sql;
- }
-
- /**
- * 执行JAVA增强
- */
- private void executeJavaExtend(String cgJavaType,String cgJavaValue,Map<String,Object> data) throws Exception {
- if(StringUtil.isNotEmpty(cgJavaValue)){
- Object obj = null;
- try {
- if("class".equals(cgJavaType)){
- //因新增时已经校验了实例化是否可以成功,所以这块就不需要再做一次判断
- obj = MyClassLoader.getClassByScn(cgJavaValue).newInstance();
- }else if("spring".equals(cgJavaType)){
- obj = ApplicationContextUtil.getContext().getBean(cgJavaValue);
- }
- if(obj instanceof CgformEnhanceJavaInter){
- CgformEnhanceJavaInter javaInter = (CgformEnhanceJavaInter) obj;
- javaInter.execute("t_b_project",data);
- }
- } catch (Exception e) {
- e.printStackTrace();
- throw new Exception("执行JAVA增强出现异常!");
- }
- }
- }
- /*
- * 查询人员所述项目及监管项目
- * 返回值list.get(0)为所述项目
- * */
- @Override
- public List<String> getProjectsByUserid(String userid) {
- List<String> projectList = new ArrayList<String>();
- String departSql = "SELECT \n" +
- "baseuser.id userid,\n" +
- "depart.id departid,\n" +
- "group_concat(distinct jzdepart.id) jgdepartids\n" +
- "FROM t_s_base_user AS baseuser\n" +
- "LEFT JOIN t_s_user_org AS userorg ON baseuser.id = userorg.user_id AND userorg.status = '0' AND userorg.ifpluralism <> '1' \n" +
- "LEFT JOIN t_s_user_org AS userjzorg ON baseuser.id = userjzorg.user_id AND userjzorg.status = '0' AND userjzorg.ifpluralism = '1' \n" +
- "LEFT JOIN t_s_depart AS depart ON userorg.org_id = depart.id AND depart.status <> '1'\n" +
- "LEFT JOIN t_s_depart AS jzdepart ON userjzorg.org_id = jzdepart.id AND jzdepart.status <> '1'\n" +
- "where baseuser.id = ?";
- List<Map<String,Object>> departRet = findForJdbc(departSql, userid);
- if(departRet != null && departRet.size() > 0) {
- Map<String,Object> userinfo = departRet.get(0);
- String depart = userinfo.get("departid")==null?"":userinfo.get("departid").toString();
- //监管机构
- String jzdepart = userinfo.get("jgdepartids")==null?"":userinfo.get("jgdepartids").toString();
- if(StringUtils.isNotEmpty(depart))
- projectList.add(getParentProject(depart));
- if(StringUtils.isNotEmpty(jzdepart)) {
- String[] jzproject = jzdepart.split(",");
- for(String pid : jzproject) {
- projectList.add( getParentProject(pid));
- }
- }
- }
- return projectList;
- }
-
- private String getParentProject(String departid){
- String temp = "";
- if(!StringUtils.isNotEmpty(departid)) {
- return temp;
- }
- StringBuffer hql = new StringBuffer("from TSDepart where id = :pid");
- List<TSDepart> tsList = getSession().createQuery(hql.toString()).setParameter("pid", departid).list();
- if(!tsList.isEmpty()){
- TSDepart tsDepart = tsList.get(0);
- //直属项目、区域项目、公司类型
- if( "3".equals(tsDepart.getOrgType())|| "5".equals(tsDepart.getOrgType())|| "1".equals(tsDepart.getOrgType())
- || ("2".equals(tsDepart.getOrgType()) &&( "1".equals(tsDepart.getTSPDepart().getOrgType())))){
- temp = tsDepart.getProjectid();
- }else if("2".equals(tsDepart.getOrgType()) &&( "1".equals(tsDepart.getTSPDepart().getOrgType())
- || "3".equals(tsDepart.getTSPDepart().getOrgType())|| "5".equals(tsDepart.getTSPDepart().getOrgType()))){
- temp = tsDepart.getTSPDepart().getProjectid();
- }
- }
- return temp;
- }
- }
|