|
|
|
@ -252,7 +252,7 @@ public class SjServiceImpl extends ServiceImpl implements ISjServi |
|
|
|
sysUserService.checkPassword(qmr, form.getQmrmm(), false); |
|
|
|
|
|
|
|
List<Sj> sjList = new ArrayList<>(); |
|
|
|
Map<Long, Sj> map = new HashMap<>(); |
|
|
|
Map<Long, Sj> map = new HashMap<>(form.getList().size()); |
|
|
|
for (PlczSjItemForm itemForm : form.getList()) { |
|
|
|
if (itemForm.getId() == null || itemForm.getId() < 0) { |
|
|
|
throw new SecurityException("参数id不正确"); |
|
|
|
@ -641,18 +641,17 @@ public class SjServiceImpl extends ServiceImpl implements ISjServi |
|
|
|
public void genResource(StudyFormFill studyFormFill, Template template) { |
|
|
|
Boolean mark = template.getProduct().equals(StudyFormFillResourceTypeEnum.sj.getValue()) ? true : false; |
|
|
|
SysUser qmr = sysUserService.selectUserById(SecurityUtils.getUserId()); |
|
|
|
|
|
|
|
Long studyId = studyFormFill.getStudyId(); |
|
|
|
Long studyFormId = studyFormFill.getId(); |
|
|
|
Long deptId = template.getDeptId(); |
|
|
|
|
|
|
|
// 生成/使用 |
|
|
|
String resource = studyFormFill.getResource(); |
|
|
|
Map<String, Sj> sjMap = new HashMap<>(); |
|
|
|
List<Sj> sjList = new ArrayList<>(); |
|
|
|
LinkedList<SjJcgj> jcgjList = new LinkedList<>(); |
|
|
|
LinkedList<SjTz> tzList = new LinkedList<>(); |
|
|
|
if (StringUtils.isNotEmpty(resource) && !StringUtils.equals("[]", resource)) { |
|
|
|
String empty = "[]"; |
|
|
|
if (StringUtils.isNotEmpty(resource) && !StringUtils.equals(empty, resource)) { |
|
|
|
List<StudyFormFillResource> studyFormFillResourceList = JSONUtil.toList(resource, StudyFormFillResource.class); |
|
|
|
List<StudyFormFillResource> tmp= studyFormFillResourceList.stream().filter(p -> (p.getType() == null && mark) || (p.getType()!=null&&StudyFormFillResourceTypeEnum.sj.getValue()==p.getType())).collect(Collectors.toList()); |
|
|
|
// 根据编号获取需要处置的列表 |
|
|
|
@ -720,28 +719,7 @@ public class SjServiceImpl extends ServiceImpl implements ISjServi |
|
|
|
} |
|
|
|
} |
|
|
|
// 使用 |
|
|
|
String syl = studyFormFillResource.getSyl(); |
|
|
|
if (StringUtils.isNotEmpty(syl) && NumberUtils.isParsable(syl)) { |
|
|
|
BigDecimal kc = new BigDecimal(sj.getKc()); |
|
|
|
kc = kc.subtract(new BigDecimal(syl)); |
|
|
|
baseMapper.updateKc(sj.getId(), kc.toString()); |
|
|
|
|
|
|
|
// 使用稽查轨迹 |
|
|
|
Map<String, String> jcnrMap = new LinkedHashMap<>(); |
|
|
|
jcnrMap.put("使用量", syl + studyFormFillResource.getSyldw()); |
|
|
|
|
|
|
|
Map<String, String> jcnrEnMap = new LinkedHashMap<>(); |
|
|
|
jcnrEnMap.put("Usage Amount", syl + studyFormFillResource.getSyldw()); |
|
|
|
|
|
|
|
SjJcgj sjJcgj = sjJcgjService.genJcgj(sj.getId(), JcgjlxEnum.lc.getValue(), "使用", "Usage", |
|
|
|
JcmcysEnum.green.getValue(), JctUtil.formatStr(jcnrMap), JctUtil.formatStr(jcnrEnMap), qmr); |
|
|
|
jcgjList.add(sjJcgj); |
|
|
|
|
|
|
|
|
|
|
|
// 台账 |
|
|
|
SjTz sjTz = sjTzService.genTz(sj.getId(), "使用", "Usage", syl, studyFormFillResource.getKcdw(), null, qmr); |
|
|
|
tzList.add(sjTz); |
|
|
|
} |
|
|
|
syl(studyFormFillResource, sj, jcgjList, tzList, qmr); |
|
|
|
sjMap.put(sj.getBh(), sj); |
|
|
|
|
|
|
|
} |
|
|
|
@ -752,82 +730,119 @@ public class SjServiceImpl extends ServiceImpl implements ISjServi |
|
|
|
|
|
|
|
if (sjMap.size() > 0) { |
|
|
|
// 存储 |
|
|
|
String cclist = studyFormFill.getCclist(); |
|
|
|
if (StringUtils.isNotEmpty(cclist) && !StringUtils.equals("[]", cclist)) { |
|
|
|
List<StudyFormFillCc> studyFormFillCcList = JSONUtil.toList(cclist, StudyFormFillCc.class); |
|
|
|
for (StudyFormFillCc studyFormFillCc : studyFormFillCcList) { |
|
|
|
List<String> list = new ArrayList<>(); |
|
|
|
for (String bh : studyFormFillCc.getList()) { |
|
|
|
Sj sj = sjMap.get(bh); |
|
|
|
if (sj != null) { |
|
|
|
list.add(bh); |
|
|
|
// 稽查轨迹 |
|
|
|
LinkedHashMap<String, String> jcnrMap = new LinkedHashMap<>(); |
|
|
|
jcnrMap.put("存储位置", studyFormFillCc.getCcwz()); |
|
|
|
jcnrMap.put("存储条件", studyFormFillCc.getCctj()); |
|
|
|
cc(studyFormFill, sjMap, jcgjList, tzList, qmr); |
|
|
|
// 处置,库存全变为0 |
|
|
|
cz(studyFormFill, sjMap, jcgjList, tzList, qmr); |
|
|
|
} |
|
|
|
if(jcgjList.size()>0){ |
|
|
|
sjJcgjService.saveBatch(jcgjList); |
|
|
|
} |
|
|
|
if(jcgjList.size()>0){ |
|
|
|
sjTzService.saveBatch(tzList); |
|
|
|
} |
|
|
|
if(jcgjList.size()>0){ |
|
|
|
studySjService.saveBatch(studyId, sjList); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
LinkedHashMap<String, String> jcnrEnMap = new LinkedHashMap<>(); |
|
|
|
jcnrEnMap.put("Storage Location", studyFormFillCc.getCcwz()); |
|
|
|
jcnrEnMap.put("Storage Condition", studyFormFillCc.getCctj()); |
|
|
|
private void syl(StudyFormFillResource studyFormFillResource, Sj sj, List<SjJcgj> jcgjList, List<SjTz> tzList, SysUser qmr) { |
|
|
|
// 使用 |
|
|
|
String syl = studyFormFillResource.getSyl(); |
|
|
|
if (StringUtils.isNotEmpty(syl) && NumberUtils.isParsable(syl)) { |
|
|
|
BigDecimal kc = new BigDecimal(sj.getKc()); |
|
|
|
kc = kc.subtract(new BigDecimal(syl)); |
|
|
|
baseMapper.updateKc(sj.getId(), kc.toString()); |
|
|
|
|
|
|
|
SjJcgj sjJcgj = sjJcgjService.genJcgj(sj.getId(), JcgjlxEnum.lc.getValue(), "存储", "Storage", |
|
|
|
JcmcysEnum.green.getValue(), JctUtil.formatStr(jcnrMap), JctUtil.formatStr(jcnrEnMap), qmr); |
|
|
|
jcgjList.add(sjJcgj); |
|
|
|
// 使用稽查轨迹 |
|
|
|
Map<String, String> jcnrMap = new LinkedHashMap<>(); |
|
|
|
jcnrMap.put("使用量", syl + studyFormFillResource.getSyldw()); |
|
|
|
|
|
|
|
// 台账 |
|
|
|
SjTz sjTz = sjTzService.genTz(sj.getId(), "存储", "Storage", sj.getKc(), sj.getKcdw(), null, qmr); |
|
|
|
tzList.add(sjTz); |
|
|
|
} |
|
|
|
} |
|
|
|
if(list.size()>0){ |
|
|
|
baseMapper.updateCc(list, studyFormFillCc.getCctj(), studyFormFillCc.getCcwz()); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
Map<String, String> jcnrEnMap = new LinkedHashMap<>(); |
|
|
|
jcnrEnMap.put("Usage Amount", syl + studyFormFillResource.getSyldw()); |
|
|
|
|
|
|
|
// 处置,库存全变为0 |
|
|
|
String czlist = studyFormFill.getCzlist(); |
|
|
|
if (StringUtils.isNotEmpty(czlist) && !StringUtils.equals("[]", czlist)) { |
|
|
|
List<StudyFormFillCz> studyFormFillCzList = JSONUtil.toList(czlist, StudyFormFillCz.class); |
|
|
|
for (StudyFormFillCz studyFormFillCz : studyFormFillCzList) { |
|
|
|
List<String> list = new ArrayList<>(); |
|
|
|
for (String bh : studyFormFillCz.getList()) { |
|
|
|
Sj sj = sjMap.get(bh); |
|
|
|
if (sj != null) { |
|
|
|
list.add(bh); |
|
|
|
// 稽查轨迹 |
|
|
|
LinkedHashMap<String, String> jcnrMap = new LinkedHashMap<>(); |
|
|
|
jcnrMap.put("处置方式", studyFormFillCz.getCzfs()); |
|
|
|
jcnrMap.put("处置量", sj.getKc() + sj.getKcdw()); |
|
|
|
SjJcgj sjJcgj = sjJcgjService.genJcgj(sj.getId(), JcgjlxEnum.lc.getValue(), "使用", "Usage", |
|
|
|
JcmcysEnum.green.getValue(), JctUtil.formatStr(jcnrMap), JctUtil.formatStr(jcnrEnMap), qmr); |
|
|
|
jcgjList.add(sjJcgj); |
|
|
|
|
|
|
|
LinkedHashMap<String, String> jcnrEnMap = new LinkedHashMap<>(); |
|
|
|
jcnrEnMap.put("Dispose Method", studyFormFillCz.getCzfs()); |
|
|
|
jcnrEnMap.put("Amount", sj.getKc() + sj.getKcdw()); |
|
|
|
|
|
|
|
SjJcgj sjJcgj = sjJcgjService.genJcgj(sj.getId(), JcgjlxEnum.lc.getValue(), "处置", "Dispose", |
|
|
|
JcmcysEnum.green.getValue(), JctUtil.formatStr(jcnrMap), JctUtil.formatStr(jcnrEnMap), qmr); |
|
|
|
jcgjList.add(sjJcgj); |
|
|
|
// 台账 |
|
|
|
SjTz sjTz = sjTzService.genTz(sj.getId(), "使用", "Usage", syl, studyFormFillResource.getKcdw(), null, qmr); |
|
|
|
tzList.add(sjTz); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
private void cc(StudyFormFill studyFormFill, Map<String, Sj> sjMap, List<SjJcgj> jcgjList, List<SjTz> tzList, SysUser qmr) { |
|
|
|
String empty = "[]"; |
|
|
|
String cclist = studyFormFill.getCclist(); |
|
|
|
if (StringUtils.isNotEmpty(cclist) && !StringUtils.equals(empty, cclist)) { |
|
|
|
List<StudyFormFillCc> studyFormFillCcList = JSONUtil.toList(cclist, StudyFormFillCc.class); |
|
|
|
for (StudyFormFillCc studyFormFillCc : studyFormFillCcList) { |
|
|
|
List<String> list = new ArrayList<>(); |
|
|
|
for (String bh : studyFormFillCc.getList()) { |
|
|
|
Sj sj = sjMap.get(bh); |
|
|
|
if (sj != null) { |
|
|
|
list.add(bh); |
|
|
|
// 稽查轨迹 |
|
|
|
LinkedHashMap<String, String> jcnrMap = new LinkedHashMap<>(); |
|
|
|
jcnrMap.put("存储位置", studyFormFillCc.getCcwz()); |
|
|
|
jcnrMap.put("存储条件", studyFormFillCc.getCctj()); |
|
|
|
|
|
|
|
LinkedHashMap<String, String> jcnrEnMap = new LinkedHashMap<>(); |
|
|
|
jcnrEnMap.put("Storage Location", studyFormFillCc.getCcwz()); |
|
|
|
jcnrEnMap.put("Storage Condition", studyFormFillCc.getCctj()); |
|
|
|
|
|
|
|
SjJcgj sjJcgj = sjJcgjService.genJcgj(sj.getId(), JcgjlxEnum.lc.getValue(), "存储", "Storage", |
|
|
|
JcmcysEnum.green.getValue(), JctUtil.formatStr(jcnrMap), JctUtil.formatStr(jcnrEnMap), qmr); |
|
|
|
jcgjList.add(sjJcgj); |
|
|
|
|
|
|
|
// 台账 |
|
|
|
SjTz sjTz = sjTzService.genTz(sj.getId(), "处置", "Dispose", sj.getKc(), sj.getKcdw(), null, qmr); |
|
|
|
tzList.add(sjTz); |
|
|
|
} |
|
|
|
} |
|
|
|
if(list.size()>0){ |
|
|
|
baseMapper.updateKcBatch(list, "0"); |
|
|
|
// 台账 |
|
|
|
SjTz sjTz = sjTzService.genTz(sj.getId(), "存储", "Storage", sj.getKc(), sj.getKcdw(), null, qmr); |
|
|
|
tzList.add(sjTz); |
|
|
|
} |
|
|
|
} |
|
|
|
if(list.size()>0){ |
|
|
|
baseMapper.updateCc(list, studyFormFillCc.getCctj(), studyFormFillCc.getCcwz()); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
if(jcgjList.size()>0){ |
|
|
|
sjJcgjService.saveBatch(jcgjList); |
|
|
|
} |
|
|
|
if(jcgjList.size()>0){ |
|
|
|
sjTzService.saveBatch(tzList); |
|
|
|
} |
|
|
|
if(jcgjList.size()>0){ |
|
|
|
studySjService.saveBatch(studyId, sjList); |
|
|
|
} |
|
|
|
|
|
|
|
// 处置 |
|
|
|
private void cz(StudyFormFill studyFormFill, Map<String, Sj> sjMap, List<SjJcgj> jcgjList, List<SjTz> tzList, SysUser qmr) { |
|
|
|
String empty = "[]"; |
|
|
|
// 处置,库存全变为0 |
|
|
|
String czlist = studyFormFill.getCzlist(); |
|
|
|
if (StringUtils.isNotEmpty(czlist) && !StringUtils.equals(empty, czlist)) { |
|
|
|
List<StudyFormFillCz> studyFormFillCzList = JSONUtil.toList(czlist, StudyFormFillCz.class); |
|
|
|
for (StudyFormFillCz studyFormFillCz : studyFormFillCzList) { |
|
|
|
List<String> list = new ArrayList<>(); |
|
|
|
for (String bh : studyFormFillCz.getList()) { |
|
|
|
Sj sj = sjMap.get(bh); |
|
|
|
if (sj != null) { |
|
|
|
list.add(bh); |
|
|
|
// 稽查轨迹 |
|
|
|
LinkedHashMap<String, String> jcnrMap = new LinkedHashMap<>(); |
|
|
|
jcnrMap.put("处置方式", studyFormFillCz.getCzfs()); |
|
|
|
jcnrMap.put("处置量", sj.getKc() + sj.getKcdw()); |
|
|
|
|
|
|
|
LinkedHashMap<String, String> jcnrEnMap = new LinkedHashMap<>(); |
|
|
|
jcnrEnMap.put("Dispose Method", studyFormFillCz.getCzfs()); |
|
|
|
jcnrEnMap.put("Amount", sj.getKc() + sj.getKcdw()); |
|
|
|
|
|
|
|
SjJcgj sjJcgj = sjJcgjService.genJcgj(sj.getId(), JcgjlxEnum.lc.getValue(), "处置", "Dispose", |
|
|
|
JcmcysEnum.green.getValue(), JctUtil.formatStr(jcnrMap), JctUtil.formatStr(jcnrEnMap), qmr); |
|
|
|
jcgjList.add(sjJcgj); |
|
|
|
|
|
|
|
|
|
|
|
// 台账 |
|
|
|
SjTz sjTz = sjTzService.genTz(sj.getId(), "处置", "Dispose", sj.getKc(), sj.getKcdw(), null, qmr); |
|
|
|
tzList.add(sjTz); |
|
|
|
} |
|
|
|
} |
|
|
|
if(list.size()>0){ |
|
|
|
baseMapper.updateKcBatch(list, "0"); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|