修改交班落地数据逻辑
This commit is contained in:
@@ -510,37 +510,51 @@ public class PayService {
|
||||
// //判断是否全量退款
|
||||
// if(list.size()==orderDetails.size()){
|
||||
// //修改主单状态
|
||||
// orderInfo.setStatus("refund");
|
||||
// orderInfo.setStatus("rhandoverprintDataefund");
|
||||
// orderInfo.setUpdatedAt(System.currentTimeMillis());
|
||||
// tbOrderInfoMapper.updateByPrimaryKeySelective(orderInfo);
|
||||
// }
|
||||
|
||||
List<TbOrderDetail> returnDetail=new ArrayList<>();
|
||||
|
||||
List<ReturnWTZInfo.ReturnDetail> details=new ArrayList<>();
|
||||
// List<ReturnWTZInfo.ReturnDetail> details=new ArrayList<>();
|
||||
|
||||
Map<Integer,TbOrderDetail> map1 = new HashMap<>();
|
||||
for (TbOrderDetail orderDetail:list){
|
||||
map1.put(orderDetail.getId(),orderDetail);
|
||||
}
|
||||
for (TbOrderDetail it : orderDetails) {
|
||||
it=tbOrderDetailMapper.selectByPrimaryKey(it.getId());
|
||||
if (it.getStatus().equals("closed")) {
|
||||
if (it.getStatus().equals("refund")) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (map1.get(it.getId()).getNum() > it.getNum()-it.getReturnNum()){
|
||||
throw new MsgException("可退数量:"+ (it.getNum()-it.getReturnNum()));
|
||||
}
|
||||
OrderDetailPo detailPo = new OrderDetailPo();
|
||||
totalAmount = totalAmount.add(it.getPriceAmount());
|
||||
// totalAmount = totalAmount.add(it.getPriceAmount());
|
||||
totalAmount = totalAmount.add(it.getPriceAmount().divide(new BigDecimal(it.getNum()),2,BigDecimal.ROUND_DOWN).multiply(new BigDecimal(map1.get(it.getId()).getNum())));
|
||||
saleAmount = saleAmount.add(it.getPrice());
|
||||
payAmount=payAmount.add(it.getPriceAmount());
|
||||
payAmount=payAmount.add(it.getPriceAmount().divide(new BigDecimal(it.getNum()),2,BigDecimal.ROUND_DOWN).multiply(new BigDecimal(map1.get(it.getId()).getNum())));
|
||||
// payAmount=payAmount.add(it.getPriceAmount());
|
||||
|
||||
detailPo.setId(it.getId());
|
||||
detailPo.setStatus("refund");
|
||||
detailPos.add(detailPo);
|
||||
if (map1.get(it.getId()).getNum()+it.getReturnNum() >= it.getNum()){
|
||||
detailPo.setStatus("refund");
|
||||
}else {
|
||||
detailPo.setStatus("closed");
|
||||
|
||||
}
|
||||
detailPos.add(detailPo);
|
||||
it.setNum(map1.get(it.getId()).getNum());
|
||||
it.setReturnNum(0);
|
||||
it.setStatus("closed");
|
||||
it.setCreateTime(new Date());
|
||||
it.setUpdateTime(null);
|
||||
returnDetail.add(it);
|
||||
|
||||
details.add(new ReturnWTZInfo.ReturnDetail(it.getId()+"",it.getProductSkuId()+"",it.getNum()+""));
|
||||
// details.add(new ReturnWTZInfo.ReturnDetail(it.getId()+"",it.getProductSkuId()+"",it.getNum()+""));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -212,7 +212,8 @@
|
||||
<update id="updateBatchOrderDetail" parameterType="com.chaozhanggui.system.cashierservice.entity.po.OrderDetailPo">
|
||||
<foreach collection="list" item="item" index="index" open="" close="" separator=";">
|
||||
update tb_order_detail
|
||||
set status= #{item.status}
|
||||
set status= #{item.status},
|
||||
return_num = return_num + #{item.returnNum}
|
||||
where id = #{item.id}
|
||||
</foreach>
|
||||
</update>
|
||||
|
||||
Reference in New Issue
Block a user