package com.ygj.yuemum.service.maternitymatron; import com.github.pagehelper.PageHelper; import com.ygj.yuemum.dao.maternitymatron.JlServiceUserDao; import com.ygj.yuemum.dao.maternitymatron.MmStockDao; import com.ygj.yuemum.domain.maternitymatron.JlServiceUser; import com.ygj.yuemum.domain.maternitymatron.MmStock; import com.ygj.yuemum.domain.maternitymatron.QueryServiceUser; import com.ygj.yuemum.domain.maternitymatron.QueryServiceUserStock; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; @Service public class JlServiceUserService { @Autowired private JlServiceUserDao jlServiceUserDao; @Autowired private JlServiceUserInfoService jlServiceUserInfoService; @Autowired private JlStoreXService jlStoreXService; @Autowired private MmStockDao mmStockDao; public List getJlServiceUsers() { List jlServiceUsers = jlServiceUserDao.getAll(); return jlServiceUsers; } //分页 public Map getMMList(int page, int limit) { PageHelper.startPage(page, limit); List mmlists = jlServiceUserDao.getMMList(); Map tableData = new HashMap<>(); Integer count = jlServiceUserDao.getcount(); tableData.put("items", mmlists); tableData.put("total", count); return tableData; } public Map queryMMList(QueryServiceUser queryServiceUser) { PageHelper.startPage(queryServiceUser.getPage(), queryServiceUser.getLimit()); List mmlists = jlServiceUserDao.queryMMList(queryServiceUser); Map tableData = new HashMap<>(); Integer count = jlServiceUserDao.getquerycount(queryServiceUser); tableData.put("items", mmlists); tableData.put("total", count); return tableData; } public Map queryServiceUserStock(int page, int limit) { PageHelper.startPage(page, limit); List mmlists = jlServiceUserDao.queryServiceUserStock(); Map tableData = new HashMap<>(); Integer count = jlServiceUserDao.getcount(); tableData.put("items", mmlists); tableData.put("total", count); return tableData; } public Map queryEditServiceUser(QueryServiceUserStock queryServiceUserStock) throws ParseException { List stockLists = jlServiceUserDao.queryEditServiceUser(queryServiceUserStock); Map tableData = new HashMap<>(); tableData.put("items", stockLists); return tableData; } public Map queryServiceUserStockCondition(QueryServiceUserStock queryServiceUserStock) throws ParseException { // 1.根据日期筛选出月嫂 获取 把不能服务的记录下来 然后数据库里 not in // 2.根据id获取月嫂相关信息 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); ArrayList idlist = new ArrayList(); String ids = ""; if (queryServiceUserStock.getService_start()!=null && queryServiceUserStock.getService_end()!=null) { List stocks = mmStockDao.getAll(); Date startDate = sdf.parse(queryServiceUserStock.getService_start()); Date endDate = sdf.parse(queryServiceUserStock.getService_end()); Calendar cal = Calendar.getInstance(); List lDate = new ArrayList(); lDate.add(startDate); cal.setTime(startDate); while (true) { cal.add(Calendar.DAY_OF_MONTH, 1); if (endDate.after(cal.getTime())) { lDate.add(cal.getTime()); } else { break; } } lDate.add(endDate); for (Date day : lDate) { for (MmStock res : stocks) { if (day.getTime() >= sdf.parse(res.getStart_date()).getTime() && day.getTime() <= sdf.parse(res.getEnd_date()).getTime() ) { idlist.add(res.getServant_code()); } } } for (int i = 0; i < idlist.size(); i++) { ids = ids + idlist.get(i) + ","; } if(ids.length()>0) { queryServiceUserStock.setIds(ids.substring(0, ids.length() - 1)); } } PageHelper.startPage(queryServiceUserStock.getPage(), queryServiceUserStock.getLimit()); List stockLists = jlServiceUserDao.queryServiceUserStockCondition(queryServiceUserStock); Map tableData = new HashMap<>(); Integer count = jlServiceUserDao.getStock(queryServiceUserStock); tableData.put("items", stockLists); tableData.put("total", count); return tableData; } public JlServiceUser getResume(Integer id) { return jlServiceUserDao.getResume(id); } public int getPMId() { return jlServiceUserDao.getpmid(); } public int addJlServiceUser(JlServiceUser jlServiceUser) { return jlServiceUserDao.insertSelective(jlServiceUser); } public int deleteJlServiceUser(Integer id) { return jlServiceUserDao.deleteByPrimaryKey(id); } public int updateJlServiceUser(JlServiceUser jlServiceUser) { return jlServiceUserDao.updateByPrimaryKeySelective(jlServiceUser); } public int upDateStatus(JlServiceUser jlServiceUser) { return jlServiceUserDao.upDateStatus(jlServiceUser); } public JlServiceUser getJlServiceUser(Integer id) { return jlServiceUserDao.selectByPrimaryKey(id); } }