材料模块添加附件信息(多文件传过来的是个集合)进附件表

集合批量一条一条的添加进数据库

例一:材料模块添加附件信息(多文件传过来的是个集合)进附件表

//创建材料信息的时侯批量添加附件信息

public JSONObject createCheckEvent(CheckEventDetail checkEventDetail) {
    // 新增事件
    Long eventId = createEvent(checkEventDetail);
    // 新增附件表
    createEventAdjunct(eventId, checkEventDetail.getPhotos(), checkEventDetail.getAdjuncts());

  }

private void createEventAdjunct(Long eventId, List<FileInfo> photoList, List<FileInfo> adjunctList) {
    List<EventAdjunct> adjuncts = new ArrayList<>();
    EventAdjunct eventAdjunct;

    if (photoList != null && photoList.size() > 0) {
        for (FileInfo photo : photoList) {
            eventAdjunct = new EventAdjunct();
            eventAdjunct.setEventId(eventId);
            eventAdjunct.setFileId(photo.getFileId());
            eventAdjunct.setFileName(photo.getFileName());
            eventAdjunct.setFilePath(photo.getFilePath());
            eventAdjunct.setFileType(MaterialConstant.FILETYPE_PHOTO);
            adjuncts.add(eventAdjunct);
        }
    }

    if (adjunctList != null && adjunctList.size() > 0) {
        for (FileInfo adjunct : adjunctList) {
            eventAdjunct = new EventAdjunct();
            eventAdjunct.setEventId(eventId);
            eventAdjunct.setFileId(adjunct.getFileId());
            eventAdjunct.setFileName(adjunct.getFileName());
            eventAdjunct.setFilePath(adjunct.getFilePath());
            eventAdjunct.setFileType(MaterialConstant.FILETYPE_ADJUNCT);
            adjuncts.add(eventAdjunct);
        }
    }

    if (adjuncts.size() > 0) {
        List<Long> adjunctIds = otherService.getSequenceStartAndEnd(EventAdjunct.class, adjuncts.size());
        Long adjunctId;
        for (int i = 0; i < adjuncts.size(); i++) {
            adjunctId = adjunctIds.get(i);
            adjuncts.get(i).setAdjunctId(adjunctId);
        }
        eventAdjunctMapper.batchInsert(adjuncts);
    }
}

例二:添加流程步骤
集合workSteps:

[{“stepNo”:“1”,“stepName”:“检验第一阶段”,“stepType”:“1”,“isAvailable”:1},
{“stepNo”:“2”,“stepName”:“检验第二阶段”,“stepType”:“2”,“isAvailable”:1},
{“stepNo”:“3”,“stepName”:“检验第三阶段”,“stepType”:“2”,“isAvailable”:1}]

添加进WorkStep表
实现类serviceImpl:

    WorkStep workStep;
     Long stepId;
     //首先定义一个集合
     List<WorkStep> insertWorkSteps = new ArrayList<>();
     for(int i = 0; i< workSteps.size(); i++){
         //workSteps集合的其中一个作为一个对象
         workStep = workSteps.get(i);
         stepId = stepIds.get(i);
         //给每一个对象设置对象特有的值
         workStep.setStepId(stepId);
         workStep.setWorkFlowId(workFlowId);
         workStep.setCreateUser(userId);
         workStep.setUpdateUser(userId);
         workStep.setIsAvailable(MaterialConstant.ISAVAILABLE_YES);
         //设置好后重新放入一个新建的集合里
         insertWorkSteps.add(workStep);
     }
     //批量添加
     workStepMapper.batchInsert(insertWorkSteps);

mapper层:

 int batchInsert(@Param("workSteps") List<WorkStep> workSteps);

mapper.xml层

 <insert id="batchInsert" parameterType="java.util.List">
        INSERT INTO `WorkStep` (`stepId`, `workFlowId`, `stepNo`,
        `stepName`, `stepType`, `isAvailable`,
        `createUser`, `updateUser`)
        VALUES
        <foreach collection="workSteps" item="workStep" separator=",">
            (#{workStep.stepId,jdbcType=BIGINT},#{workStep.workFlowId,jdbcType=BIGINT},#{workStep.stepNo,jdbcType=INTEGER},
             #{workStep.stepName,jdbcType=VARCHAR},#{workStep.stepType,jdbcType=INTEGER},1,
             #{workStep.createUser,jdbcType=BIGINT},#{workStep.updateUser,jdbcType=BIGINT})
        </foreach>
    </insert>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值