package cn.com.lzt.projectpostgeneral.service.impl; import cn.com.lzt.projectpostdetail.entity.ProjectPostDetailEntity; import cn.com.lzt.projectpostdetail.service.ProjectPostDetailServiceI; import cn.com.lzt.projectpostgeneral.dao.ProjectPostGeneralMinidao; import cn.com.lzt.projectpostgeneral.dto.ProjectPostGeneralDto; import cn.com.lzt.projectpostgeneral.entity.ProjectPostGeneralEntity; import cn.com.lzt.projectpostgeneral.service.ProjectPostGeneralServiceI; import org.jeecgframework.core.common.model.json.AjaxJson; import org.jeecgframework.core.common.service.CommonService; import org.jeecgframework.core.common.service.impl.CommonServiceImpl; import org.jeecgframework.core.constant.Globals; import org.jeecgframework.core.util.*; import org.jeecgframework.minidao.annotation.Arguments; import org.jeecgframework.minidao.annotation.ResultType; import org.jeecgframework.minidao.pojo.MiniDaoPage; import org.jeecgframework.web.cgform.enhance.CgformEnhanceJavaInter; import org.jeecgframework.web.system.pojo.base.TSUser; import org.jeecgframework.web.system.service.SystemService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.validation.Validator; import java.io.Serializable; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.UUID; @Service("projectPostGeneralService") @Transactional public class ProjectPostGeneralServiceImpl extends CommonServiceImpl implements ProjectPostGeneralServiceI { @Autowired private SystemService systemService; @Autowired private Validator validator; //公共方法类 @Autowired private CommonService commonService; @Autowired ProjectPostGeneralMinidao projectPostGeneralMinidao; //项目岗位明细表 @Autowired private ProjectPostDetailServiceI projectPostDetailServiceI; public void delete(ProjectPostGeneralEntity entity) throws Exception{ super.delete(entity); //执行删除操作增强业务 this.doDelBus(entity); } public Serializable save(ProjectPostGeneralEntity entity) throws Exception{ Serializable t = super.save(entity); //执行新增操作增强业务 this.doAddBus(entity); return t; } public void saveOrUpdate(ProjectPostGeneralEntity entity) throws Exception{ super.saveOrUpdate(entity); //执行更新操作增强业务 this.doUpdateBus(entity); } /** * 新增操作增强业务 * @param t * @return */ private void doAddBus(ProjectPostGeneralEntity t) throws Exception{ //-----------------sql增强 start---------------------------- //-----------------sql增强 end------------------------------ //-----------------java增强 start--------------------------- //-----------------java增强 end----------------------------- } /** * 更新操作增强业务 * @param t * @return */ private void doUpdateBus(ProjectPostGeneralEntity t) throws Exception{ //-----------------sql增强 start---------------------------- //-----------------sql增强 end------------------------------ //-----------------java增强 start--------------------------- //-----------------java增强 end----------------------------- } /** * 删除操作增强业务 * @param id * @return */ private void doDelBus(ProjectPostGeneralEntity t) throws Exception{ //-----------------sql增强 start---------------------------- //-----------------sql增强 end------------------------------ //-----------------java增强 start--------------------------- //-----------------java增强 end----------------------------- } private Map populationMap(ProjectPostGeneralEntity t){ Map map = new HashMap(); map.put("id", t.getId()); map.put("pid", t.getPid()); map.put("overall_situation", t.getOverallSituation()); map.put("setter_id", t.getSetterId()); 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("sys_org_code", t.getSysOrgCode()); map.put("sys_company_code", t.getSysCompanyCode()); map.put("delete_flag", t.getDeleteFlag()); return map; } /** * 替换sql中的变量 * @param sql * @param t * @return */ public String replaceVal(String sql,ProjectPostGeneralEntity t){ sql = sql.replace("#{id}",String.valueOf(t.getId())); sql = sql.replace("#{pid}",String.valueOf(t.getPid())); sql = sql.replace("#{overall_situation}",String.valueOf(t.getOverallSituation())); sql = sql.replace("#{setter_id}",String.valueOf(t.getSetterId())); 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("#{sys_org_code}",String.valueOf(t.getSysOrgCode())); sql = sql.replace("#{sys_company_code}",String.valueOf(t.getSysCompanyCode())); sql = sql.replace("#{delete_flag}",String.valueOf(t.getDeleteFlag())); 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_bus_project_post_general",data); } } catch (Exception e) { e.printStackTrace(); throw new Exception("执行JAVA增强出现异常!"); } } } @Override public void logicDel(ProjectPostGeneralEntity entity) throws Exception { super.updateEntitie(entity); //执行更新操作增强业务 this.doUpdateBus(entity); } /*@Override public AjaxJson saveProjectPostGeneralEntity( ProjectPostGeneralEntity projectPostGeneralEntity) throws Exception { TSUser user = ResourceUtil.getSessionUser(); String userId = user.getId(); AjaxJson j = new AjaxJson(); String message = null; message = ""; projectPostGeneralEntity.setId(projectPostGeneralEntity.getProjectPostDetailList().get(0).getId()); String myPId=projectPostGeneralEntity.getProjectPostDetailList().get(0).getPostid(); if(myPId!=null&&myPId.length()>0){ myPId=myPId.split(",")[0]; } projectPostGeneralEntity.setPid(myPId); // if(myPId.indexOf(",")!=-1){ // projectPostGeneralEntity.setPid(myPId.substring(0, myPId.indexOf(","))); // }else{ // projectPostGeneralEntity.setPid(myPId); // } projectPostGeneralEntity.setOverallSituation(projectPostGeneralEntity.getProjectPostDetailList().get(0).getRemark()); if (StringUtil.isNotEmpty(projectPostGeneralEntity.getId())) { ProjectPostGeneralEntity t = this.get(ProjectPostGeneralEntity.class, projectPostGeneralEntity.getId()); try { MyBeanUtils.copyBeanNotNull2Bean(projectPostGeneralEntity, t); projectPostGeneralEntity.setSetterId(userId); this.saveOrUpdate(t); for (int i = 1; i < projectPostGeneralEntity.getProjectPostDetailList().size(); i++) { if(projectPostGeneralEntity.getProjectPostDetailList().get(i)!=null){ //projectPostDetailService.save(projectPostGeneral.getProjectPostDetailList().get(i)); projectPostGeneralEntity.getProjectPostDetailList().get(i).setPtjPostGeneralid(t.getId()); projectPostGeneralEntity.getProjectPostDetailList().get(i).setPid(myPId); saveProjectPostDetailEntity(projectPostGeneralEntity.getProjectPostDetailList().get(i)); } } systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO); message = "项目岗位总览更新成功"; } catch (Exception e) { e.printStackTrace(); message = "项目岗位总览更新失败"; j.setSuccess(false); } } else { try{ projectPostGeneralEntity.setDeleteFlag(Globals.Delete_Normal.toString()); projectPostGeneralEntity.setSetterId(userId); this.save(projectPostGeneralEntity); for (int i = 1; i < projectPostGeneralEntity.getProjectPostDetailList().size(); i++) { if(projectPostGeneralEntity.getProjectPostDetailList().get(i)!=null){ projectPostGeneralEntity.getProjectPostDetailList().get(i).setPtjPostGeneralid(projectPostGeneralEntity.getId()); projectPostGeneralEntity.getProjectPostDetailList().get(i).setPid(myPId); saveProjectPostDetailEntity(projectPostGeneralEntity.getProjectPostDetailList().get(i)); } } systemService.addLog(message, Globals.Log_Type_INSERT, Globals.Log_Leavel_INFO); message = "项目岗位总览添加成功"; }catch(Exception e){ e.printStackTrace(); message = "项目岗位总览添加失败"; j.setSuccess(false); } } j.setMsg(message); return j; }*/ @Override public AjaxJson saveProjectPostGeneralEntity(ProjectPostDetailEntity projectPostDetailEntity,String overallSituation) throws Exception { TSUser user = ResourceUtil.getSessionUser(); String userId = user.getId(); AjaxJson j = new AjaxJson(); String message = ""; String ptjPostGeneralid=""; ProjectPostGeneralEntity projectPostGeneralEntity=new ProjectPostGeneralEntity(); projectPostGeneralEntity.setId(projectPostDetailEntity.getPtjPostGeneralid()); projectPostGeneralEntity.setPid(projectPostDetailEntity.getPid()); projectPostGeneralEntity.setSetterId(userId); projectPostGeneralEntity.setOverallSituation(overallSituation); if (StringUtil.isNotEmpty(projectPostGeneralEntity.getId())) { ProjectPostGeneralEntity t = this.get(ProjectPostGeneralEntity.class, projectPostGeneralEntity.getId()); try { MyBeanUtils.copyBeanNotNull2Bean(projectPostGeneralEntity, t); this.saveOrUpdate(t); ptjPostGeneralid=t.getId(); if(projectPostDetailEntity.getPtjPostGeneralid()!=null&&projectPostDetailEntity.getPtjPostGeneralid().length()>0){//更新 saveProjectPostDetailEntity(projectPostDetailEntity); }else{//添加 projectPostDetailEntity.setPtjPostGeneralid(t.getId()); saveProjectPostDetailEntity(projectPostDetailEntity); } systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO); message = "项目岗位总览更新成功"; } catch (Exception e) { j.setSuccess(false); e.printStackTrace(); message = "项目岗位总览更新失败"; } } else { try{ projectPostGeneralEntity.setDeleteFlag(Globals.Delete_Normal.toString()); this.save(projectPostGeneralEntity); ptjPostGeneralid=projectPostGeneralEntity.getId(); projectPostDetailEntity.setPtjPostGeneralid(projectPostGeneralEntity.getId()); saveProjectPostDetailEntity(projectPostDetailEntity); systemService.addLog(message, Globals.Log_Type_INSERT, Globals.Log_Leavel_INFO); message = "项目岗位总览添加成功"; }catch(Exception e){ j.setSuccess(false); e.printStackTrace(); message = "项目岗位总览添加失败"; } } j.setMsg(message); Map map=new HashMap(); map.put("ptjPostGeneralid", ptjPostGeneralid); j.setAttributes(map); return j; } @Override public AjaxJson saveProjectPostDetailEntity(ProjectPostDetailEntity projectPostDetailEntity) throws Exception { String message = ""; AjaxJson j = new AjaxJson(); if (StringUtil.isNotEmpty(projectPostDetailEntity.getId())) { ProjectPostDetailEntity t = this.get(ProjectPostDetailEntity.class, projectPostDetailEntity.getId()); try { MyBeanUtils.copyBeanNotNull2Bean(projectPostDetailEntity, t); this.saveOrUpdate(t); systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO); message = "项目岗位明细更新成功"; } catch (Exception e) { j.setSuccess(false); e.printStackTrace(); message = "项目岗位明细更新失败"; } } else { try{ projectPostDetailEntity.setDeleteFlag(Globals.Delete_Normal.toString()); this.save(projectPostDetailEntity); systemService.addLog(message, Globals.Log_Type_INSERT, Globals.Log_Leavel_INFO); message = "项目岗位明细添加成功"; }catch(Exception e){ j.setSuccess(false); e.printStackTrace(); message = "项目岗位明细添加失败"; } } j.setMsg(message); return j; } @Override public AjaxJson logicDelProjectPostGeneralEntity( ProjectPostGeneralEntity projectPostGeneralEntity) throws Exception { String message = null; AjaxJson j = new AjaxJson(); projectPostGeneralEntity = systemService.getEntity(ProjectPostGeneralEntity.class, projectPostGeneralEntity.getId()); message = "项目岗位总览删除成功"; try{ projectPostGeneralEntity.setDeleteFlag(Globals.Delete_Forbidden.toString()); this.logicDel(projectPostGeneralEntity); StringBuffer hql = new StringBuffer(" FROM ProjectPostDetailEntity ppd where ppd.ptjPostGeneralid=? "); List projectPostDetailEntityList = commonService.findHql(hql.toString(),projectPostGeneralEntity.getId()); for (int i = 0; i < projectPostDetailEntityList.size(); i++) { if(projectPostDetailEntityList.get(i)!=null){ logicDelProjectPostDetailEntity(projectPostDetailEntityList.get(i)); } } systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO); }catch(Exception e){ e.printStackTrace(); message = "项目岗位总览删除失败"; j.setSuccess(false); } j.setMsg(message); return j; } @Override public AjaxJson logicDelProjectPostDetailEntity( ProjectPostDetailEntity projectPostDetailEntity) throws Exception { String message = null; AjaxJson j = new AjaxJson(); projectPostDetailEntity = systemService.getEntity(ProjectPostDetailEntity.class, projectPostDetailEntity.getId()); message = "项目岗位明细删除成功"; try{ projectPostDetailEntity.setDeleteFlag(Globals.Delete_Forbidden.toString()); projectPostDetailServiceI.logicDel(projectPostDetailEntity); systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO); }catch(Exception e){ j.setSuccess(false); e.printStackTrace(); message = "项目岗位明细删除失败"; } j.setMsg(message); return j; } @Override public AjaxJson logicDelProjectPostDetailUpdateProjectPostGeneral( ProjectPostDetailEntity projectPostDetailEntity, String overallSituation) throws Exception { TSUser user = ResourceUtil.getSessionUser(); String userId = user.getId(); AjaxJson j = new AjaxJson(); String message = ""; //项目岗位明细删除 j=logicDelProjectPostDetailEntity(projectPostDetailEntity); ProjectPostGeneralEntity projectPostGeneralEntity=new ProjectPostGeneralEntity(); projectPostGeneralEntity.setId(projectPostDetailEntity.getPtjPostGeneralid()); projectPostGeneralEntity.setPid(projectPostDetailEntity.getPid()); projectPostGeneralEntity.setSetterId(userId); projectPostGeneralEntity.setOverallSituation(overallSituation); if (StringUtil.isNotEmpty(projectPostGeneralEntity.getId())) { ProjectPostGeneralEntity t = this.get(ProjectPostGeneralEntity.class, projectPostGeneralEntity.getId()); try { MyBeanUtils.copyBeanNotNull2Bean(projectPostGeneralEntity, t); this.saveOrUpdate(t); systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO); message = "项目岗位总览更新成功"; } catch (Exception e) { j.setSuccess(false); e.printStackTrace(); message = "项目岗位总览更新失败"; } } j.setMsg(message); return j; } @Override public MiniDaoPage getProjectPostGeneralDtoPage( ProjectPostGeneralDto projectPostGeneralDto, int page, int rows, String authSql) { // TODO Auto-generated method stub return projectPostGeneralMinidao.getProjectPostGeneralDtoPage(projectPostGeneralDto, page, rows, authSql); } @Override @Arguments({ "projectPostGeneralDto", "authSql" }) @ResultType(ProjectPostGeneralDto.class) public List getProjectPostGeneralDtoExport( ProjectPostGeneralDto projectPostGeneralDto, String authSql) throws Exception { // List projectPostGeneralDtoList=projectPostGeneralMinidao.getProjectPostGeneralDtoExport(projectPostGeneralDto, authSql); /*//获取项目名称 List departList=systemService.queryDict("t_s_depart", "id", "departname"); Map departMap=new HashMap(); for (int i = 0; i < departList.size(); i++) { departMap.put(departList.get(i).getTypecode(), departList.get(i).getTypename()); } //获取用户名称 List baseUserList=systemService.queryDict("t_s_base_user", "id", "realname"); Map baseUserMap=new HashMap(); for (int i = 0; i < baseUserList.size(); i++) { baseUserMap.put(baseUserList.get(i).getTypecode(), baseUserList.get(i).getTypename()); } for (int i = 0; i < projectPostGeneralDtoList.size(); i++) { projectPostGeneralDtoList.get(i).setPid(departMap.get(projectPostGeneralDtoList.get(i).getPid())); projectPostGeneralDtoList.get(i).setSetterId(baseUserMap.get(projectPostGeneralDtoList.get(i).getSetterId())); }*/ return projectPostGeneralMinidao.getProjectPostGeneralDtoExport(projectPostGeneralDto, authSql); } }