本次完成中心库出库记录的填写。
第一层:
//中心库出库汇总
//first
ReagentOutBill outBill = new ReagentOutBill();
Date timeNow = new Date();
String creater =stockMapper.findhead("中心库");
String recevier =stockMapper.findhead(destination);
Long time1 = new Date().getTime();
Random ne1 = new Random();//实例化一个random的对象ne
int x1 = ne1.nextInt(999 - 100 + 1) + 100;//为变量赋随机值100-999
String random_order1 = String.valueOf(x1);
String billCode = time1 + random_order1;
outBill.setBillCode(billCode);
outBill.setBillType("3");
outBill.setBillDate(timeNow);
outBill.setBillStatus(true);
outBill.setBillCreator(creater);
outBill.setBranchName("中心库");
outBill.setUpdateTime(timeNow);
outBill.setCreateTime(timeNow);
outBill.setApplicationDate(timeNow);
outBill.setApplicationUser(recevier);
outBillMapper.insert(outBill);
获得当前时间生成随机编号,填写ReagentInBillVm 并使用outBillMapper.insert(inBillAll )写入数据库。
第二层的写入稍微麻烦
前置处理
List<ReagentOutDetailItem> reagentOutDetailItemsList = new ArrayList<>();
List<Map<String,Long>> reagentCollectDetails=stockMapper.getdata(id);
List<List<Map<String,Object>>> findcenter =new ArrayList<>();
for (int i=0;i<reagentCollectDetails.size();i++){
findcenter.add(stockMapper.findFromCentre(destination, String.valueOf(reagentCollectDetails.get(i).get("reagent_code")),reagentCollectDetails.get(i).get("reagent_number")));}
查询需要改动的具体耗材信息,使用stockMapper.getdata(id)获取需要的耗材种类
<select id="getdata" resultType="java.util.HashMap">
select *
from reagent_collect_detail
where collect_no = #{id,jdbcType=BIGINT}
使用两层List储存将要转移的具体信息
<select id="findFromCentre" resultType="java.util.HashMap">
select *
from reagent_stock_detail
where reagent_id=#{reagentcode,jdbcType=VARCHAR}
and branch='中心库'
and reagent_status='1998'
order by remain_day ASC
limit ${number}