Przeglądaj źródła

需求侧专利

panhui 4 lat temu
rodzic
commit
a37c4aabc2

+ 7 - 8
src/main/java/com/izouma/zhirongip/domain/demand/PatentDemand.java

@@ -41,20 +41,19 @@ public class PatentDemand extends BaseEntity {
     /*
     脱密专利没有
      */
-    @Enumerated(EnumType.STRING)
     @ApiModelProperty(value = "专利类型")
-    private PatentType patentType;
+    private String patentType;
+    @ApiModelProperty(value = "专利类型")
+    private Long patentTypeId;
 
     /*
     脱密专利没有
      */
-    @EnumFormat(value = PatentStatus.class,
-            fromExcel = {"申请中", "已授权未期满"},
-            toJavaEnum = {"APPLY", "AUTHORISED"})
-    @ExcelProperty(value = "商标类型", converter = EnumExcelConverter.class)
-    @Enumerated(EnumType.STRING)
+
+    @ApiModelProperty(value = "专利状态")
+    private String patentStatus;
     @ApiModelProperty(value = "专利状态")
-    private PatentStatus patentStatus;
+    private Long patentStatusId;
 
     /*
     setting

+ 7 - 1
src/main/java/com/izouma/zhirongip/service/demand/PatentDemandService.java

@@ -27,10 +27,16 @@ public class PatentDemandService {
     private final InformationRepo  informationRepo;
 
     public Page<PatentDemand> all(PageQuery pageQuery) {
-        Map<Long, String> settingMap = settingRepo.findAllByFlagIn(CollUtil.list(false, 1, 13,24)).stream()
+        Map<Long, String> settingMap = settingRepo.findAllByFlagIn(CollUtil.list(false, 1, 13,24,25,26)).stream()
                 .collect(Collectors.toMap(Setting::getId, Setting::getName));
         return patentDemandRepo.findAll(JpaUtils.toSpecification(pageQuery, PatentDemand.class), JpaUtils.toPageRequest(pageQuery))
                 .map(cd -> {
+                    if(cd.getPatentStatusId()!=null){
+                        cd.setPatentStatus(settingMap.get(cd.getPatentStatusId()));
+                    }
+                    if(cd.getPatentTypeId()!=null){
+                        cd.setPatentType(settingMap.get(cd.getPatentTypeId()));
+                    }
                     if(cd.getModeId()!=null){
                         cd.setMode(settingMap.get(cd.getModeId()));
                     }

+ 8 - 0
src/main/java/com/izouma/zhirongip/web/demand/PatentDemandController.java

@@ -57,6 +57,14 @@ public class PatentDemandController extends BaseController {
             settingRepo.findById(record.getModeId())
                     .ifPresent(setting -> record.setMode(setting.getName()));
         }
+        if(record.getPatentStatusId()!=null){
+            settingRepo.findById(record.getPatentStatusId())
+                    .ifPresent(setting -> record.setPatentStatus(setting.getName()));
+        }
+        if(record.getPatentTypeId()!=null){
+            settingRepo.findById(record.getPatentTypeId())
+                    .ifPresent(setting -> record.setPatentType(setting.getName()));
+        }
         return record;
     }
 

+ 14 - 10
src/main/vue/src/views/demand/GeneralPatentDemandList.vue

@@ -40,7 +40,7 @@
                 ></el-option>
             </el-select>
             <el-select
-                v-model="patentType"
+                v-model="patentTypeId"
                 placeholder="请选择专利分类"
                 clearable
                 class="filter-item"
@@ -54,7 +54,7 @@
                 ></el-option>
             </el-select>
             <el-select
-                v-model="patentStatus"
+                v-model="patentStatusId"
                 placeholder="请选择专利状态"
                 clearable
                 class="filter-item"
@@ -83,8 +83,8 @@
             <el-table-column prop="id" label="ID" width="60"> </el-table-column>
             <el-table-column prop="name" label="专利名称"> </el-table-column>
             <el-table-column prop="keyword" label="包含关键字"> </el-table-column>
-            <el-table-column prop="patentType" label="专利类型" :formatter="patentTypeFormatter"> </el-table-column>
-            <el-table-column prop="patentStatus" label="专利状态" :formatter="patentStatusFormatter"> </el-table-column>
+            <el-table-column prop="patentType" label="专利类型"> </el-table-column>
+            <el-table-column prop="patentStatus" label="专利状态"> </el-table-column>
             <el-table-column prop="industryName" label="所属领域"> </el-table-column>
             <!-- <el-table-column prop="description" label="需求描述"> </el-table-column> -->
             <el-table-column prop="mode" label="交易方式"> </el-table-column>
@@ -160,6 +160,10 @@ export default {
     components: { SettingSelect },
     name: 'GeneralPatentDemandList',
     mixins: [pageableTable, tradingMethod],
+    created() {
+        this.getSetting(25, 'patentTypeOptions');
+        this.getSetting(26, 'patentStatusOptions');
+    },
     data() {
         return {
             multipleMode: false,
@@ -181,8 +185,8 @@ export default {
             ],
             industry: '',
             modeId: '',
-            patentType: '',
-            patentStatus: ''
+            patentTypeId: '',
+            patentStatusId: ''
         };
     },
     computed: {
@@ -220,8 +224,8 @@ export default {
                     caseType: 'GENERAL',
                     industryClass: this.industry,
                     modeId: this.modeId,
-                    patentType: this.patentType,
-                    patentStatus: this.patentStatus
+                    patentTypeId: this.patentTypeId,
+                    patentStatusId: this.patentStatusId
                 }
             };
         },
@@ -259,8 +263,8 @@ export default {
                             caseType: 'GENERAL',
                             industryClass: this.industry,
                             modeId: this.modeId,
-                            patentType: this.patentType,
-                            patentStatus: this.patentStatus
+                            patentTypeId: this.patentTypeId,
+                            patentStatusId: this.patentStatusId
                         }
                     }
                 })

+ 8 - 6
src/main/vue/src/views/demand/PatentDemandEdit.vue

@@ -24,15 +24,15 @@
                     <el-form-item prop="keyword" label="包含关键字">
                         <el-input v-model="formData.keyword"></el-input>
                     </el-form-item>
-                    <el-form-item prop="patentType" label="专利类型" v-if="formData.caseType == 'GENERAL'">
-                        <el-radio-group v-model="formData.patentType">
+                    <el-form-item prop="patentTypeId" label="专利类型" v-if="formData.caseType == 'GENERAL'">
+                        <el-radio-group v-model="formData.patentTypeId">
                             <el-radio v-for="item in patentTypeOptions" :key="item.value" :label="item.value">
                                 {{ item.label }}
                             </el-radio>
                         </el-radio-group>
                     </el-form-item>
-                    <el-form-item prop="patentStatus" label="专利状态" v-if="formData.caseType == 'GENERAL'">
-                        <el-radio-group v-model="formData.patentStatus">
+                    <el-form-item prop="patentStatusId" label="专利状态" v-if="formData.caseType == 'GENERAL'">
+                        <el-radio-group v-model="formData.patentStatusId">
                             <el-radio v-for="item in patentStatusOptions" :key="item.value" :label="item.value">
                                 {{ item.label }}
                             </el-radio>
@@ -145,6 +145,8 @@ export default {
                 this.getSetting(13);
             }
         }
+        this.getSetting(25, 'patentTypeOptions');
+        this.getSetting(26, 'patentStatusOptions');
     },
     data() {
         return {
@@ -184,8 +186,8 @@ export default {
                         message: `请输入需求${this.types === 'DECLASSIFICATION' ? '脱密专利' : '专利'}包含关键字`
                     }
                 ],
-                patentType: [{ required: true, message: '请选择专利类型' }],
-                patentStatus: [{ required: true, message: '请选择法律状态' }],
+                patentTypeId: [{ required: true, message: '请选择专利类型' }],
+                patentStatusId: [{ required: true, message: '请选择法律状态' }],
                 industryClass: [{ required: true, message: '请选择所属领域' }],
                 description: [{ required: true, message: '请填写需求描述' }],
                 modeId: [{ required: true, message: '请选择交易方式' }],

+ 6 - 6
src/main/zhi-rong-web/src/components/popup/PatentDemandAdd.vue

@@ -31,8 +31,8 @@
                     placeholder="请输入需求脱密专利包含关键字"
                 ></el-input>
             </el-form-item>
-            <el-form-item v-if="formData.caseType === 'GENERAL'" prop="patentType" label="专利类型">
-                <el-select v-model="formData.patentType" clearable filterable placeholder="请选择" style="width: 26%">
+            <el-form-item v-if="formData.caseType === 'GENERAL'" prop="patentTypeId" label="专利类型">
+                <el-select v-model="formData.patentTypeId" clearable filterable placeholder="请选择" style="width: 26%">
                     <el-option
                         v-for="item in patentTypeOptions"
                         :key="item.value"
@@ -42,8 +42,8 @@
                     </el-option>
                 </el-select>
             </el-form-item>
-            <el-form-item prop="patentStatus" v-if="formData.caseType === 'GENERAL'" label="法律状态">
-                <el-select v-model="formData.patentStatus" clearable filterable placeholder="请选择" style="width: 26%">
+            <el-form-item prop="patentStatusId" v-if="formData.caseType === 'GENERAL'" label="法律状态">
+                <el-select v-model="formData.patentStatusId" clearable filterable placeholder="请选择" style="width: 26%">
                     <el-option
                         v-for="item in patentStatusOptions"
                         :key="item.value"
@@ -207,8 +207,8 @@ export default {
                         message: `请输入需求${this.types === 'DECLASSIFICATION' ? '脱密专利' : '专利'}包含关键字`
                     }
                 ],
-                patentType: [{ required: true, message: '请选择专利类型' }],
-                patentStatus: [{ required: true, message: '请选择法律状态' }],
+                patentTypeId: [{ required: true, message: '请选择专利类型' }],
+                patentStatusId: [{ required: true, message: '请选择法律状态' }],
                 industryClass: [{ required: true, message: '请选择所属领域' }],
                 description: [{ required: true, message: '请填写需求描述' }],
                 modeId: [{ required: true, message: '请选择交易方式' }],

+ 3 - 3
src/main/zhi-rong-web/src/views/market/PatentDemand.vue

@@ -71,7 +71,7 @@ export default {
                 // },
                 {
                     name: '交易方式',
-                    key: 'mode',
+                    key: 'modeId',
                     list: [...this.tradingMethodOption]
                 },
 
@@ -96,12 +96,12 @@ export default {
                 },
                 {
                     name: '专利类型',
-                    key: 'patentType',
+                    key: 'patentTypeId',
                     list: [...this.patentTypeOptions]
                 },
                 {
                     name: '法律状态',
-                    key: 'patentStatus',
+                    key: 'patentStatusId',
                     list: [...this.patentStatusOptions]
                 },
 

+ 6 - 6
src/main/zhi-rong-web/src/views/user/publish/patentDemandEdit.vue

@@ -19,9 +19,9 @@
                         v-model="formData.keyword"
                     ></el-input>
                 </el-form-item>
-                <el-form-item v-if="caseType === 'GENERAL'" prop="patentType" label="专利类型">
+                <el-form-item v-if="caseType === 'GENERAL'" prop="patentTypeId" label="专利类型">
                     <el-select
-                        v-model="formData.patentType"
+                        v-model="formData.patentTypeId"
                         clearable
                         filterable
                         placeholder="请选择"
@@ -36,9 +36,9 @@
                         </el-option>
                     </el-select>
                 </el-form-item>
-                <el-form-item prop="patentStatus" v-if="caseType === 'GENERAL'" label="法律状态">
+                <el-form-item prop="patentStatusId" v-if="caseType === 'GENERAL'" label="法律状态">
                     <el-select
-                        v-model="formData.patentStatus"
+                        v-model="formData.patentStatusId"
                         clearable
                         filterable
                         placeholder="请选择"
@@ -228,8 +228,8 @@ export default {
                         trigger: 'blur'
                     }
                 ],
-                patentType: [{ required: true, message: '请选择专利类型', trigger: 'blur' }],
-                patentStatus: [{ required: true, message: '请选择法律状态', trigger: 'blur' }],
+                patentTypeId: [{ required: true, message: '请选择专利类型', trigger: 'blur' }],
+                patentStatusId: [{ required: true, message: '请选择法律状态', trigger: 'blur' }],
                 industryClass: [{ required: true, message: '请选择所属领域', trigger: 'blur' }],
                 description: [{ required: true, message: '请填写需求描述', trigger: 'blur' }],
                 modeId: [{ required: true, message: '请选择交易方式', trigger: 'blur' }],

+ 11 - 23
src/test/java/com/izouma/zhirongip/service/AllServiceTest.java

@@ -58,32 +58,20 @@ public class AllServiceTest extends ApplicationTests {
 //    public void test2() {
 //       List<PatentDemand> patents= patentDemandRepo.findAll();
 //        patents.forEach(item ->{
-//           if(item.getMode()!=null){
-//               item.setModeId(item.getMode().getId());
+//            Boolean flag=true;
+//            if(item.getPatentType()!=null){
+//                item.setPatentTypeId(item.getPatentType().getId());
+//                flag=true;
+//            }
+//            if(item.getPatentStatus()!=null){
+//                item.setPatentStatusId(item.getPatentStatus().getId());
+//                flag=true;
+//            }
+//           if(flag){
 //               patentDemandRepo.save(item);
 //           }
 //       });
-//        List<LogoDemand> logos= logoDemandRepo.findAll();
-//        logos.forEach(item ->{
-//            if(item.getMode()!=null){
-//                item.setModeId(item.getMode().getId());
-//                logoDemandRepo.save(item);
-//            }
-//        });
-//        List<CopyrightDemand> copys= copyrightDemandRepo.findAll();
-//        copys.forEach(item ->{
-//            if(item.getMode()!=null){
-//                item.setModeId(item.getMode().getId());
-//                copyrightDemandRepo.save(item);
-//            }
-//        });
-//        List<TechProductDemand> techs= techProductDemandRepo.findAll();
-//        techs.forEach(item ->{
-//            if(item.getMode()!=null){
-//                item.setModeId(item.getMode().getId());
-//                techProductDemandRepo.save(item);
-//            }
-//        });
+//
 //    }