ProjectTaskPlanServiceImpl.java 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. package com.xcgl.projecttaskplan.service.impl;
  2. import com.xcgl.projecttaskplan.service.ProjectTaskPlanServiceI;
  3. import org.apache.commons.lang.StringUtils;
  4. import org.jeecgframework.core.common.service.impl.CommonServiceImpl;
  5. import com.xcgl.projecttaskplan.entity.ProjectTaskPlanEntity;
  6. import org.springframework.stereotype.Service;
  7. import org.springframework.transaction.annotation.Transactional;
  8. import java.util.HashMap;
  9. import java.util.Map;
  10. import java.util.UUID;
  11. import java.io.Serializable;
  12. import org.jeecgframework.core.util.ApplicationContextUtil;
  13. import org.jeecgframework.core.util.MyClassLoader;
  14. import org.jeecgframework.core.util.StringUtil;
  15. import org.jeecgframework.web.cgform.enhance.CgformEnhanceJavaInter;
  16. @Service("projectTaskPlanService")
  17. @Transactional
  18. public class ProjectTaskPlanServiceImpl extends CommonServiceImpl implements ProjectTaskPlanServiceI {
  19. public void delete(ProjectTaskPlanEntity entity) throws Exception{
  20. super.delete(entity);
  21. //执行删除操作增强业务
  22. this.doDelBus(entity);
  23. }
  24. public Serializable save(ProjectTaskPlanEntity entity) throws Exception{
  25. String[] projectids = new String[]{};
  26. if(StringUtils.isNotBlank(entity.getProjectids())){
  27. projectids = entity.getProjectids().split("\\,");
  28. }
  29. Serializable t = super.save(entity);
  30. //执行新增操作增强业务
  31. this.doAddBus(entity,projectids);
  32. return t;
  33. }
  34. public void saveOrUpdate(ProjectTaskPlanEntity entity) throws Exception{
  35. String[] projectids = new String[]{};
  36. super.saveOrUpdate(entity);
  37. if(StringUtils.isNotBlank(entity.getProjectids())){
  38. projectids = entity.getProjectids().split("\\,");
  39. }
  40. //执行更新操作增强业务
  41. this.doUpdateBus(entity,projectids);
  42. }
  43. /**
  44. * 新增操作增强业务
  45. * @param t
  46. * @return
  47. */
  48. private void doAddBus(ProjectTaskPlanEntity t , String[] projectids) throws Exception{
  49. //保存多选的项目
  50. String PlanProjectSql = "INSERT INTO p_plan_project (id, planid, projectid) VALUES (UUID(), ?, ?)";
  51. for(String projectid:projectids) {
  52. executeSql(PlanProjectSql, t.getId(),projectid);
  53. }
  54. //-----------------sql增强 start----------------------------
  55. //-----------------sql增强 end------------------------------
  56. //-----------------java增强 start---------------------------
  57. //-----------------java增强 end-----------------------------
  58. }
  59. /**
  60. * 更新操作增强业务
  61. * @param t
  62. * @return
  63. */
  64. private void doUpdateBus(ProjectTaskPlanEntity t , String[] projectids) throws Exception{
  65. //先删除原有的项目信息
  66. String delSql = "delete from p_plan_project where planid = ?";
  67. executeSql(delSql, t.getId());
  68. //保存多选的项目
  69. String PlanProjectSql = "INSERT INTO p_plan_project (id, planid, projectid) VALUES (UUID(), ?, ?)";
  70. for (String projectid : projectids) {
  71. executeSql(PlanProjectSql, t.getId(), projectid);
  72. }
  73. //-----------------sql增强 start----------------------------
  74. //-----------------sql增强 end------------------------------
  75. //-----------------java增强 start---------------------------
  76. //-----------------java增强 end-----------------------------
  77. }
  78. /**
  79. * 删除操作增强业务
  80. * @param id
  81. * @return
  82. */
  83. private void doDelBus(ProjectTaskPlanEntity t) throws Exception{
  84. //先删除原有
  85. String delSql = "delete from p_plan_project where planid = ?";
  86. executeSql(delSql, t.getId());
  87. //-----------------sql增强 start----------------------------
  88. //-----------------sql增强 end------------------------------
  89. //-----------------java增强 start---------------------------
  90. //-----------------java增强 end-----------------------------
  91. }
  92. private Map<String,Object> populationMap(ProjectTaskPlanEntity t){
  93. Map<String,Object> map = new HashMap<String,Object>();
  94. map.put("id", t.getId());
  95. map.put("create_name", t.getCreateName());
  96. map.put("create_by", t.getCreateBy());
  97. map.put("create_date", t.getCreateDate());
  98. map.put("update_name", t.getUpdateName());
  99. map.put("update_by", t.getUpdateBy());
  100. map.put("update_date", t.getUpdateDate());
  101. map.put("code", t.getCode());
  102. map.put("name", t.getName());
  103. map.put("description", t.getDescription());
  104. map.put("tasktype", t.getTasktype());
  105. map.put("cron", t.getCron());
  106. map.put("status", t.getStatus());
  107. map.put("ownerrole", t.getOwnerrole());
  108. return map;
  109. }
  110. /**
  111. * 替换sql中的变量
  112. * @param sql
  113. * @param t
  114. * @return
  115. */
  116. public String replaceVal(String sql,ProjectTaskPlanEntity t){
  117. sql = sql.replace("#{id}",String.valueOf(t.getId()));
  118. sql = sql.replace("#{create_name}",String.valueOf(t.getCreateName()));
  119. sql = sql.replace("#{create_by}",String.valueOf(t.getCreateBy()));
  120. sql = sql.replace("#{create_date}",String.valueOf(t.getCreateDate()));
  121. sql = sql.replace("#{update_name}",String.valueOf(t.getUpdateName()));
  122. sql = sql.replace("#{update_by}",String.valueOf(t.getUpdateBy()));
  123. sql = sql.replace("#{update_date}",String.valueOf(t.getUpdateDate()));
  124. sql = sql.replace("#{code}",String.valueOf(t.getCode()));
  125. sql = sql.replace("#{name}",String.valueOf(t.getName()));
  126. sql = sql.replace("#{description}",String.valueOf(t.getDescription()));
  127. sql = sql.replace("#{tasktype}",String.valueOf(t.getTasktype()));
  128. sql = sql.replace("#{cron}",String.valueOf(t.getCron()));
  129. sql = sql.replace("#{status}",String.valueOf(t.getStatus()));
  130. sql = sql.replace("#{ownerrole}",String.valueOf(t.getOwnerrole()));
  131. sql = sql.replace("#{UUID}",UUID.randomUUID().toString());
  132. return sql;
  133. }
  134. /**
  135. * 执行JAVA增强
  136. */
  137. private void executeJavaExtend(String cgJavaType,String cgJavaValue,Map<String,Object> data) throws Exception {
  138. if(StringUtil.isNotEmpty(cgJavaValue)){
  139. Object obj = null;
  140. try {
  141. if("class".equals(cgJavaType)){
  142. //因新增时已经校验了实例化是否可以成功,所以这块就不需要再做一次判断
  143. obj = MyClassLoader.getClassByScn(cgJavaValue).newInstance();
  144. }else if("spring".equals(cgJavaType)){
  145. obj = ApplicationContextUtil.getContext().getBean(cgJavaValue);
  146. }
  147. if(obj instanceof CgformEnhanceJavaInter){
  148. CgformEnhanceJavaInter javaInter = (CgformEnhanceJavaInter) obj;
  149. javaInter.execute("P_ProjectTaskPlan",data);
  150. }
  151. } catch (Exception e) {
  152. e.printStackTrace();
  153. throw new Exception("执行JAVA增强出现异常!");
  154. }
  155. }
  156. }
  157. }