HolidayServiceImpl.java 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206
  1. package cn.com.lzt.holiday.service.impl;
  2. import java.io.Serializable;
  3. import java.util.ArrayList;
  4. import java.util.Calendar;
  5. import java.util.Date;
  6. import java.util.HashMap;
  7. import java.util.List;
  8. import java.util.Map;
  9. import java.util.UUID;
  10. import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery;
  11. import org.jeecgframework.core.common.service.impl.CommonServiceImpl;
  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.core.util.oConvertUtils;
  16. import org.jeecgframework.web.cgform.enhance.CgformEnhanceJavaInter;
  17. import org.jeecgframework.workflow.common.WorkFlowGlobals;
  18. import org.springframework.stereotype.Service;
  19. import org.springframework.transaction.annotation.Transactional;
  20. import cn.com.lzt.holiday.entity.HolidayEntity;
  21. import cn.com.lzt.holiday.service.HolidayServiceI;
  22. @Service("holidayService")
  23. @Transactional
  24. public class HolidayServiceImpl extends CommonServiceImpl implements HolidayServiceI {
  25. public void delete(HolidayEntity entity) throws Exception{
  26. super.delete(entity);
  27. //执行删除操作增强业务
  28. this.doDelBus(entity);
  29. }
  30. public Serializable save(HolidayEntity entity) throws Exception{
  31. Serializable t = super.save(entity);
  32. //执行新增操作增强业务
  33. this.doAddBus(entity);
  34. return t;
  35. }
  36. public void saveOrUpdate(HolidayEntity entity) throws Exception{
  37. super.saveOrUpdate(entity);
  38. //执行更新操作增强业务
  39. this.doUpdateBus(entity);
  40. }
  41. /**
  42. * 新增操作增强业务
  43. * @param t
  44. * @return
  45. */
  46. private void doAddBus(HolidayEntity t) throws Exception{
  47. //-----------------sql增强 start----------------------------
  48. //-----------------sql增强 end------------------------------
  49. //-----------------java增强 start---------------------------
  50. //-----------------java增强 end-----------------------------
  51. }
  52. /**
  53. * 更新操作增强业务
  54. * @param t
  55. * @return
  56. */
  57. private void doUpdateBus(HolidayEntity t) throws Exception{
  58. //-----------------sql增强 start----------------------------
  59. //-----------------sql增强 end------------------------------
  60. //-----------------java增强 start---------------------------
  61. //-----------------java增强 end-----------------------------
  62. }
  63. /**
  64. * 删除操作增强业务
  65. * @param id
  66. * @return
  67. */
  68. private void doDelBus(HolidayEntity t) throws Exception{
  69. //-----------------sql增强 start----------------------------
  70. //-----------------sql增强 end------------------------------
  71. //-----------------java增强 start---------------------------
  72. //-----------------java增强 end-----------------------------
  73. }
  74. private Map<String,Object> populationMap(HolidayEntity t){
  75. Map<String,Object> map = new HashMap<String,Object>();
  76. map.put("id", t.getId());
  77. map.put("create_name", t.getCreateName());
  78. map.put("create_by", t.getCreateBy());
  79. map.put("create_date", t.getCreateDate());
  80. map.put("update_name", t.getUpdateName());
  81. map.put("update_by", t.getUpdateBy());
  82. map.put("update_date", t.getUpdateDate());
  83. map.put("sys_org_code", t.getSysOrgCode());
  84. map.put("sys_company_code", t.getSysCompanyCode());
  85. map.put("bpm_status", t.getBpmStatus());
  86. map.put("userid", t.getUserid());
  87. map.put("apply_date", t.getApplyDate());
  88. map.put("holiday_type", t.getHolidayType());
  89. map.put("belong_unitid", t.getBelongUnitid());
  90. map.put("holiday_stime", t.getHolidayStime());
  91. map.put("holiday_etime", t.getHolidayEtime());
  92. map.put("applicant_id", t.getApplicantId());
  93. map.put("holiday_reason", t.getHolidayReason());
  94. map.put("delete_flag", t.getDeleteFlag());
  95. return map;
  96. }
  97. /**
  98. * 替换sql中的变量
  99. * @param sql
  100. * @param t
  101. * @return
  102. */
  103. public String replaceVal(String sql,HolidayEntity t){
  104. sql = sql.replace("#{id}",String.valueOf(t.getId()));
  105. sql = sql.replace("#{create_name}",String.valueOf(t.getCreateName()));
  106. sql = sql.replace("#{create_by}",String.valueOf(t.getCreateBy()));
  107. sql = sql.replace("#{create_date}",String.valueOf(t.getCreateDate()));
  108. sql = sql.replace("#{update_name}",String.valueOf(t.getUpdateName()));
  109. sql = sql.replace("#{update_by}",String.valueOf(t.getUpdateBy()));
  110. sql = sql.replace("#{update_date}",String.valueOf(t.getUpdateDate()));
  111. sql = sql.replace("#{sys_org_code}",String.valueOf(t.getSysOrgCode()));
  112. sql = sql.replace("#{sys_company_code}",String.valueOf(t.getSysCompanyCode()));
  113. sql = sql.replace("#{bpm_status}",String.valueOf(t.getBpmStatus()));
  114. sql = sql.replace("#{userid}",String.valueOf(t.getUserid()));
  115. sql = sql.replace("#{apply_date}",String.valueOf(t.getApplyDate()));
  116. sql = sql.replace("#{holiday_type}",String.valueOf(t.getHolidayType()));
  117. sql = sql.replace("#{belong_unitid}",String.valueOf(t.getBelongUnitid()));
  118. sql = sql.replace("#{holiday_stime}",String.valueOf(t.getHolidayStime()));
  119. sql = sql.replace("#{holiday_etime}",String.valueOf(t.getHolidayEtime()));
  120. sql = sql.replace("#{applicant_id}",String.valueOf(t.getApplicantId()));
  121. sql = sql.replace("#{holiday_reason}",String.valueOf(t.getHolidayReason()));
  122. sql = sql.replace("#{delete_flag}",String.valueOf(t.getDeleteFlag()));
  123. sql = sql.replace("#{UUID}",UUID.randomUUID().toString());
  124. return sql;
  125. }
  126. /**
  127. * 执行JAVA增强
  128. */
  129. private void executeJavaExtend(String cgJavaType,String cgJavaValue,Map<String,Object> data) throws Exception {
  130. if(StringUtil.isNotEmpty(cgJavaValue)){
  131. Object obj = null;
  132. try {
  133. if("class".equals(cgJavaType)){
  134. //因新增时已经校验了实例化是否可以成功,所以这块就不需要再做一次判断
  135. obj = MyClassLoader.getClassByScn(cgJavaValue).newInstance();
  136. }else if("spring".equals(cgJavaType)){
  137. obj = ApplicationContextUtil.getContext().getBean(cgJavaValue);
  138. }
  139. if(obj instanceof CgformEnhanceJavaInter){
  140. CgformEnhanceJavaInter javaInter = (CgformEnhanceJavaInter) obj;
  141. javaInter.execute("t_bus_holiday",data);
  142. }
  143. } catch (Exception e) {
  144. e.printStackTrace();
  145. throw new Exception("执行JAVA增强出现异常!");
  146. }
  147. }
  148. }
  149. @Override
  150. public void logicDel(HolidayEntity entity) throws Exception {
  151. super.updateEntitie(entity);
  152. //执行更新操作增强业务
  153. this.doUpdateBus(entity);
  154. }
  155. @Override
  156. public List<HolidayEntity> getUserHolidayEntities(String userid,
  157. String yearmonth) throws Exception {
  158. List<HolidayEntity> resulEntities = new ArrayList<HolidayEntity>();
  159. CriteriaQuery cq = new CriteriaQuery(HolidayEntity.class);
  160. cq.eq("bpmStatus", WorkFlowGlobals.BPM_BUS_STATUS_3);
  161. cq.add();
  162. cq.eq("deleteFlag", "0");
  163. cq.add();
  164. if (oConvertUtils.isNotEmpty(userid)) {
  165. cq.eq("userid", userid);
  166. cq.add();
  167. }
  168. if (oConvertUtils.isNotEmpty(yearmonth)) {
  169. Calendar cal = Calendar.getInstance();// 获取当前日期
  170. cal.set(Integer.valueOf(yearmonth.split("-")[0]), Integer.valueOf(yearmonth.split("-")[1]) - 1, 1);
  171. cal.set(Calendar.HOUR_OF_DAY, 0);
  172. cal.set(Calendar.MINUTE, 0);
  173. cal.set(Calendar.SECOND, 0);
  174. cal.add(Calendar.SECOND, -1);
  175. Date startdate = cal.getTime();// 上个月的一号
  176. cal.add(Calendar.MONTH, 2);
  177. cal.set(Calendar.DAY_OF_MONTH, 1);
  178. cal.set(Calendar.HOUR_OF_DAY, 0);
  179. cal.set(Calendar.MINUTE, 0);
  180. cal.set(Calendar.SECOND, 0);
  181. Date enddate = cal.getTime();// 下个月的一号
  182. cq.between("holidayStime", startdate, enddate);
  183. cq.add();
  184. }
  185. resulEntities = getListByCriteriaQuery(cq, false);
  186. return resulEntities;
  187. }
  188. }