doum
2026-01-30 25c68c95e9d0f77e988ef0bd4130fef6358f5efe
提交忽略文件
已修改8个文件
83 ■■■■■ 文件已修改
admin/public/template/casees.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/business/OperaCasesWindow.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/cases.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/importRecord.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/dao/business/dto/CasesImport.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/dao/business/model/Cases.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/impl/CasesServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/impl/ImportRecordServiceImpl.java 48 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/public/template/casees.xlsx
Binary files differ
admin/src/components/business/OperaCasesWindow.vue
@@ -16,7 +16,7 @@
              v-for="item in memberList"
              :key="item.id"
              :value="item.id"
              :label="item.name"
              :label="item.name+' 【'+item.code+'】'"
          ></el-option>
        </el-select>
      </el-form-item>
admin/src/views/business/cases.vue
@@ -18,7 +18,7 @@
              v-for="item in memberList"
              :key="item.id"
              :value="item.id"
              :label="item.name"
              :label="item.name+' 【'+item.code+'】'"
          ></el-option>
        </el-select>
      </el-form-item>
@@ -66,10 +66,14 @@
            </div>
          </template>
        </el-table-column>
        <el-table-column prop="memberName" label="老师" min-width="120px"></el-table-column>
        <el-table-column prop="memberName" label="老师" min-width="220px">
          <template slot-scope="{row}">
            <span class="orange" style="margin-right: 10px"> {{row.memberCode}}</span> <span>{{row.memberName||''}}</span>
          </template>
        </el-table-column>
        <el-table-column prop="startDate" label="开始日期" min-width="140px"></el-table-column>
        <el-table-column prop="endDate" label="结束日期" min-width="140px"></el-table-column>
        <el-table-column prop="detail" label="案例描述" min-width="230px" show-overflow-tooltip></el-table-column>
        <el-table-column prop="detail" label="案例描述" min-width="230px" ></el-table-column>
        <el-table-column prop="updateUserName" label="操作人" min-width="100px"></el-table-column>
        <el-table-column prop="updateTime" label="最近操作时间" min-width="150px"></el-table-column>
        <el-table-column label="状态" fixed="right">
admin/src/views/business/importRecord.vue
@@ -71,6 +71,7 @@
        <el-table-column prop="doneNum" label="成功录入数量" min-width="100px"></el-table-column>
        <el-table-column prop="errorNum" label="录入失败数量" min-width="100px"></el-table-column>
        <el-table-column prop="updateUserName" label="操作人" min-width="100px"></el-table-column>
        <el-table-column prop="createTime" label="导入时间" min-width="150px"></el-table-column>
        <el-table-column prop="updateTime" label="最近操作时间" min-width="150px"></el-table-column>
      </el-table>
      <pagination
server/services/src/main/java/com/doumee/dao/business/dto/CasesImport.java
@@ -28,20 +28,21 @@
    @ExcelColumn(name="服务老师" , value = "memberCode" ,index = 4)
    private String memberCode;
    @ExcelColumn(name="服务老师姓名" , value = "memberName" ,index = 5)
    private String memberName;
    @ExcelColumn(name="案例说明" , value = "detail",index = 5)
    @ExcelColumn(name="案例说明" , value = "detail",index = 6)
    private String detail;
    @ExcelColumn(name="案例图1" , value = "imageList",fieldType = XSSFPictureData.class,index = 5)
    @ExcelColumn(name="案例图1" , value = "imageList",fieldType = XSSFPictureData.class,index = 7)
    private List<XSSFPictureData> imageList;
    @ExcelColumn(name="案例图2" , value = "imageList1",fieldType = XSSFPictureData.class,index = 6)
    @ExcelColumn(name="案例图2" , value = "imageList1",fieldType = XSSFPictureData.class,index = 8)
    private List<XSSFPictureData> imageList1;
    @ExcelColumn(name="案例图3" , value = "imageList2",fieldType = XSSFPictureData.class,index = 7)
    @ExcelColumn(name="案例图3" , value = "imageList2",fieldType = XSSFPictureData.class,index = 9)
    private List<XSSFPictureData> imageList2;
    @ExcelColumn(name="案例图4" , value = "imageList3",fieldType = XSSFPictureData.class,index = 8)
    @ExcelColumn(name="案例图4" , value = "imageList3",fieldType = XSSFPictureData.class,index = 10)
    private List<XSSFPictureData> imageList3;
    @ExcelColumn(name="案例图5" , value = "imageList4",fieldType = XSSFPictureData.class,index = 9)
    @ExcelColumn(name="案例图5" , value = "imageList4",fieldType = XSSFPictureData.class,index = 11)
    private List<XSSFPictureData> imageList4;
    @ExcelColumn(name="案例图6" , value = "imageList5",fieldType = XSSFPictureData.class,index = 10)
    @ExcelColumn(name="案例图6" , value = "imageList5",fieldType = XSSFPictureData.class,index = 12)
    private List<XSSFPictureData> imageList5;
}
server/services/src/main/java/com/doumee/dao/business/model/Cases.java
@@ -86,6 +86,9 @@
    @ApiModelProperty(value = "老师姓名", example = "1")
    @TableField(exist = false)
    private String memberName  ;
    @ApiModelProperty(value = "老师工号", example = "1")
    @TableField(exist = false)
    private String memberCode  ;
    @ApiModelProperty(value = "图集附件集合", example = "1")
    @TableField(exist = false)
    private List<Multifile> fileList;
