Selaa lähdekoodia

Merge branch 'test'

LAPTOP-FO2T5SIU\35838 5 kuukautta sitten
vanhempi
commit
0b154f8087

+ 4 - 4
pro-base/src/main/java/com/idea/buildManage/controller/MnpBuildingController.java

@@ -131,10 +131,10 @@ public class MnpBuildingController extends BaseController {
             }
             EasyExcel.read(excel, MnpBuildingExcel.class, listener).headRowNumber(2).sheet().doRead();
             excel.delete();
-            // 启动一个新的线程来触发另一个方法
-            new Thread(() -> {
-                invoiceTask.sendBuild();
-            }).start();
+//            // 启动一个新的线程来触发另一个方法
+//            new Thread(() -> {
+//                invoiceTask.sendBuild();
+//            }).start();
         } catch (Exception e) {
             e.printStackTrace();
             return AjaxResult.error(e.getMessage());

+ 4 - 4
pro-base/src/main/java/com/idea/buildManage/controller/ParkRoomController.java

@@ -160,10 +160,10 @@ public class ParkRoomController extends BaseController {
             }
             EasyExcel.read(excel, ParkRoomExcel.class, listener).headRowNumber(2).sheet().doRead();
             excel.delete();
-            // 启动一个新的线程来触发另一个方法
-            new Thread(() -> {
-                invoiceTask.sendHouse();
-            }).start();
+//            // 启动一个新的线程来触发另一个方法
+//            new Thread(() -> {
+//                invoiceTask.sendHouse();
+//            }).start();
         } catch (Exception e) {
             e.printStackTrace();
             return AjaxResult.error(e.getMessage());

+ 15 - 1
pro-base/src/main/java/com/idea/buildManage/excel/MnpBuildingListener.java

@@ -5,7 +5,9 @@ import cn.hutool.core.util.IdUtil;
 import com.alibaba.excel.context.AnalysisContext;
 import com.alibaba.excel.event.AnalysisEventListener;
 import com.alibaba.fastjson.JSONObject;
+import com.idea.buildManage.dto.ParkFloorDiscDto;
 import com.idea.buildManage.model.MnpBuilding;
+import com.idea.buildManage.model.ParkFloorDisc;
 import com.idea.buildManage.service.MnpBuildingService;
 import com.idea.buildManage.service.ParkFloorDiscService;
 import com.idea.buildManage.service.ParkInfoService;
@@ -65,6 +67,7 @@ public class MnpBuildingListener extends AnalysisEventListener<MnpBuildingExcel>
             MnpBuilding data;
             MnpBuildingExcel excel = null;
             Map<String, String> discNameIdMap = floorDiscService.getNameIdMap();
+            List<ParkFloorDisc> parkFloorDiscs = floorDiscService.listAll(new ParkFloorDiscDto(), null);
             Map<String, String> parkNameIdMap = parkInfoService.getNameIdMap();
             for (int i = 0; i < excelList.size(); i++) {
 
@@ -118,7 +121,18 @@ public class MnpBuildingListener extends AnalysisEventListener<MnpBuildingExcel>
                         builder.append("分期不存在").append(",");
                         excel.setDiscName("{" + excel.getDiscName() + "}");
                     }
-                    data.setDiscId(discNameIdMap.get(excel.getDiscName()));
+                    for(ParkFloorDisc parkFloorDisc : parkFloorDiscs){
+                        if(parkFloorDisc.getGroupId().equals(data.getGroupId()) &&
+                                parkFloorDisc.getName().equals(excel.getDiscName())){
+                            data.setDiscId(parkFloorDisc.getId());
+                        }
+                    }
+                    if(StringUtils.isEmpty(data.getDiscId())){
+                        discNameFlag = false;
+                        builder.append("分期不存在").append(",");
+                        excel.setDiscName("{" + excel.getDiscName() + "}");
+                    }
+
 
                     // 楼栋号
                     if (StringUtils.isEmpty(excel.getBuildNum())) {

+ 29 - 2
pro-base/src/main/java/com/idea/buildManage/excel/ParkRoomListener.java

@@ -4,7 +4,9 @@ import cn.hutool.core.util.IdUtil;
 import com.alibaba.excel.context.AnalysisContext;
 import com.alibaba.excel.event.AnalysisEventListener;
 import com.alibaba.fastjson.JSONObject;
+import com.idea.buildManage.dto.ParkFloorDiscDto;
 import com.idea.buildManage.model.MnpBuilding;
+import com.idea.buildManage.model.ParkFloorDisc;
 import com.idea.buildManage.model.ParkRoom;
 import com.idea.buildManage.service.MnpBuildingService;
 import com.idea.buildManage.service.ParkFloorDiscService;
@@ -74,6 +76,8 @@ public class ParkRoomListener extends AnalysisEventListener<ParkRoomExcel> {
             Map<String, String> buildNameIdMap = buildingService.getNameIdMap();
             Map<String, String> discNameIdMap = floorDiscService.getNameIdMap();
             Map<String, String> parkNameIdMap = parkInfoService.getNameIdMap();
+            List<ParkFloorDisc> parkFloorDiscs = floorDiscService.listAll(new ParkFloorDiscDto(), null);
+            List<MnpBuilding> mnpBuildings = buildingService.listAll(new MnpBuilding(), null);
             for (int i = 0; i < excelList.size(); i++) {
 
                 boolean groupNameFlag = true;
@@ -136,7 +140,18 @@ public class ParkRoomListener extends AnalysisEventListener<ParkRoomExcel> {
                         builder.append("分期不存在").append(",");
                         excel.setDiscName("{" + excel.getDiscName() + "}");
                     }
-                    data.setDiscId(discNameIdMap.get(excel.getDiscName()));
+                    for(ParkFloorDisc parkFloorDisc : parkFloorDiscs){
+                        if(parkFloorDisc.getGroupId().equals(data.getGroupId()) &&
+                                parkFloorDisc.getName().equals(excel.getDiscName())){
+                            data.setDiscId(parkFloorDisc.getId());
+                        }
+                    }
+                    if(StringUtils.isEmpty(data.getDiscId())){
+                        discNameFlag = false;
+                        builder.append("分期不存在").append(",");
+                        excel.setDiscName("{" + excel.getDiscName() + "}");
+                    }
+
 
                     // 判断楼栋是否存在
                     if (StringUtils.isEmpty(buildNameIdMap.get(excel.getBuildNum()))) {
@@ -144,7 +159,19 @@ public class ParkRoomListener extends AnalysisEventListener<ParkRoomExcel> {
                         builder.append("楼栋不存在").append(",");
                         excel.setBuildNum("{" + excel.getBuildNum() + "}");
                     }
-                    data.setBuildId(buildNameIdMap.get(excel.getBuildNum()));
+                    for(MnpBuilding mnpBuilding : mnpBuildings){
+                        if(mnpBuilding.getGroupId().equals(data.getGroupId())
+                                && mnpBuilding.getDiscId().equals(data.getDiscId())
+                                && mnpBuilding.getBuildNum().equals(excel.getBuildNum())){
+                            data.setBuildId(mnpBuilding.getId());
+                        }
+                    }
+                    if(StringUtils.isEmpty(data.getBuildId())){
+                        buildNumFlag = false;
+                        builder.append("楼栋不存在").append(",");
+                        excel.setBuildNum("{" + excel.getBuildNum() + "}");
+                    }
+
 
                     // 户室号
                     if (StringUtils.isEmpty(excel.getRoomNo())) {

+ 4 - 0
pro-base/src/main/java/com/idea/buildManage/mapper/ParkRoomExtendMapper.java

@@ -29,4 +29,8 @@ public interface ParkRoomExtendMapper {
 
     List<ProjectHouseAllVo> projectHouseAllVoList(ParkRoomResponse model);
 
+    List<ParkRoom> needDisableHouse();
+
+    List<MnpBuilding> needDisableBuild();
+
 }

+ 9 - 0
pro-base/src/main/java/com/idea/buildManage/service/MnpBuildingService.java

@@ -25,6 +25,7 @@ import com.rockstar.frame.mapper.FrameDataMapper;
 import com.rockstar.frame.model.extend.DateTrans;
 import com.rockstar.frame.model.extend.Tablepar;
 import com.rockstar.shiro.util.ShiroUtils;
+import com.rockstar.util.StringUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -82,6 +83,14 @@ public class MnpBuildingService implements BaseService<MnpBuilding, MnpBuildingE
 
     private MnpBuildingExample getCondition(MnpBuilding model, DateTrans dt) {
         MnpBuildingExample ex = new MnpBuildingExample();
+        MnpBuildingExample.Criteria criteria = ex.createCriteria();
+        criteria.andDelFlagEqualTo("0");
+        if (StringUtils.isNotEmpty(model.getGroupId())) {
+            criteria.andGroupIdEqualTo(model.getGroupId());
+        }
+        if (StringUtils.isNotEmpty(model.getDiscId())) {
+            criteria.andDiscIdEqualTo(model.getDiscId());
+        }
         return ex;
     }
 

+ 3 - 0
pro-base/src/main/java/com/idea/buildManage/service/ParkFloorDiscService.java

@@ -81,6 +81,9 @@ public class ParkFloorDiscService implements BaseService<ParkFloorDisc, ParkFloo
             List<String> groupIds = Arrays.asList(model.getGroupIds().split(","));
             criteria.andGroupIdIn(groupIds);
         }
+        if (StringUtils.isNotEmpty(model.getGroupId())) {
+            criteria.andGroupIdEqualTo(model.getGroupId());
+        }
         return ex;
     }
 

+ 6 - 3
pro-base/src/main/java/com/idea/buildManage/service/ParkInfoService.java

@@ -244,7 +244,8 @@ public class ParkInfoService implements BaseService<ParkInfo, ParkInfoExample> {
                     //楼栋
                     MnpBuildingExample buildingExample = new MnpBuildingExample();
                     buildingExample.setOrderByClause("build_num + 0");
-                    buildingExample.createCriteria().andDiscIdEqualTo(parkFloorDisc.getId());
+                    buildingExample.createCriteria().andDiscIdEqualTo(parkFloorDisc.getId())
+                            .andDelFlagEqualTo("0");
                     List<MnpBuilding> parkBuilds = mnpBuildingService.selectByExample(buildingExample);
                     if (null != parkBuilds && parkBuilds.size() > 0) {
                         List<Map<String, Object>> parkBuildChildrens = new ArrayList<>();
@@ -256,7 +257,8 @@ public class ParkInfoService implements BaseService<ParkInfo, ParkInfoExample> {
                             //房间
                             ParkRoomExample parkRoomExample = new ParkRoomExample();
                             parkRoomExample.setOrderByClause("room_no + 0");
-                            parkRoomExample.createCriteria().andBuildIdEqualTo(parkBuild.getId());
+                            parkRoomExample.createCriteria().andBuildIdEqualTo(parkBuild.getId())
+                                    .andDelFlagEqualTo("0");
                             List<ParkRoom> parkRooms = parkRoomService.selectByExample(parkRoomExample);
                             if (null != parkRooms && parkRooms.size() > 0) {
                                 List<Map<String, Object>> parkRoomChildrens = new ArrayList<>();
@@ -303,7 +305,8 @@ public class ParkInfoService implements BaseService<ParkInfo, ParkInfoExample> {
                     //楼栋
                     MnpBuildingExample buildingExample = new MnpBuildingExample();
                     buildingExample.setOrderByClause("build_num + 0");
-                    buildingExample.createCriteria().andDiscIdEqualTo(parkFloorDisc.getId());
+                    buildingExample.createCriteria().andDiscIdEqualTo(parkFloorDisc.getId())
+                            .andDelFlagEqualTo("0");
                     List<MnpBuilding> parkBuilds = mnpBuildingService.selectByExample(buildingExample);
                     if (null != parkBuilds && parkBuilds.size() > 0) {
                         List<Map<String, Object>> parkBuildChildrens = new ArrayList<>();

+ 50 - 8
pro-base/src/main/java/com/idea/buildManage/service/ParkRoomService.java

@@ -154,6 +154,7 @@ public class ParkRoomService implements BaseService<ParkRoom, ParkRoomExample> {
         ParkRoomExample ex = new ParkRoomExample();
         ex.setOrderByClause("order_num asc");
         ParkRoomExample.Criteria criteria = ex.createCriteria();
+        criteria.andDelFlagEqualTo("0");
         if (StringUtils.isNotEmpty(model.getBuildId())) {
             criteria.andBuildIdEqualTo(model.getBuildId());
         }
@@ -331,6 +332,36 @@ public class ParkRoomService implements BaseService<ParkRoom, ParkRoomExample> {
         return result;
     }
 
+    public void tempDelete(){
+//        List<ParkRoom> parkRooms = extendMapper.needDisableHouse();
+//        for(ParkRoom parkRoom : parkRooms){
+//            // 用友推送房间禁用
+//            try {
+//                JSONObject json = new JSONObject();
+//                json.put("ncid", parkRoom.getNcid());
+//                InvoiceUtil.defdocDisable(json);
+//                Thread.sleep(500);//等待毫秒
+//            } catch (Exception e) {
+//                log.error("房间禁用失败:", e);
+//            }
+//        }
+        List<MnpBuilding> mnpBuildings = extendMapper.needDisableBuild();
+        for (MnpBuilding mnpBuilding : mnpBuildings){
+            // 用友推送房间禁用
+            try {
+                JSONObject json = new JSONObject();
+                json.put("ncid", mnpBuilding.getNcid());
+                InvoiceUtil.defdocDisable(json);
+                Thread.sleep(500);//等待毫秒
+            } catch (Exception e) {
+                log.error("房间禁用失败:", e);
+            }
+        }
+    }
+
+
+
+
     /**
      * 查询房屋全称
      *
@@ -549,7 +580,7 @@ public class ParkRoomService implements BaseService<ParkRoom, ParkRoomExample> {
                             .andContentTypeNotEqualTo(7).andContractIdEqualTo(contractManage.getId())
                             .andStatusEqualTo(0).andPayTypeEqualTo(1);
                     List<PayLog> payLogs = payLogMapper.selectByExample(payLogExample);
-                    Optional<Date> max = payLogs.stream().map(PayLog::getPayTime).max(Date::compareTo);
+                    Optional<Date> max = payLogs.stream().map(PayLog::getPayTime).filter(Objects::nonNull).max(Date::compareTo);
                     Date date = max.orElse(null);
                     parkRoomNode = new ParkRoomNode();
                     parkRoomNode.setNodeName("预付款");
@@ -666,10 +697,10 @@ public class ParkRoomService implements BaseService<ParkRoom, ParkRoomExample> {
                     .max(Comparator.comparing(ParkRoomNode::getHandleDate));
             ParkRoomNode parkRoomNode = max.orElse(null);
             if (parkRoomNode != null) {
-                endDate = DateUtils.parseDateToStr("yyyy-MM-dd HH:mm", parkRoomNode.getHandleDate());
+                endDate = DateUtils.parseDateToStr("yyyy-MM-dd", parkRoomNode.getHandleDate());
             }
             Date handleDate = parkRoomNodes.get(0).getHandleDate();
-            startDate = DateUtils.parseDateToStr("yyyy-MM-dd HH:mm", handleDate);
+            startDate = DateUtils.parseDateToStr("yyyy-MM-dd", handleDate);
             parkRoomHistory.setStartDate(startDate);
             parkRoomHistory.setEndDate(endDate);
         }
@@ -696,6 +727,7 @@ public class ParkRoomService implements BaseService<ParkRoom, ParkRoomExample> {
 
         // 载体列表
         MnpBuildingExample buildingExample = new MnpBuildingExample();
+        buildingExample.setOrderByClause("build_num + 0 asc");
         buildingExample.createCriteria().andDiscIdEqualTo(discId);
         List<MnpBuilding> mnpBuildings = buildingService.selectByExample(buildingExample);
         for (MnpBuilding mnpBuilding : mnpBuildings) {
@@ -707,14 +739,22 @@ public class ParkRoomService implements BaseService<ParkRoom, ParkRoomExample> {
 
             // 房间列表
             ParkRoomExample roomExample = new ParkRoomExample();
+            roomExample.setOrderByClause("room_no + 0 asc");
             roomExample.createCriteria().andBuildIdEqualTo(mnpBuilding.getId());
             List<ParkRoom> parkRooms = selectByExample(roomExample);
             for (ParkRoom room : parkRooms) {
                 ParkRoomResponse roomResponse = new ParkRoomResponse();
                 roomResponse.setRoomNo(room.getRoomNo());
-                // 已选房 待售
-                if (room.getIsChoose() == 1 && room.getSoldStatus() == 1) {
-                    roomResponse.setProjectStatusStr("已选房");
+                // 已选房
+                if (room.getIsChoose() == 1) {
+                    // 待售
+                    if (room.getSoldStatus() == 1) {
+                        roomResponse.setProjectStatusStr("已选房");
+                    }
+                    // 认购
+                    if (room.getSoldStatus() == 2) {
+                        roomResponse.setProjectStatusStr("已订房");
+                    }
                 }
                 // 已签约
                 if (room.getSoldStatus() == 3) {
@@ -828,8 +868,10 @@ public class ParkRoomService implements BaseService<ParkRoom, ParkRoomExample> {
                         default:
                             paymentMethodStr = "其他";
                     }
-                    builder.append(DateUtils.parseDateToStr("yyyy-MM-dd", payTime))
-                            .append(paymentMethodStr)
+                    if (payTime != null) {
+                        builder.append(DateUtils.parseDateToStr("yyyy-MM-dd", payTime));
+                    }
+                    builder.append(paymentMethodStr)
                             .append("收到")
                             .append(contentTypeStr)
                             .append(payMoney).append("元;");

+ 2 - 2
pro-base/src/main/java/com/idea/invoice/task/InvoiceTask.java

@@ -101,7 +101,7 @@ public class InvoiceTask {
     /**
      * 每天凌晨执行 推送载体数据
      */
-//    @Scheduled(cron = "0 0 0 1/1 * ?")
+    @Scheduled(cron = "0 0 0 1/1 * ?")
     public void sendBuild() {
         List<MnpBuildingDto> mnpBuildings = buildingService.selectNeedSendList();
         for(MnpBuildingDto building: mnpBuildings){
@@ -134,7 +134,7 @@ public class InvoiceTask {
     /**
      * 每天凌晨执行 推送房间数据
      */
-//    @Scheduled(cron = "0 0 0 1/1 * ?")
+    @Scheduled(cron = "0 0 0 1/1 * ?")
     public void sendHouse(){
         List<ParkRoomResponse> parkRooms = roomService.selectNeedSendList();
         for(ParkRoomResponse record: parkRooms){

+ 16 - 3
pro-base/src/main/resources/mybatis/buildManage/ParkRoomExtendMapper.xml

@@ -156,6 +156,7 @@
     left join park_floor_disc d on d.id = r.disc_id
     left join mnp_building b on b.id = r.build_id
     <where>
+      and ifnull(r.del_flag,0) = 0
       <if test="groupId != null and groupId != ''">
         and r.group_id = #{groupId}
       </if>
@@ -176,12 +177,15 @@
       select r.*,c.id contractId,c.customer_management_id,c.record_number,c.contract_number,
              c.total_price contractTotalPrice,c.collection_status,c.house_price contractHousePrice,
              c.buyer_money contractBuyerMoney,c.buyer_money receivableMoney,c.signing_date,
-             cm.buyer_identity_card
+             cm.buyer_identity_card,p.area_status
       from park_room r
-      left join contract_manage c on r.id = c.house_id
+      left join park_info p on p.id = r.group_id
+      left join (select id,house_id,max(created_at) from contract_manage group by house_id) c_temp on c_temp.house_id = r.id
+      left join contract_manage c on c.id = c_temp.id
       left join customer_management cm on cm.id = c.customer_management_id
-      and c.created_at = (select max(created_at) from contract_manage where contract_manage.house_id = r.id)
+
       <where>
+        and ifnull(r.del_flag,0) = 0
         <if test="groupId != null and groupId != ''">
           and r.group_id = #{groupId}
         </if>
@@ -198,5 +202,14 @@
       order by r.group_name , r.disc_name , r.build_name , r.room_no + 0
     </select>
 
+    <select id="needDisableHouse" resultType="com.idea.buildManage.model.ParkRoom">
+      select * from park_room where created_at >= '2025-02-25' and created_at &lt; '2025-02-26' and ncid is not null
+    </select>
+
+    <select id="needDisableBuild" resultType="com.idea.buildManage.model.MnpBuilding">
+      select * from mnp_building where created_at >= '2025-02-25' and created_at &lt; '2025-02-26'
+      and ncid is not null
+    </select>
+
 
 </mapper>

+ 2 - 1
pro-wx/src/main/java/com/idea/pro/wx/controller/buildManage/WxParkRoomController.java

@@ -198,13 +198,14 @@ public class WxParkRoomController extends BaseController {
 //        intentionalDepositService.sendToDepositVoucher(id);
 //        List<Map<String, String>> dictList = sysDictService.selectDictList("CONTENT_TYPE");
 //        invoiceTask.sendBuild();
-        invoiceTask.sendHouse();
+//        invoiceTask.sendHouse();
 //        customerManagementService.tempCusUpdate(file);
 //        customerManagementService.tempCusUpdate2(file);
 //        customerManagementService.tempContractUpdate(file);
 //        invoiceTask.sendCustomer();
 //        customerManagementService.tempDepositUpdate(file);
 //        invoiceTask.customerAssign();
+//            modelService.tempDelete();
 
         return success();
     }