cgf
2025-09-25 cf4f4310b0b392f72d2e29ac7ddff801c760a289
切割溢胶2025/09/25
4个文件已修改
102 ■■■■ 已修改文件
service-acct/src/main/java/com/java110/acct/cmd/payment/PcCashierCmd.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-job/src/main/java/com/java110/job/importData/adapt/ImportHistoryFeeDetailQueueDataAdapt.java 96 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot/src/main/resources/application-debug.yml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot/src/main/resources/application.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-acct/src/main/java/com/java110/acct/cmd/payment/PcCashierCmd.java
@@ -74,6 +74,9 @@
    @Override
    public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
        if(reqJson.containsKey("payType") && reqJson.get("payType") != null && !reqJson.get("payType").equals("")){
            reqJson.put("payType", "WECHAT");
        }
        if(reqJson.containsKey("custStartTime") && reqJson.containsKey("custEndTime")){
            reqJson.put("cycles", (DateUtil.dayCompare(
                    DateUtil.getDateFromStringA(reqJson.get("custStartTime").toString().split(" ")[0]+" 00:00:00"),
service-job/src/main/java/com/java110/job/importData/adapt/ImportHistoryFeeDetailQueueDataAdapt.java
@@ -288,9 +288,10 @@
                importRoomFee.setContractId(data.getString("licensePlate"));
                importRoomFee.setInvoiceNo(data.containsKey("invoiceReceiptNo") && data.getString("invoiceReceiptNo") != null ? "Y" : "N");
                importRoomFee.setObjType("7777");
                LocalDateTime startDate = LocalDateTime.parse(importRoomFee.getStartTime(), formatter);
                LocalDateTime endDate = LocalDateTime.parse(importRoomFee.getEndTime(), formatter);
                importRoomFee.setCycle(String.valueOf(ChronoUnit.MONTHS.between(startDate, endDate)));
                importRoomFee.setCycle((DateUtil.dayCompare(
                        DateUtil.getDateFromStringA(importRoomFee.getStartTime()),
                        DateUtil.getDateFromStringA(importRoomFee.getEndTime())
                )) + "");
                if (new BigDecimal(importRoomFee.getAmount()).doubleValue() < 0){
                    importRoomFee.setCycle("-"+importRoomFee.getCycle());
                }
@@ -311,9 +312,10 @@
                importRoomFee.setOpenInv(data.containsKey("invoiceReceiptNo") && data.getString("invoiceReceiptNo") != null ? "Y" : "N");
//            if(importRoomFee.getPayerObjName())
                importRoomFee.setObjType("6666");
                LocalDateTime startDate = LocalDateTime.parse(importRoomFee.getStartTime(), formatter);
                LocalDateTime endDate = LocalDateTime.parse(importRoomFee.getEndTime(), formatter);
                importRoomFee.setCycle(String.valueOf(ChronoUnit.MONTHS.between(startDate, endDate)));
                importRoomFee.setCycle((DateUtil.dayCompare(
                        DateUtil.getDateFromStringA(importRoomFee.getStartTime()),
                        DateUtil.getDateFromStringA(importRoomFee.getEndTime())
                )) + "");
                if (new BigDecimal(importRoomFee.getAmount()).doubleValue() < 0){
                    importRoomFee.setCycle("-"+importRoomFee.getCycle());
                }
@@ -330,6 +332,13 @@
                importRoomFee.setAmount(data.getString("chargeAmount"));
                importRoomFee.setStaffName(data.getString("charger"));
                importRoomFee.setOpenInv(data.containsKey("invoiceReceiptNo") && data.getString("invoiceReceiptNo") != null ? "Y" : "N");
                importRoomFee.setCycle((DateUtil.dayCompare(
                        DateUtil.getDateFromStringA(importRoomFee.getStartTime()),
                        DateUtil.getDateFromStringA(importRoomFee.getEndTime())
                )) + "");
                if (new BigDecimal(importRoomFee.getAmount()).doubleValue() < 0){
                    importRoomFee.setCycle("-"+importRoomFee.getCycle());
                }
//            if(importRoomFee.getPayerObjName())
                importRoomFees.add(importRoomFee);
            }
@@ -369,19 +378,45 @@
                    importRoomFees.add(importRoomFee1);
                    importRoomFees.add(importRoomFee2);
                }
//                ImportRoomFee importRoomFeeLast = importRoomFees.get(importRoomFees.size()-1);
//                if (DateUtil.getDateFromStringB(data.getString("chargeEnd").split(" ")[0]).getTime() < DateUtil.getDateFromStringB(assetImportLogDetailDto.getOutTime().split(" ")[0]).getTime() && !assetImportLogDetailDto.getState().equals("1100") && !assetImportLogDetailDto.getState().equals("1300"))
                if (DateUtil.getDateFromStringB(data.getString("chargeEnd").split(" ")[0]).getTime() > DateUtil.getDateFromStringB(assetImportLogDetailDto.getOutTime().split(" ")[0]).getTime()
                        && !assetImportLogDetailDto.getState().equals("1100") && !assetImportLogDetailDto.getState().equals("1300")){
                    ImportRoomFee importRoomFeeLast = importRoomFees.get(importRoomFees.size()-1);
                    double cycle = Double.parseDouble(importRoomFeeLast.getCycle());
                    double amount = Double.parseDouble(importRoomFeeLast.getAmount());
                    ImportRoomFee importRoomFeeEnd = (ImportRoomFee) importRoomFeeLast.clone();
                    importRoomFeeLast.setEndTime(assetImportLogDetailDto.getOutTime() + " 23:59:59");
                    double cycle1 = (DateUtil.dayCompare(
                            DateUtil.getDateFromStringA(importRoomFeeLast.getStartTime()),
                            DateUtil.getDateFromStringA(importRoomFeeLast.getEndTime())
                    ));
                    double amount1 = amount/cycle * cycle1;
                    importRoomFeeEnd.setStartTime(DateUtil.getAddDayStringB(DateUtil.getDateFromStringB(assetImportLogDetailDto.getOutTime()),1) + " 00:00:00");
                    importRoomFeeEnd.setCycle(DateUtil.dayCompare(
                            DateUtil.getDateFromStringA(importRoomFeeEnd.getStartTime()),
                            DateUtil.getDateFromStringA(importRoomFeeEnd.getEndTime())
                    ) + "");
                    importRoomFeeEnd.setAmount(amount - amount1 + "");
                    importRoomFeeEnd.setState("1900");
                    importRoomFees.add(importRoomFeeEnd);
                }
                importFeeDetails(importRoomFees.get(0).getStoreId(), importRoomFees.get(0).getUserId(), importRoomFees, importRoomFees.get(0).getBatchId());
            }
            if(!(ListUtil.isNull(importCarFees))){
                if (DateUtil.getDateFromStringB(data.getString("chargeStart").split(" ")[0]).getTime() <= DateUtil.getDateFromStringB(assetImportLogDetailDto.getTakeTime().split(" ")[0]).getTime()){
                    importRoomFees = importCarFees;
                    ImportRoomFee importRoomFee1 = importRoomFees.get(0);
                    ImportRoomFee importRoomFee2 = importRoomFees.get(0);
                importRoomFees = importCarFees;
                if (DateUtil.getDateFromStringB(data.getString("chargeStart").split(" ")[0]).getTime() < DateUtil.getDateFromStringB(assetImportLogDetailDto.getTakeTime().split(" ")[0]).getTime() && !assetImportLogDetailDto.getState().equals("1100") && !assetImportLogDetailDto.getState().equals("1300")){
                    ImportRoomFee original = importRoomFees.get(0);
                    ImportRoomFee importRoomFee1 = (ImportRoomFee) original.clone(); // 克隆新对象
                    ImportRoomFee importRoomFee2 = (ImportRoomFee) original.clone(); // 克隆另一个新对象
                    double cycle = (DateUtil.dayCompare(
                            DateUtil.getDateFromStringA(importRoomFee1.getStartTime()),
                            DateUtil.getDateFromStringA(importRoomFee1.getEndTime())
                    )) ;
                    double amount = Double.parseDouble(importRoomFee1.getAmount());
                    importRoomFees = new ArrayList<>();
                    importRoomFee1.setEndTime(DateUtil.getAddDayStringB(DateUtil.getDateFromStringB(assetImportLogDetailDto.getTakeTime().split(" ")[0]),-1) + " 23:59:59");
                    double cycle = Double.parseDouble(importRoomFee1.getCycle());
                    double amount = Double.parseDouble(importRoomFee1.getAmount());
                    importRoomFee1.setCycle((DateUtil.dayCompare(
                            DateUtil.getDateFromStringA(importRoomFee1.getStartTime()),
                            DateUtil.getDateFromStringA(importRoomFee1.getEndTime())
@@ -398,11 +433,32 @@
                    importRoomFees.add(importRoomFee1);
                    importRoomFees.add(importRoomFee2);
                    importCarFeeDetails2(importCarFees.get(0).getStoreId(), importCarFees.get(0).getUserId(), importRoomFees, importCarFees.get(0).getBatchId());
                }
                else{
                    importCarFeeDetails2(importCarFees.get(0).getStoreId(), importCarFees.get(0).getUserId(), importCarFees, importCarFees.get(0).getBatchId());
                if (DateUtil.getDateFromStringB(data.getString("chargeEnd").split(" ")[0]).getTime() > DateUtil.getDateFromStringB(assetImportLogDetailDto.getOutTime().split(" ")[0]).getTime()
                        && !assetImportLogDetailDto.getState().equals("1100") && !assetImportLogDetailDto.getState().equals("1300")){
                    ImportRoomFee importRoomFeeLast = importRoomFees.get(importRoomFees.size()-1);
                    double cycle = Double.parseDouble(importRoomFeeLast.getCycle());
                    double amount = Double.parseDouble(importRoomFeeLast.getAmount());
                    ImportRoomFee importRoomFeeEnd = (ImportRoomFee) importRoomFeeLast.clone();
                    importRoomFeeLast.setEndTime(assetImportLogDetailDto.getOutTime() + " 23:59:59");
                    double cycle1 = (DateUtil.dayCompare(
                            DateUtil.getDateFromStringA(importRoomFeeLast.getStartTime()),
                            DateUtil.getDateFromStringA(importRoomFeeLast.getEndTime())
                    ));
                    double amount1 = amount/cycle * cycle1;
                    importRoomFeeEnd.setStartTime(DateUtil.getAddDayStringB(DateUtil.getDateFromStringB(assetImportLogDetailDto.getOutTime()),1) + " 00:00:00");
                    importRoomFeeEnd.setCycle(DateUtil.dayCompare(
                            DateUtil.getDateFromStringA(importRoomFeeEnd.getStartTime()),
                            DateUtil.getDateFromStringA(importRoomFeeEnd.getEndTime())
                    ) + "");
                    importRoomFeeEnd.setAmount(amount - amount1 + "");
                    importRoomFeeEnd.setState("1900");
                    importRoomFees.add(importRoomFeeEnd);
                }
                importCarFeeDetails2(importCarFees.get(0).getStoreId(), importCarFees.get(0).getUserId(), importRoomFees, importCarFees.get(0).getBatchId());
            }
        }catch (IllegalStateException e){
            throw new IllegalArgumentException(e.getMessage());
@@ -576,7 +632,7 @@
            }
        }
        feeDto2.setCommunityId(importRoomFee.getCommunityId());
        if (importRoomFee.getState().equals("1100") || importRoomFee.getState().equals("1300") || importRoomFee.getState().equals("1600")) {
        if (importRoomFee.getState().equals("1100") || importRoomFee.getState().equals("1300") || importRoomFee.getState().equals("1600") || importRoomFee.getState().equals("1900")) {
        }
        else {
@@ -588,7 +644,7 @@
        if (!(importRoomFee.getFrequency().equals("退费"))) {
            feeDtos.removeIf(feeDto -> "2009001".equals(feeDto.getState()));
        }
        if(feeDtos.size() == 0 && (importRoomFee.getState() == null || !importRoomFee.getState().equals("1600"))){
        if(feeDtos.size() == 0 && (importRoomFee.getState() == null || !importRoomFee.getState().equals("1600")|| importRoomFee.getState().equals("1900"))){
            updateImportLogDetailState(importRoomFee.getDetailId(),new IllegalArgumentException("费用项"+importRoomFee.getFeeName()+"不存在"));
            throw new IllegalArgumentException("费用记录"+importRoomFee.getFeeName()+"不存在");
@@ -685,7 +741,7 @@
//            feeInnerServiceSMOImpl.updateFee(payFeePo);
//            return;
//        } else
            if (importRoomFee.getState() != null && importRoomFee.getState().equals("1600")){
        if (importRoomFee.getState() != null && (importRoomFee.getState().equals("1600") || importRoomFee.getState().equals("1900"))){
            payFeeDetailPo.setDetailId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_detailId));
            payFeeDetailPo.setReceivableAmount(computeFeeByCycle(tmpFeeDto,importRoomFee)+"");
            payFeeDetailPo.setDiscountAmount("0");
springboot/src/main/resources/application-debug.yml
@@ -27,6 +27,7 @@
    database: 0
    host: localhost
    port: 6379
    password: redis2020
    pool:
      max-active: 300
      max-wait: 3000
springboot/src/main/resources/application.yml
@@ -1,6 +1,6 @@
spring:
  profiles:
    active: debug
    active: dev
import:
  line: