Browse Source

嘉溢bug调整

sangwenwei 11 months ago
parent
commit
a5c37efeda
16 changed files with 141 additions and 39 deletions
  1. 5 0
      jeeplus-modules/jeeplus-business/pom.xml
  2. 5 3
      jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/bid/mapper/xml/TenderBidBasicMapper.xml
  3. 3 0
      jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/drive/mapper/DriveMaintainMapper.java
  4. 16 0
      jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/drive/mapper/xml/DriveMaintainMapper.xml
  5. 14 0
      jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/drive/service/DriveApplyService.java
  6. 11 3
      jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/inscription/service/InscriptionService.java
  7. 16 3
      jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/meetingRoom/service/MeetingRoomService.java
  8. 2 2
      jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/monthly/controller/MonthlyController.java
  9. 16 9
      jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/monthly/service/MonthlyService.java
  10. 5 0
      jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/monthly/service/dto/MonthlyDTO.java
  11. 1 1
      jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/payment/mapper/xml/PaymentMapper.xml
  12. 15 0
      jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/payment/service/PaymentService.java
  13. 21 9
      jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/project/service/JyProjectService.java
  14. 5 3
      jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/reimbursement/controller/JyReimbursementInfoController.java
  15. 1 1
      jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/reimbursement/mapper/xml/JyReimbursementInfoMapper.xml
  16. 5 5
      jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/reimbursement/service/JyReimbursementInfoService.java

+ 5 - 0
jeeplus-modules/jeeplus-business/pom.xml

@@ -138,6 +138,11 @@
             <version>4.1.2</version>
         </dependency>
         <dependency>
+            <groupId>org.apache.poi</groupId>
+            <artifactId>poi-scratchpad</artifactId>
+            <version>4.1.1</version>
+        </dependency>
+        <dependency>
             <groupId>com.itextpdf</groupId>
             <artifactId>itextpdf</artifactId>
             <version>5.5.13.2</version>

+ 5 - 3
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/bid/mapper/xml/TenderBidBasicMapper.xml

@@ -49,18 +49,20 @@
             a.subscale_name,
             a.package_number,
             a.section_name,
-            a.money,
+            a.total_money,
             a.basic_id,
             b.tender_id,
             b.batch,
+            jt.application_deadline,
+            jt.bid_closing_time,
             su.name as createName,
             so.name as officeName
         from jy_tender_bid_detail a
             left join sys_user su on a.create_by_id = su.id
 			left join sys_office so on su.office_id = so.id
 			left join sys_user_manage_office sumo on sumo.office_id = su.office_id
-			left join jy_tender_bid_basic b
-			on b.id = a.basic_id and b.del_flag = '0'
+			left join jy_tender_bid_basic b on b.id = a.basic_id and b.del_flag = '0'
+			left join jy_tender jt on b.tender_id = jt.id and jt.del_flag = '0'
 			${ew.customSqlSegment}
 		ORDER BY a.create_time DESC
     </select>

+ 3 - 0
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/drive/mapper/DriveMaintainMapper.java

@@ -34,4 +34,7 @@ public interface DriveMaintainMapper extends BaseMapper<DriveMaintain> {
     void updateStatusById(@Param("status") String status,@Param("id") String id);
     @InterceptorIgnore(tenantLine = "true")
     void updateInfo(@Param("maintain") DriveMaintain maintain);
+
+    //获取当前日期之后审核通过的车辆维护信息
+    List<DriveMaintainDTO> getUsedTime();
 }

+ 16 - 0
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/drive/mapper/xml/DriveMaintainMapper.xml

@@ -98,4 +98,20 @@
             id=#{maintain.id}
     </update>
 
+    <select id="getUsedTime" resultType="com.jeeplus.business.drive.service.dto.DriveMaintainDTO">
+        select
+            a.id,
+            a.create_by_id,
+            a.create_time,
+            a.drive_info_id,
+            a.drive_maintain_type,
+            a.start_time,
+            a.end_time,
+            a.proc_ins_id,
+            a.process_definition_id,
+            a.status
+        from jy_drive_maintain a
+        where a.status = '5' and (a.start_time >= DATE(Now()) or a.end_time > DATE(Now()))
+    </select>
+
 </mapper>

+ 14 - 0
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/drive/service/DriveApplyService.java

@@ -15,9 +15,11 @@ import com.jeeplus.business.drive.domain.DriveAccount;
 import com.jeeplus.business.drive.domain.DriveApply;
 import com.jeeplus.business.drive.mapper.DriveAccountMapper;
 import com.jeeplus.business.drive.mapper.DriveApplyMapper;
