医院耗材管理系统开发_12

中心库出库记录的二三层

老样子,根据时间生成具体编号

    List<ReagentOutDetail> outDetailList = new ArrayList<>();

    for(int i=0;i<findcenter.size();i++) {
        //生成出库单详情号
        Long time2 = new Date().getTime();
        Random ne2 = new Random();//实例化一个random的对象ne
        int x2 = ne2.nextInt(999 - 100 + 1) + 100;//为变量赋随机值100-999
        String random_order2 = String.valueOf(x2);
        String outDetailId = time2 + random_order2;


        ReagentOutDetail outDetail = new ReagentOutDetail();

        outDetail.setId(outBill.getId());
        outDetail.setReagentName((String) findcenter.get(i).get(0).get("reagent_name"));
        outDetail.setBillCode(billCode);
        outDetail.setOutDetailId(outDetailId);
        outDetail.setReagentId((String) findcenter.get(i).get(0).get("reagent_id"));
        outDetail.setReagentSpecification((String) findcenter.get(i).get(0).get("specification"));
        outDetail.setFactory((String) findcenter.get(i).get(0).get("manufacturer_name"));
        outDetail.setRegistrationNo((String) findcenter.get(i).get(0).get("registration_no"));
        outDetail.setSupplierShortName((String) findcenter.get(i).get(0).get("supplier_short_name"));
        outDetail.setReagentUnit((String) findcenter.get(i).get(0).get("reagent_unit"));
        outDetail.setPrice((Double) findcenter.get(i).get(0).get("reagent_price"));
        outDetail.setQuantity(reagentCollectDetails.get(i).get("reagent_number"));
        Double total = (Double) findcenter.get(i).get(0).get("reagent_price")*reagentCollectDetails.get(i).get("reagent_number");
        outDetail.setTotal(total);
        outDetail.setCreateTime(timeNow);
        outDetail.setCreateBy(creater);
        outDetail.setApplicationUser(recevier);
        outDetail.setUpdateTime(timeNow);
        outDetail.setUpdateBy(creater);

        outDetailList.add(outDetail);


        //third
        for(int j=0;j<findcenter.get(i).size();j++){
            ReagentOutDetailItem item = new ReagentOutDetailItem();
            item.setBillCode(billCode);
            item.setOutDetailId(outDetailId);
            item.setCreateTime(timeNow);
            item.setCreateBy(creater);
            item.setUpdateBy(creater);
            item.setUpdateTime(timeNow);
            item.setReagentCode((String) findcenter.get(i).get(j).get("reagent_code"));
            item.setQrCode((String) findcenter.get(i).get(j).get("qr_code"));
            item.setCodeValue((String) findcenter.get(i).get(j).get("code_value"));

            reagentOutDetailItemsList.add(item);
        }
    }
    outItemDao.insertItem(reagentOutDetailItemsList);
    outDetailDao.insertOutDetail(outDetailList);

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

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>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值