|
@@ -28,6 +28,7 @@ import com.qunzhixinxi.hnqz.admin.mapper.ReDeptDrugMapper;
|
|
|
import com.qunzhixinxi.hnqz.admin.mapper.WmDaDrugEntDrugtableMapper;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.ReDeptDrugService;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.WmDaDrugEntDrugtableService;
|
|
|
+import com.qunzhixinxi.hnqz.common.core.constant.CommonConstants;
|
|
|
import com.qunzhixinxi.hnqz.common.core.util.R;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
@@ -36,6 +37,7 @@ import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
+import java.util.Set;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
@@ -53,9 +55,10 @@ public class WmDaDrugEntDrugtableServiceImpl extends ServiceImpl<WmDaDrugEntDrug
|
|
|
@Override
|
|
|
public R listReDept(WmDaDrugEntDrugtable wmDaDrugEntDrugtable) {
|
|
|
|
|
|
- List<ReDeptDrug> list = reDeptDrugService.list(Wrappers.<ReDeptDrug>lambdaQuery().eq(ReDeptDrug::getDrugId,wmDaDrugEntDrugtable.getId()));
|
|
|
+ List<ReDeptDrug> list = reDeptDrugService.list(Wrappers.<ReDeptDrug>lambdaQuery()
|
|
|
+ .eq(ReDeptDrug::getDrugId, wmDaDrugEntDrugtable.getId()));
|
|
|
|
|
|
- List<String> reDeptList = list.stream().map(p -> p.getDeptId()+"").collect(Collectors.toList());
|
|
|
+ List<String> reDeptList = list.stream().map(p -> p.getDeptId() + "").collect(Collectors.toList());
|
|
|
return R.ok(reDeptList);
|
|
|
}
|
|
|
|
|
@@ -70,26 +73,53 @@ public class WmDaDrugEntDrugtableServiceImpl extends ServiceImpl<WmDaDrugEntDrug
|
|
|
@Override
|
|
|
public IPage<WmDaDrugEntDrugtable> listDrugs(Page page, Integer deptId, String drugName) {
|
|
|
LambdaQueryWrapper<WmDaDrugEntDrugtable> queryWrapper = Wrappers.lambdaQuery();
|
|
|
- if (StringUtils.isNotEmpty(drugName)){
|
|
|
- queryWrapper.like(WmDaDrugEntDrugtable::getDrugname,drugName);
|
|
|
+ if (StringUtils.isNotEmpty(drugName)) {
|
|
|
+ queryWrapper.like(WmDaDrugEntDrugtable::getDrugname, drugName);
|
|
|
}
|
|
|
- if (deptId != null){
|
|
|
- final List<ReDeptDrug> reDeptDrugList = reDeptDrugService.list(Wrappers.<ReDeptDrug>lambdaQuery().eq(ReDeptDrug::getDeptId, deptId));
|
|
|
- final List<Integer> drugIdList = reDeptDrugList.stream().mapToInt(ReDeptDrug::getDrugId).boxed().collect(Collectors.toList());
|
|
|
+ if (deptId != null) {
|
|
|
+ final List<ReDeptDrug> reDeptDrugList = reDeptDrugService.list(Wrappers.<ReDeptDrug>lambdaQuery()
|
|
|
+ .eq(ReDeptDrug::getDeptId, deptId));
|
|
|
+ final List<Integer> drugIdList = reDeptDrugList.stream()
|
|
|
+ .mapToInt(ReDeptDrug::getDrugId)
|
|
|
+ .boxed()
|
|
|
+ .collect(Collectors.toList());
|
|
|
queryWrapper.in(WmDaDrugEntDrugtable::getId, drugIdList);
|
|
|
}
|
|
|
|
|
|
return page(page, queryWrapper);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 根据部门id获取关联药品生产生产企业名称
|
|
|
+ *
|
|
|
+ * @param deptId 部门id
|
|
|
+ * @return 生产企业列表
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public Set<String> listDrugProducerByDeptId(Integer deptId) {
|
|
|
+ Set<Integer> drugIds = reDeptDrugService.list(Wrappers.<ReDeptDrug>lambdaQuery()
|
|
|
+ .eq(deptId != null, ReDeptDrug::getDeptId, deptId))
|
|
|
+ .stream()
|
|
|
+ .mapToInt(ReDeptDrug::getDrugId)
|
|
|
+ .boxed()
|
|
|
+ .collect(Collectors.toSet());
|
|
|
+ return list(Wrappers.<WmDaDrugEntDrugtable>lambdaQuery()
|
|
|
+ .eq(WmDaDrugEntDrugtable::getDelFlag, CommonConstants.STATUS_NORMAL)
|
|
|
+ .eq(WmDaDrugEntDrugtable::getEnableFlag, CommonConstants.STATUS_NORMAL)
|
|
|
+ .in(WmDaDrugEntDrugtable::getId, drugIds))
|
|
|
+ .stream()
|
|
|
+ .map(WmDaDrugEntDrugtable::getDrugEntName)
|
|
|
+ .collect(Collectors.toSet());
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public R distribute(WmDaDrugEntDrugtable wmDaDrugEntDrugtable) {
|
|
|
- int id = Integer.parseInt(wmDaDrugEntDrugtable.getId());
|
|
|
+ int id = Integer.parseInt(wmDaDrugEntDrugtable.getId());
|
|
|
List<String> deptList = wmDaDrugEntDrugtable.getReDeptList();
|
|
|
|
|
|
List<ReDeptDrug> reDeptDrugs = new ArrayList<>();
|
|
|
|
|
|
- reDeptDrugService.remove(Wrappers.<ReDeptDrug>lambdaQuery().eq(ReDeptDrug::getDrugId,id));
|
|
|
+ reDeptDrugService.remove(Wrappers.<ReDeptDrug>lambdaQuery().eq(ReDeptDrug::getDrugId, id));
|
|
|
|
|
|
|
|
|
for (String str : deptList) {
|
|
@@ -109,4 +139,6 @@ public class WmDaDrugEntDrugtableServiceImpl extends ServiceImpl<WmDaDrugEntDrug
|
|
|
|
|
|
return R.ok();
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
}
|