| | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.alibaba.fastjson.TypeReference; |
| | | import com.baomidou.dynamic.datasource.annotation.DS; |
| | | import com.example.erp.dto.mm.FinishedOperateLogDTO; |
| | | import com.example.erp.dto.sd.DeliveryDetailDTO; |
| | | import com.example.erp.dto.sd.DeliveryDetailProductDTO; |
| | | import com.example.erp.entity.sd.*; |
| | | import com.example.erp.entity.userInfo.SysError; |
| | | import com.example.erp.mapper.mm.FinishedGoodsInventoryMapper; |
| | |
| | | } |
| | | } |
| | | |
| | | List<DeliveryDetail> deliveryDetaillist = deliveryDetailMapper.getIsNotDeliveryDetail(deliveryDetailNumber, deliveryId); |
| | | List<DeliveryDetail> deliveryDetaillist = deliveryDetailMapper.getIsNotDeliveryDetail(deliveryId); |
| | | if (!deliveryDetaillist.isEmpty()) { |
| | | for (DeliveryDetail deliveryDetail : deliveryDetaillist) { |
| | | //还原库存数以及订单明细的发货数 |
| | |
| | | //获取对象集合循环进行新增修改 |
| | | if (!orderDetaillist.isEmpty()) { |
| | | for (OrderDetail orderDetail : orderDetaillist) { |
| | | //根据订单计算方式进行金额计算 |
| | | double deliveryDetailMoney = 0.0; |
| | | if (orderDetail.getOrder().getCalculateType()==1){ |
| | | deliveryDetailMoney=Double.valueOf(String.format("%.2f",Double.valueOf(String.format("%.2f", (orderDetail.getWidth()*orderDetail.getHeight()/1000000))) |
| | | *orderDetail.getDeliveryDetail().getQuantity()*orderDetail.getPrice())); |
| | | }else if (orderDetail.getOrder().getCalculateType()==2){ |
| | | deliveryDetailMoney=Double.valueOf(String.format("%.2f",Double.valueOf( |
| | | String.format("%.2f", (orderDetail.getWidth()*orderDetail.getHeight()/1000000)*orderDetail.getDeliveryDetail().getQuantity()) |
| | | )*orderDetail.getPrice())); |
| | | }else if (orderDetail.getOrder().getCalculateType()==3){ |
| | | deliveryDetailMoney=Double.valueOf(String.format("%.2f",orderDetail.getPrice() * orderDetail.getDeliveryDetail().getQuantity())); |
| | | |
| | | } |
| | | |
| | | //对循环明细的数据进行累加 |
| | | quantity += orderDetail.getDeliveryDetail().getQuantity(); |
| | | area += orderDetail.getFinishedGoodsInventory().getActualSignalArea() * orderDetail.getDeliveryDetail().getQuantity(); |
| | | money += orderDetail.getPrice() * orderDetail.getDeliveryDetail().getQuantity(); |
| | | area += orderDetail.getComputeArea() * orderDetail.getDeliveryDetail().getQuantity(); |
| | | money += deliveryDetailMoney; |
| | | Integer deliveryDetailmaximum = deliveryDetailMapper.getdeliveryDetailmaximum(oddNumber); |
| | | |
| | | //额外金额修改 |
| | | Map<String,Double> otherColumns = JSON.parseObject(orderDetail.getOtherColumns(), new TypeReference<Map<String, Double>>(){}); |
| | | if(otherColumns!=null){ |
| | | otherColumns.forEach((key, value) ->{ |
| | |
| | | } |
| | | |
| | | //新增发货明细数据 |
| | | deliveryDetailMapper.insertDeliveryDetail(orderDetail, oddNumber, deliveryDetailmaximum + 1); |
| | | deliveryDetailMapper.insertDeliveryDetail(orderDetail, oddNumber, deliveryDetailmaximum + 1,deliveryDetailMoney); |
| | | //修改订单明细 |
| | | deliveryDetailMapper.updateOrderDetailDeliveryNum(orderDetail); |
| | | //修改库存表出库数量 |
| | |
| | | if (object.get("deliveryId") != null) { |
| | | deliveryId = object.get("deliveryId").toString(); |
| | | } |
| | | List<DeliveryDetail> deliveryDetaillist = deliveryDetailMapper.getIsNotDeliveryDetail(deliveryId); |
| | | if (!deliveryDetaillist.isEmpty()) { |
| | | for (DeliveryDetail deliveryDetail : deliveryDetaillist) { |
| | | //还原库存数以及订单明细的发货数 |
| | | finishedGoodsInventoryMapper.updateInventoryquantityInt(deliveryDetail.getOrderId(), deliveryDetail.getOrderNumber(), deliveryDetail.getQuantity()); |
| | | deliveryDetailMapper.updateIsNotOrderDetailDeliveryNum(deliveryDetail.getOrderId(), deliveryDetail.getOrderNumber(), deliveryDetail.getQuantity()); |
| | | } |
| | | } |
| | | //删除订单额外金额的数据 |
| | | deliveryOtherMoneyMapper.deleteDeliveryOtherMoney(deliveryId); |
| | | deliveryDetailMapper.deleteDeliveryDetail(deliveryId); |
| | | deliveryMapper.deleteDelivery(deliveryId); |
| | | |
| | |
| | | |
| | | } |
| | | |
| | | public Map<String, Object> getSelectOrderPrinting(OrderDetail orderDetail) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | List <Map<String, Object>> list=new ArrayList<Map<String, Object>>();//最终结果 |
| | | List<OrderDetail> orderDetailList=deliveryDetailMapper.getSelectOrderPrinting(orderDetail); |
| | | for (OrderDetail detail : orderDetailList) { |
| | | |
| | | Map<String, Object> itemmap = new HashMap<>(); |
| | | List<Map<String, Object>> deliveryDetailList2 = deliveryDetailMapper.getSelectOrderDetailPrinting( |
| | | detail.getProductId(), detail.getOrderId()); |
| | | itemmap.put("DeliveryDetail", detail); |
| | | itemmap.put("DeliveryDetailList", deliveryDetailList2); |
| | | list.add(itemmap); |
| | | |
| | | |
| | | } |
| | | Order order=deliveryMapper.getSelectShippingOrderDetailPrinting(orderDetail); |
| | | map.put("data", list); |
| | | map.put("delivery", deliveryMapper.getSelectShippingOrderDetailPrinting(orderDetail)); |
| | | map.put("money", toChinese(order.getMoney().toString(), false)); |
| | | return map; |
| | | |
| | | } |
| | | |
| | | public List<DeliveryDetailDTO> exportDeliveryDetailReport(List<LocalDate> dates) { |
| | | return deliveryDetailMapper.exportDeliveryDetailReport(dates); |
| | | } |
| | | |
| | | public List<DeliveryDetailProductDTO> exportDeliveryDetailProductReport(List<LocalDate> dates) { |
| | | return deliveryDetailMapper.exportDeliveryDetailProductReport(dates); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | private static final String[] NUMBERS = {"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"}; |
| | | |
| | | private static final String[] IUNIT = {"元", "拾", "佰", "仟", "万", "拾", "佰", "仟", "亿", "拾", "佰", "仟"}; |