package cn.com.lzt.mealsdeduct.service.impl; import cn.com.lzt.mealsdeduct.dao.MealsDeductMinidaoDao; import cn.com.lzt.mealsdeduct.dto.MealsDeduct4SelectDto; import cn.com.lzt.mealsdeduct.entity.MealsDeductEntity; import cn.com.lzt.mealsdeduct.service.MealsDeductServiceI; import org.jeecgframework.core.common.service.impl.CommonServiceImpl; import org.jeecgframework.core.util.ApplicationContextUtil; import org.jeecgframework.core.util.MyClassLoader; import org.jeecgframework.core.util.StringUtil; import org.jeecgframework.minidao.pojo.MiniDaoPage; import org.jeecgframework.web.cgform.enhance.CgformEnhanceJavaInter; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.io.Serializable; import java.util.*; @Service("mealsDeductService") @Transactional public class MealsDeductServiceImpl extends CommonServiceImpl implements MealsDeductServiceI { @Autowired MealsDeductMinidaoDao minidao; public void delete(MealsDeductEntity entity) throws Exception{ super.delete(entity); //执行删除操作增强业务 this.doDelBus(entity); } public Serializable save(MealsDeductEntity entity) throws Exception{ Serializable t = super.save(entity); //执行新增操作增强业务 this.doAddBus(entity); return t; } public void saveOrUpdate(MealsDeductEntity entity) throws Exception{ super.saveOrUpdate(entity); //执行更新操作增强业务 this.doUpdateBus(entity); } /** * 批量更新操作 * */ public void batchUpdate(List entityList) throws Exception{ for(MealsDeductEntity entity : entityList){ super.updateEntitie(entity); } } /** * 查询分页列表(MiniDao方式) * */ public MiniDaoPage getAllEntities(MealsDeduct4SelectDto dto, int page, int rows, String sql){ return minidao.getAllEntities(dto, page, rows, sql); } /** * 新增操作增强业务 * @param t * @return */ private void doAddBus(MealsDeductEntity t) throws Exception{ //-----------------sql增强 start---------------------------- //-----------------sql增强 end------------------------------ //-----------------java增强 start--------------------------- //-----------------java增强 end----------------------------- } /** * 更新操作增强业务 * @param t * @return */ private void doUpdateBus(MealsDeductEntity t) throws Exception{ //-----------------sql增强 start---------------------------- //-----------------sql增强 end------------------------------ //-----------------java增强 start--------------------------- //-----------------java增强 end----------------------------- } /** * 删除操作增强业务 * @param id * @return */ private void doDelBus(MealsDeductEntity t) throws Exception{ //-----------------sql增强 start---------------------------- //-----------------sql增强 end------------------------------ //-----------------java增强 start--------------------------- //-----------------java增强 end----------------------------- } private Map populationMap(MealsDeductEntity 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("sys_org_code", t.getSysOrgCode()); map.put("sys_company_code", t.getSysCompanyCode()); map.put("subsidy_type", t.getSubsidyType()); map.put("left_hours", t.getLeftHours()); map.put("right_hours", t.getRightHours()); map.put("deduct_num", t.getDeductNum()); map.put("calcu_unit", t.getCalcuUnit()); map.put("status", t.getStatus()); map.put("delete_flag", t.getDeleteFlag()); return map; } /** * 替换sql中的变量 * @param sql * @param t * @return */ public String replaceVal(String sql,MealsDeductEntity 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("#{sys_org_code}",String.valueOf(t.getSysOrgCode())); sql = sql.replace("#{sys_company_code}",String.valueOf(t.getSysCompanyCode())); sql = sql.replace("#{subsidy_type}",String.valueOf(t.getSubsidyType())); sql = sql.replace("#{left_hours}",String.valueOf(t.getLeftHours())); sql = sql.replace("#{right_hours}",String.valueOf(t.getRightHours())); sql = sql.replace("#{deduct_num}",String.valueOf(t.getDeductNum())); sql = sql.replace("#{calcu_unit}",String.valueOf(t.getCalcuUnit())); sql = sql.replace("#{status}",String.valueOf(t.getStatus())); 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_meals_deduct",data); } } catch (Exception e) { e.printStackTrace(); throw new Exception("执行JAVA增强出现异常!"); } } } @Override public Boolean findMealsDeductByHours(MealsDeductEntity mealsDeduct) { List postobj = new ArrayList(); StringBuffer hql = new StringBuffer(" from MealsDeductEntity where leftHours=? and rightHours=? and deleteFlag=0"); if(StringUtil.isNotEmpty(mealsDeduct.getId())){ hql = new StringBuffer(" from MealsDeductEntity where id!=? and leftHours=? and rightHours=? and deleteFlag=0"); postobj = findHql(hql.toString(),mealsDeduct.getId(),mealsDeduct.getLeftHours(),mealsDeduct.getRightHours()); }else{ postobj = findHql(hql.toString(),mealsDeduct.getLeftHours(),mealsDeduct.getRightHours()); } Boolean flag = true; if(postobj.size() > 0){ flag = false; } return flag; } }