|
@@ -3,12 +3,14 @@ import com.platform.common.bean.AbstractPageResultBean;
|
|
import com.platform.common.exception.BusinessException;
|
|
import com.platform.common.exception.BusinessException;
|
|
import com.platform.common.model.UserInfo;
|
|
import com.platform.common.model.UserInfo;
|
|
import com.platform.common.util.BeanConverterUtil;
|
|
import com.platform.common.util.BeanConverterUtil;
|
|
|
|
+import com.platform.common.util.DateUtils;
|
|
import com.platform.common.util.IdGeneratorUtils;
|
|
import com.platform.common.util.IdGeneratorUtils;
|
|
import com.platform.common.util.SecurityUtils;
|
|
import com.platform.common.util.SecurityUtils;
|
|
import com.platform.dao.bean.MyPage;
|
|
import com.platform.dao.bean.MyPage;
|
|
import com.github.pagehelper.PageHelper;
|
|
import com.github.pagehelper.PageHelper;
|
|
import com.platform.dao.bean.MyVOPage;
|
|
import com.platform.dao.bean.MyVOPage;
|
|
import com.platform.dao.dto.longyanpurchaseorder.LongYanPurchaseDetailDTO;
|
|
import com.platform.dao.dto.longyanpurchaseorder.LongYanPurchaseDetailDTO;
|
|
|
|
+import com.platform.dao.dto.preparation.PreparationDTO;
|
|
import com.platform.dao.dto.sb.SbInfoDTO;
|
|
import com.platform.dao.dto.sb.SbInfoDTO;
|
|
import com.platform.dao.dto.sb.SbModelSpareBomDTO;
|
|
import com.platform.dao.dto.sb.SbModelSpareBomDTO;
|
|
import com.platform.dao.dto.store.OutStoreDetailDTO;
|
|
import com.platform.dao.dto.store.OutStoreDetailDTO;
|
|
@@ -26,6 +28,9 @@ import com.platform.dao.vo.query.longyanpurchaseorder.LongYanPurchaseOrderVO;
|
|
import com.platform.dao.dto.longyanpurchaseorder.LongYanPurchaseOrderDTO;
|
|
import com.platform.dao.dto.longyanpurchaseorder.LongYanPurchaseOrderDTO;
|
|
import com.platform.dao.entity.longyanpurchaseorder.LongYanPurchaseOrder;
|
|
import com.platform.dao.entity.longyanpurchaseorder.LongYanPurchaseOrder;
|
|
import com.platform.dao.mapper.longyanpurchaseorder.LongYanPurchaseOrderMapper;
|
|
import com.platform.dao.mapper.longyanpurchaseorder.LongYanPurchaseOrderMapper;
|
|
|
|
+import com.platform.dao.vo.query.preparation.PreparationVO;
|
|
|
|
+import com.platform.dao.vo.report.AllPreparationReportVO;
|
|
|
|
+import com.platform.dao.vo.report.LongYanPurchaseOrderByTimeExport;
|
|
import com.platform.dao.vo.report.LongYanPurchaseOrderReportVO;
|
|
import com.platform.dao.vo.report.LongYanPurchaseOrderReportVO;
|
|
import com.platform.dao.vo.sb.SbInfoVO;
|
|
import com.platform.dao.vo.sb.SbInfoVO;
|
|
import com.platform.dao.vo.sb.SbModelSpareBomVO;
|
|
import com.platform.dao.vo.sb.SbModelSpareBomVO;
|
|
@@ -40,9 +45,11 @@ import tk.mybatis.mapper.weekend.WeekendCriteria;
|
|
import lombok.AllArgsConstructor;
|
|
import lombok.AllArgsConstructor;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
|
|
+import java.time.LocalDate;
|
|
import java.time.LocalDateTime;
|
|
import java.time.LocalDateTime;
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
+import java.util.Map;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -58,6 +65,74 @@ public class LongYanPurchaseOrderServiceImpl extends BaseServiceImpl<LongYanPurc
|
|
private SbModelSpareBomMapper sbModelSpareBomMapper;
|
|
private SbModelSpareBomMapper sbModelSpareBomMapper;
|
|
private SbInfoMapper sbInfoMapper;
|
|
private SbInfoMapper sbInfoMapper;
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
+ public List<LongYanPurchaseOrderByTimeExport> exportPurchaseByTime(LongYanPurchaseOrderDTO dto, Integer searchYear, LocalDate startMonth, LocalDate endMonth) {
|
|
|
|
+ List<Map<String, LocalDateTime>> monthStartAndEndList = new ArrayList<Map<String, LocalDateTime>>();
|
|
|
|
+ LocalDateTime searchStartTime = null;
|
|
|
|
+ LocalDateTime searchEndTime = null;
|
|
|
|
+ if (searchYear != null) {
|
|
|
|
+ LocalDate localDate = LocalDate.now();
|
|
|
|
+ int year = localDate.getYear();
|
|
|
|
+ // 如2021-10-15号码,则month=10,需要计算到11月份,需要加1
|
|
|
|
+ int month = localDate.getMonthValue();
|
|
|
|
+ if (searchYear < year) {
|
|
|
|
+ month = 12;
|
|
|
|
+ year = searchYear;
|
|
|
|
+ }
|
|
|
|
+ monthStartAndEndList = DateUtils.getMonthStartAndEndByYear(year, month);
|
|
|
|
+ // 当前年份只统计到当前月,历史年份统计全年
|
|
|
|
+ searchStartTime = DateUtils.getFirstDayOfThisYear(year);
|
|
|
|
+ searchEndTime = DateUtils.getLastDayOfMonth(year, month);
|
|
|
|
+ } else {
|
|
|
|
+ monthStartAndEndList = DateUtils.getMonthStartAndEndByYear(startMonth, endMonth);
|
|
|
|
+ searchStartTime = DateUtils.getFirstDayOfMonth(startMonth);
|
|
|
|
+ searchEndTime = DateUtils.getLastDayOfMonth(endMonth);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ dto.setCreatedTimeEnd(searchStartTime);
|
|
|
|
+ dto.setCreatedTimeEnd(searchEndTime);
|
|
|
|
+ List<LongYanPurchaseOrderVO> list = mapper.selectList(dto);
|
|
|
|
+ List<LongYanPurchaseOrderByTimeExport> result = new ArrayList<LongYanPurchaseOrderByTimeExport>();
|
|
|
|
+
|
|
|
|
+ for (Map<String, LocalDateTime> map : monthStartAndEndList) {
|
|
|
|
+ int i = 0;
|
|
|
|
+ LongYanPurchaseOrderByTimeExport vo = new LongYanPurchaseOrderByTimeExport();
|
|
|
|
+ List<LongYanPurchaseOrderVO> detailList = new ArrayList<LongYanPurchaseOrderVO>();
|
|
|
|
+ vo.setYear(map.get("searchStartTimeMonth").getYear());
|
|
|
|
+ vo.setMonth(map.get("searchStartTimeMonth").getMonthValue());
|
|
|
|
+
|
|
|
|
+// // 维修描述
|
|
|
|
+// Weekend<CustomFieldTemplateData> weekend = new Weekend<>(CustomFieldTemplateData.class);
|
|
|
|
+// WeekendCriteria<CustomFieldTemplateData, Object> weekendCriteria = weekend.weekendCriteria();
|
|
|
|
+// weekendCriteria = weekendCriteria.andEqualTo(CustomFieldTemplateData::getRemark, CommonConstants.REPAIR_RECORD);
|
|
|
|
+// weekendCriteria.andLessThan(CustomFieldTemplateData::getCreatedTime,map.get("searchEndTimeMonth"));
|
|
|
|
+// weekendCriteria.andGreaterThan(CustomFieldTemplateData::getCreatedTime,map.get("searchStartTimeMonth"));
|
|
|
|
+// List<CustomFieldTemplateData> listCustomer = customFieldTemplateDataMapper.selectByExample(weekend);
|
|
|
|
+// Map<String,CustomFieldTemplateData> dataMap = new HashMap<>();
|
|
|
|
+// if(listCustomer != null && listCustomer.size() > 0){
|
|
|
|
+// listCustomer.forEach(item->{
|
|
|
|
+// String key = item.getObjId() + "&" + item.getCreatedUserId();
|
|
|
|
+// CustomFieldTemplateData tempData = dataMap.get(key);
|
|
|
|
+// if(tempData == null){
|
|
|
|
+// dataMap.put(key,item);
|
|
|
|
+// }
|
|
|
|
+// });
|
|
|
|
+// }
|
|
|
|
+ for (LongYanPurchaseOrderVO orderVO : list) {
|
|
|
|
+ if (orderVO.getCreatedTime().isAfter(map.get("searchStartTimeMonth")) && orderVO.getCreatedTime().isBefore(map.get("searchEndTimeMonth"))) {
|
|
|
|
+ i++;
|
|
|
|
+ // 维修专业
|
|
|
|
+
|
|
|
|
+ detailList.add(orderVO);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ vo.setNum(i);
|
|
|
|
+ vo.setDetailList(detailList);
|
|
|
|
+ result.add(vo);
|
|
|
|
+ }
|
|
|
|
+ return result;
|
|
|
|
+ }
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public LongYanPurchaseOrderVO getById(String id) {
|
|
public LongYanPurchaseOrderVO getById(String id) {
|
|
LongYanPurchaseOrderVO vo = mapper.getById(id);
|
|
LongYanPurchaseOrderVO vo = mapper.getById(id);
|