|
|
|
@ -74,13 +74,14 @@ public class GyzjServiceImpl extends ServiceImpl implements IG |
|
|
|
|
|
|
|
/** |
|
|
|
* 开始配置 |
|
|
|
* |
|
|
|
* @param form |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public void startConfiguration(StudyFormConfigurationForm form){ |
|
|
|
public void startConfiguration(StudyFormConfigurationForm form) { |
|
|
|
Gyzj gyzj = this.getInfoByBh(form.getBh()); |
|
|
|
if(gyzj == null) { |
|
|
|
if (gyzj == null) { |
|
|
|
gyzj = new Gyzj(); |
|
|
|
gyzj.setBh(form.getBh()); |
|
|
|
gyzj.setStudyId(form.getStudyId()); |
|
|
|
@ -96,13 +97,14 @@ public class GyzjServiceImpl extends ServiceImpl implements IG |
|
|
|
|
|
|
|
/** |
|
|
|
* 配置完成 |
|
|
|
* |
|
|
|
* @param form |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public void configurationCompleted(StudyFormConfigurationForm form){ |
|
|
|
public void configurationCompleted(StudyFormConfigurationForm form) { |
|
|
|
Gyzj gyzj = this.getInfoByBh(form.getBh()); |
|
|
|
if(gyzj == null) { |
|
|
|
if (gyzj == null) { |
|
|
|
gyzj = new Gyzj(); |
|
|
|
gyzj.setBh(form.getBh()); |
|
|
|
gyzj.setKc(form.getKc()); |
|
|
|
@ -131,13 +133,14 @@ public class GyzjServiceImpl extends ServiceImpl implements IG |
|
|
|
|
|
|
|
/** |
|
|
|
* 分装 |
|
|
|
* |
|
|
|
* @param form |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public void subpackage(StudyFormFillSubpackageForm form){ |
|
|
|
public void subpackage(StudyFormFillSubpackageForm form) { |
|
|
|
Gyzj gyzj = this.getInfoByBh(form.getBh()); |
|
|
|
if(gyzj == null) { |
|
|
|
if (gyzj == null) { |
|
|
|
gyzj = new Gyzj(); |
|
|
|
gyzj.setBh(form.getBh()); |
|
|
|
this.save(gyzj); |
|
|
|
@ -167,7 +170,7 @@ public class GyzjServiceImpl extends ServiceImpl implements IG |
|
|
|
Map<String, String> formData = new LinkedHashMap<>(); |
|
|
|
formData.put("母液编号", form.getBh()); |
|
|
|
formData.put("分装个数", String.valueOf(form.getList().size())); |
|
|
|
formData.put("分装后编号及体积",String.join(",", fz)); |
|
|
|
formData.put("分装后编号及体积", String.join(",", fz)); |
|
|
|
formData.put("分装人", SecurityUtils.getNickName()); |
|
|
|
gyzjJcgjService.saveJcgj(gyzj.getId(), JcgjlxEnum.lc.getValue(), "分装", JcmcysEnum.orange.getValue(), formData, SecurityUtils.getLoginUser().getSysUser(), null); |
|
|
|
} |
|
|
|
@ -180,14 +183,15 @@ public class GyzjServiceImpl extends ServiceImpl implements IG |
|
|
|
|
|
|
|
/** |
|
|
|
* 通过编号获取给药制剂 |
|
|
|
* |
|
|
|
* @param bh |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public Gyzj getInfoByBh(String bh){ |
|
|
|
public Gyzj getInfoByBh(String bh) { |
|
|
|
QueryWrapper<Gyzj> queryWrapper = Wrappers.query(); |
|
|
|
queryWrapper.eq("bh", bh); |
|
|
|
return this.getOne(queryWrapper,false); |
|
|
|
return this.getOne(queryWrapper, false); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ -1447,19 +1451,14 @@ public class GyzjServiceImpl extends ServiceImpl implements IG |
|
|
|
public void genResource(StudyFormFill studyFormFill, Template template, String remark) { |
|
|
|
Boolean mark = template.getProduct().equals(StudyFormFillResourceTypeEnum.gyzj.getValue()) ? true : false; |
|
|
|
SysUser qmr = sysUserService.selectUserById(SecurityUtils.getUserId()); |
|
|
|
Long studyId = studyFormFill.getStudyId(); |
|
|
|
Long studyFormId = studyFormFill.getId(); |
|
|
|
// 生成/使用 |
|
|
|
String resource = studyFormFill.getResource(); |
|
|
|
Map<String, Gyzj> gyzjMap = new HashMap<>(10); |
|
|
|
List<Gyzj> gyzjList = new ArrayList<>(); |
|
|
|
LinkedList<GyzjJcgj> jcgjList = new LinkedList<>(); |
|
|
|
LinkedList<GyzjTz> tzList = new LinkedList<>(); |
|
|
|
String empty = "[]"; |
|
|
|
if (StringUtils.isNotEmpty(resource) && !StringUtils.equals(empty, resource)) { |
|
|
|
List<StudyFormFillResource> studyFormFillResourceList = JSONUtil.toList(resource, StudyFormFillResource.class); |
|
|
|
if (StringUtils.isNotEmpty(studyFormFill.getResource()) && !StringUtils.equals(empty, studyFormFill.getResource())) { |
|
|
|
List<StudyFormFillResource> studyFormFillResourceList = JSONUtil.toList(studyFormFill.getResource(), StudyFormFillResource.class); |
|
|
|
List<StudyFormFillResource> tmp = studyFormFillResourceList.stream().filter(p -> (p.getType() == null && mark) || (p.getType() != null && StudyFormFillResourceTypeEnum.gyzj.getValue() == p.getType())).collect(Collectors.toList()); |
|
|
|
// 根据编号获取需要处置的列表 |
|
|
|
if (tmp.size() > 0) { |
|
|
|
List<String> bhList = tmp.stream().map(StudyFormFillResource::getBh).collect(Collectors.toList()); |
|
|
|
LambdaQueryWrapper<Gyzj> queryWrapper = new LambdaQueryWrapper<>(); |
|
|
|
@ -1470,75 +1469,53 @@ public class GyzjServiceImpl extends ServiceImpl implements IG |
|
|
|
} |
|
|
|
for (StudyFormFillResource studyFormFillResource : studyFormFillResourceList) { |
|
|
|
Gyzj gyzj = gyzjMap.get(studyFormFillResource.getBh()); |
|
|
|
//配置的才保存,或更新 |
|
|
|
if (mark) { |
|
|
|
if (studyFormFillResource.getType() == null) { |
|
|
|
if (studyFormFill.getSftb().equals(NormalEnum.no.getValue())) { |
|
|
|
Boolean isAdd=false; |
|
|
|
if (gyzj == null) { |
|
|
|
gyzj = new Gyzj(); |
|
|
|
gyzj.setStudyId(studyId); |
|
|
|
gyzj.setBdId(studyFormId); |
|
|
|
gyzj.setZjzt(ZjztEnum.wrk.getValue()); |
|
|
|
gyzj.setJyzt(JyztEnum.wjy.getValue()); |
|
|
|
gyzj.setMc(studyFormFillResource.getMc()); |
|
|
|
gyzj.setBh(studyFormFillResource.getBh()); |
|
|
|
gyzj.setLy(studyFormFillResource.getLy()); |
|
|
|
gyzj.setNd(String.valueOf(studyFormFillResource.getNd())); |
|
|
|
gyzj.setNddw(studyFormFillResource.getNddw()); |
|
|
|
gyzj.setKc(String.valueOf(studyFormFillResource.getKc())); |
|
|
|
gyzj.setKcdw(studyFormFillResource.getKcdw()); |
|
|
|
gyzj.setSxrq(DateUtils.parseDate(studyFormFillResource.getSxrq())); |
|
|
|
} |
|
|
|
if (gyzj.getId() == null) { |
|
|
|
this.save(gyzj); |
|
|
|
gyzjList.add(gyzj); |
|
|
|
gyzjMap.put(gyzj.getBh(), gyzj); |
|
|
|
// 稽查轨迹 |
|
|
|
jcgjList.add(gyzjJcgjService.getJcgj(gyzj.getId(), JcgjlxEnum.lc.getValue(), "配制完成", JcmcysEnum.green.getValue(), null, null, qmr, remark)); |
|
|
|
// 台账 |
|
|
|
tzList.add(gyzjTzService.getTzGen(gyzj.getId(), null, null, null, null, null, null, null, null, qmr, "配制完成", gyzj.getKc(), gyzj.getKcdw(), remark, studyFormFill.getId())); |
|
|
|
} else { |
|
|
|
this.updateById(gyzj); |
|
|
|
gyzj = new Gyzj();isAdd=true; |
|
|
|
gyzj.setStudyId(studyFormFill.getStudyId()); |
|
|
|
gyzj.setBdId(studyFormFill.getId()); |
|
|
|
} |
|
|
|
gyzj.setZjzt(ZjztEnum.wrk.getValue()); |
|
|
|
gyzj.setJyzt(JyztEnum.wjy.getValue()); |
|
|
|
gyzj.setMc(studyFormFillResource.getMc()); |
|
|
|
gyzj.setBh(studyFormFillResource.getBh()); |
|
|
|
gyzj.setLy(studyFormFillResource.getLy()); |
|
|
|
gyzj.setNd(String.valueOf(studyFormFillResource.getNd())); |
|
|
|
gyzj.setNddw(studyFormFillResource.getNddw()); |
|
|
|
gyzj.setKcdw(studyFormFillResource.getKcdw()); |
|
|
|
gyzj.setKc(studyFormFillResource.getKc()); |
|
|
|
gyzj.setSxrq(DateUtils.parseDate(studyFormFillResource.getSxrq())); |
|
|
|
this.saveOrUpdate(gyzj);if(isAdd){gyzjList.add(gyzj);}gyzjMap.put(gyzj.getBh(), gyzj); |
|
|
|
jcgjList.add(gyzjJcgjService.getJcgj(gyzj.getId(), JcgjlxEnum.lc.getValue(), "配制完成", JcmcysEnum.green.getValue(), null, null, qmr, remark)); |
|
|
|
tzList.add(gyzjTzService.getTzGen(gyzj.getId(), null, null, null, null, null, null, null, null, qmr, "配制完成", gyzj.getKc(), gyzj.getKcdw(), remark, studyFormFill.getId())); |
|
|
|
} |
|
|
|
studyFormFillResource.setType(StudyFormFillResourceTypeEnum.gyzj.getValue()); |
|
|
|
} else { |
|
|
|
//使用的才更新 Resource |
|
|
|
studyFormFillResource.setMc(gyzj.getMc()); |
|
|
|
studyFormFillResource.setNd(gyzj.getNd()); |
|
|
|
studyFormFillResource.setNddw(gyzj.getNddw()); |
|
|
|
studyFormFillResource.setLy(gyzj.getLy()); |
|
|
|
if (gyzj.getSxrq() != null) { |
|
|
|
studyFormFillResource.setSxrq(DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", gyzj.getSxrq())); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
// 使用 |
|
|
|
if(gyzj!=null){ |
|
|
|
if (gyzj != null) { |
|
|
|
studyFormFillResource.setMc(gyzj.getMc()); studyFormFillResource.setNd(gyzj.getNd());studyFormFillResource.setNddw(gyzj.getNddw()); studyFormFillResource.setLy(gyzj.getLy()); |
|
|
|
studyFormFillResource.setSxrq(gyzj.getSxrq() != null?DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", gyzj.getSxrq()):""); |
|
|
|
String syl = studyFormFillResource.getSyl(); |
|
|
|
if (StringUtils.isNotEmpty(syl) && NumberUtils.isParsable(syl)) { |
|
|
|
String kc = CalUnitTools.subTj(gyzj.getKc(), gyzj.getKcdw(), syl, studyFormFillResource.getSyldw()); |
|
|
|
gyzj.setKc(kc); |
|
|
|
baseMapper.updateKc(gyzj.getId(), kc); |
|
|
|
// 使用稽查轨迹 |
|
|
|
HashMap<String, String> formData = new LinkedHashMap<>(); |
|
|
|
formData.put("使用量", syl + studyFormFillResource.getSyldw()); |
|
|
|
// 稽查轨迹 |
|
|
|
jcgjList.add(gyzjJcgjService.getJcgj(gyzj.getId(), JcgjlxEnum.lc.getValue(), "使用", JcmcysEnum.green.getValue(), JctUtil.formatStr(formData), JctUtil.formatStr(GyzjJcnrUtil.getMapEn(formData)), qmr, remark)); |
|
|
|
// 台账 |
|
|
|
tzList.add(gyzjTzService.getTzGen(gyzj.getId(), null, null, null, null, null, null, null, null, qmr, "使用", syl, studyFormFillResource.getSyldw(), remark, studyFormFill.getId())); |
|
|
|
} |
|
|
|
gyzjMap.put(gyzj.getBh(), gyzj); |
|
|
|
} |
|
|
|
} |
|
|
|
//更新 Resource |
|
|
|
studyFormFill.setResource(JSONObject.toJSONString(studyFormFillResourceList)); |
|
|
|
} |
|
|
|
} |
|
|
|
if(gyzjMap.size() > 0&&studyFormFill.getSftb().equals(NormalEnum.no.getValue())) { |
|
|
|
// 存储、处置 |
|
|
|
cc(studyFormFill, gyzjMap, jcgjList, tzList, remark, qmr); |
|
|
|
cz(studyFormFill, gyzjMap, jcgjList, tzList, remark, qmr); |
|
|
|
if (gyzjMap.size() > 0 && studyFormFill.getSftb().equals(NormalEnum.no.getValue())) { |
|
|
|
cc(studyFormFill, gyzjMap, jcgjList, tzList, remark, qmr);cz(studyFormFill, gyzjMap, jcgjList, tzList, remark, qmr); |
|
|
|
} |
|
|
|
if (jcgjList.size() > 0) { |
|
|
|
gyzjJcgjService.saveBatch(jcgjList); |
|
|
|
@ -1547,18 +1524,19 @@ public class GyzjServiceImpl extends ServiceImpl implements IG |
|
|
|
gyzjTzService.saveBatch(tzList); |
|
|
|
} |
|
|
|
if (gyzjList.size() > 0) { |
|
|
|
studyGyzjService.saveBatch(studyId, gyzjList); |
|
|
|
studyGyzjService.saveBatch(studyFormFill.getStudyId(), gyzjList); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 药剂存储 |
|
|
|
* |
|
|
|
* @param studyFormFill |
|
|
|
* @param template |
|
|
|
* @param remark |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public void storageResource(StudyFormFill studyFormFill, Template template,String remark){ |
|
|
|
public void storageResource(StudyFormFill studyFormFill, Template template, String remark) { |
|
|
|
Boolean mark = template.getProduct().equals(StudyFormFillResourceTypeEnum.gyzj.getValue()) ? true : false; |
|
|
|
SysUser qmr = sysUserService.selectUserById(SecurityUtils.getUserId()); |
|
|
|
Long studyId = studyFormFill.getStudyId(); |
|
|
|
@ -1582,7 +1560,7 @@ public class GyzjServiceImpl extends ServiceImpl implements IG |
|
|
|
} |
|
|
|
for (StudyFormFillResource studyFormFillResource : studyFormFillResourceList) { |
|
|
|
Gyzj gyzj = gyzjMap.get(studyFormFillResource.getBh()); |
|
|
|
if(gyzj!=null){ |
|
|
|
if (gyzj != null) { |
|
|
|
gyzj.setCczt(CcztEnum.Cc.getValue()); |
|
|
|
this.updateById(gyzj); |
|
|
|
} |
|
|
|
@ -1641,7 +1619,7 @@ public class GyzjServiceImpl extends ServiceImpl implements IG |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
* 处置 |
|
|
|
* |
|
|
|
@ -1682,8 +1660,8 @@ public class GyzjServiceImpl extends ServiceImpl implements IG |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//endregion |
|
|
|
|
|
|
|
//region 档案管理 |
|
|
|
|