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 populationMap(ProjectEntity t){ Map map = new HashMap(); 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 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 getProjectsByUserid(String userid) { List projectList = new ArrayList(); 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> departRet = findForJdbc(departSql, userid); if(departRet != null && departRet.size() > 0) { Map 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 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; } }