本次修改了出库的操作方法,将出库按钮直接放在订单处,以防止数量和种类等填错。
以下是修改的部分:
前端点击按钮后,传回订单id和目标库,controlel接收并分别完成移库和出库操作。
@OperationLogAnnotation(operaModule = "在库管理", operaDesc = "移库")
@ApiOperation("移出中心库")
@RequestMapping(value = "/outFromCentre", method = RequestMethod.POST)
@ResponseBody
public CommonResult outFromCentre(@RequestBody JSONObject data) {
Long id= Long.valueOf(data.getString("OrderId"));
String branch= data.getString("destination");
stockService.outFromCentre(id,branch);
int count= collectService.changeStatus(id);
return CommonResult.success(count);
}
首先是移库:调用stockService.outFromCentre()方法,先从数据库中读出种类和数量,然后在执行移库操作。
public int outFromCentre(Long id,String destination){
String reagentcode=stockMapper.getcode(id);
Long number =stockMapper.getnumber(id);
return stockMapper.outFromCentre(destination,reagentcode,number);
}
<update id="outFromCentre" parameterType="jp.co.nss.hrm.backend.model.ReagentStock">
update reagent_stock_detail
set branch =#{branch,jdbcType=VARCHAR}
where reagent_id=#{reagentcode,jdbcType=VARCHAR}
and branch='中心库'
and reagent_status='1998'
order by remain_day ASC
limit ${number}
<select id="getcode" resultType="java.lang.String">
select reagent_code
from reagent_collect_detail
where collect_no = #{id,jdbcType=BIGINT}
<select id="getnumber" resultType="java.lang.Long">
select reagent_number
from reagent_collect_detail
where collect_no = #{id,jdbcType=BIGINT}
然后调用上次完成的功能实现完成功能