浏览代码

Merge remote-tracking branch 'origin/master'

yusm 2 周之前
父节点
当前提交
a8eb42f823

+ 5 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ErpOrderInfoController.java

@@ -29,4 +29,9 @@ public class ErpOrderInfoController {
         return erpOrderInfoService.getInfoByProjectId(projectId,date, request);
         return erpOrderInfoService.getInfoByProjectId(projectId,date, request);
     }
     }
 
 
+    @RequestMapping("/getInfoByProjectIdAndGroupId")
+    public HttpRespMsg getInfoByProjectIdAndGroupId(Integer projectId, Integer groupId, String date, HttpServletRequest request) {
+        return erpOrderInfoService.getInfoByProjectIdAndGroupId(projectId,groupId,date, request);
+    }
+
 }
 }

+ 9 - 5
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ReportController.java

@@ -31,10 +31,7 @@ import java.math.RoundingMode;
 import java.text.DecimalFormat;
 import java.text.DecimalFormat;
 import java.text.ParseException;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.text.SimpleDateFormat;
-import java.time.Duration;
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.time.LocalTime;
+import java.time.*;
 import java.time.format.DateTimeFormatter;
 import java.time.format.DateTimeFormatter;
 import java.time.temporal.ChronoUnit;
 import java.time.temporal.ChronoUnit;
 import java.time.temporal.TemporalAdjusters;
 import java.time.temporal.TemporalAdjusters;
