医院耗材管理系统开发_10

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

//second
    ReagentOutDetail outDetail = new ReagentOutDetail();
    List<ReagentOutDetail> outDetailList = new ArrayList<>();
    //生成出库单详情号
    Long time2 = new Date().getTime();
    Random ne3 = new Random();//实例化一个random的对象ne
    int x3 = ne3.nextInt(999 - 100 + 1) + 100;//为变量赋随机值100-999
    String random_order3 = String.valueOf(x3);
    String outDetailId = time2 + random_order3;

    String registration=stockMapper.getregistration(stock.getReagentId());

    outDetail.setId(outBill.getId());
    outDetail.setReagentName(stock.getReagentName());
    outDetail.setBillCode(billCode);
    outDetail.setOutDetailId(outDetailId);
    outDetail.setReagentId(stock.getReagentId());
    outDetail.setReagentSpecification(stock.getReagentType());
    outDetail.setFactory(stock.getFactory());
    outDetail.setRegistrationNo(registration);
    outDetail.setSupplierShortName(stock.getSupplierName());
    outDetail.setReagentUnit(stock.getReagentUnit());
    outDetail.setPrice(stock.getReagentPrice());
    outDetail.setQuantity(Number);
    Double total= Number*stock.getReagentPrice();
    outDetail.setTotal(total);
    outDetail.setCreateTime(timeNow);
    outDetail.setCreateBy(creater);
    outDetail.setApplicationUser(stock.getapplier());
    outDetail.setUpdateTime(timeNow);
    outDetail.setUpdateBy(creater);
    outDetailList.add(outDetail);

    outDetailDao.insertOutDetail(outDetailList);

    //third
    List<Map<String,String>> stockDetails=stockMapper.findfrombranch(stock.getStockNo(),Number,name);
    List<ReagentOutDetailItem> reagentOutDetailItemsList = new ArrayList<>();
    for(int i=0;i<stockDetails.size();i++){
        ReagentOutDetailItem item = new ReagentOutDetailItem();
        item.setBillCode(billCode);
        item.setOutDetailId(outDetailId);
        item.setCreateTime(timeNow);
        item.setCreateBy(creater);
        item.setUpdateBy(creater);
        item.setUpdateTime(timeNow);
        item.setReagentCode(stockDetails.get(i).get("reagent_code"));
        item.setQrCode(stockDetails.get(i).get("qr_code"));
        item.setCodeValue(stockDetails.get(i).get("code_value"));

        reagentOutDetailItemsList.add(item);
    }
    outItemDao.insertItem(reagentOutDetailItemsList);

同样是根据时间生成一个具体编号,填写二层,然后找到将要移动的耗材,使用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、付费专栏及课程。

余额充值