From 7b8cc84950a3caeb8cae5e99a7aa99c1aafa6ac7 Mon Sep 17 00:00:00 2001 From: guoyuji <guoyujie@ng.com> Date: 星期四, 22 二月 2024 14:18:17 +0800 Subject: [PATCH] 提交分架代码 --- north-glass-erp/src/main/java/com/example/erp/service/sd/DeliveryService.java | 185 ++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 185 insertions(+), 0 deletions(-) diff --git a/north-glass-erp/src/main/java/com/example/erp/service/sd/DeliveryService.java b/north-glass-erp/src/main/java/com/example/erp/service/sd/DeliveryService.java new file mode 100644 index 0000000..aa5c61e --- /dev/null +++ b/north-glass-erp/src/main/java/com/example/erp/service/sd/DeliveryService.java @@ -0,0 +1,185 @@ +package com.example.erp.service.sd; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.dynamic.datasource.annotation.DS; +import com.example.erp.entity.sd.Delivery; +import com.example.erp.entity.sd.DeliveryDetail; +import com.example.erp.entity.sd.Order; +import com.example.erp.entity.sd.OrderDetail; +import com.example.erp.mapper.mm.FinishedGoodsInventoryMapper; +import com.example.erp.mapper.sd.DeliveryDetailMapper; +import com.example.erp.mapper.sd.DeliveryMapper; +import com.example.erp.mapper.sd.OrderDetailMapper; +import com.example.erp.mapper.sd.OrderMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.util.*; + +@Service +@DS("sd") +public class DeliveryService { + @Autowired + DeliveryMapper deliveryMapper; + @Autowired + DeliveryDetailMapper deliveryDetailMapper; + @Autowired + OrderMapper orderMapper; + @Autowired + OrderDetailMapper orderDetailMapper; + @Autowired + FinishedGoodsInventoryMapper finishedGoodsInventoryMapper; + + public Map<String, Object> getseletShippingOrder(Integer pageNum, Integer pageSize,List<String> selectDate, Delivery delivery) { + Integer offset = (pageNum - 1) * pageSize; + String endDate = LocalDate.now().toString(); + String startDate = LocalDate.now().minusDays(15).toString(); + if(selectDate !=null && selectDate.size()==2){ + if(!selectDate.get(0).isEmpty()){ + startDate = selectDate.get(0); + } + if(!selectDate.get(1).isEmpty()){ + endDate = selectDate.get(1); + } + } + Map<String, Object> map = new HashMap<>(); + map.put("data", deliveryMapper.getseletShippingOrder(offset, pageSize,startDate,endDate, delivery)); + map.put("total", deliveryMapper.getseletShippingOrderPageTotal(offset, pageSize,startDate,endDate, delivery)); + List<String> list = new ArrayList<>(); + list.add(startDate); + list.add(endDate); + map.put("selectDate",list); + return map; + } + + public Map<String, Object> getseletShippingOrderDetail(Integer pageNum, Integer pageSize, OrderDetail orderDetail) { + Integer offset = (pageNum - 1) * pageSize; + + Map<String, Object> map = new HashMap<>(); + System.out.println(orderDetail.getDeliveryDetail().getMoney()); + map.put("data", deliveryDetailMapper.getseletShippingOrderDetail(offset, pageSize, orderDetail)); + map.put("delivery", deliveryMapper.getseletShippingOrderDetaildelivery(offset, pageSize, orderDetail)); + map.put("total", deliveryDetailMapper.getseletShippingOrderDetailPageTotal(offset, pageSize, orderDetail)); + + return map; + } + + public Map<String, Object> getSelectOrderInventory(Integer pageNum, Integer pageSize,List<String> selectDate, Order order) { + Integer offset = (pageNum - 1) * pageSize; + String endDate = LocalDate.now().toString(); + String startDate = LocalDate.now().minusDays(15).toString(); + if(selectDate !=null && selectDate.size()==2){ + if(!selectDate.get(0).isEmpty()){ + startDate = selectDate.get(0); + } + if(!selectDate.get(1).isEmpty()){ + endDate = selectDate.get(1); + } + } + Map<String, Object> map = new HashMap<>(); + map.put("data", deliveryMapper.getSelectOrderInventory(offset, pageSize,startDate,endDate, order)); + map.put("total", deliveryMapper.getSelectOrderInventoryPageTotal(offset, pageSize,startDate,endDate, order)); + List<String> list = new ArrayList<>(); + list.add(startDate); + list.add(endDate); + map.put("selectDate",list); + return map; + } + + public Map<String, Object> getseletShippingOrderDetails(Integer pageNum, Integer pageSize, OrderDetail orderDetail) { + Integer offset = (pageNum - 1) * pageSize; + Map<String, Object> map = new HashMap<>(); + map.put("data", deliveryDetailMapper.getseletShippingOrderDetails(offset, pageSize, orderDetail)); + map.put("title", deliveryMapper.getseletShippingOrderDetaildeliverys(offset, pageSize, orderDetail)); + map.put("total", deliveryDetailMapper.getseletShippingOrderDetailsPageTotal(offset, pageSize, orderDetail)); + return map; + } + + public Boolean insertDelivery(Map<String,Object> object) { + Boolean isinsert=false; + Delivery delivery = JSONObject.parseObject(JSONObject.toJSONString(object.get("title")), Delivery.class); + List<OrderDetail> orderDetaillist = JSONArray.parseArray(JSONObject.toJSONString(object.get("delivery")), OrderDetail.class); + //鑾峰彇鍗曞彿 + String oddNumber= orderNumberSetting("鍙戣揣"); + System.out.println(delivery); + deliveryMapper.insertDelivery(delivery,oddNumber,orderDetaillist.get(0).getOrderId()); + Double area=0.0; + Integer quantity=0; + Double money=0.0; + //鑾峰彇瀵硅薄闆嗗悎寰幆杩涜鏂板淇敼 + + if (!orderDetaillist.isEmpty()){ + for (OrderDetail orderDetail : orderDetaillist) { + quantity+=orderDetail.getDeliveryDetail().getQuantity(); + area+=orderDetail.getFinishedGoodsInventory().getActualSignalArea()*orderDetail.getDeliveryDetail().getQuantity(); + money+=orderDetail.getPrice()*orderDetail.getDeliveryDetail().getQuantity(); + Integer deliveryDetailmaximum=deliveryDetailMapper.getdeliveryDetailmaximum(oddNumber); + System.out.println(deliveryDetailmaximum); + deliveryDetailMapper.insertDeliveryDetail(orderDetail,oddNumber,deliveryDetailmaximum); + deliveryDetailMapper.updateOrderDetailDeliveryNum(orderDetail); + //淇敼搴撳瓨琛ㄥ嚭搴撴暟閲� + finishedGoodsInventoryMapper.updateInventoryquantityOut(orderDetail.getOrderId(),orderDetail.getOrderNumber(),orderDetail.getDeliveryDetail().getQuantity()); + isinsert=true; + } + System.out.println("闈㈢Н"+area+"鏁伴噺"+quantity+"閲戦"+money); + deliveryMapper.updatedelivery(area,quantity,money,oddNumber); + return isinsert; + }else{ + return false; + } + + + } + + + public Boolean updateDeliveryToExamine(Map<String,Object> object) { + Boolean isinsert=false; + String deliveryId = ""; + int type =3; + if (object.get("deliveryId") != null) { + deliveryId = object.get("deliveryId").toString(); + } + + if (object.get("type") != null) { + type = Integer.parseInt(object.get("type").toString()); + } + + System.out.println(deliveryId); + deliveryMapper.updateDeliveryToExamine(deliveryId,type); + + return true; + + + + } + + + public String orderNumberSetting(String type) { + //鏍规嵁绫诲瀷鑷姩鐢熸垚涓嶅悓鐨勬搷浣滃崟鍙� + String alias=""; + if(Objects.equals(type, "鍙戣揣")){ + alias="FH"; + }else if(Objects.equals(type, "鍑哄簱")){ + alias="CK"; + }else if(Objects.equals(type, "璋冩嫧")){ + alias="DB"; + }else if(Objects.equals(type, "棰嗗嚭")){ + alias="LC"; + }else if(Objects.equals(type, "杩斿伐")){ + alias="FG"; + } + //鏌ヨ褰撳ぉ鐨勬渶澶ф暟閲� + Integer maximum=deliveryMapper.getmaximum(type); + //璁剧疆涓や綅涓嶅琛�0 + String formattedNumber = String.format("%02d", maximum+1); + //鏍煎紡鍖栧綋鍓嶆棩鏈� + Date currentDate = new Date(); + SimpleDateFormat dateFormat = new SimpleDateFormat("yyMMdd"); + String formattedDate = dateFormat.format(currentDate); + String oddNumbers = alias+formattedDate+formattedNumber; + return oddNumbers; + } +} -- Gitblit v1.8.0