package cn.com.goldenwater.dcproj.service.impl.base; import cn.com.goldenwater.core.service.AbstractCrudService; import cn.com.goldenwater.dcproj.constValue.AdCodeLabel; import cn.com.goldenwater.dcproj.dao.AttUserBaseDao; import cn.com.goldenwater.dcproj.dao.UserRoleDao; import cn.com.goldenwater.dcproj.dto.PersBaseDto; import cn.com.goldenwater.dcproj.dto.PersGroupDto; import cn.com.goldenwater.dcproj.model.AttUserBase; import cn.com.goldenwater.dcproj.model.UserRole; import cn.com.goldenwater.dcproj.param.AttUserBaseParam; import cn.com.goldenwater.dcproj.param.UserRoleParam; import cn.com.goldenwater.dcproj.service.AttUserBaseService; import cn.com.goldenwater.dcproj.service.OlBisInspOrgService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; /** * @author lune * @date 2019-2-18 */ @Service @Transactional public class AttUserBaseServiceImpl extends AbstractCrudService implements AttUserBaseService { @Autowired private AttUserBaseDao attUserBaseDao; @Autowired private UserRoleDao userRoleDao; @Autowired private OlBisInspOrgService olBisInspOrgService; public AttUserBaseServiceImpl(AttUserBaseDao attUserBaseDao) { super(attUserBaseDao); this.attUserBaseDao = attUserBaseDao; } @Override public void insertUser(AttUserBase attUserBase, ArrayList userRoleParams, UserRoleParam param) { attUserBaseDao.insert(attUserBase); userRoleDao.deleteBy(param); if (null != userRoleParams && userRoleParams.size() > 0) { userRoleDao.addList(userRoleParams); } } @Override public void updateUser(AttUserBase attUserBase, ArrayList userRoleParams, UserRoleParam param) { attUserBaseDao.update(attUserBase); userRoleDao.deleteBy(param); if (null != userRoleParams && userRoleParams.size() > 0) { for (UserRoleParam userRoleParam : userRoleParams) { UserRole userRole = new UserRole(); userRole.setUserId(userRoleParam.getUserId()); userRole.setRoleId(userRoleParam.getRoleId()); userRoleDao.insert(userRole); } } } @Override public List getGroupByPersid(String persid, String ptype, String groupName, String orgId, String tabType, String plnaId) { PersBaseDto persBaseDto = this.attUserBaseDao.getPersById(persid); List persGroupDtoList = new ArrayList<>(); if (persBaseDto != null) { String nowTime = new SimpleDateFormat("yyyy-MM-dd").format(new Date()); persGroupDtoList = this.attUserBaseDao.getpersGroup(persid, getPtype(ptype), groupName, olBisInspOrgService.getProvince(orgId), orgId, tabType, nowTime, plnaId); } return persGroupDtoList; } private String getPtype(String ptype) { if (ptype.length() == 1) { ptype = AdCodeLabel.START_PARENT_ADCODE + ptype; } if (ptype.length() == 2) { ptype = "0" + ptype; } return ptype; } @Override public List getGroupByPersidNew(String persid, String ptype, String groupName, String orgId) { List persGroupDtoList = this.attUserBaseDao.getLastLeafPoint(persid, getPtype(ptype), groupName, orgId); return persGroupDtoList; } }