LAPTOP-FO2T5SIU\35838 7 月之前
父節點
當前提交
b597fcbc1e
共有 18 個文件被更改,包括 226 次插入92 次删除
  1. 1 1
      pro-base/src/main/java/com/idea/buildManage/controller/ParkInfoController.java
  2. 3 3
      pro-base/src/main/java/com/idea/buildManage/excel/ParkInfoExcel.java
  3. 5 1
      pro-base/src/main/java/com/idea/buildManage/excel/WriteHandlerStrategy.java
  4. 16 4
      pro-base/src/main/java/com/idea/buildManage/service/MnpBuildingService.java
  5. 16 4
      pro-base/src/main/java/com/idea/buildManage/service/ParkFloorDiscService.java
  6. 32 15
      pro-base/src/main/java/com/idea/buildManage/service/ParkInfoService.java
  7. 15 1
      pro-base/src/main/java/com/idea/buildManage/service/ParkRoomService.java
  8. 28 6
      pro-base/src/main/java/com/idea/oa/apply/controller/ApplyPaymentSettleController.java
  9. 4 0
      pro-base/src/main/java/com/idea/paymentManagement/mapper/PayLogExtendMapper.java
  10. 20 0
      pro-base/src/main/java/com/idea/paymentManagement/service/PayLogService.java
  11. 6 4
      pro-base/src/main/java/com/idea/paymentManagement/service/RefundDetailService.java
  12. 25 18
      pro-base/src/main/java/com/idea/paymentManagement/service/RefundManageService.java
  13. 3 2
      pro-base/src/main/java/com/idea/saleManage/controller/CheckInController.java
  14. 23 0
      pro-base/src/main/java/com/idea/saleManage/service/CheckInService.java
  15. 4 0
      pro-base/src/main/java/com/idea/util/ReplaceWord.java
  16. 2 1
      pro-base/src/main/resources/mybatis/customerManagement/RoomSelectionInfoExtendMapper.xml
  17. 20 2
      pro-base/src/main/resources/mybatis/paymentManagement/PayLogExtendMapper.xml
  18. 3 30
      pro-base/src/main/resources/mybatis/transactionRecord/TransactionRecord.xml

+ 1 - 1
pro-base/src/main/java/com/idea/buildManage/controller/ParkInfoController.java

@@ -152,7 +152,7 @@ public class ParkInfoController extends BaseController {
             if (null == excel) {
                 return AjaxResult.error("导入失败");
             }
-            EasyExcel.read(excel, ParkInfoExcel.class, listener).headRowNumber(1).sheet().doRead();
+            EasyExcel.read(excel, ParkInfoExcel.class, listener).headRowNumber(2).sheet().doRead();
             excel.delete();
         } catch (Exception e) {
             e.printStackTrace();

+ 3 - 3
pro-base/src/main/java/com/idea/buildManage/excel/ParkInfoExcel.java

@@ -11,7 +11,7 @@ import java.util.Date;
 @Data
 public class ParkInfoExcel implements Serializable {
 
-    @ExcelProperty(value = "楼盘/小区名称")
+    @ExcelProperty(value = "*楼盘/小区名称")
     private String groupName;
 
     @ExcelIgnore
@@ -23,10 +23,10 @@ public class ParkInfoExcel implements Serializable {
     @ExcelIgnore
     private Date updatedAt;
 
-    @ExcelProperty(value = "性质")
+    @ExcelProperty(value = "*性质")
     private String nature;
 
-    @ExcelProperty(value = "预销售许可证编号")
+    @ExcelProperty(value = "*预销售许可证编号")
     private String preSalesLicenseNumber;
 
     @ExcelProperty(value = "开发公司")

+ 5 - 1
pro-base/src/main/java/com/idea/buildManage/excel/WriteHandlerStrategy.java

@@ -5,7 +5,6 @@ import com.alibaba.excel.write.handler.CellWriteHandler;
 import com.alibaba.excel.write.handler.context.CellWriteHandlerContext;
 import com.rockstar.util.StringUtils;
 import org.apache.poi.ss.usermodel.*;
-import org.apache.poi.xssf.usermodel.XSSFRichTextString;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -76,6 +75,11 @@ public class WriteHandlerStrategy implements CellWriteHandler {
         return style;
     }
 
+    // 此方法必须重写 不然单元格样式有可能不生效
+    @Override
+    public int order() {
+        return 50001;
+    }
 
 
 }

+ 16 - 4
pro-base/src/main/java/com/idea/buildManage/service/MnpBuildingService.java

@@ -2,6 +2,9 @@ package com.idea.buildManage.service;
 
 import cn.hutool.core.util.IdUtil;
 import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.ExcelWriter;
+import com.alibaba.excel.write.metadata.WriteSheet;
+import com.alibaba.excel.write.metadata.fill.FillConfig;
 import com.alibaba.fastjson.JSONObject;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
@@ -218,10 +221,19 @@ public class MnpBuildingService implements BaseService<MnpBuilding, MnpBuildingE
         response.setCharacterEncoding("utf-8");
         String fileName = URLEncoder.encode("失败记录" + date, "UTF-8");
         response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
-        EasyExcel.write(response.getOutputStream(), MnpBuildingExcel.class)
-                .inMemory(true)
-                .registerWriteHandler(new WriteHandlerStrategy())//自定义样式
-                .sheet().doWrite(list);
+
+        String templateFileName = "/home/project/settleDown/tem/楼盘楼栋导出模版.xlsx";
+        ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream())
+                .registerWriteHandler(new WriteHandlerStrategy())
+                .withTemplate(templateFileName)
+                .build();
+        WriteSheet writeSheet = EasyExcel.writerSheet()
+                .build();
+        FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build();
+
+        // 填充数据
+        excelWriter.fill(list, fillConfig, writeSheet);
+        excelWriter.finish();
 
     }
 