server/services/src/main/java/com/doumee/service/business/impl/CasesServiceImpl.java
@@ -177,8 +177,10 @@
    public PageData<Cases> findPage(PageWrap<Cases> pageWrap) {
        IPage<Cases> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        MPJLambdaWrapper<Cases> queryWrapper = new MPJLambdaWrapper<>();
        pageWrap.getModel().setDeleted(Constants.ZERO);
        queryWrapper.selectAll(Cases.class)
                .selectAs(Member::getName,Cases::getMemberName)
                .selectAs(Member::getCode,Cases::getMemberCode)
                .selectAs(SystemUser::getRealname, Member::getUpdateUserName)
                .leftJoin(SystemUser.class,SystemUser::getId,Cases::getUpdateUser)
                 .leftJoin(Member.class,Member::getId,Cases::getMemberId);
server/services/src/main/java/com/doumee/service/business/impl/ImportRecordServiceImpl.java
@@ -370,9 +370,7 @@
        int index = 1;
         for(CasesImport param :casesImportList){
             index ++;
             if( ( param.getImageList() == null
                 ||param.getImageList().size() == 0 )
                     &&StringUtils.isBlank(param.getName())
             if(  StringUtils.isBlank(param.getName())
                     &&StringUtils.isBlank(param.getMemberCode())
                     &&StringUtils.isBlank(param.getStartDate())
                     &&StringUtils.isBlank(param.getEndDate())
@@ -406,10 +404,10 @@
             param.getImageList().addAll(param.getImageList3()!=null?param.getImageList3():new ArrayList<>());
             param.getImageList().addAll(param.getImageList4()!=null?param.getImageList4():new ArrayList<>());
             param.getImageList().addAll(param.getImageList5()!=null?param.getImageList5():new ArrayList<>());
             if(param.getImageList() == null
         /*    if(param.getImageList() == null
                     ||param.getImageList().size() == 0 ){
                 throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,第"+index+"行数据, 案例图信息不能为空");
             }
             }*/
             if(cases.getStartDate()==null){
                 throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,第"+index+"行数据, 开始日期读取失败");
             }
@@ -572,27 +570,29 @@
    @Transactional
    private int dealCasesInsert( TyyZosUtil obs,Cases param,String folder,String nowDate,String bucketName) {
        int success = casesMapper.insert(param);
        List<Multifile> multifileList = new ArrayList<>();
        for(byte[] d : param.getImgdataList()){
            String fileName = UUID.randomUUID() + ".png";
            String tempFileName = nowDate + "/" + fileName;
            String key = folder + tempFileName;// 文件名
            if (obs.uploadInputstreamObjectNoShutdown(new ByteArrayInputStream(d ) ,bucketName,  key)) {
                Multifile s = new Multifile();
                s.setIsdeleted(Constants.ZERO);
                s.setCreator(param.getCreateUser());
                s.setCreateDate(param.getCreateTime());
                s.setObjId(param.getId());
                s.setType(Constants.ZERO);
                s.setFileurl(tempFileName);
                s.setObjType(Constants.ONE);
                multifileList.add(s);
                param.setImgurl(tempFileName);//证件照地址
            }else{
                throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"图集上传失败!");
        if(param.getImgdataList()!=null && param.getImgdataList().size()>0){
            List<Multifile> multifileList = new ArrayList<>();
            for(byte[] d : param.getImgdataList()){
                String fileName = UUID.randomUUID() + ".png";
                String tempFileName = nowDate + "/" + fileName;
                String key = folder + tempFileName;// 文件名
                if (obs.uploadInputstreamObjectNoShutdown(new ByteArrayInputStream(d ) ,bucketName,  key)) {
                    Multifile s = new Multifile();
                    s.setIsdeleted(Constants.ZERO);
                    s.setCreator(param.getCreateUser());
                    s.setCreateDate(param.getCreateTime());
                    s.setObjId(param.getId());
                    s.setType(Constants.ZERO);
                    s.setFileurl(tempFileName);
                    s.setObjType(Constants.ONE);
                    multifileList.add(s);
                    param.setImgurl(tempFileName);//证件照地址
                }else{
                    throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"图集上传失败!");
                }
            }
            multifileMapper.insert(multifileList);
        }
        multifileMapper.insert(multifileList);
        return success;
}