package com.goafanti.personnel.service.impl; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.goafanti.common.dao.PersonnelChooseMapper; import com.goafanti.common.dao.PersonnelContactMapper; import com.goafanti.common.dao.PersonnelContractMapper; import com.goafanti.common.dao.PersonnelDossierMapper; import com.goafanti.common.dao.PersonnelEntryMapper; import com.goafanti.common.dao.PersonnelPromotionMapper; import com.goafanti.common.dao.PersonnelQuitMapper; import com.goafanti.common.model.PersonnelContact; import com.goafanti.common.model.PersonnelDossier; import com.goafanti.common.model.PersonnelEntry; import com.goafanti.core.mybatis.BaseMybatisDao; import com.goafanti.core.mybatis.page.Pagination; import com.goafanti.personnel.bo.InputPersonnelBo; import com.goafanti.personnel.bo.InputPersonnelChooseBo; import com.goafanti.personnel.bo.InputPersonnelContactBo; import com.goafanti.personnel.bo.InputPersonnelContractBo; import com.goafanti.personnel.bo.InputPersonnelEntryBo; import com.goafanti.personnel.bo.InputPersonnelListBo; import com.goafanti.personnel.bo.InputPersonnelPromotionBo; import com.goafanti.personnel.bo.InputPersonnelQuitBo; import com.goafanti.personnel.bo.OutPersonnelListBo; import com.goafanti.personnel.service.PersonnelService; @Service public class PersonnelServiceImpl extends BaseMybatisDao implements PersonnelService { @Autowired private PersonnelDossierMapper personnelDossierMapper; @Autowired private PersonnelContactMapper personnelContactMapper; @Autowired private PersonnelEntryMapper personnelEntryMapper; @Autowired private PersonnelPromotionMapper personnelPromotionMapper; @Autowired private PersonnelContractMapper personnelContractMapper; @Autowired private PersonnelChooseMapper personnelChooseMapper; @Autowired private PersonnelQuitMapper personnelQuitMapper; @Override public int addPersonnel(InputPersonnelBo i) { return personnelDossierMapper.insertSelective(i); } @Override public int updatePersonnel(InputPersonnelBo i) { return personnelDossierMapper.updateByPrimaryKeySelective(i); } @Override public int updateContact(InputPersonnelContactBo i) { PersonnelDossier p=new PersonnelDossier(); p.setId(i.getId()); p.setMobile(i.getMobile()); p.setFixedTel(i.getFixedTel()); personnelDossierMapper.updateByPrimaryKeySelective(p); JSONArray ja = (JSONArray) JSON.parse(i.getContactList()); List list = new ArrayList(); if (ja != null && !ja.isEmpty()) { PersonnelContact pc = null; for (int idx = 0; idx < ja.size(); idx++) { pc = ja.getJSONObject(idx).toJavaObject(PersonnelContact.class); list.add(pc); } } for (PersonnelContact pc : list) { if (pc.getId()!=null) { personnelContactMapper.updateByPrimaryKeySelective(pc); }else { personnelContactMapper.insertSelective(pc); } } return 1; } @Override public int updateEntry(InputPersonnelEntryBo i) { PersonnelEntry p=personnelEntryMapper.selectByPrimaryKey(i.getId()); if (p==null||p.getId()==null) { personnelEntryMapper.insertSelective(i); }else { personnelEntryMapper.updateByPrimaryKeySelective(i); } return 1; } @Override public int updatePromotion(InputPersonnelPromotionBo i) { if (i.getId()==null) { personnelPromotionMapper.insertSelective(i); }else { personnelPromotionMapper.updateByPrimaryKeySelective(i); } return 1; } @Override public int checkDoorId(Integer doorId) { int i=personnelDossierMapper.checkDoorId(doorId); return i; } @Override public int updateContract(InputPersonnelContractBo i) { if (i.getId()==null) { personnelContractMapper.insertSelective(i); } else { personnelContractMapper.updateByPrimaryKeySelective(i); } return 1; } @Override public int updateChoose(InputPersonnelChooseBo i) { if (i.getId()==null) { personnelChooseMapper.insertSelective(i); } else { personnelChooseMapper.updateByPrimaryKeySelective(i); } return 1; } @Override public int updateQuit(InputPersonnelQuitBo i) { if (i.getId()==null) { personnelQuitMapper.insertSelective(i); } else { personnelQuitMapper.updateByPrimaryKeySelective(i); } PersonnelDossier pd=new PersonnelDossier(); pd.setId(i.getPdId()); pd.setQuitTime(i.getEffectTime()); personnelDossierMapper.updateByPrimaryKeySelective(pd); return 1; } @SuppressWarnings("unchecked") @Override public Pagination selectList(InputPersonnelListBo i) { Map params = new HashMap<>(); if (i.getPageNo()==null||i.getPageNo()<1)i.setPageNo(1); if (i.getPageSize()==null||i.getPageSize()<1) i.setPageSize(10); params.put("i", i); return (Pagination) findPage("selectPersonnelByList", "selectPersonnelByCount", params, i.getPageNo(), i.getPageSize()); } }