+ 16 - 4
pro-base/src/main/java/com/idea/buildManage/service/ParkFloorDiscService.java

@@ -3,6 +3,9 @@ package com.idea.buildManage.service;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.IdUtil;
 import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.ExcelWriter;
+import com.alibaba.excel.write.metadata.WriteSheet;
+import com.alibaba.excel.write.metadata.fill.FillConfig;
 import com.alibaba.fastjson.JSONObject;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
@@ -278,10 +281,19 @@ public class ParkFloorDiscService implements BaseService<ParkFloorDisc, ParkFloo
         response.setCharacterEncoding("utf-8");
         String fileName = URLEncoder.encode("失败记录" + date, "UTF-8");
         response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
-        EasyExcel.write(response.getOutputStream(), ParkFloorDiscExcel.class)
-                .inMemory(true)
-                .registerWriteHandler(new WriteHandlerStrategy())//自定义样式
-                .sheet().doWrite(list);
+
+        String templateFileName = "/home/project/settleDown/tem/楼盘分期导出模版.xlsx";
+        ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream())
+                .registerWriteHandler(new WriteHandlerStrategy())
+                .withTemplate(templateFileName)
+                .build();
+        WriteSheet writeSheet = EasyExcel.writerSheet()
+                .build();
+        FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build();
+
+        // 填充数据
+        excelWriter.fill(list, fillConfig, writeSheet);
+        excelWriter.finish();
 
     }
 

+ 32 - 15
pro-base/src/main/java/com/idea/buildManage/service/ParkInfoService.java

@@ -1,11 +1,13 @@
 package com.idea.buildManage.service;
 
+import cn.hutool.core.bean.BeanUtil;
 import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.ExcelWriter;
+import com.alibaba.excel.write.metadata.WriteSheet;
+import com.alibaba.excel.write.metadata.fill.FillConfig;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
-import com.idea.buildManage.excel.ParkFloorDiscExcel;
-import com.idea.buildManage.excel.ParkInfoExcel;
-import com.idea.buildManage.excel.WriteHandlerStrategy;
+import com.idea.buildManage.excel.*;
 import com.idea.buildManage.mapper.ParkFloorDiscExtendMapper;
 import com.idea.buildManage.mapper.ParkFloorDiscMapper;
 import com.idea.buildManage.mapper.ParkInfoExtendMapper;
@@ -360,17 +362,18 @@ public class ParkInfoService implements BaseService<ParkInfo, ParkInfoExample> {
         return map;
     }
 
