医院耗材管理系统开发_14

本次完成科室库入库记录的2,3层。由于二三层关联较大,因此一同编写。

//second
List reagentInDetailList = new ArrayList<>();
List reagentInDetailItemList = new ArrayList<>();
for(int i=0;i<findcenter.size();i++) {

        Long time4 = new Date().getTime();
        Random ne4 = new Random();//实例化一个random的对象ne
        int x4 = ne4.nextInt(999 - 100 + 1) + 100;//为变量赋随机值100-999
        String random_order4 = String.valueOf(x4);
        String inDetailId = time4 + random_order4;

        ReagentInBillDetail inDetail = new ReagentInBillDetail();

        inDetail.setBillCode(inBillCode);
        inDetail.setInDetailId(inDetailId);
        inDetail.setReagentId((String) findcenter.get(i).get(0).get("reagent_id"));
        inDetail.setReagentName((String) findcenter.get(i).get(0).get("reagent_name"));
        inDetail.setReagentUnit((String) findcenter.get(i).get(0).get("reagent_unit"));
        inDetail.setReagentSpecification((String) findcenter.get(i).get(0).get("specification"));
        inDetail.setFactory((String) findcenter.get(i).get(0).get("manufacturer_name"));
        inDetail.setPrice((Double) findcenter.get(i).get(0).get("reagent_price"));
        inDetail.setQuantity(reagentCollectDetails.get(i).get("reagent_number"));
        Double total = inDetail.getQuantity()*inDetail.getPrice();
        inDetail.setTotal(total);
        inDetail.setCreateBy(creater);
        inDetail.setCreateTime(timeNow);

        reagentInDetailList.add(inDetail);

        for(int j=0;j<findcenter.get(i).size();j++){
            ReagentInDetailItem item = new ReagentInDetailItem();
            item.setBillCode(inBillCode);
            item.setInDetailId(inDetailId);
            item.setStatus("1");
            item.setQrCode((String) findcenter.get(i).get(j).get("qr_code"));
            item.setCodeValue((String) findcenter.get(i).get(j).get("code_value"));
            item.setReagentCode((String) findcenter.get(i).get(j).get("reagent_code"));
            item.setCreateTime(timeNow);
            item.setCreateBy(creater);
            reagentInDetailItemList.add(item);


        }


    }





    inDetailDao.insertInDetail(reagentInDetailList);
    inDetailItemDao.insertBillItem(reagentInDetailItemList);

同样是根据时间生成一个具体编号,填写二层,然后找到将要移动的耗材,使用List填写第三层,然后使用outDetailDao.insertOutDetail(outDetailList)和outItemDao.insertItem(reagentOutDetailItemsList)分别增加。

insertItem:

<insert id="insertItem" parameterType="jp.co.nss.hrm.backend.model.ReagentOutDetailItem">
    insert into reagent_out_detail_item (bill_code, out_detail_id, reagent_code,
    qr_code,code_value, status, create_time,
    create_by, update_time, update_by,
    delete_flag, delete_time, delete_by
    )
    values
    <foreach collection="outDetailItemList" item="item" index="index" separator=",">
        (#{item.billCode,jdbcType=VARCHAR},#{item.outDetailId,jdbcType=VARCHAR},
        #{item.reagentCode,jdbcType=VARCHAR}, #{item.qrCode,jdbcType=VARCHAR},#{item.codeValue,jdbcType=VARCHAR},
        #{item.status,jdbcType=VARCHAR}, #{item.createTime,jdbcType=TIMESTAMP}, #{item.createBy,jdbcType=VARCHAR},
        #{item.updateTime,jdbcType=TIMESTAMP}, #{item.updateBy,jdbcType=VARCHAR},
        #{item.deleteFlag,jdbcType=TINYINT},
        #{item.deleteTime,jdbcType=TIMESTAMP}, #{item.deleteBy,jdbcType=VARCHAR})
    </foreach>
</insert>

insertOutDetail:

<insert id="insertOutDetail" parameterType="jp.co.nss.hrm.backend.model.ReagentOutDetail">
    insert into reagent_out_detail (bill_code, out_detail_id, reagent_id,
    reagent_name, reagent_specification, batch_no,
    factory, registration_no, supplier_short_name,
    reagent_unit, expire_date, quantity,
    price, total, create_time,
    create_by, application_user, update_time,
    update_by, delete_flag, delete_time,
    delete_by)
    values
    <foreach collection="outDetailList" item="item" index="index" separator=",">
        (#{item.billCode,jdbcType=VARCHAR}, #{item.outDetailId,jdbcType=VARCHAR},
        #{item.reagentId,jdbcType=VARCHAR},#{item.reagentName,jdbcType=VARCHAR},
        #{item.reagentSpecification,jdbcType=VARCHAR}, #{item.batchNo,jdbcType=VARCHAR},
        #{item.factory,jdbcType=VARCHAR}, #{item.registrationNo,jdbcType=VARCHAR},
        #{item.supplierShortName,jdbcType=VARCHAR},#{item.reagentUnit,jdbcType=VARCHAR},
        #{item.expireDate,jdbcType=TIMESTAMP},#{item.quantity,jdbcType=BIGINT},
        #{item.price,jdbcType=DOUBLE}, #{item.total,jdbcType=DOUBLE},
        #{item.createTime,jdbcType=TIMESTAMP},#{item.createBy,jdbcType=VARCHAR},
        #{item.applicationUser,jdbcType=VARCHAR},#{item.updateTime,jdbcType=TIMESTAMP},
        #{item.updateBy,jdbcType=VARCHAR},#{item.deleteFlag,jdbcType=TINYINT},
        #{item.deleteTime,jdbcType=TIMESTAMP},#{item.deleteBy,jdbcType=VARCHAR})
    </foreach>
</insert>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值