|
|
@ -1,16 +1,22 @@ |
|
|
package com.hxhq.business.service.impl; |
|
|
package com.hxhq.business.service.impl; |
|
|
|
|
|
|
|
|
import java.util.*; |
|
|
import java.util.*; |
|
|
|
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
|
|
|
|
import cn.hutool.json.JSONUtil; |
|
|
import com.alibaba.fastjson2.JSONArray; |
|
|
import com.alibaba.fastjson2.JSONArray; |
|
|
import com.alibaba.fastjson2.JSONObject; |
|
|
import com.alibaba.fastjson2.JSONObject; |
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
|
|
import com.hxhq.business.domain.*; |
|
|
import com.hxhq.business.domain.*; |
|
|
|
|
|
import com.hxhq.business.dto.study.StudyFormFillCc; |
|
|
import com.hxhq.business.dto.study.StudyFormFillListDto; |
|
|
import com.hxhq.business.dto.study.StudyFormFillListDto; |
|
|
|
|
|
import com.hxhq.business.dto.study.StudyFormFillResource; |
|
|
import com.hxhq.business.enums.NormalEnum; |
|
|
import com.hxhq.business.enums.NormalEnum; |
|
|
import com.hxhq.business.enums.SnTypeEnum; |
|
|
import com.hxhq.business.enums.SnTypeEnum; |
|
|
import com.hxhq.business.enums.study.StudyFormFillBdztEnum; |
|
|
import com.hxhq.business.enums.study.StudyFormFillBdztEnum; |
|
|
|
|
|
import com.hxhq.business.enums.study.StudyFormFillResourceTypeEnum; |
|
|
import com.hxhq.business.enums.study.StudyTypeEnum; |
|
|
import com.hxhq.business.enums.study.StudyTypeEnum; |
|
|
import com.hxhq.business.enums.template.ProductEnum; |
|
|
import com.hxhq.business.enums.template.ProductEnum; |
|
|
import com.hxhq.business.enums.zykgl.JcgjlxEnum; |
|
|
import com.hxhq.business.enums.zykgl.JcgjlxEnum; |
|
|
@ -473,14 +479,82 @@ public class StudyFormFillServiceImpl extends ServiceImpl |
|
|
gyzjService.storageResource(studyFormFillOld,template,studyFormFill.getRemark()); |
|
|
gyzjService.storageResource(studyFormFillOld,template,studyFormFill.getRemark()); |
|
|
gspService.storageResource(studyFormFillOld,template,studyFormFill.getRemark()); |
|
|
gspService.storageResource(studyFormFillOld,template,studyFormFill.getRemark()); |
|
|
//更新 Resource |
|
|
//更新 Resource |
|
|
this.updateById(studyFormFill); |
|
|
|
|
|
//稽查轨迹 |
|
|
|
|
|
Map<String, String> formData = new LinkedHashMap<>(); |
|
|
|
|
|
formData.put("存储位置", "todo"); |
|
|
|
|
|
formData.put("存储条件", "todo"); |
|
|
|
|
|
formData.put("存储药剂", "todo"); |
|
|
|
|
|
studyFormFillJcgjService.saveJcgj(studyFormFillOld.getId(), JcgjlxEnum.lc.getValue(), "存储", JcmcysEnum.green.getValue(), formData, qmr, null, null); |
|
|
|
|
|
|
|
|
this.updateById(studyFormFillOld); |
|
|
|
|
|
String cclist = studyFormFill.getCclist(); |
|
|
|
|
|
String empty = "[]"; |
|
|
|
|
|
if (StringUtils.isNotEmpty(cclist) && !StringUtils.equals(empty, cclist)) { |
|
|
|
|
|
List<StudyFormFillJcgj> studyFormFillJcgjList=new ArrayList<>(); |
|
|
|
|
|
List<StudyFormFillCc> studyFormFillCcList = JSONUtil.toList(cclist, StudyFormFillCc.class); |
|
|
|
|
|
for (StudyFormFillCc studyFormFillCc : studyFormFillCcList) { |
|
|
|
|
|
//稽查轨迹 |
|
|
|
|
|
Map<String, String> formData = new LinkedHashMap<>(); |
|
|
|
|
|
formData.put("存储位置", studyFormFillCc.getCcwz()); |
|
|
|
|
|
formData.put("存储条件", studyFormFillCc.getCctj()); |
|
|
|
|
|
formData.put("存储药剂", String.join(",",studyFormFillCc.getList())); |
|
|
|
|
|
studyFormFillJcgjList.add(studyFormFillJcgjService.getJcgj(studyFormFillOld.getId(), JcgjlxEnum.lc.getValue(), "存储", JcmcysEnum.green.getValue(), formData, qmr, null)); |
|
|
|
|
|
} |
|
|
|
|
|
if(studyFormFillJcgjList.size()>0){ |
|
|
|
|
|
studyFormFillJcgjService.saveBatch(studyFormFillJcgjList); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 药剂存储过滤 |
|
|
|
|
|
* |
|
|
|
|
|
* @param studyFormFill |
|
|
|
|
|
*/ |
|
|
|
|
|
@Override |
|
|
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
|
|
public String yjccFilter(StudyFormFill studyFormFill) { |
|
|
|
|
|
List<StudyFormFillResource> result=new ArrayList<>(); |
|
|
|
|
|
if (studyFormFill.getId() != null) { |
|
|
|
|
|
StudyFormFill studyFormFillOld = this.queryInfo(studyFormFill.getId()); |
|
|
|
|
|
Template template = templateService.getById(studyFormFillOld.getTemplateId()); |
|
|
|
|
|
String empty = "[]"; |
|
|
|
|
|
if (StringUtils.isNotEmpty(studyFormFill.getResource()) && !StringUtils.equals(empty, studyFormFill.getResource())) { |
|
|
|
|
|
List<StudyFormFillResource> studyFormFillResourceList = JSONUtil.toList(studyFormFill.getResource(), StudyFormFillResource.class); |
|
|
|
|
|
result = studyFormFillResourceList.stream().filter( |
|
|
|
|
|
p -> (p.getType() != null)).collect(Collectors.toList()); |
|
|
|
|
|
List<StudyFormFillResource> tmp = studyFormFillResourceList.stream().filter( |
|
|
|
|
|
p -> (p.getType() == null)).collect(Collectors.toList()); |
|
|
|
|
|
if (tmp.size() > 0) { |
|
|
|
|
|
List<String> bhList = tmp.stream().map(StudyFormFillResource::getBh).collect(Collectors.toList()); |
|
|
|
|
|
if(template.getProduct().equals(StudyFormFillResourceTypeEnum.mjy.getValue())){ |
|
|
|
|
|
LambdaQueryWrapper<Mjy> queryWrapper = new LambdaQueryWrapper<>(); |
|
|
|
|
|
queryWrapper.in(Mjy::getBh, bhList); |
|
|
|
|
|
List<Mjy> mjyList = mjyService.list(queryWrapper); |
|
|
|
|
|
Map<String, Mjy> mjyMap = new HashMap<>(10); |
|
|
|
|
|
for (Mjy mjy : mjyList) { |
|
|
|
|
|
mjyMap.put(mjy.getBh(), mjy); |
|
|
|
|
|
} |
|
|
|
|
|
for (StudyFormFillResource studyFormFillResource : studyFormFillResourceList) { |
|
|
|
|
|
Mjy mjy = mjyMap.get(studyFormFillResource.getBh()); |
|
|
|
|
|
if(mjy!=null){ |
|
|
|
|
|
result.add(studyFormFillResource); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
if(template.getProduct().equals(StudyFormFillResourceTypeEnum.gyzj.getValue())){ |
|
|
|
|
|
LambdaQueryWrapper<Gyzj> queryWrapper = new LambdaQueryWrapper<>(); |
|
|
|
|
|
queryWrapper.in(Gyzj::getBh, bhList); |
|
|
|
|
|
List<Gyzj> gyzjList = gyzjService.list(queryWrapper); |
|
|
|
|
|
Map<String, Gyzj> gyzjMap = new HashMap<>(10); |
|
|
|
|
|
for (Gyzj gyzj : gyzjList) { |
|
|
|
|
|
gyzjMap.put(gyzj.getBh(), gyzj); |
|
|
|
|
|
} |
|
|
|
|
|
for (StudyFormFillResource studyFormFillResource : studyFormFillResourceList) { |
|
|
|
|
|
Gyzj gyzj = gyzjMap.get(studyFormFillResource.getBh()); |
|
|
|
|
|
if(gyzj!=null){ |
|
|
|
|
|
result.add(studyFormFillResource); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
return JSONObject.toJSONString(result); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
|