diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtCateringDaoController.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtCateringDaoController.java index 45eb82c28..9fe329e9e 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtCateringDaoController.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtCateringDaoController.java @@ -161,6 +161,13 @@ public class FtCateringDaoController extends BaseController { System.out.println(ftCateringDao); + List patientIds = iFtCateringDaoService.notInTable(ftCateringDao); + + List ftCateringDaoList = iFtCateringDaoService.copyAndAdd(patientIds, ftCateringDao); + + + + return null; } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtCateringDaoService.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtCateringDaoService.java index f121ef18f..f29ff1d56 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtCateringDaoService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtCateringDaoService.java @@ -22,4 +22,8 @@ public interface IFtCateringDaoService extends IService { Integer deleteByPatientId(Long[] ids); Integer cancelByPatientId(Long[] ids); + + List notInTable(FtCateringDao ftCateringDao); + + List copyAndAdd(List patientIds, FtCateringDao ftCateringDao); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtCateringDaoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtCateringDaoServiceImpl.java index cba6f9926..5971efbe2 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtCateringDaoServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtCateringDaoServiceImpl.java @@ -38,13 +38,9 @@ public class FtCateringDaoServiceImpl extends ServiceImpl types = ftCateringDao.getTypes(); - List patientIds = ftCateringDao.getPatientIds(); - - for (Long patientId : patientIds) { - for (int i = 1; i < 5; i++) { FtCateringDao cateringDao = new FtCateringDao(); - cateringDao.setPatientId(patientId); + cateringDao.setPatientId(ftCateringDao.getPatientId()); cateringDao.setNumber(ftCateringDao.getNumber()); cateringDao.setFrequency(ftCateringDao.getFrequency()); cateringDao.setCateringUsage(ftCateringDao.getCateringUsage()); @@ -63,7 +59,6 @@ public class FtCateringDaoServiceImpl extends ServiceImpl notInTable(FtCateringDao ftCateringDao) { + + List patientIds = ftCateringDao.getPatientIds(); + + List patientNotInTable = new ArrayList<>(); + + for (Long patientId : patientIds) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("patient_id", patientId); + List ftCateringDaoList = this.baseMapper.selectList(wrapper); + + if (ftCateringDaoList.size() == 0) { + patientNotInTable.add(patientId); + } + + } + + return patientNotInTable; + } + + @Override + public List copyAndAdd(List patientIds, FtCateringDao ftCateringDao) { + + List list = new ArrayList<>(); + + List types = ftCateringDao.getTypes(); + + for (Long patientId : patientIds) { + for (int i = 1; i < 5; i++) { + FtCateringDao cateringDao = new FtCateringDao(); + cateringDao.setPatientId(patientId); + cateringDao.setNumber(ftCateringDao.getNumber()); + cateringDao.setFrequency(ftCateringDao.getFrequency()); + cateringDao.setCateringUsage(ftCateringDao.getCateringUsage()); + cateringDao.setCreateAt(new Date()); + cateringDao.setType(i); + + for (Integer type : types) { + if (i == type) { + cateringDao.setFlag(true); + break; + } else { + cateringDao.setFlag(false); + } + } + + this.baseMapper.insert(cateringDao); + list.add(cateringDao); + } + } + + return list; + } } diff --git a/ruoyi-ui/src/views/fantang/catering/index.vue b/ruoyi-ui/src/views/fantang/catering/index.vue index 81d701e71..cce892b0f 100644 --- a/ruoyi-ui/src/views/fantang/catering/index.vue +++ b/ruoyi-ui/src/views/fantang/catering/index.vue @@ -239,7 +239,7 @@ @@ -758,8 +758,10 @@ export default { }, // 响应科室信息切换 changeDepart(value) { + const _this = this; selectPatientByDepartId(value).then(response => { - this.patientOptions = response.data; + _this.patientOptions = response.data; + _this.form.patientId = null; }); }, // 相应病人信息切换