-    public Map<String,String> getNameIdMap() {
+    public Map<String, String> getNameIdMap() {
         Map<String, String> map = new HashMap<>();
         List<ParkInfo> list = selectByExample(new ParkInfoExample());
         if (CollectionUtils.isNotEmpty(list)) {
-            map = list.stream().collect(Collectors.toMap(ParkInfo::getGroupName, ParkInfo::getId, (v1, v2) ->v1));
+            map = list.stream().collect(Collectors.toMap(ParkInfo::getGroupName, ParkInfo::getId, (v1, v2) -> v1));
         }
         return map;
     }
 
     /**
      * 批量导入
+     *
      * @param list
      */
     public void insertBatch(List<ParkInfo> list) {
@@ -379,15 +382,16 @@ public class ParkInfoService implements BaseService<ParkInfo, ParkInfoExample> {
 
     /**
      * 园区删除
+     *
      * @param id
      * @return
      */
-    public int delete(String id){
+    public int delete(String id) {
 
         ParkFloorDiscExample floorDiscExample = new ParkFloorDiscExample();
         floorDiscExample.createCriteria().andGroupIdEqualTo(id);
         List<ParkFloorDisc> parkFloorDiscs = parkFloorDiscMapper.selectByExample(floorDiscExample);
-        if(CollectionUtils.isNotEmpty(parkFloorDiscs)){
+        if (CollectionUtils.isNotEmpty(parkFloorDiscs)) {
             throw new RuntimeException("该数据有子分期存在,无法删除");
         }
         return deleteByPrimaryKey(id);
@@ -395,17 +399,18 @@ public class ParkInfoService implements BaseService<ParkInfo, ParkInfoExample> {
 
     /**
      * 获取排序号
+     *
      * @param model
      * @return
      */
-    private String getOrderNum(ParkInfo model){
+    private String getOrderNum(ParkInfo model) {
 
         // 排序号
         Long count = countByExample(new ParkInfoExample());
         String number = "";
-        if(count.doubleValue() == 0){
+        if (count.doubleValue() == 0) {
             number = "01";
-        }else {
+        } else {
             count++;
             number = String.format("%02d", count);
         }
@@ -414,6 +419,8 @@ public class ParkInfoService implements BaseService<ParkInfo, ParkInfoExample> {
 
 
 
+
+
     public void errorListExport(List<ParkInfoExcel> list, HttpServletResponse response) throws IOException {
 
 
@@ -423,13 +430,23 @@ public class ParkInfoService implements BaseService<ParkInfo, ParkInfoExample> {
         response.setCharacterEncoding("utf-8");
         String fileName = URLEncoder.encode("失败记录" + date, "UTF-8");
         response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
-        EasyExcel.write(response.getOutputStream(), ParkInfoExcel.class)
-                .inMemory(true)
-                .registerWriteHandler(new WriteHandlerStrategy())//自定义样式
-                .sheet().doWrite(list);
 
-    }
+//        String templateFileName = "C:\\Users\\35838\\Desktop\\楼盘导出模版.xlsx";
+        String templateFileName = "/home/project/settleDown/tem/楼盘导出模版.xlsx";
+        ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream())
+                .registerWriteHandler(new WriteHandlerStrategy())
+                .withTemplate(templateFileName)
+                .build();
+        WriteSheet writeSheet = EasyExcel.writerSheet()
+                .build();
+        FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build();
+
+        // 填充数据
+        excelWriter.fill(list, fillConfig, writeSheet);
+        excelWriter.finish();
 
 
+    }
+
 
 }

+ 15 - 1
pro-base/src/main/java/com/idea/buildManage/service/ParkRoomService.java

@@ -3,8 +3,10 @@ package com.idea.buildManage.service;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.RandomUtil;
 import cn.hutool.poi.excel.ExcelUtil;
-import cn.hutool.poi.excel.ExcelWriter;
 import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.ExcelWriter;
+import com.alibaba.excel.write.metadata.WriteSheet;
+import com.alibaba.excel.write.metadata.fill.FillConfig;
 import com.alibaba.fastjson.JSONObject;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
@@ -275,6 +277,18 @@ public class ParkRoomService implements BaseService<ParkRoom, ParkRoomExample> {
         response.setCharacterEncoding("utf-8");
         String fileName = URLEncoder.encode("失败记录" + date, "UTF-8");
         response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
+//        String template = "C:\\Users\\35838\\Desktop\\export.xlsx";
+//        //工作薄对象
+//        ExcelWriter workBook = EasyExcel.write(response.getOutputStream(), ParkRoomExcel.class)
+//                .withTemplate(template)
+//                .registerWriteHandler(new WriteHandlerStrategy())
+//                .build();
+//        //工作区对象
+//        WriteSheet sheet = EasyExcel.writerSheet().build();
+//        FillConfig build = FillConfig.builder().forceNewRow(true).build();
+//        workBook.fill(list, build, sheet);
+//        workBook.finish();
+
         EasyExcel.write(response.getOutputStream(), ParkRoomExcel.class)
                 .inMemory(true)
                 .registerWriteHandler(new WriteHandlerStrategy())//自定义样式

+ 28 - 6
pro-base/src/main/java/com/idea/oa/apply/controller/ApplyPaymentSettleController.java

@@ -22,7 +22,10 @@ import com.idea.workPanel.service.ParkWaitHandleService;
 import com.rockstar.common.base.BaseController;
 import com.rockstar.common.domain.AjaxResult;
 import com.rockstar.flow.exception.FlowException;
+import com.rockstar.frame.model.FramePermission;
+import com.rockstar.frame.model.FramePermissionExample;
 import com.rockstar.frame.model.FrameUser;
+import com.rockstar.frame.service.FramePermissionService;
 import com.rockstar.frame.service.FrameUserService;
 import com.rockstar.shiro.util.ShiroUtils;
 import com.rockstar.util.UUIDUtils;
@@ -72,7 +75,8 @@ public class ApplyPaymentSettleController extends BaseController {
 
     @Value("${serverUrl}")
     private String serverUrl;
-
+    @Autowired
+    private FramePermissionService framePermissionService;
 
     /**
      * 付款记录编号 : 付款领用单20240401-002
@@ -119,6 +123,29 @@ public class ApplyPaymentSettleController extends BaseController {
             }
         }
 
+        String waitUrl = "";
+        // 查询待办页面的 菜单id
+        FramePermissionExample framePermissionExample = new FramePermissionExample();
+        framePermissionExample.createCriteria().andNameEqualTo("流程审批");
+        List<FramePermission> framePermissions = framePermissionService.selectByExample(framePermissionExample);
+        if (CollectionUtils.isNotEmpty(framePermissions)) {
+            String menuIndex = framePermissions.get(0).getId();
+            FramePermissionExample permissionExample = new FramePermissionExample();
+            permissionExample.createCriteria().andNameEqualTo("付款审批流程");
+            List<FramePermission> permissions = framePermissionService.selectByExample(framePermissionExample);
+            if (CollectionUtils.isNotEmpty(permissions)){
+                String subMenu = permissions.get(0).getId();
+                waitUrl = "/backstage?menuIndex=" + menuIndex  + "&subMenu=" + subMenu;
+            }
+
+        }
+
+        FlowMain flowMain = flowMainService.selectByPrimaryKey(flowMainPush.getFlowMainId());
+        String flowId = flowMain.getId();
+        // 进行审核操作后 就要处理待办 清除数据
+        String param = "id=" + flowId + "&flowMainPushId=" + flowMainPush.getId() + "&applyUser=" + flowMain.getApplyUser();
+        HandleTypeEnum.FK.setUrl(waitUrl);
+        parkWaitHandleService.userHandle(HandleTypeEnum.FK, param, ShiroUtils.getUserId());
 
         Boolean isEnd = false;//是否结束
         Boolean isAgree = false;//是否同意
@@ -133,10 +160,8 @@ public class ApplyPaymentSettleController extends BaseController {
 
                 try {
                     // TODO: 2024/11/21 和泛微对接 推送信息
-                    FlowMain flowMain = flowMainService.selectByPrimaryKey(flowMainPush.getFlowMainId());
 
                     String syscode = "AJ";
-                    String flowId = flowMain.getId();
                     String requestname = flowMain.getApplyTheme();
                     String workflowname = ConstantFlowType.PAYMENT_NAME;
                     String nodeName = flowMainPush.getNodeName();
@@ -170,9 +195,6 @@ public class ApplyPaymentSettleController extends BaseController {
                     String result = OAUtil.receiveRequestInfoByJson(map);
                     log.info("泛微推送结果:{}", result);
 
-                    // 先处理待办
-                    String param = "id=" + flowId + "&flowMainPushId=" + flowMainPush.getId() + "&applyUser=" + flowMain.getApplyUser();
-                    parkWaitHandleService.userHandle(HandleTypeEnum.FK, param, ShiroUtils.getUserId());
 
                     FlowMainPushExample flowMainPushExample = new FlowMainPushExample();
                     flowMainPushExample.createCriteria().andFlowMainIdEqualTo(flowId).andStatusEqualTo(0);

+ 4 - 0
pro-base/src/main/java/com/idea/paymentManagement/mapper/PayLogExtendMapper.java

@@ -14,6 +14,10 @@ public interface PayLogExtendMapper {
                                 @Param("payType") Integer payType,
                                 @Param("paymentStatus") Integer paymentStatus);
 
+    PayLog getByContractId(@Param("contractId") String contractId,
+                                @Param("payType") Integer payType,
+                                @Param("paymentStatus") Integer paymentStatus);
+
     List<PayLogDto> getContentTypeMoneyByContractId(@Param("contractId") String contractId,
                                                     @Param("payType") Integer payType);
 

+ 20 - 0
pro-base/src/main/java/com/idea/paymentManagement/service/PayLogService.java

@@ -238,6 +238,18 @@ public class PayLogService implements BaseService<PayLog, PayLogExample> {
             case 3: // 银行按揭
                 receiptType = "4";
                 break;
+            case 4: // 专项维修资金
+                receiptType = "";
+                break;
+            case 5: // 楼款
+                receiptType = "";
+                break;
+            case 6: // 补差款
+                receiptType = "";
+                break;
+            case 7: // 意向金
+                receiptType = "1";
+                break;
         }
         receiptManage.setReceiptType(receiptType);
         receiptManage.setReceiptMoney(model.getPayMoney());
@@ -399,6 +411,14 @@ public class PayLogService implements BaseService<PayLog, PayLogExample> {
                 filePath = "/home/project/settleDown/tem/receipt.docx";
                 fileName = "银行按揭收据.docx";
                 break;
+            case 8: // 首款-定金转
+                filePath = "/home/project/settleDown/tem/receipt.docx";
+                fileName = "首款-定金转.docx";
+                break;
+            case 9: // 房款-定金转
+                filePath = "/home/project/settleDown/tem/receipt.docx";
+                fileName = "房款-定金转.docx";
+                break;
         }
 
         String customerManagementId = payLog.getCustomerManagementId();

+ 6 - 4
pro-base/src/main/java/com/idea/paymentManagement/service/RefundDetailService.java

@@ -1,6 +1,7 @@
 package com.idea.paymentManagement.service;
 
 import cn.hutool.core.util.IdUtil;
+import cn.hutool.core.util.ObjectUtil;
 import com.idea.customerManagement.mapper.ContractManageMapper;
 import com.idea.customerManagement.model.ContractManage;
 import com.idea.customerManagement.model.ContractManageExample;
@@ -127,16 +128,17 @@ public class RefundDetailService implements BaseService<RefundDetail, RefundDeta
 
 
         // 专项维修资金
-        String funds = payLogExtendMapper.getMoneyByContractId(contractManage.getId(), 2,1);
-        if(Double.parseDouble(funds) != 0){
+        PayLog fundPayLog = payLogExtendMapper.getByContractId(contractManage.getId(), 2, 1);
+        if(ObjectUtil.isNotNull(fundPayLog) && fundPayLog.getPayMoney().doubleValue() != 0){
             RefundDetailDto refundDetail2 = new RefundDetailDto();
+            refundDetail2.setPayLogId(fundPayLog.getId());
             refundDetail2.setType("专项维修资金");
             refundDetail2.setContentType(4);
-            refundDetail2.setReceivedAmount(new BigDecimal(funds));
+            refundDetail2.setReceivedAmount(fundPayLog.getPayMoney());
             // 默认扣除 0
             refundDetail2.setDeductible(BigDecimal.ZERO);
             // 默认实退金额 和 已收金额 相等
-            refundDetail2.setActualRefundAmount(new BigDecimal(funds));
+            refundDetail2.setActualRefundAmount(fundPayLog.getPayMoney());
             refundDetail2.setUuid(IdUtil.simpleUUID());
             refundDetails.add(refundDetail2);
         }

+ 25 - 18
pro-base/src/main/java/com/idea/paymentManagement/service/RefundManageService.java

@@ -92,12 +92,12 @@ public class RefundManageService implements BaseService<RefundManage, RefundMana
 
     @Override
     public int updateByExampleSelective(RefundManage refundManage, RefundManageExample refundManageExample) {
-        return modelMapper.updateByExampleSelective(refundManage,refundManageExample);
+        return modelMapper.updateByExampleSelective(refundManage, refundManageExample);
     }
 
     @Override
     public int updateByExample(RefundManage refundManage, RefundManageExample refundManageExample) {
-        return modelMapper.updateByExample(refundManage,refundManageExample);
+        return modelMapper.updateByExample(refundManage, refundManageExample);
     }
 
     @Override
@@ -118,10 +118,11 @@ public class RefundManageService implements BaseService<RefundManage, RefundMana
 
     /**
      * 根据身份证号带出关联房屋
+     *
      * @param identityCard
      * @return
      */
-    public List<ParkRoomResponse> getHouseListByIdCard(String identityCard){
+    public List<ParkRoomResponse> getHouseListByIdCard(String identityCard) {
 
         // 根据身份证查询 买方信息
         BuyerExample buyerExample = new BuyerExample();
@@ -134,7 +135,7 @@ public class RefundManageService implements BaseService<RefundManage, RefundMana
                 .andStatusNotEqualTo(5);
         List<RoomSelectionInfo> selectionList = roomSelectionInfoMapper.selectByExample(roomSelectionInfoExample);
         List<ParkRoomResponse> result = new ArrayList<>();
-        for(RoomSelectionInfo info : selectionList){
+        for (RoomSelectionInfo info : selectionList) {
             // 根据客户id 合同房间id 查询合同
             ContractManageExample example = new ContractManageExample();
             example.createCriteria().andCustomerManagementIdEqualTo(info.getCustomerManagementId())
@@ -152,15 +153,16 @@ public class RefundManageService implements BaseService<RefundManage, RefundMana
 
     /**
      * 新增退款
+     *
      * @param model
      * @return
      */
     @Transactional
-    public int add(RefundManageDto model){
+    public int add(RefundManageDto model) {
 
         ContractManage contractManage = contractManageMapper.selectByPrimaryKey(model.getContractId());
         // 已退房
-        if(contractManage.getContractStatus() == 3){
+        if (contractManage.getContractStatus() == 3) {
             throw new RuntimeException("该房间已退款,请重新选择!!!");
         }
 
@@ -170,11 +172,11 @@ public class RefundManageService implements BaseService<RefundManage, RefundMana
         List<RefundDetail> details = JSONObject.parseArray(model.getRefundDetailInfoStr(), RefundDetail.class);
         Integer collectionStatus = null;
         Integer fundCollectionStatus = null;
-        for (RefundDetail detail : details){
-            if(detail.getType().equals("定金") || detail.getType().equals("房款")){
+        for (RefundDetail detail : details) {
+            if (detail.getType().equals("定金") || detail.getType().equals("房款")) {
                 collectionStatus = 3;
             }
-            if(detail.getType().equals("专项维修资金")){
+            if (detail.getType().equals("专项维修资金")) {
                 fundCollectionStatus = 3;
             }
             detail.setRefundManageId(id);
@@ -182,9 +184,13 @@ public class RefundManageService implements BaseService<RefundManage, RefundMana
             detail.setCreatedAt(date);
             refundDetailService.insertSelective(detail);
             // 收款记录 更新退款状态
-            PayLog payLog = payLogMapper.selectByPrimaryKey(detail.getPayLogId());
-            payLog.setPaymentStatus(2);
-            payLogMapper.updateByPrimaryKeySelective(payLog);
+            String[] split = detail.getPayLogId().split(",");
+            for (String paylogId : split) {
+                PayLog payLog = payLogMapper.selectByPrimaryKey(paylogId);
+                payLog.setPaymentStatus(2);
+                payLogMapper.updateByPrimaryKeySelective(payLog);
+            }
+
 
         }
         model.setId(id);
@@ -219,11 +225,12 @@ public class RefundManageService implements BaseService<RefundManage, RefundMana
 
     /**
      * 编辑退款
+     *
      * @param model
      * @return
      */
     @Transactional
-    public int edit(RefundManageDto model){
+    public int edit(RefundManageDto model) {
 
         String id = model.getId();
         String userId = ShiroUtils.getUserId();
@@ -232,12 +239,12 @@ public class RefundManageService implements BaseService<RefundManage, RefundMana
         RefundDetailExample refundDetailExample = new RefundDetailExample();
         refundDetailExample.createCriteria().andRefundManageIdEqualTo(model.getId());
         List<RefundDetail> oldDetails = refundDetailService.selectByExample(refundDetailExample);
-        for(RefundDetail detail : oldDetails){
+        for (RefundDetail detail : oldDetails) {
             refundDetailService.deleteByPrimaryKey(detail.getId());
         }
         // 再新增
         List<RefundDetail> details = JSONObject.parseArray(model.getRefundDetailInfoStr(), RefundDetail.class);
-        for (RefundDetail detail : details){
+        for (RefundDetail detail : details) {
             detail.setRefundManageId(id);
             detail.setCreatedId(userId);
             detail.setCreatedAt(date);
@@ -252,6 +259,7 @@ public class RefundManageService implements BaseService<RefundManage, RefundMana
 
     /**
      * 退款列表
+     *
      * @param tablepar
      * @param model
      * @param dt
@@ -264,17 +272,16 @@ public class RefundManageService implements BaseService<RefundManage, RefundMana
         return pageInfo;
     }
 
-    public RefundManageDto getById(String id){
+    public RefundManageDto getById(String id) {
         RefundManage refundManage = selectByPrimaryKey(id);
         RefundManageDto result = new RefundManageDto();
         FrameUser frameUser = frameUserMapper.selectByPrimaryKey(refundManage.getCreatedId());
         String userName = "";
         userName = frameUser == null ? "" : frameUser.getTruename();
         result.setCreatedName(userName);
-        BeanUtil.copyProperties(refundManage,result);
+        BeanUtil.copyProperties(refundManage, result);
         return result;
     }
 
 
-
 }

+ 3 - 2
pro-base/src/main/java/com/idea/saleManage/controller/CheckInController.java

@@ -2,6 +2,7 @@ package com.idea.saleManage.controller;
 
 import com.github.pagehelper.PageInfo;
 
+import com.idea.customerManagement.mapper.CustomerManagementMapper;
 import com.idea.saleManage.model.CheckIn;
 import com.idea.saleManage.model.CheckInMore;
 import com.idea.saleManage.service.CheckInService;
@@ -66,9 +67,9 @@ public class CheckInController extends BaseController {
 
     @PostMapping(value = "edit",produces = {"application/json;charset=UTF-8"})
     @ResponseBody
-    public AjaxResult editSave(CheckIn model){
+    public AjaxResult editSave(CheckIn model,String customerManagementId){
         model=this.addInfo(model);
-        int result = modelService.updateByPrimaryKey(model);
+        int result = modelService.edit(model,customerManagementId);
         return result(result);
     }
 

+ 23 - 0
pro-base/src/main/java/com/idea/saleManage/service/CheckInService.java

@@ -3,6 +3,8 @@ package com.idea.saleManage.service;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 
+import com.idea.customerManagement.mapper.CustomerManagementMapper;
+import com.idea.customerManagement.model.CustomerManagement;
 import com.idea.saleManage.mapper.CheckInMapper;
 import com.idea.saleManage.model.CheckIn;
 import com.idea.saleManage.model.CheckInExample;
@@ -26,6 +28,8 @@ public class CheckInService implements BaseService<CheckIn, CheckInExample> {
     //文件mapper
     @Autowired
     private CheckInMapper modelMapper;
+    @Autowired
+    private CustomerManagementMapper customerManagementMapper;
 
     /**
      * 分页查询
@@ -109,4 +113,23 @@ public class CheckInService implements BaseService<CheckIn, CheckInExample> {
         return modelMapper.insertSelective(record);
     }
 
+
+    public int edit(CheckIn model,String customerManagementId){
+        if(StringUtils.isNotEmpty(model.getStatus())){
+            // 更新购房状态 已入驻
+            CustomerManagement customerManagement = customerManagementMapper.selectByPrimaryKey(customerManagementId);
+            customerManagement.setStatus(4);
+            customerManagementMapper.updateByPrimaryKeySelective(customerManagement);
+        }else {
+            // 更新购房状态 已签约
+            CustomerManagement customerManagement = customerManagementMapper.selectByPrimaryKey(customerManagementId);
+            if(customerManagement.getStatus() == 4){
+                customerManagement.setStatus(3);
+            }
+            customerManagement.setStatus(4);
+            customerManagementMapper.updateByPrimaryKeySelective(customerManagement);
+        }
+        return modelMapper.updateByPrimaryKeySelective(model);
+    }
+
 }

+ 4 - 0
pro-base/src/main/java/com/idea/util/ReplaceWord.java

@@ -1,5 +1,6 @@
 package com.idea.util;
 
+import lombok.extern.slf4j.Slf4j;
 import org.apache.poi.util.Units;
 import org.apache.poi.xwpf.usermodel.*;
 import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject;
@@ -19,6 +20,7 @@ import java.util.Map;
  * @Description:Word模板数据填充
  * @Date: 2022/11/16 17:47
  */
+@Slf4j
 public class ReplaceWord {
 
     /***
@@ -356,9 +358,11 @@ public class ReplaceWord {
             document.write(bos);
             bos.close();
         } catch (FileNotFoundException e) {
+            log.error("文件不存在", e);
             e.printStackTrace();
         } catch (Exception e) {
             e.printStackTrace();
+            log.error("文件生成报错", e);
         }
     }
 

+ 2 - 1
pro-base/src/main/resources/mybatis/customerManagement/RoomSelectionInfoExtendMapper.xml

@@ -11,7 +11,8 @@
            park_room.decoration_situation,
            frame_user.truename createdName,
            customer_management.buyer_name,
-           (select id from intentional_deposit where customer_management_id = room_selection_info.customer_management_id) as intentional_deposit_id
+           (select id from intentional_deposit
+            where customer_management_id = room_selection_info.customer_management_id and `status` != 3) as intentional_deposit_id
            from room_selection_info
     left join mnp_building on mnp_building.id = room_selection_info.build_id
     left join park_room on park_room.id = room_selection_info.house_id

+ 20 - 2
pro-base/src/main/resources/mybatis/paymentManagement/PayLogExtendMapper.xml

@@ -6,7 +6,7 @@
   <select id="getMoneyByContractId" resultType="java.lang.String">
       select ifnull(sum(pay_money),0) from pay_log
       <where>
-          and ifnull(is_hide,0) != 1
+          and ifnull(is_hide,0) != 1 and status = 0
           <if test="contractId != null and contractId !=''">
               and contract_id = #{contractId}
           </if>
@@ -19,7 +19,25 @@
       </where>
   </select>
 
-  <select id="listByModel" resultType="com.idea.customerManagement.dto.ContractManageDto">
+    <select id="getByContractId" resultType="com.idea.paymentManagement.model.PayLog">
+        select * from pay_log
+        <where>
+            and ifnull(is_hide,0) != 1 and status = 0
+            <if test="contractId != null and contractId !=''">
+                and contract_id = #{contractId}
+            </if>
+            <if test="payType != null and payType !=''">
+                and pay_type = #{payType}
+            </if>
+            <if test="paymentStatus != null and paymentStatus !=''">
+                and payment_status = #{paymentStatus}
+            </if>
+        </where>
+    </select>
+
+
+
+    <select id="listByModel" resultType="com.idea.customerManagement.dto.ContractManageDto">
     select contract_manage.*,
            ifnull(sum(pay_log.pay_money),0) receivedMoney,
            ifnull(contract_manage.buyer_money - sum(pay_log.pay_money),0) arrears

+ 3 - 30
pro-base/src/main/resources/mybatis/transactionRecord/TransactionRecord.xml

@@ -106,36 +106,6 @@
     </select>
 
     <select id="convertRecord" resultType="com.idea.transactionRecordManage.vo.NccRecordVo">
-<!--        select intentional_deposit.*,-->
-<!--        intentional_deposit.received_amount money,-->
-<!--        customer_management.buyer_name,-->
-<!--        customer_management.house_name,-->
-<!--        frame_user.truename as createdName,-->
-<!--        customer_management.house_id-->
-<!--        from intentional_deposit-->
-<!--        left join customer_management on customer_management.id = intentional_deposit.customer_management_id-->
-<!--        left join frame_user on frame_user.id = intentional_deposit.created_id-->
-<!--        left join park_floor_disc on park_floor_disc.id = intentional_deposit.disc_id-->
-<!--        <where>-->
-<!--                and intentional_deposit.status != 1-->
-<!--            <if test="buyerName !=null and buyerName != '' " >-->
-<!--                and customer_management.buyer_name like concat('%',#{buyerName},'%')-->
-<!--            </if>-->
-<!--            <if test="discIdList != null">-->
-<!--                AND park_floor_disc.id in-->
-<!--                <foreach collection="discIdList" open="(" close=")" separator="," item="item">-->
-<!--                    #{item}-->
-<!--                </foreach>-->
-<!--            </if>-->
-<!--            <if test="handleDateFrom !=null and handleDateFrom != '' " >-->
-<!--                and intentional_deposit.handle_date >= date_format(#{handleDateFrom},'%Y-%m-%d')-->
-<!--            </if>-->
-<!--            <if test="handleDateTo !=null and handleDateTo != '' " >-->
-<!--                and intentional_deposit.handle_date &lt;= date_format(#{handleDateTo},'%Y-%m-%d')-->
-<!--            </if>-->
-<!--        </where>-->
-
-<!--        order by created_at desc-->
         select * from (
         select
         cr.id,cr.convert_type,cr.convert_date,cr.house_id,cr.disc_id,
@@ -179,6 +149,9 @@
             <if test="collectionDateTo !=null and collectionDateTo != '' " >
                 and convert_date &lt;= date_format(#{collectionDateTo},'%Y-%m-%d')
             </if>
+            <if test="convertType !=null and convertType != '' " >
+                and convert_type = #{convertType}
+            </if>
         </where>
     </select>