修改交班落地数据逻辑

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()){ // if(list.size()==orderDetails.size()){
// //修改主单状态 // //修改主单状态
// orderInfo.setStatus("refund"); // orderInfo.setStatus("rhandoverprintDataefund");
// orderInfo.setUpdatedAt(System.currentTimeMillis()); // orderInfo.setUpdatedAt(System.currentTimeMillis());
// tbOrderInfoMapper.updateByPrimaryKeySelective(orderInfo); // tbOrderInfoMapper.updateByPrimaryKeySelective(orderInfo);
// } // }
List<TbOrderDetail> returnDetail=new ArrayList<>(); 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) { for (TbOrderDetail it : orderDetails) {
it=tbOrderDetailMapper.selectByPrimaryKey(it.getId()); it=tbOrderDetailMapper.selectByPrimaryKey(it.getId());
if (it.getStatus().equals("closed")) { if (it.getStatus().equals("closed")) {
if (it.getStatus().equals("refund")) { if (it.getStatus().equals("refund")) {
continue; continue;
} }
if (map1.get(it.getId()).getNum() > it.getNum()-it.getReturnNum()){
throw new MsgException("可退数量:"+ (it.getNum()-it.getReturnNum()));
}
OrderDetailPo detailPo = new OrderDetailPo(); 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()); 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.setId(it.getId());
detailPo.setStatus("refund"); if (map1.get(it.getId()).getNum()+it.getReturnNum() >= it.getNum()){
detailPos.add(detailPo); detailPo.setStatus("refund");
}else {
detailPo.setStatus("closed");
}
detailPos.add(detailPo);
it.setNum(map1.get(it.getId()).getNum());
it.setReturnNum(0);
it.setStatus("closed"); it.setStatus("closed");
it.setCreateTime(new Date()); it.setCreateTime(new Date());
it.setUpdateTime(null); it.setUpdateTime(null);
returnDetail.add(it); 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"> <update id="updateBatchOrderDetail" parameterType="com.chaozhanggui.system.cashierservice.entity.po.OrderDetailPo">
<foreach collection="list" item="item" index="index" open="" close="" separator=";"> <foreach collection="list" item="item" index="index" open="" close="" separator=";">
update tb_order_detail update tb_order_detail
set status= #{item.status} set status= #{item.status},
return_num = return_num + #{item.returnNum}
where id = #{item.id} where id = #{item.id}
</foreach> </foreach>
</update> </update>