修改交班落地数据逻辑

This commit is contained in:
19991905653
2024-04-03 14:34:42 +08:00
parent a2bd783a21
commit 9627c59582
2 changed files with 24 additions and 9 deletions

View File

@@ -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()+""));
}
}

View File

@@ -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>