package com.lyms.talkonlineweb.controller; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.lyms.talkonlineweb.domain.*; import com.lyms.talkonlineweb.result.BaseResponse; import com.lyms.talkonlineweb.service.HdepartInfoService; import com.lyms.talkonlineweb.service.LymsDepartillService; import com.lyms.talkonlineweb.service.LymsHdepartService; import com.lyms.talkonlineweb.service.LymsIllnessService; import com.lyms.talkonlineweb.util.Constant; import com.lyms.talkonlineweb.util.JwtUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.BindingResult; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; /** * 科室管理 */ @RestController @RequestMapping("depart") public class DepartController { @Autowired private LymsHdepartService lymsHdepartService; @Autowired //科室所拥有的疾病 private LymsDepartillService lymsDepartillService; @Autowired private HdepartInfoService hdepartInfoService; /** * 获取科室列表 * @param depart * @param current * @param size * @return */ @GetMapping("sltDepartLst") public BaseResponse sltDepartLst(HdepartInfo depart, int current, int size){ BaseResponse baseResponse=new BaseResponse(); // Page page=new Page<>(current,size); // Page departPage=lymsHdepartService.page(page, Wrappers.query(depart).orderByDesc("updated_time","createdtime")); // addIll(departPage); Page page=new Page<>(current,size); Page departPage=hdepartInfoService.page(page, Wrappers.query(depart).orderByDesc("updated_time","createdtime")); addIll(departPage); baseResponse.setObject(departPage); return baseResponse; } public void addIll(Page departPage){ departPage.getRecords().forEach(e->{ Map param=new HashMap(); param.put("did",e.getDid()); List iLst=lymsDepartillService.listByMap(param); iLst.forEach(i->{ if(e.getIlls()==null){ e.setIlls(""); } e.setIlls(e.getIlls()+i.getIid()+","); }); }); } /** * 保存或更新科室信息 * @param depart * @return */ @PostMapping("saveDepart") public BaseResponse saveDepart(@RequestBody LymsHdepart depart, BindingResult result){ BaseResponse baseResponse=new BaseResponse(); baseResponse.setErrormsg(""); if(depart.getDid()==null){ depart.setCreatedtime(new Date()); LymsHdepart depart2=new LymsHdepart(); }else{ depart.setUpdatedTime(new Date()); } if(result.hasErrors()){ baseResponse.setErrorcode(1); result.getAllErrors().forEach(e->{ baseResponse.setErrormsg(baseResponse.getErrormsg()+e.getDefaultMessage()); }); return baseResponse; } boolean f=lymsHdepartService.saveOrUpdate(depart); Map param=new HashMap(); param.put("did",depart.getDid()); lymsDepartillService.removeByMap(param); String[] iArr={}; if(depart.getIlls()!=null){ iArr=depart.getIlls().split(","); } for (int i = 0; i < iArr.length; i++) { LymsDepartill departill=new LymsDepartill(); departill.setDid(depart.getDid()); departill.setIid(Integer.parseInt(iArr[i])); lymsDepartillService.save(departill); } baseResponse.setErrorcode(f==true?0:1); return baseResponse; } /** * 删除科室 * @param did * @return */ @GetMapping("delDepart") public BaseResponse delHosp(int did){ BaseResponse baseResponse=new BaseResponse(); boolean f=lymsHdepartService.removeById(did); baseResponse.setErrorcode(f==true?0:1); return baseResponse; } /** * 科室人员或者护士登录 * @param depart * @return */ @PostMapping("loginDepart") public BaseResponse loginDepart(LymsHdepart depart){ BaseResponse baseResponse=new BaseResponse(); List dLst=lymsHdepartService.list(Wrappers.query(depart)); // if (dLst.size()>0) { // depart=dLst.get(0); // depart.setDpasswd(null); // String jwt = JwtUtils.createJWT("1", depart.getDusername(), Constant.JWT_TTL); // Map map=new HashMap<>(); // map.put("depart",depart); // map.put("token",jwt); // baseResponse.setObject(map); // } return baseResponse; } }