diff --git a/module-form/src/main/java/ink/wgink/module/form/dao/formreport/IFormReportDao.java b/module-form/src/main/java/ink/wgink/module/form/dao/formreport/IFormReportDao.java index aa827b5f..d4e9bde1 100644 --- a/module-form/src/main/java/ink/wgink/module/form/dao/formreport/IFormReportDao.java +++ b/module-form/src/main/java/ink/wgink/module/form/dao/formreport/IFormReportDao.java @@ -25,6 +25,8 @@ public interface IFormReportDao { void update(Map params) throws UpdateException; + void updateProcessInstanceId(Map params) throws UpdateException; + Map get(Map params) throws SearchException; List> list(Map queryParams) throws SearchException; diff --git a/module-form/src/main/java/ink/wgink/module/form/service/design/IFormService.java b/module-form/src/main/java/ink/wgink/module/form/service/design/IFormService.java index 16fb7faa..189b110a 100644 --- a/module-form/src/main/java/ink/wgink/module/form/service/design/IFormService.java +++ b/module-form/src/main/java/ink/wgink/module/form/service/design/IFormService.java @@ -67,6 +67,7 @@ public interface IFormService { /** * 修改新增页面代码 + * * @param formId * @param savePageCode */ @@ -74,6 +75,7 @@ public interface IFormService { /** * 修改修改页面代码 + * * @param formId * @param updatePageCode */ @@ -81,6 +83,7 @@ public interface IFormService { /** * 修改查看页面代码 + * * @param formId * @param showPageCode */ @@ -88,6 +91,7 @@ public interface IFormService { /** * 修改App新增页面代码 + * * @param formId * @param appSavePageCode */ @@ -95,6 +99,7 @@ public interface IFormService { /** * 修改App修改页面代码 + * * @param formId * @param appUpdatePageCode */ @@ -102,6 +107,7 @@ public interface IFormService { /** * 修改App详情页面代码 + * * @param formId * @param appShowPageCode */ @@ -233,6 +239,14 @@ public interface IFormService { */ List list(Map params); + /** + * 列表 + * + * @param formIds 表单ID列表 + * @return + */ + List listByIds(List formIds); + /** * 列表 * @@ -249,5 +263,4 @@ public interface IFormService { */ SuccessResultList> listPage(ListPage page); - } diff --git a/module-form/src/main/java/ink/wgink/module/form/service/design/impl/FormDesignServiceImpl.java b/module-form/src/main/java/ink/wgink/module/form/service/design/impl/FormDesignServiceImpl.java index 1ace5d1d..99a14f2d 100644 --- a/module-form/src/main/java/ink/wgink/module/form/service/design/impl/FormDesignServiceImpl.java +++ b/module-form/src/main/java/ink/wgink/module/form/service/design/impl/FormDesignServiceImpl.java @@ -105,6 +105,7 @@ public class FormDesignServiceImpl extends DefaultBaseService implements IFormDe StringBuffer createTableSB = new StringBuffer("CREATE TABLE `").append(tableName).append("`("); createTableSB.append("`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,"); createTableSB.append("`uid` char(36) NOT NULL,"); + createTableSB.append("`process_instance_id` char(36) DEFAULT NULL,"); for (FormFieldVO formFieldVO : formFieldVOs) { createTableSB.append("`").append(formFieldVO.getFieldName()).append("` ").append(formFieldVO.getFieldType()).append(" NOT NULL COMMENT '").append(formFieldVO.getFieldExplain()).append("',"); } diff --git a/module-form/src/main/java/ink/wgink/module/form/service/design/impl/FormServiceImpl.java b/module-form/src/main/java/ink/wgink/module/form/service/design/impl/FormServiceImpl.java index 8d926223..dd7d3b4d 100644 --- a/module-form/src/main/java/ink/wgink/module/form/service/design/impl/FormServiceImpl.java +++ b/module-form/src/main/java/ink/wgink/module/form/service/design/impl/FormServiceImpl.java @@ -242,6 +242,13 @@ public class FormServiceImpl extends DefaultBaseService implements IFormService return formDao.list(params); } + @Override + public List listByIds(List formIds) { + Map params = getHashMap(2); + params.put("formIds", formIds); + return list(params); + } + @Override public List listPO(Map params) { params = params == null ? getHashMap(2) : params; diff --git a/module-form/src/main/java/ink/wgink/module/form/service/report/IFormReportService.java b/module-form/src/main/java/ink/wgink/module/form/service/report/IFormReportService.java index 39d5bf93..75796466 100644 --- a/module-form/src/main/java/ink/wgink/module/form/service/report/IFormReportService.java +++ b/module-form/src/main/java/ink/wgink/module/form/service/report/IFormReportService.java @@ -17,14 +17,19 @@ public interface IFormReportService { void save(String formCode, Integer formVersion, Map params); + String saveAndReturnId(String formCode, Integer formVersion, Map params); + void remove(String formCode, Integer formVersion, List uids); void update(String formCode, Integer formVersion, String uid, Map params); + void updateProcessInstanceId(String formCode, Integer formVersion, String uid, String processInstanceId); + Map get(String formCode, Integer formVersion, String uid); List> list(String formCode, Integer formVersion, Map params); SuccessResultList>> listPage(String formCode, Integer formVersion, ListPage page); + } diff --git a/module-form/src/main/java/ink/wgink/module/form/service/report/impl/FormReportServiceImpl.java b/module-form/src/main/java/ink/wgink/module/form/service/report/impl/FormReportServiceImpl.java index 61a2eb2a..664d9bbe 100644 --- a/module-form/src/main/java/ink/wgink/module/form/service/report/impl/FormReportServiceImpl.java +++ b/module-form/src/main/java/ink/wgink/module/form/service/report/impl/FormReportServiceImpl.java @@ -33,10 +33,16 @@ public class FormReportServiceImpl extends DefaultBaseService implements IFormRe @Override public void save(String formCode, Integer formVersion, Map params) { + saveAndReturnId(formCode, formVersion, params); + } + + @Override + public String saveAndReturnId(String formCode, Integer formVersion, Map params) { + String uid = UUIDUtil.getUUID(); List inserts = new ArrayList<>(); List values = new ArrayList<>(); inserts.add("uid"); - values.add(UUIDUtil.getUUID()); + values.add(uid); for (Map.Entry kv : params.entrySet()) { inserts.add(kv.getKey()); values.add(kv.getValue()); @@ -60,6 +66,7 @@ public class FormReportServiceImpl extends DefaultBaseService implements IFormRe insertParams.put("inserts", inserts); insertParams.put("values", values); formReportDao.save(insertParams); + return uid; } @Override @@ -94,6 +101,17 @@ public class FormReportServiceImpl extends DefaultBaseService implements IFormRe formReportDao.update(updateParams); } + @Override + public void updateProcessInstanceId(String formCode, Integer formVersion, String uid, String processInstanceId) { + Map params = getHashMap(8); + params.put("formCode", formCode); + params.put("formVersion", formVersion); + params.put("uid", uid); + params.put("processInstanceId", processInstanceId); + + formReportDao.updateProcessInstanceId(params); + } + @Override public Map get(String formCode, Integer formVersion, String uid) { Map params = getHashMap(2); diff --git a/module-form/src/main/resources/mybatis/mapper/design/form-mapper.xml b/module-form/src/main/resources/mybatis/mapper/design/form-mapper.xml index 61413c0f..602ed528 100644 --- a/module-form/src/main/resources/mybatis/mapper/design/form-mapper.xml +++ b/module-form/src/main/resources/mybatis/mapper/design/form-mapper.xml @@ -300,6 +300,13 @@ AND form_name LIKE CONCAT('%', #{keywords}, '%') + + AND + form_id IN + + #{formIds[${index}]} + + diff --git a/module-form/src/main/resources/mybatis/mapper/form-report/form-report-mapper.xml b/module-form/src/main/resources/mybatis/mapper/form-report/form-report-mapper.xml index a8f0645c..62963946 100644 --- a/module-form/src/main/resources/mybatis/mapper/form-report/form-report-mapper.xml +++ b/module-form/src/main/resources/mybatis/mapper/form-report/form-report-mapper.xml @@ -42,6 +42,15 @@ uid = #{uid} + + UPDATE + df_${formCode}_v${formVersion} + SET + process_instance_id = #{processInstanceId} + WHERE + uid = #{uid} + +