@@ -1613,7 +1610,14 @@ public class ReportController {
                         String errorMsg = null;
                         String errorMsg = null;
                         Optional<ErpOrderInfo> first = orderList.stream().filter(order -> order.getOrderId().equals(report.getExtraField4())).findFirst();
                         Optional<ErpOrderInfo> first = orderList.stream().filter(order -> order.getOrderId().equals(report.getExtraField4())).findFirst();
                         if (first.isPresent()) {
                         if (first.isPresent()) {
-                            if (first.get().getDeptId() == null) {
+                            //如果是清洁打包的分组,需要校验工单的时效性,工单关闭日期的当月或者下月
+                            ErpOrderInfo order = first.get();
+//                            if (order.getStatus() == 4 && report.getCreateDate().isAfter(order.getCloseDate())) {
+//
+//                            }
+//                            YearMonth.from(report.getCreateDate()).equals();
+
+                            if (order.getDeptId() == null) {
                                 errorMsg = "工单号:"+report.getExtraField4()+"无部门id";
                                 errorMsg = "工单号:"+report.getExtraField4()+"无部门id";
                             } else {
                             } else {
                                 Department deptItem = departmentMapper.selectOne(new QueryWrapper<Department>().eq("dept_code", first.get().getDeptId()));
                                 Department deptItem = departmentMapper.selectOne(new QueryWrapper<Department>().eq("dept_code", first.get().getDeptId()));

+ 1 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/mapper/ErpOrderInfoMapper.java

@@ -19,4 +19,5 @@ public interface ErpOrderInfoMapper extends BaseMapper<ErpOrderInfo> {
 
 
     List<ErpOrderInfo> getActiveErpInfoList(@Param("projectId") String projectId, @Param("date") String date);
     List<ErpOrderInfo> getActiveErpInfoList(@Param("projectId") String projectId, @Param("date") String date);
 
 
+    List<ErpOrderInfo> getActiveErpInfoListForClean(Integer projectId, String curMonth, String preMonth);
 }
 }

+ 1 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/ErpOrderInfoService.java

@@ -8,6 +8,7 @@ import javax.servlet.http.HttpServletRequest;
 
 
 public interface ErpOrderInfoService extends IService<ErpOrderInfo> {
 public interface ErpOrderInfoService extends IService<ErpOrderInfo> {
     HttpRespMsg getInfoByProjectId(String projectId, String date,HttpServletRequest request);
     HttpRespMsg getInfoByProjectId(String projectId, String date,HttpServletRequest request);
+    HttpRespMsg getInfoByProjectIdAndGroupId(Integer projectId, Integer groupId, String date,HttpServletRequest request);
 
 
     HttpRespMsg getInfoPage(ErpOrderInfo erpOrderInfo, HttpServletRequest request);
     HttpRespMsg getInfoPage(ErpOrderInfo erpOrderInfo, HttpServletRequest request);
 }
 }

+ 43 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ErpOrderInfoServiceImpl.java

@@ -4,16 +4,22 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.management.platform.entity.ErpOrderInfo;
 import com.management.platform.entity.ErpOrderInfo;
+import com.management.platform.entity.TaskGroup;
 import com.management.platform.mapper.ErpOrderInfoMapper;
 import com.management.platform.mapper.ErpOrderInfoMapper;
+import com.management.platform.mapper.TaskGroupMapper;
 import com.management.platform.mapper.UserMapper;
 import com.management.platform.mapper.UserMapper;
 import com.management.platform.service.ErpOrderInfoService;
 import com.management.platform.service.ErpOrderInfoService;
 import com.management.platform.util.HttpRespMsg;
 import com.management.platform.util.HttpRespMsg;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
 import javax.annotation.Resource;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletRequest;
+import java.time.LocalDate;
+import java.time.YearMonth;
+import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashMap;
 import java.util.List;
 import java.util.List;
@@ -28,6 +34,8 @@ public class ErpOrderInfoServiceImpl extends ServiceImpl<ErpOrderInfoMapper, Erp
 
 
     @Resource
     @Resource
     private UserMapper userMapper;
     private UserMapper userMapper;
+    @Autowired
+    private TaskGroupMapper taskGroupMapper;
 
 
 
 
     @Override
     @Override
@@ -49,6 +57,41 @@ public class ErpOrderInfoServiceImpl extends ServiceImpl<ErpOrderInfoMapper, Erp
         return httpRespMsg;
         return httpRespMsg;
     }
     }
 
 
+    @Override
+    public HttpRespMsg getInfoByProjectIdAndGroupId(Integer projectId, Integer groupId,String date, HttpServletRequest request) {
+        HttpRespMsg httpRespMsg = new HttpRespMsg();
+        //通过group分组来判断
+        TaskGroup taskGroup = taskGroupMapper.selectById(groupId);
+        if(taskGroup==null){
+            httpRespMsg.setError("该分组不存在");
+            return httpRespMsg;
+        }
+        List<ErpOrderInfo> erpOrderInfos = new ArrayList<>();
+        if (taskGroup.getName().contains("清洁打包工时")) {
+            DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+            LocalDate sDate = LocalDate.parse(date, dateTimeFormatter);
+            DateTimeFormatter ymDateFormatter = DateTimeFormatter.ofPattern("yyyy-MM");
+            String curMonth = sDate.format(ymDateFormatter);
+            String preMonth = YearMonth.parse(curMonth).minusMonths(1).toString();
+            erpOrderInfos = erpOrderInfoMapper.getActiveErpInfoListForClean(projectId, curMonth, preMonth);
+        } else {
+            erpOrderInfos = erpOrderInfoMapper.getActiveErpInfoList(""+projectId, date);
+        }
+
+        List<String> orderIds = new ArrayList<>();
+        List<Integer> lines = new ArrayList<>();
+        if(CollectionUtils.isNotEmpty(erpOrderInfos)){
+            orderIds = erpOrderInfos.stream().map(ErpOrderInfo::getOrderId).distinct().collect(Collectors.toList());
+            lines = erpOrderInfos.stream().map(ErpOrderInfo::getLine).distinct().collect(Collectors.toList());
+        }
+        Map<String,Object> map = new HashMap<>();
+        map.put("orderIds",orderIds);
+        map.put("lines",lines);
+        httpRespMsg.setData(map);
+
+        return httpRespMsg;
+    }
+
     @Override
     @Override
     public HttpRespMsg getInfoPage(ErpOrderInfo erpOrderInfo, HttpServletRequest request) {
     public HttpRespMsg getInfoPage(ErpOrderInfo erpOrderInfo, HttpServletRequest request) {
         HttpRespMsg httpRespMsg = new HttpRespMsg();
         HttpRespMsg httpRespMsg = new HttpRespMsg();

+ 9 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ErpOrderInfoMapper.xml

@@ -69,4 +69,13 @@
         </if>
         </if>
         )
         )
     </select>
     </select>
+    <select id="getActiveErpInfoListForClean" resultType="com.management.platform.entity.ErpOrderInfo">
+        select *
+        from erp_order_info where project_id = #{projectId} and (status = 3
+        <if test="date != null">
+            or (status = 4 and (date_format(close_date,'%Y-%m') = #{curMonth} or date_format(close_date,'%Y-%m') = #{preMonth}))
+        </if>
+        )
+    </select>
+
 </mapper>
 </mapper>