package com.example.expense.plan.service; import java.text.SimpleDateFormat; import java.util.Date; import org.hibernate.Session; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.example.expense.entity.Plan; import com.example.expense.entity.PlanItem; import com.example.expense.plan.dao.PlanDao; import com.example.expense.plan.dao.PlanItemDao; import com.norteksoft.acs.base.enumeration.LogicOperator; import com.norteksoft.product.api.ApiFactory; import com.norteksoft.product.orm.Page; import com.norteksoft.product.util.PropUtils; @Service @Transactional public class PlanManager { @Autowired private PlanDao planDao; @Autowired private PlanItemDao planItemDao; public Session getSession() { return planDao.getSession(); } public Plan getPlan(Long id){ return planDao.get(id); } public void savePlan(Plan plan) throws Exception{ for (PlanItem item : plan.getPlanItems()) { planItemDao.save(item); } //保存主子表 planDao.save(plan); } public boolean deletePermission(Long id){ LogicOperator authlink = LogicOperator.OR; LogicOperator dataRulelink = LogicOperator.OR; if("AND".equals(PropUtils.getProp("plan.data.auth.link")))authlink=LogicOperator.AND; if("AND".equals(PropUtils.getProp("product.data.rule.link")))dataRulelink = LogicOperator.AND; return ApiFactory.getDataPermissionService().deletePermission(getPlan(id),authlink,dataRulelink); } public String deletePlan(String ids){ String [] s = ids.split(","); int deleteNum=0; int failNum=0; for (String str : s) { boolean flag =deletePermission(Long.valueOf(str)); if(flag){ planDao.delete(Long.valueOf(str)); deleteNum++; }else{ failNum++; } } return deleteNum+" 条数据成功删除,"+failNum+" 条数据没有权限删除!"; } public Page<Plan> list(Page<Plan> page){ return planDao.list(page); } public Page<PlanItem> getPlanItemList(Page<PlanItem> pageItem, Long id) { return planItemDao.list(pageItem, id); } public void deletePlanItem(Long id) { planItemDao.delete(id); } public boolean getViewPermission(Plan plan) { LogicOperator authlink = LogicOperator.OR; LogicOperator dataRulelink = LogicOperator.OR; if("AND".equals(PropUtils.getProp("plan.data.auth.link")))authlink=LogicOperator.AND; if("AND".equals(PropUtils.getProp("product.data.rule.link")))dataRulelink = LogicOperator.AND; return ApiFactory.getDataPermissionService().viewPermission(plan,authlink,dataRulelink); } public boolean getUpdatePermission(Plan plan) { LogicOperator authlink = LogicOperator.OR; LogicOperator dataRulelink = LogicOperator.OR; if("AND".equals(PropUtils.getProp("plan.data.auth.link")))authlink=LogicOperator.AND; if("AND".equals(PropUtils.getProp("product.data.rule.link")))dataRulelink = LogicOperator.AND; return ApiFactory.getDataPermissionService().updatePermission(plan,authlink,dataRulelink); } }