TBOvertimeBudgetServiceImpl.java 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. package cn.com.lzt.overtimebudget.service.impl;
  2. import cn.com.lzt.common.util.UserUtil;
  3. import cn.com.lzt.overtimebudget.entity.TBOvertimeBudgetEntity;
  4. import cn.com.lzt.overtimebudget.service.TBOvertimeBudgetServiceI;
  5. import cn.com.lzt.useractiviti.overtime.entity.TBusActivitiOvertimeEntity;
  6. import org.jeecgframework.core.common.service.impl.CommonServiceImpl;
  7. import org.jeecgframework.core.util.ApplicationContextUtil;
  8. import org.jeecgframework.core.util.MyClassLoader;
  9. import org.jeecgframework.core.util.StringUtil;
  10. import org.jeecgframework.web.cgform.enhance.CgformEnhanceJavaInter;
  11. import org.springframework.stereotype.Service;
  12. import org.springframework.transaction.annotation.Transactional;
  13. import java.io.Serializable;
  14. import java.text.SimpleDateFormat;
  15. import java.util.*;
  16. @Service("tBOvertimeBudgetService")
  17. @Transactional
  18. public class TBOvertimeBudgetServiceImpl extends CommonServiceImpl implements TBOvertimeBudgetServiceI {
  19. public void delete(TBOvertimeBudgetEntity entity) throws Exception{
  20. super.delete(entity);
  21. //执行删除操作增强业务
  22. this.doDelBus(entity);
  23. }
  24. public Serializable save(TBOvertimeBudgetEntity entity) throws Exception{
  25. Serializable t = super.save(entity);
  26. //执行新增操作增强业务
  27. this.doAddBus(entity);
  28. return t;
  29. }
  30. public void saveOrUpdate(TBOvertimeBudgetEntity entity) throws Exception{
  31. super.saveOrUpdate(entity);
  32. //执行更新操作增强业务
  33. this.doUpdateBus(entity);
  34. }
  35. @Override
  36. public double getCurMonthBudget(String depId) {
  37. SimpleDateFormat format = new SimpleDateFormat("yyyy-MM");
  38. String yearMonth = format.format(new Date());
  39. return getMonthBudget(depId,yearMonth );
  40. }
  41. @Override
  42. public double getMonthBudget(String depId, String month) {
  43. depId = UserUtil.getQueryDepIdByDepId(depId);
  44. TBOvertimeBudgetEntity entity = singleResult(String.format("from TBOvertimeBudgetEntity where departId='%s' and overtimeMonth='%s' ",depId,month));
  45. if(entity!=null){
  46. return entity.getBudget();
  47. }
  48. return 0;
  49. }
  50. @Override
  51. public double getMonthLeftBudget(String depId, String month) {
  52. depId = UserUtil.getQueryDepIdByDepId(depId);
  53. TBOvertimeBudgetEntity entity = singleResult(String.format("from TBOvertimeBudgetEntity where departId='%s' and overtimeMonth='%s' ",depId,month));
  54. if(entity!=null){
  55. List<TBusActivitiOvertimeEntity> overtimeEntityList= findHql(
  56. "from TBusActivitiOvertimeEntity where departId=? and month =? and bpmStatus='3'",depId,month);
  57. double hour = 0;
  58. for(TBusActivitiOvertimeEntity overtimeEntity: overtimeEntityList){
  59. double overTimeHour = overtimeEntity.getTotalHour();
  60. hour+=overTimeHour;
  61. }
  62. double leftHour = entity.getBudget()-hour;
  63. return leftHour;
  64. }
  65. return 0;
  66. }
  67. /**
  68. * 新增操作增强业务
  69. * @param t
  70. * @return
  71. */
  72. private void doAddBus(TBOvertimeBudgetEntity t) throws Exception{
  73. //-----------------sql增强 start----------------------------
  74. //-----------------sql增强 end------------------------------
  75. //-----------------java增强 start---------------------------
  76. //-----------------java增强 end-----------------------------
  77. }
  78. /**
  79. * 更新操作增强业务
  80. * @param t
  81. * @return
  82. */
  83. private void doUpdateBus(TBOvertimeBudgetEntity t) throws Exception{
  84. //-----------------sql增强 start----------------------------
  85. //-----------------sql增强 end------------------------------
  86. //-----------------java增强 start---------------------------
  87. //-----------------java增强 end-----------------------------
  88. }
  89. /**
  90. * 删除操作增强业务
  91. * @return
  92. */
  93. private void doDelBus(TBOvertimeBudgetEntity t) throws Exception{
  94. //-----------------sql增强 start----------------------------
  95. //-----------------sql增强 end------------------------------
  96. //-----------------java增强 start---------------------------
  97. //-----------------java增强 end-----------------------------
  98. }
  99. private Map<String,Object> populationMap(TBOvertimeBudgetEntity t){
  100. Map<String,Object> map = new HashMap<String,Object>();
  101. map.put("id", t.getId());
  102. map.put("create_name", t.getCreateName());
  103. map.put("create_by", t.getCreateBy());
  104. map.put("create_date", t.getCreateDate());
  105. map.put("update_name", t.getUpdateName());
  106. map.put("update_by", t.getUpdateBy());
  107. map.put("update_date", t.getUpdateDate());
  108. map.put("sys_org_code", t.getSysOrgCode());
  109. map.put("sys_company_code", t.getSysCompanyCode());
  110. map.put("bpm_status", t.getBpmStatus());
  111. map.put("depart_id", t.getDepartId());
  112. return map;
  113. }
  114. /**
  115. * 替换sql中的变量
  116. * @param sql
  117. * @param t
  118. * @return
  119. */
  120. public String replaceVal(String sql,TBOvertimeBudgetEntity t){
  121. sql = sql.replace("#{id}",String.valueOf(t.getId()));
  122. sql = sql.replace("#{create_name}",String.valueOf(t.getCreateName()));
  123. sql = sql.replace("#{create_by}",String.valueOf(t.getCreateBy()));
  124. sql = sql.replace("#{create_date}",String.valueOf(t.getCreateDate()));
  125. sql = sql.replace("#{update_name}",String.valueOf(t.getUpdateName()));
  126. sql = sql.replace("#{update_by}",String.valueOf(t.getUpdateBy()));
  127. sql = sql.replace("#{update_date}",String.valueOf(t.getUpdateDate()));
  128. sql = sql.replace("#{sys_org_code}",String.valueOf(t.getSysOrgCode()));
  129. sql = sql.replace("#{sys_company_code}",String.valueOf(t.getSysCompanyCode()));
  130. sql = sql.replace("#{bpm_status}",String.valueOf(t.getBpmStatus()));
  131. sql = sql.replace("#{depart_id}",String.valueOf(t.getDepartId()));
  132. sql = sql.replace("#{UUID}",UUID.randomUUID().toString());
  133. return sql;
  134. }
  135. /**
  136. * 执行JAVA增强
  137. */
  138. private void executeJavaExtend(String cgJavaType,String cgJavaValue,Map<String,Object> data) throws Exception {
  139. if(StringUtil.isNotEmpty(cgJavaValue)){
  140. Object obj = null;
  141. try {
  142. if("class".equals(cgJavaType)){
  143. //因新增时已经校验了实例化是否可以成功,所以这块就不需要再做一次判断
  144. obj = MyClassLoader.getClassByScn(cgJavaValue).newInstance();
  145. }else if("spring".equals(cgJavaType)){
  146. obj = ApplicationContextUtil.getContext().getBean(cgJavaValue);
  147. }
  148. if(obj instanceof CgformEnhanceJavaInter){
  149. CgformEnhanceJavaInter javaInter = (CgformEnhanceJavaInter) obj;
  150. javaInter.execute("t_b_overtime_budget",data);
  151. }
  152. } catch (Exception e) {
  153. e.printStackTrace();
  154. throw new Exception("执行JAVA增强出现异常!");
  155. }
  156. }
  157. }
  158. }