|
@@ -19,7 +19,6 @@ import com.qmth.sop.common.util.ServletUtil;
|
|
|
import org.activiti.engine.TaskService;
|
|
|
import org.activiti.engine.task.IdentityLink;
|
|
|
import org.activiti.engine.task.Task;
|
|
|
-import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
@@ -102,14 +101,31 @@ public class TBSopInfoServiceImpl extends ServiceImpl<TBSopInfoMapper, TBSopInfo
|
|
|
&& f.getCode() != WidgetCodeEnum.BUTTON && f.getCode() != WidgetCodeEnum.IMG
|
|
|
&& f.getCode() != WidgetCodeEnum.LABEL && f.getCode() != WidgetCodeEnum.SIGN
|
|
|
&& f.getCode() != WidgetCodeEnum.OTHER) {
|
|
|
- if (Objects.nonNull(f.getValue()) && f.getValue().startsWith("[") && f.getValue().endsWith("]")) {
|
|
|
- f.setValue(f.getValue().replaceAll("\\[", "").replaceAll("\\]", ""));
|
|
|
- formFieldMap.put(f.getFormId(), StringUtils.join(Arrays.asList(f.getValue()), SystemConstant.LIST_JOIN_SPLIT));
|
|
|
+ if (f.getInputType() != WidgetInputTypeEnum.ARRAY) {
|
|
|
+ if (!f.getValue().contains("null")) {
|
|
|
+ JSONObject jsonObject = JSONObject.parseObject(f.getValue());
|
|
|
+ String value = jsonObject.getString(SystemConstant.VALUE);
|
|
|
+ formFieldMap.put(f.getFormId(), value);
|
|
|
+ }
|
|
|
} else {
|
|
|
- if (Objects.nonNull(f.getValue()) && !Objects.equals(f.getValue(), "null")) {
|
|
|
- formFieldMap.put(f.getFormId(), f.getValue());
|
|
|
+ if (!f.getValue().contains("null")) {
|
|
|
+ JSONObject jsonObject = JSONObject.parseObject(f.getValue());
|
|
|
+ JSONArray jsonArray = jsonObject.getJSONArray(SystemConstant.VALUE);
|
|
|
+ StringJoiner stringJoiner = new StringJoiner(",");
|
|
|
+ for (int i = 0; i < jsonArray.size(); i++) {
|
|
|
+ stringJoiner.add(jsonArray.getString(i));
|
|
|
+ }
|
|
|
+ formFieldMap.put(f.getFormId(), stringJoiner.toString());
|
|
|
}
|
|
|
}
|
|
|
+// if (Objects.nonNull(f.getValue()) && f.getValue().startsWith("[") && f.getValue().endsWith("]")) {
|
|
|
+// f.setValue(f.getValue().replaceAll("\\[", "").replaceAll("\\]", ""));
|
|
|
+// formFieldMap.put(f.getFormId(), StringUtils.join(Arrays.asList(f.getValue()), SystemConstant.LIST_JOIN_SPLIT));
|
|
|
+// } else {
|
|
|
+// if (Objects.nonNull(f.getValue()) && !f.getValue().contains("null")) {
|
|
|
+// formFieldMap.put(f.getFormId(), f.getValue());
|
|
|
+// }
|
|
|
+// }
|
|
|
}
|
|
|
}
|
|
|
//首先查询动态表里是否有当前表单的数据,没有插入,有则更新
|
|
@@ -223,8 +239,8 @@ public class TBSopInfoServiceImpl extends ServiceImpl<TBSopInfoMapper, TBSopInfo
|
|
|
@Transactional
|
|
|
public Boolean sopApprove(FlowApproveParam flowApproveParam) throws InterruptedException {
|
|
|
Optional.ofNullable(flowApproveParam.getTaskId()).orElseThrow(() -> ExceptionResultEnum.FLOW_TASK_ID_IS_NULL.exception());
|
|
|
- if (flowApproveParam.getApprove() != FlowApprovePassEnum.PASS && flowApproveParam.getApprove() != FlowApprovePassEnum.REJECT && flowApproveParam.getApprove() != FlowApprovePassEnum.DRAFT) {
|
|
|
- throw ExceptionResultEnum.PARAMS_ERROR.exception("sop填报只能为通过或驳回或草稿");
|
|
|
+ if (flowApproveParam.getApprove() != FlowApprovePassEnum.PASS && flowApproveParam.getApprove() != FlowApprovePassEnum.REJECT && flowApproveParam.getApprove() != FlowApprovePassEnum.DRAFT && flowApproveParam.getApprove() != FlowApprovePassEnum.START) {
|
|
|
+ throw ExceptionResultEnum.PARAMS_ERROR.exception("sop填报只能为通过或驳回或草稿或提交");
|
|
|
}
|
|
|
Optional.ofNullable(flowApproveParam.getFormProperties()).orElseThrow(() -> ExceptionResultEnum.FLOW_FORM_PROPERTIES_IS_NULL.exception());
|
|
|
if (flowApproveParam.getApprove() == FlowApprovePassEnum.REJECT && Objects.isNull(flowApproveParam.getSetup())) {
|
|
@@ -481,7 +497,7 @@ public class TBSopInfoServiceImpl extends ServiceImpl<TBSopInfoMapper, TBSopInfo
|
|
|
if (f.getFormId().contains(SystemConstant.ASSISTANT_ENGINEER_USER_ID) && Objects.nonNull(f.getValue())) {
|
|
|
// String string = f.getValue().replaceAll("\\[", "").replaceAll("\\]", "");
|
|
|
// assistantEngineerUserIds = StringUtils.join(Arrays.asList(string), SystemConstant.LIST_JOIN_SPLIT);
|
|
|
- if (f.getInputType() == WidgetInputTypeEnum.ARRAY) {
|
|
|
+ if (f.getInputType() == WidgetInputTypeEnum.ARRAY && Objects.nonNull(f.getValue()) && !f.getValue().contains("null")) {
|
|
|
JSONObject jsonObject = JSONObject.parseObject(f.getValue());
|
|
|
JSONArray jsonArray = jsonObject.getJSONArray(SystemConstant.VALUE);
|
|
|
StringJoiner stringJoiner = new StringJoiner(",");
|
|
@@ -798,7 +814,11 @@ public class TBSopInfoServiceImpl extends ServiceImpl<TBSopInfoMapper, TBSopInfo
|
|
|
List<FlowFormWidgetResult> formProperty = flowTaskResult.getFormProperty();
|
|
|
for (FlowFormWidgetResult f : formProperty) {
|
|
|
if (f.getFormId().contains(fieldId) && Objects.nonNull(f.getValue())) {
|
|
|
- processLimitedTime = Long.parseLong(f.getValue());
|
|
|
+ if (!f.getValue().contains("null")) {
|
|
|
+ JSONObject jsonObject = JSONObject.parseObject(f.getValue());
|
|
|
+ String value = jsonObject.getString(SystemConstant.VALUE);
|
|
|
+ processLimitedTime = Long.parseLong(value);
|
|
|
+ }
|
|
|
break;
|
|
|
}
|
|
|
}
|