浏览代码

修改泓浒月度工时发送功能Bug

seyason 3 周之前
父节点
当前提交
404b2464da

+ 1 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/FinanceMonthlyWorktimeController.java

@@ -27,7 +27,7 @@ public class FinanceMonthlyWorktimeController {
     private FinanceMonthlyWorktimeService financeMonthlyWorktimeService;
 
     @RequestMapping("/send")
-    public HttpRespMsg send(@RequestParam("id")String id, @RequestParam("timesheetDate") String timesheetDate, HttpServletRequest request) {
+    public HttpRespMsg send(@RequestParam("id")Integer id, @RequestParam("timesheetDate") String timesheetDate, HttpServletRequest request) {
         return financeMonthlyWorktimeService.send(id,timesheetDate,request);
     }
 

+ 1 - 4
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/mapper/FmwDetailMapper.java

@@ -16,8 +16,5 @@ import java.util.List;
  * @since 2025-04-16
  */
 public interface FmwDetailMapper extends BaseMapper<FmwDetail> {
-
-    List<TisTimeVO> getTisTime(@Param("fmwId") String fmwId);
-
-    List<TisTimeVO> getTisTimeByFmwId(@Param("id") Integer id);
+    List<TisTimeVO> getTisTime(@Param("fmwId") Integer fmwId);
 }

+ 0 - 2
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/mapper/ReportMapper.java

@@ -257,8 +257,6 @@ public interface ReportMapper extends BaseMapper<Report> {
 
     List<UserRestTimeVO> getCompanyUserOverTimeHours(@Param("companyId") Integer companyId,@Param("userId") String userId);
 
-    List<TisTimeVO> getTisTimeByDate(@Param("companyId") Integer companyId,@Param("date") String dateStr);
-
     List<Report> getReportProjectGroupDetailList(@Param("companyId") Integer companyId,@Param("startDate") LocalDate startDate, @Param("endDate") LocalDate endDate, @Param("groupNameList") List<String> groupNameList);
 
     List<Report> getReportProjectAssistTime(@Param("companyId") Integer companyId,@Param("startDate") LocalDate startDate, @Param("endDate") LocalDate endDate, @Param("groupNameList") List<String> groupNameList);

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

@@ -17,7 +17,7 @@ import javax.servlet.http.HttpServletRequest;
  */
 public interface FinanceMonthlyWorktimeService extends IService<FinanceMonthlyWorktime> {
 
-    HttpRespMsg send(String fmwId, String timesheetDate, HttpServletRequest request);
+    HttpRespMsg send(Integer fmwId, String timesheetDate, HttpServletRequest request);
 
     HttpRespMsg getByMonth(Integer companyId, String ymonth, Integer reGenerate, Integer isItAWorkOrder, HttpServletRequest request) throws Exception;
 

+ 11 - 5
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/FinanceMonthlyWorktimeServiceImpl.java

@@ -88,7 +88,7 @@ public class FinanceMonthlyWorktimeServiceImpl extends ServiceImpl<FinanceMonthl
     private String uploadPath;
 
     @Override
-    public HttpRespMsg send(String fmwId, String timesheetDate, HttpServletRequest request) {
+    public HttpRespMsg send(Integer fmwId, String timesheetDate, HttpServletRequest request) {
         HttpRespMsg httpRespMsg = new HttpRespMsg();
         String userId = request.getHeader("Token");
         User user = userMapper.selectById(userId);
@@ -126,15 +126,21 @@ public class FinanceMonthlyWorktimeServiceImpl extends ServiceImpl<FinanceMonthl
                 List<TisTimeVO> resList = checkResponse.getBody();
                 List<TisTimeVO> tmpCheck = resList.stream().filter(t -> null != t.getCoId()).collect(Collectors.toList());
                 if(tmpCheck.size() != resList.size()){
-                    httpRespMsg.setError("财务尚未完成操作,无法获取cppid");
+                    //打印有问题的数据
+                    StringBuilder errorMsg = new StringBuilder("以下数据未能获取到cppid:\n");
+                    resList.forEach(t -> {
+                        if (StringUtils.isEmpty(t.getCoId())) {
+                            errorMsg.append("工单号: ").append(t.getOrderId())
+                                    .append(", 行号: ").append(t.getLine()).append("\n");
+                        }
+                    });
+                    httpRespMsg.setError("请检查工单号和行号是否正确,或联系管理员处理。"+ errorMsg.toString());
                     return httpRespMsg;
                 }
                 resList.forEach(t->t.setDateStr(timesheetDate));
+                System.out.println("准备将"+resList.size()+"条数据需要插入到TIS系统中");
                 HttpHeaders insertHeaders = new HttpHeaders();
                 insertHeaders.setContentType(MediaType.APPLICATION_JSON);
-//                Map<String, Object> insertBody = new HashMap<>();
-//                insertBody.put("tisList", resList);
-//                HttpEntity<Object> insertEntity = new HttpEntity<>(insertBody, insertHeaders);
                 HttpEntity<List<TisTimeVO>> insertEntity = new HttpEntity<>(resList, headers);
                 ResponseEntity<String> tisResponse = restTemplate.exchange(insertUrl, HttpMethod.POST, insertEntity, String.class);
                 if (tisResponse.getStatusCode() == HttpStatus.OK) {

+ 1 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/task/DataCollectTask.java

@@ -119,7 +119,7 @@ public class DataCollectTask {
             List<TisTimeVO> toSendList = new ArrayList<>();
             for (FinanceMonthlyWorktime financeMonthlyWorktime : financeMonthlyWorktimes) {
                 String ymd = financeMonthlyWorktime.getTimesheetDate().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
-                List<TisTimeVO> timeVOList = fmwDetailMapper.getTisTimeByFmwId(financeMonthlyWorktime.getId());
+                List<TisTimeVO> timeVOList = fmwDetailMapper.getTisTime(financeMonthlyWorktime.getId());
                 if(!CollectionUtils.isEmpty(timeVOList)){
                     timeVOList.forEach(t->t.setDateStr(ymd));
                     toSendList.addAll(timeVOList);

+ 1 - 7
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/FmwDetailMapper.xml

@@ -31,13 +31,7 @@
         select extra_field4 as orderId,extra_field5 as line
              ,sum(compose_time+repair_time+debug_time+waiting_time+public_time) as workTime
         from fmw_detail
-        where fmw_id = #{fmwId}
+        where fmw_id = #{fmwId} and extra_field4 is not null and extra_field4 &lt;&gt; ''
         group by extra_field4,extra_field5
     </select>
-    <select id="getTisTimeByFmwId" resultType="com.management.platform.entity.vo.TisTimeVO">
-        select extra_field4 as orderId,extra_field5 as line
-             ,sum(compose_time+repair_time+debug_time+waiting_time+public_time) as workTime
-        from fmw_detail
-        where fmw_id = #{fmwId}
-    </select>
 </mapper>

+ 0 - 6
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ReportMapper.xml

@@ -1559,12 +1559,6 @@
         group by report.creator_id
         ) tmp2 on tmp1.id = tmp2.userId
     </select>
-    <select id="getTisTimeByDate" resultType="com.management.platform.entity.vo.TisTimeVO">
-        select extra_field4 as orderId,extra_field5 as line,sum(working_time) as workTime
-        from report
-        where company_id = #{companyId} and create_date = #{date}
-        group by extra_field4,extra_field5
-    </select>
 
     <update id="batchUpdateReportStageToNull">
         update report set stage=null where id in