|
@@ -635,8 +635,10 @@ public class QcsMdfFormServiceImpl extends ServiceImpl<QcsMdfFormDao, QcsMdfForm
|
|
|
//主表数据
|
|
|
ImportMdfVo mdfVo = qcsMdfFormDos.stream().filter(mv -> fm.getProjectdlprojid().equals(mv.getProjectdlprojid()) && fm.getSourcenumbercode().equals(mv.getSourcenumbercode())).findAny().orElse(null);
|
|
|
String formid = "";
|
|
|
+ Boolean isnew = false;
|
|
|
if (mdfVo == null) {
|
|
|
formid = SecurityUtil.getUUID();
|
|
|
+ isnew = true;
|
|
|
} else {
|
|
|
StringBuilder sb = new StringBuilder();
|
|
|
if (!flist.get(0).getTypename().equals(mdfVo.getTypename())) {
|
|
@@ -662,6 +664,8 @@ public class QcsMdfFormServiceImpl extends ServiceImpl<QcsMdfFormDao, QcsMdfForm
|
|
|
allStrBuilder.append("项目工号" + fm.getProjectdlprojid() + ",修改单编号" + fm.getSourcenumbercode() + "已存在,但导入的主表数据" + sb.toString() + "请检查<br>");
|
|
|
} else {
|
|
|
formid = mdfVo.getId();
|
|
|
+ flist.get(0).setBaseid(mdfVo.getBaseid());
|
|
|
+ flist.get(0).setSharedeptids(mdfVo.getSharedeptids());
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -742,30 +746,42 @@ public class QcsMdfFormServiceImpl extends ServiceImpl<QcsMdfFormDao, QcsMdfForm
|
|
|
for (int r = 0; r < rlist.size(); r++) {
|
|
|
String rowid = "";
|
|
|
String detailid = SecurityUtil.getUUID();
|
|
|
+ List<ImportMdfVo> secRowVos = qcsMdfFormDos.stream().filter(rv -> fm.getProjectdlprojid().equals(rv.getProjectdlprojid()) && fm.getSourcenumbercode().equals(rv.getSourcenumbercode()) && slist.get(0).getSectionsn().equals(rv.getSectionsn())).collect(Collectors.toList());
|
|
|
List<ImportMdfVo> rowVos;
|
|
|
if (StringUtils.isBlank(rlist.get(r).getRowsn())) {
|
|
|
rowid = SecurityUtil.getUUID();
|
|
|
- rowVos = qcsMdfFormDos.stream().filter(rv -> fm.getProjectdlprojid().equals(rv.getProjectdlprojid()) && fm.getSourcenumbercode().equals(rv.getSourcenumbercode()) && slist.get(0).getSectionsn().equals(rv.getSectionsn())).collect(Collectors.toList());
|
|
|
- if (rowVos.size() == 0) {
|
|
|
+ if (secRowVos.size() == 0) {
|
|
|
maxRowSn.getAndSet(maxRowSn.get() + 1);
|
|
|
} else {
|
|
|
- maxRowSn.getAndSet(Integer.parseInt(rowVos.get(rowVos.size() - 1).getRowsn()) + 1);
|
|
|
+ maxRowSn.getAndSet(Integer.parseInt(secRowVos.get(secRowVos.size() - 1).getRowsn()) + 1);
|
|
|
}
|
|
|
} else {
|
|
|
int finalR = r;
|
|
|
rowVos = qcsMdfFormDos.stream().filter(rv -> fm.getProjectdlprojid().equals(rv.getProjectdlprojid()) && fm.getSourcenumbercode().equals(rv.getSourcenumbercode()) && slist.get(0).getSectionsn().equals(rv.getSectionsn()) && rlist.get(finalR).getRowsn().equals(rv.getRowsn())).collect(Collectors.toList());
|
|
|
if (rowVos.size() == 0) {
|
|
|
rowid = SecurityUtil.getUUID();
|
|
|
- maxRowSn.getAndSet(Integer.parseInt(rlist.get(r).getRowsn()));
|
|
|
+ if (secRowVos.size() == 0) {
|
|
|
+ maxRowSn.getAndSet(maxRowSn.get() + 1);
|
|
|
+ } else {
|
|
|
+ maxRowSn.getAndSet(Integer.parseInt(secRowVos.get(secRowVos.size() - 1).getRowsn()) + 1);
|
|
|
+ }
|
|
|
} else {
|
|
|
ImportMdfVo rowVo = qcsMdfFormDos.stream().filter(rv -> fm.getProjectdlprojid().equals(rv.getProjectdlprojid()) && fm.getSourcenumbercode().equals(rv.getSourcenumbercode()) && slist.get(0).getSectionsn().equals(rv.getSectionsn()) && rlist.get(finalR).getRowsn().equals(rv.getRowsn()) && unitId.equals(rv.getDeptid())).findAny().orElse(null);
|
|
|
if (rowVo == null) {
|
|
|
rowid = SecurityUtil.getUUID();
|
|
|
- maxRowSn.getAndSet(Integer.parseInt(rowVos.get(rowVos.size() - 1).getRowsn()) + 1);
|
|
|
+ if (secRowVos.size() == 0) {
|
|
|
+ maxRowSn.getAndSet(maxRowSn.get() + 1);
|
|
|
+ } else {
|
|
|
+ maxRowSn.getAndSet(Integer.parseInt(secRowVos.get(secRowVos.size() - 1).getRowsn()) + 1);
|
|
|
+ }
|
|
|
} else {
|
|
|
if (!rlist.get(r).getRemark().equals(rowVo.getRemark())) {
|
|
|
rowid = SecurityUtil.getUUID();
|
|
|
- maxRowSn.getAndSet(Integer.parseInt(rowVos.get(rowVos.size() - 1).getRowsn()) + 1);
|
|
|
+ if (secRowVos.size() == 0) {
|
|
|
+ maxRowSn.getAndSet(maxRowSn.get() + 1);
|
|
|
+ } else {
|
|
|
+ maxRowSn.getAndSet(Integer.parseInt(secRowVos.get(secRowVos.size() - 1).getRowsn()) + 1);
|
|
|
+ }
|
|
|
} else {
|
|
|
if (rowVo.getStatus().equals("已提交")) {
|
|
|
allStrBuilder.append("项目工号" + fm.getProjectdlprojid() + ",修改单编号" + fm.getSourcenumbercode() + ",内容序号" + mvo.getSectionsn() + ",排号" + rlist.get(r).getRowsn() + "数据已提交,请检查<br>");
|
|
@@ -852,8 +868,20 @@ public class QcsMdfFormServiceImpl extends ServiceImpl<QcsMdfFormDao, QcsMdfForm
|
|
|
QcsMdfFormDo qcsMdfFormDo = BeanUtil.toBean(flist.get(0), QcsMdfFormDo.class);
|
|
|
qcsMdfFormDo.setId(formid);
|
|
|
qcsMdfFormDo.setRoption(ropJson);
|
|
|
- qcsMdfFormDo.setBaseid(unitId);
|
|
|
- qcsMdfFormDo.setBasename(finalDeptName1);
|
|
|
+ if (isnew) {
|
|
|
+ qcsMdfFormDo.setBaseid(unitId);
|
|
|
+ qcsMdfFormDo.setBasename(finalDeptName1);
|
|
|
+ } else {
|
|
|
+ if (StringUtils.isNotBlank(qcsMdfFormDo.getBaseid()) && !qcsMdfFormDo.getBaseid().equals(unitId)) {
|
|
|
+ if (StringUtils.isNotBlank(qcsMdfFormDo.getSharedeptids())) {
|
|
|
+ if (!Arrays.asList(qcsMdfFormDo.getSharedeptids().split(",")).contains(unitId)) {
|
|
|
+ qcsMdfFormDo.setSharedeptids(qcsMdfFormDo.getSharedeptids() + "," + unitId);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ qcsMdfFormDo.setSharedeptids(unitId);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
qcsMdfFormDo.setDatasource("质量成本系统");
|
|
|
qcsMdfFormDoList.add(qcsMdfFormDo);
|
|
|
formids.add(formid);
|
|
@@ -901,7 +929,7 @@ public class QcsMdfFormServiceImpl extends ServiceImpl<QcsMdfFormDao, QcsMdfForm
|
|
|
String deptId = params.get("deptId");
|
|
|
QcsMdfFormDo qcsMdfFormDo = qcsMdfFormService.getById(formId);
|
|
|
String whr = "";
|
|
|
- if (StringUtils.isNotBlank(deptId) && StringUtils.isNotBlank(qcsMdfFormDo.getCopydeptids()) && !Arrays.asList(qcsMdfFormDo.getCopydeptids().split(",")).contains(deptId)) {
|
|
|
+ if (StringUtils.isNotBlank(deptId) && (StringUtils.isBlank(qcsMdfFormDo.getCopydeptids()) || (StringUtils.isNotBlank(qcsMdfFormDo.getCopydeptids()) && !Arrays.asList(qcsMdfFormDo.getCopydeptids().split(",")).contains(deptId)))) {
|
|
|
whr = " and r.ID in(select distinct ROWID from qcs_mdf_detail where DELETED='0' and DEPTID='" + deptId + "')";
|
|
|
}
|
|
|
List<QcsMdfRowDo> qcsMdfRowDos = qcsMdfFormDao.getReportRows(formId, whr);
|