+import com.jeeplus.business.drive.mapper.DriveMaintainMapper;
 import com.jeeplus.business.drive.service.dto.DriveAccountDTO;
 import com.jeeplus.business.drive.service.dto.DriveApplyDTO;
 import com.jeeplus.business.drive.service.dto.DriveDTO;
+import com.jeeplus.business.drive.service.dto.DriveMaintainDTO;
 import com.jeeplus.business.meetingRoom.domain.MeetingRoom;
 import com.jeeplus.business.project.domain.JyProject;
 import com.jeeplus.business.project.mapper.JyProjectMapper;
@@ -54,6 +56,9 @@ public class DriveApplyService {
     @Resource
     private JyProjectMapper jyProjectMapper;
 
+    @Resource
+    private DriveMaintainMapper driveMaintainMapper;
+
 
     /**
      * 用车申请列表
@@ -459,6 +464,15 @@ public class DriveApplyService {
             map.put("endTime",simpleDateFormat.format(applyDTO.getUseEndTime()));
             dates.add(map);
         }
+        //获取车辆维护的时间
+        List<DriveMaintainDTO> maintainDTOS=driveMaintainMapper.getUsedTime();
+        for (DriveMaintainDTO maintainDTO : maintainDTOS) {
+            HashMap<String, Object> map = new HashMap<>();
+            map.put("startTime",simpleDateFormat.format(maintainDTO.getStartTime()));
+            map.put("endTime",simpleDateFormat.format(maintainDTO.getEndTime()));
+            dates.add(map);
+        }
+
         return dates;
     }
 

+ 11 - 3
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/inscription/service/InscriptionService.java

@@ -29,6 +29,8 @@ import org.apache.http.client.methods.HttpGet;
 import org.apache.http.impl.client.CloseableHttpClient;
 import org.apache.http.impl.client.HttpClients;
 import org.apache.pdfbox.pdmodel.PDDocument;
+import org.apache.poi.hwpf.extractor.WordExtractor;
+import org.apache.poi.ooxml.POIXMLDocument;
 import org.apache.poi.ss.usermodel.Workbook;
 import org.apache.poi.ss.usermodel.WorkbookFactory;
 import org.apache.poi.xwpf.usermodel.XWPFDocument;
@@ -42,12 +44,12 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.RequestBody;
 
 import javax.annotation.Resource;
-import javax.swing.text.Document;
 import javax.xml.parsers.DocumentBuilder;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
 import java.io.IOException;
+import java.math.BigInteger;
 import java.net.URLDecoder;
 import java.net.URLEncoder;
 import java.text.ParseException;
@@ -162,11 +164,17 @@ public class InscriptionService {
                 String substring = srcFile.getName().substring(srcFile.getName().lastIndexOf(".")+1, srcFile.getName().length());
     //            //判断附件类型是doc,pdf,xls格式
     //            //word文件
-                if (substring.equals("doc") || substring.equals("docx")){
+                if (substring.equals("doc") ){
                     //读取文件信息
                     FileInputStream inputStream = new FileInputStream(srcFile);
+                    WordExtractor wordExtractor = new WordExtractor(inputStream);
+                    total += wordExtractor.getSummaryInformation().getPageCount();
+                    wordExtractor.close();
+                }
+                if ( substring.equals("docx")){
+                    FileInputStream inputStream = new FileInputStream(srcFile);
                     XWPFDocument xwpfDocument = new XWPFDocument(inputStream);
-                    total+=xwpfDocument.getProperties().getExtendedProperties().getUnderlyingProperties().getPages();
+                    total += xwpfDocument.getProperties().getExtendedProperties().getUnderlyingProperties().getPages();
                     xwpfDocument.close();
                 }
                 //excel文件

+ 16 - 3
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/meetingRoom/service/MeetingRoomService.java

@@ -211,14 +211,27 @@ public class MeetingRoomService {
             LocalDateTime nowDate = LocalDateTime.of(curDate, now);//当前时间
             ArrayList<LocalTime> dateList = new ArrayList<>();
             LocalDateTime morning=LocalDateTime.of(curDate, time1); //上午九点
+            LocalTime nowTime = nowDate.toLocalTime();//当前时间,精确到分钟
             //将上午九点开始,截止到当前时间,中间的每半个小时存放到集合中
             if (nowDate.isAfter(morning) || nowDate.isEqual(morning)){
                 LocalTime currentTime = time1;
                 dateList.add(currentTime);
                 // 循环直到当前时间或者下一个半点的开始时间
-                while (LocalDateTime.of(curDate, currentTime).isBefore(nowDate.truncatedTo(ChronoUnit.HOURS))) {
-                    currentTime = currentTime.plus(30, ChronoUnit.MINUTES); // 每隔半小时
-                    dateList.add(currentTime); // 添加半小时后的时间点
+//                while (LocalDateTime.of(curDate, currentTime).isBefore(nowDate.truncatedTo(ChronoUnit.HOURS))) {
+//                    currentTime = currentTime.plus(30, ChronoUnit.MINUTES); // 每隔半小时
+//                    dateList.add(currentTime); // 添加半小时后的时间点
+//                }
+                while (currentTime.isBefore(nowTime) || (currentTime.equals(nowTime) && currentTime.getMinute() <= nowTime.getMinute())) {
+                    // 每隔半小时增加currentTime
+                    currentTime = currentTime.plus(30, ChronoUnit.MINUTES);
+                    if (currentTime.isBefore(nowTime)){
+                        dateList.add(currentTime);
+                    }
+
+                    // 如果currentTime的日期没有超过当前日期的日期部分,并且时间没有超过当前时间的分钟部分,则添加到dateList
+//                    if (currentTime.getHour().isEqual(nowDate.toLocalDate()) && currentTime.getMinute() <= nowTime.getMinute()) {
+//                    }
+
                 }
             }
             //将获取到的时间存到map中

+ 2 - 2
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/monthly/controller/MonthlyController.java

@@ -57,8 +57,8 @@ public class MonthlyController {
      */
     @ApiOperation(value = "根据id查找根据id查找信息文印信息")
     @GetMapping(value = "findById")
-    public ResponseEntity<MonthlyDTO> findById(@RequestParam String id){
-        MonthlyDTO monthlyDTO=monthlyService.findById(id);
+    public ResponseEntity<MonthlyDTO> findById(@RequestParam String id,@RequestParam String method){
+        MonthlyDTO monthlyDTO=monthlyService.findById(id,method);
         return ResponseEntity.ok(monthlyDTO);
     }
 

+ 16 - 9
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/monthly/service/MonthlyService.java

@@ -96,8 +96,9 @@ public class MonthlyService {
      * @param id
      * @return
      */
-    public MonthlyDTO findById(String id) {
+    public MonthlyDTO findById(String id,String method) {
         MonthlyDTO monthlyDTO = new MonthlyDTO();
+        String mid="";
         if (StringUtils.isNotBlank(id)){
             MonthlyDTO dto=monthlyMapper.findById(id);
             BeanUtils.copyProperties(dto,monthlyDTO);
@@ -109,14 +110,13 @@ public class MonthlyService {
                 }
                 monthlyDTO.setFiles(files);
             }
-//            根据月报表id查询项目进度
-            List<JyProcess> processList=jyProcessMapper.findByMonthId(id);
-            if (ObjectUtils.isNotEmpty(processList)){
-                monthlyDTO.setProcessList(processList);
-            }
+            mid = id;
         }else {
-            String mid = UUID.randomUUID().toString().replace("-", "");
+            mid = UUID.randomUUID().toString().replace("-", "");
             monthlyDTO.setId(mid);
+        }
+        //新增或修改时,获取到的进度信息是最新的,查看时从进度表中获取信息
+        if (method.equals("add") || method.equals("edit")){
             //获取当前登录人信息
             UserDTO userDTO = SpringUtil.getBean ( IUserApi.class ).getByToken(TokenProvider.getCurrentToken());
             //获取当前登陆人未归档的项目信息
@@ -183,11 +183,18 @@ public class MonthlyService {
 
                 };
                 arrayList.addAll(jyProjectDTO);
+                List<JyProcess> jyProcessList = saveProcess(arrayList, mid);
+                monthlyDTO.setProcessList(jyProcessList);
+            }
+        }else {
+            // 根据月报表id查询项目进度
+            List<JyProcess> processList=jyProcessMapper.findByMonthId(id);
+            if (ObjectUtils.isNotEmpty(processList)){
+                monthlyDTO.setProcessList(processList);
             }
-            List<JyProcess> jyProcessList = saveProcess(arrayList, mid);
-            monthlyDTO.setProcessList(jyProcessList);
         }
 
+
         return monthlyDTO;
     }
 

+ 5 - 0
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/monthly/service/dto/MonthlyDTO.java

@@ -82,4 +82,9 @@ public class MonthlyDTO extends BaseEntity {
      */
     private List<WorkAttachmentInfo> files;
 
+    /**
+     * 前端传过来的方法(新增,修改,查看)
+     */
+    private String method;
+
 }

+ 1 - 1
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/payment/mapper/xml/PaymentMapper.xml

@@ -151,7 +151,7 @@
         from jy_payment a
         left join sys_user su on su.id = a.payment_user and su.del_flag = '0'
         left join sys_office so on su.office_id = so.id and so.del_flag = '0'
-        where find_in_set (#{projectId},project_id) and a.del_flag = '0'
+        where find_in_set (#{projectId},project_id) and a.del_flag = '0' and a.status = '5'
         order by a.create_time DESC
     </select>
 

+ 15 - 0
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/payment/service/PaymentService.java

@@ -412,6 +412,21 @@ public class PaymentService {
         queryWrapper.eq("a.status","5");
         queryWrapper.orderByDesc("a.update_time");
         IPage<Payment> moneyList = paymentMapper.listByUserId(queryWrapper,page);
+        moneyList.getRecords().stream().forEach(data->{
+            List<JyReimbursementDetailInfoPayment> list = jyReimbursementInfoPaymentMapper.findByProjectId(data.getId());
+            Double total = 0.00;
+            if (CollectionUtils.isNotEmpty(list)){
+                //将所有的报销金额汇总
+                for (JyReimbursementDetailInfoPayment reim : list) {
+                    double parseDouble = Double.parseDouble(reim.getNumber());
+                    total += parseDouble;
+                }
+            }
+            Double moneyLower=Double.parseDouble(data.getPaymentLower());
+            Double money=moneyLower-total;
+            data.setFinalMoney(money.toString());//剩余付款金额
+            data.setRefund(total.toString());//冲抵金额
+        });
         return moneyList;
     }
 

+ 21 - 9
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/project/service/JyProjectService.java

@@ -1035,11 +1035,15 @@ public class JyProjectService {
                     if (jyProjectAuditDTOS.get(0).getInitialAuditOpinion().contains("<br/>")){
                         String[] split = jyProjectAuditDTOS.get(0).getInitialAuditOpinion().split("<br/>");
                         //将审核意见放入集合中
-                        for (String s : split) {
-                            strings.add(s);
+                        for (int i = 0; i < split.length - 1; i++) {
+                            strings.add(split[i]);
                         }
                     }else {
-                        strings.add(jyProjectAuditDTOS.get(0).getInitialAuditOpinion());
+                        if (jyProjectAuditDTOS.get(0).getInitialAuditOpinion().equals(jyProjectAuditDTOS.get(0).getAuditAgreeOpinion())){
+                            strings.add("");
+                        }else {
+                            strings.add(jyProjectAuditDTOS.get(0).getInitialAuditOpinion());
+                        }
                     }
                     data.put("firstAuditList",strings);
                 }else {
@@ -1121,11 +1125,15 @@ public class JyProjectService {
                     if (jyProjectAuditDTOS.get(1).getInitialAuditOpinion().contains("<br/>")){
                         String[] split = jyProjectAuditDTOS.get(1).getInitialAuditOpinion().split("<br/>");
                         //将审核意见放入集合中
-                        for (String s : split) {
-                            strings.add(s);
+                        for (int i = 0; i < split.length - 1; i++) {
+                            strings.add(split[i]);
                         }
                     }else {
-                        strings.add(jyProjectAuditDTOS.get(1).getInitialAuditOpinion());
+                        if (jyProjectAuditDTOS.get(1).getInitialAuditOpinion().equals(jyProjectAuditDTOS.get(1).getAuditAgreeOpinion())){
+                            strings.add("");
+                        }else {
+                            strings.add(jyProjectAuditDTOS.get(1).getInitialAuditOpinion());
+                        }
                     }
                     data.put("secondAuditList",strings);
                 }else {
@@ -1207,11 +1215,15 @@ public class JyProjectService {
                     if (jyProjectAuditDTOS.get(2).getInitialAuditOpinion().contains("<br/>")){
                         String[] split = jyProjectAuditDTOS.get(2).getInitialAuditOpinion().split("<br/>");
                         //将审核意见放入集合中
-                        for (String s : split) {
-                            strings.add(s);
+                        for (int i = 0; i < split.length - 1; i++) {
+                            strings.add(split[i]);
                         }
                     }else {
-                        strings.add(jyProjectAuditDTOS.get(2).getInitialAuditOpinion());
+                        if (jyProjectAuditDTOS.get(2).getInitialAuditOpinion().equals(jyProjectAuditDTOS.get(2).getAuditAgreeOpinion())){
+                            strings.add("");
+                        }else {
+                            strings.add(jyProjectAuditDTOS.get(2).getInitialAuditOpinion());
+                        }
                     }
                     data.put("thirdAuditList",strings);
                 }else {

+ 5 - 3
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/reimbursement/controller/JyReimbursementInfoController.java

@@ -6,6 +6,7 @@ import com.jeeplus.business.drive.service.dto.DriveApplyDTO;
 import com.jeeplus.business.finance.util.EasyPoiUtil;
 import com.jeeplus.business.project.domain.JyProject;
 import com.jeeplus.business.project.service.dto.JyProjectDTO;
+import com.jeeplus.business.reimbursement.domain.JyReimbursementInfo;
 import com.jeeplus.business.reimbursement.service.JyReimbursementInfoService;
 import com.jeeplus.business.reimbursement.service.dto.JyReimbursementInfoDTO;
 import com.jeeplus.common.excel.ExcelOptions;
@@ -64,10 +65,11 @@ public class JyReimbursementInfoController {
      */
     @ApiOperation(value = "新增、修改")
     @PostMapping("/save")
-    public ResponseEntity<String> save(@RequestBody JyReimbursementInfoDTO dto) throws Exception{
-        String s = jyReimbursementInfoService.save(dto);
+    public ResponseEntity save(@RequestBody JyReimbursementInfoDTO dto) throws Exception{
+        JyReimbursementInfo s = jyReimbursementInfoService.save(dto);
         return ResponseUtil.newInstance().add("businessTable", "jy_reimbursement_info")
-                .add("businessId", s)
+                .add("businessId", s.getId())
+                .add("no",s.getNo())
                 .ok ("操作成功");
     }
 

+ 1 - 1
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/reimbursement/mapper/xml/JyReimbursementInfoMapper.xml

@@ -342,7 +342,7 @@
 			left join sys_user_manage_office sumo on sumo.office_id = c.office_id
 			left join sys_office o on o.id = c.office_id and o.del_flag = 0
 			LEFT JOIN act_ru_task d ON a.proc_ins_id = d.PROC_INST_ID_
-			where (find_in_set (#{projectId},b4.project_id) or find_in_set (#{projectId},b2.project_id))and a.del_flag = '0'
+			where (find_in_set (#{projectId},b4.project_id) or find_in_set (#{projectId},b2.project_id))and a.del_flag = '0' and a.status='5'
 		ORDER BY a.update_time DESC
     </select>
 

+ 5 - 5
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/reimbursement/service/JyReimbursementInfoService.java

@@ -170,7 +170,7 @@ public class JyReimbursementInfoService {
      * @param dto
      * @return
      */
-    public String save(JyReimbursementInfoDTO dto) throws Exception {
+    public JyReimbursementInfo save(JyReimbursementInfoDTO dto) throws Exception {
         // 获取当前登录人信息
         UserDTO userDTO = SpringUtil.getBean ( IUserApi.class ).getByToken(TokenProvider.getCurrentToken());
         if (StringUtils.isNotEmpty(dto.getId())) {
@@ -180,7 +180,7 @@ public class JyReimbursementInfoService {
         }
     }
 
-    public String add(JyReimbursementInfoDTO dto, UserDTO userDTO) throws Exception{
+    public JyReimbursementInfo add(JyReimbursementInfoDTO dto, UserDTO userDTO) throws Exception{
         // 生成id
         String id = UUID.randomUUID().toString().replace("-", "");
         // 生成编号
@@ -256,7 +256,7 @@ public class JyReimbursementInfoService {
         if (CollectionUtils.isNotEmpty(dto.getFiles())) {
             saveFiles(dto.getFiles(), userDTO, id);
         }
-        return id;
+        return jyReimbursementInfo;
     }
 
     /**
@@ -299,7 +299,7 @@ public class JyReimbursementInfoService {
         }
     }
 
-    public String update(JyReimbursementInfoDTO dto, UserDTO userDTO) {
+    public JyReimbursementInfo update(JyReimbursementInfoDTO dto, UserDTO userDTO) {
         // 修改基础信息
         JyReimbursementInfo info = new JyReimbursementInfo();
         BeanUtils.copyProperties(dto, info);
@@ -389,7 +389,7 @@ public class JyReimbursementInfoService {
         if (CollectionUtils.isNotEmpty(dto.getFiles())) {
             updateFiles(dto.getFiles(), userDTO, dto.getId());
         }
-        return dto.getId();
+        return info;
     }
 
     /**