“djh”
2025-09-23 f7a6a108af93eb225299e771f9958eae36f776bf
修改
1 files modified
49 files added
2639 ■■■■■ changed files
multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/MarketController.java 402 ●●●●● patch | view | raw | blame | history
multi-system/src/main/java/com/gkhy/exam/system/domain/ContractLedger.java 61 ●●●●● patch | view | raw | blame | history
multi-system/src/main/java/com/gkhy/exam/system/domain/ContractReview.java 137 ●●●●● patch | view | raw | blame | history
multi-system/src/main/java/com/gkhy/exam/system/domain/ContractReviewMess.java 37 ●●●●● patch | view | raw | blame | history
multi-system/src/main/java/com/gkhy/exam/system/domain/ContractReviewMessb.java 34 ●●●●● patch | view | raw | blame | history
multi-system/src/main/java/com/gkhy/exam/system/domain/ContractReviewRequire.java 47 ●●●●● patch | view | raw | blame | history
multi-system/src/main/java/com/gkhy/exam/system/domain/CustomerCommunication.java 136 ●●●●● patch | view | raw | blame | history
multi-system/src/main/java/com/gkhy/exam/system/domain/CustomerInventory.java 70 ●●●●● patch | view | raw | blame | history
multi-system/src/main/java/com/gkhy/exam/system/domain/CustomerRecord.java 54 ●●●●● patch | view | raw | blame | history
multi-system/src/main/java/com/gkhy/exam/system/domain/CustomerRecordNeed.java 63 ●●●●● patch | view | raw | blame | history
multi-system/src/main/java/com/gkhy/exam/system/domain/MonthlyInspection.java 54 ●●●●● patch | view | raw | blame | history
multi-system/src/main/java/com/gkhy/exam/system/domain/MonthlyInspectionMess.java 65 ●●●●● patch | view | raw | blame | history
multi-system/src/main/java/com/gkhy/exam/system/domain/PostSales.java 108 ●●●●● patch | view | raw | blame | history
multi-system/src/main/java/com/gkhy/exam/system/mapper/ContractLedgerMapper.java 12 ●●●●● patch | view | raw | blame | history
multi-system/src/main/java/com/gkhy/exam/system/mapper/ContractReviewMapper.java 15 ●●●●● patch | view | raw | blame | history
multi-system/src/main/java/com/gkhy/exam/system/mapper/ContractReviewMessMapper.java 22 ●●●●● patch | view | raw | blame | history
multi-system/src/main/java/com/gkhy/exam/system/mapper/ContractReviewRequireMapper.java 17 ●●●●● patch | view | raw | blame | history
multi-system/src/main/java/com/gkhy/exam/system/mapper/CustomerCommunicationMapper.java 12 ●●●●● patch | view | raw | blame | history
multi-system/src/main/java/com/gkhy/exam/system/mapper/CustomerInventoryMapper.java 13 ●●●●● patch | view | raw | blame | history
multi-system/src/main/java/com/gkhy/exam/system/mapper/CustomerRecordMapper.java 12 ●●●●● patch | view | raw | blame | history
multi-system/src/main/java/com/gkhy/exam/system/mapper/CustomerRecordNeedMapper.java 17 ●●●●● patch | view | raw | blame | history
multi-system/src/main/java/com/gkhy/exam/system/mapper/MonthlyInspectionMapper.java 12 ●●●●● patch | view | raw | blame | history
multi-system/src/main/java/com/gkhy/exam/system/mapper/MonthlyInspectionMessMapper.java 17 ●●●●● patch | view | raw | blame | history
multi-system/src/main/java/com/gkhy/exam/system/mapper/PostSalesMapper.java 12 ●●●●● patch | view | raw | blame | history
multi-system/src/main/java/com/gkhy/exam/system/service/ContractLedgerService.java 16 ●●●●● patch | view | raw | blame | history
multi-system/src/main/java/com/gkhy/exam/system/service/ContractReviewService.java 16 ●●●●● patch | view | raw | blame | history
multi-system/src/main/java/com/gkhy/exam/system/service/CustomerCommunicationService.java 16 ●●●●● patch | view | raw | blame | history
multi-system/src/main/java/com/gkhy/exam/system/service/CustomerInventoryService.java 19 ●●●●● patch | view | raw | blame | history
multi-system/src/main/java/com/gkhy/exam/system/service/CustomerRecordService.java 17 ●●●●● patch | view | raw | blame | history
multi-system/src/main/java/com/gkhy/exam/system/service/MonthlyInspectionService.java 16 ●●●●● patch | view | raw | blame | history
multi-system/src/main/java/com/gkhy/exam/system/service/PostSalesService.java 16 ●●●●● patch | view | raw | blame | history
multi-system/src/main/java/com/gkhy/exam/system/service/impl/ContractLedgerServiceImpl.java 71 ●●●●● patch | view | raw | blame | history
multi-system/src/main/java/com/gkhy/exam/system/service/impl/ContractReviewServiceImpl.java 172 ●●●●● patch | view | raw | blame | history
multi-system/src/main/java/com/gkhy/exam/system/service/impl/CustomerCommunicationServiceImpl.java 73 ●●●●● patch | view | raw | blame | history
multi-system/src/main/java/com/gkhy/exam/system/service/impl/CustomerInventoryServiceImpl.java 82 ●●●●● patch | view | raw | blame | history
multi-system/src/main/java/com/gkhy/exam/system/service/impl/CustomerRecordServiceImpl.java 100 ●●●●● patch | view | raw | blame | history
multi-system/src/main/java/com/gkhy/exam/system/service/impl/MonthlyInspectionServiceImpl.java 90 ●●●●● patch | view | raw | blame | history
multi-system/src/main/java/com/gkhy/exam/system/service/impl/PostSalesServiceImpl.java 72 ●●●●● patch | view | raw | blame | history
multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysRoleServiceImpl.java 2 ●●● patch | view | raw | blame | history
multi-system/src/main/resources/mapper/system/ContractLedgerMapper.xml 29 ●●●●● patch | view | raw | blame | history
multi-system/src/main/resources/mapper/system/ContractReviewMapper.xml 52 ●●●●● patch | view | raw | blame | history
multi-system/src/main/resources/mapper/system/ContractReviewMessMapper.xml 59 ●●●●● patch | view | raw | blame | history
multi-system/src/main/resources/mapper/system/ContractReviewRequireMapper.xml 33 ●●●●● patch | view | raw | blame | history
multi-system/src/main/resources/mapper/system/CustomerCommunicationMapper.xml 50 ●●●●● patch | view | raw | blame | history
multi-system/src/main/resources/mapper/system/CustomerInventoryMapper.xml 32 ●●●●● patch | view | raw | blame | history
multi-system/src/main/resources/mapper/system/CustomerRecordMapper.xml 27 ●●●●● patch | view | raw | blame | history
multi-system/src/main/resources/mapper/system/CustomerRecordNeedMapper.xml 39 ●●●●● patch | view | raw | blame | history
multi-system/src/main/resources/mapper/system/MonthlyInspectionMapper.xml 27 ●●●●● patch | view | raw | blame | history
multi-system/src/main/resources/mapper/system/MonthlyInspectionMessMapper.xml 42 ●●●●● patch | view | raw | blame | history
multi-system/src/main/resources/mapper/system/PostSalesMapper.xml 42 ●●●●● patch | view | raw | blame | history
multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/MarketController.java
New file
@@ -0,0 +1,402 @@
package com.gkhy.exam.admin.controller.web;
import com.gkhy.exam.common.api.CommonResult;
import com.gkhy.exam.system.domain.*;
import com.gkhy.exam.system.service.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/market")
@Api(tags = "管理评审会议、输入、报告")
public class MarketController {
    @Autowired
    private CustomerInventoryService customerInventoryService;
    @Autowired
    private CustomerRecordService customerRecordService;
    @Autowired
    private CustomerCommunicationService customerCommunicationService;
    @Autowired
    private ContractLedgerService contractLedgerService;
    @Autowired
    private ContractReviewService contractReviewService;
    @Autowired
    private PostSalesService postSalesService;
    @Autowired
    private MonthlyInspectionService monthlyInspectionService;
    /**
     * 顾客清单列表
     * @param customerInventory
     * @return
     */
    @ApiOperation(value = "顾客清单列表(分页)")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "query", name = "pageNum", dataType = "int", required = false, value = "当前页,默认1"),
            @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = false, value = "每页数目,默认10"),
    })
    @GetMapping("/inventory/list")
    public CommonResult listCustomer(CustomerInventory customerInventory){
        return CommonResult.success(customerInventoryService.selectCustomerInventoryList(customerInventory));
    }
    /**
     * 顾客清单新增
     * @param customerInventory
     * @return
     */
    @ApiOperation(value = "顾客清单新增")
    @PostMapping("/inventory/insert")
    public CommonResult insertCustomer(@RequestBody CustomerInventory customerInventory){
        return customerInventoryService.insertCustomerInventory(customerInventory);
    }
    /**
     * 顾客清单修改
     * @param customerInventory
     * @return
     */
    @ApiOperation(value = "顾客清单修改")
    @PostMapping("/inventory/update")
    public CommonResult updateCustomer(@RequestBody CustomerInventory customerInventory){
        return customerInventoryService.updateCustomerInventory(customerInventory);
    }
    /**
     * 顾客清单删除
     * @param customerId
     * @return
     */
    @ApiOperation(value = "顾客清单删除")
    @GetMapping("/inventory/deleted")
    public CommonResult deletedCustomer(@RequestParam("customerId") Integer customerId){
        return customerInventoryService.deletedCustomerInventory(customerId);
    }
    /**
     * 顾客需求登记列表
     * @param customerRecord
     * @return
     */
    @ApiOperation(value = "顾客需求登记列表(分页)")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "query", name = "pageNum", dataType = "int", required = false, value = "当前页,默认1"),
            @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = false, value = "每页数目,默认10"),
    })
    @GetMapping("/record/list")
    public CommonResult listCustomerRecord(CustomerRecord customerRecord){
        return CommonResult.success(customerRecordService.selectCustomerRecordList(customerRecord));
    }
    /**
     * 顾客需求登记新增
     * @param customerRecord
     * @return
     */
    @ApiOperation(value = "顾客需求登记新增")
    @PostMapping("/record/insert")
    public CommonResult insertCustomerRecord(@RequestBody CustomerRecord customerRecord){
        return customerRecordService.insertCustomerRecord(customerRecord);
    }
    /**
     * 顾客需求登记修改
     * @param customerRecord
     * @return
     */
    @ApiOperation(value = "顾客需求登记修改")
    @PostMapping("/record/update")
    public CommonResult updateCustomerRecord(@RequestBody CustomerRecord customerRecord){
        return customerRecordService.updateCustomerRecord(customerRecord);
    }
    /**
     * 顾客需求登记删除
     * @param recordId
     * @return
     */
    @ApiOperation(value = "顾客需求登记删除")
    @GetMapping("/record/deleted")
    public CommonResult deletedCustomerRecord(@RequestParam("recordId") Integer recordId){
        return customerRecordService.deletedCustomerRecord(recordId);
    }
    /**
     * 顾客沟通记录列表
     * @param customerCommunication
     * @return
     */
    @ApiOperation(value = "顾客沟通记录列表(分页)")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "query", name = "pageNum", dataType = "int", required = false, value = "当前页,默认1"),
            @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = false, value = "每页数目,默认10"),
    })
    @GetMapping("/communication/list")
    public CommonResult listCustomerCommunication(CustomerCommunication customerCommunication){
        return CommonResult.success(customerCommunicationService.selectCustomerCommunicationList(customerCommunication));
    }
    /**
     * 顾客沟通记录新增
     * @param customerCommunication
     * @return
     */
    @ApiOperation(value = "顾客沟通记录新增")
    @PostMapping("/communication/insert")
    public CommonResult insertCustomerCommunication(@RequestBody CustomerCommunication customerCommunication){
        return customerCommunicationService.insertCustomerCommunication(customerCommunication);
    }
    /**
     * 顾客沟通记录修改
     * @param customerCommunication
     * @return
     */
    @ApiOperation(value = "顾客沟通记录修改")
    @PostMapping("/communication/update")
    public CommonResult updateCustomerCommunication(@RequestBody CustomerCommunication customerCommunication){
        return customerCommunicationService.updateCustomerCommunication(customerCommunication);
    }
    /**
     * 顾客沟通记录删除
     * @param communId
     * @return
     */
    @ApiOperation(value = "顾客沟通记录删除")
    @GetMapping("/communication/deleted")
    public CommonResult deletedCustomerCommunication(@RequestParam("communId") Integer communId){
        return customerCommunicationService.deletedCustomerCommunication(communId);
    }
    /**
     * 合同台账列表
     * @param contractLedger
     * @return
     */
    @ApiOperation(value = "合同台账(分页)")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "query", name = "pageNum", dataType = "int", required = false, value = "当前页,默认1"),
            @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = false, value = "每页数目,默认10"),
    })
    @GetMapping("/ledger/list")
    public CommonResult listContractLedger(ContractLedger contractLedger){
        return CommonResult.success(contractLedgerService.selectContractLedgerList(contractLedger));
    }
    /**
     * 合同台账新增
     * @param contractLedger
     * @return
     */
    @ApiOperation(value = "合同台账新增")
    @PostMapping("/ledger/insert")
    public CommonResult insertContractLedger(@RequestBody ContractLedger contractLedger){
        return contractLedgerService.insertContractLedger(contractLedger);
    }
    /**
     * 合同台账修改
     * @param contractLedger
     * @return
     */
    @ApiOperation(value = "合同台账修改")
    @PostMapping("/ledger/update")
    public CommonResult updateContractLedger(@RequestBody ContractLedger contractLedger){
        return contractLedgerService.updateContractLedger(contractLedger);
    }
    /**
     * 合同台账删除
     * @param ledgerId
     * @return
     */
    @ApiOperation(value = "合同台账删除")
    @GetMapping("/ledger/deleted")
    public CommonResult deletedContractLedger(@RequestParam("ledgerId") Integer ledgerId){
        return contractLedgerService.deletedContractLedger(ledgerId);
    }
    /**
     * 合同评审列表
     * @param contractReview
     * @return
     */
    @ApiOperation(value = "合同评审(分页)")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "query", name = "pageNum", dataType = "int", required = false, value = "当前页,默认1"),
            @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = false, value = "每页数目,默认10"),
    })
    @GetMapping("/review/list")
    public CommonResult listContractReview(ContractReview contractReview){
        return CommonResult.success(contractReviewService.selectContractReviewList(contractReview));
    }
    /**
     * 合同评审新增
     * @param contractReview
     * @return
     */
    @ApiOperation(value = "合同评审新增")
    @PostMapping("/review/insert")
    public CommonResult insertContractReview(@RequestBody ContractReview contractReview){
        return contractReviewService.insertContractReview(contractReview);
    }
    /**
     * 合同评审修改
     * @param contractReview
     * @return
     */
    @ApiOperation(value = "合同评审修改")
    @PostMapping("/review/update")
    public CommonResult updateContractReview(@RequestBody ContractReview contractReview){
        return contractReviewService.updateContractReview(contractReview);
    }
    /**
     * 合同评审删除
     * @param reviewId
     * @return
     */
    @ApiOperation(value = "合同评审删除")
    @GetMapping("/review/deleted")
    public CommonResult deletedContractReview(@RequestParam("reviewId") Integer reviewId){
        return contractReviewService.deletedContractReview(reviewId);
    }
    /**
     * 售后服务
     * @param postSales
     * @return
     */
    @ApiOperation(value = "售后服务(分页)")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "query", name = "pageNum", dataType = "int", required = false, value = "当前页,默认1"),
            @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = false, value = "每页数目,默认10"),
    })
    @GetMapping("/sales/list")
    public CommonResult listPostsales(PostSales postSales){
        return CommonResult.success(postSalesService.selectPostSalesList(postSales));
    }
    /**
     * 售后服务新增
     * @param postSales
     * @return
     */
    @ApiOperation(value = "售后服务新增")
    @PostMapping("/sales/insert")
    public CommonResult insertPostsales(@RequestBody PostSales postSales){
        return postSalesService.insertPostSales(postSales);
    }
    /**
     * 售后服务修改
     * @param postSales
     * @return
     */
    @ApiOperation(value = "售后服务修改")
    @PostMapping("/sales/update")
    public CommonResult updatePostsales(@RequestBody PostSales postSales){
        return postSalesService.updatePostSales(postSales);
    }
    /**
     * 售后服务删除
     * @param salesId
     * @return
     */
    @ApiOperation(value = "售后服务删除")
    @GetMapping("/sales/deleted")
    public CommonResult deletedPostsales(@RequestParam("salesId") Integer salesId){
        return postSalesService.deletedPostSales(salesId);
    }
    /**
     * 月度检查记录
     * @param monthlyInspection
     * @return
     */
    @ApiOperation(value = "月度检查记录(分页)")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "query", name = "pageNum", dataType = "int", required = false, value = "当前页,默认1"),
            @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = false, value = "每页数目,默认10"),
    })
    @GetMapping("/monthly/list")
    public CommonResult listMonthlyInspection(MonthlyInspection monthlyInspection){
        return CommonResult.success(monthlyInspectionService.selectMonthlyInspectionList(monthlyInspection));
    }
    /**
     * 月度检查记录新增
     * @param monthlyInspection
     * @return
     */
    @ApiOperation(value = "月度检查记录新增")
    @PostMapping("/monthly/insert")
    public CommonResult insertMonthlyInspection(@RequestBody MonthlyInspection monthlyInspection){
        return monthlyInspectionService.insertMonthlyInspection(monthlyInspection);
    }
    /**
     * 月度检查记录修改
     * @param monthlyInspection
     * @return
     */
    @ApiOperation(value = "月度检查记录修改")
    @PostMapping("/monthly/update")
    public CommonResult updateMonthlyInspection(@RequestBody MonthlyInspection monthlyInspection){
        return monthlyInspectionService.updateMonthlyInspection(monthlyInspection);
    }
    /**
     * 月度检查记录删除
     * @param monthlyId
     * @return
     */
    @ApiOperation(value = "月度检查记录删除")
    @GetMapping("/monthly/deleted")
    public CommonResult deletedMonthlyInspection(@RequestParam("monthlyId") Integer monthlyId){
        return monthlyInspectionService.deletedMonthlyInspection(monthlyId);
    }
}
multi-system/src/main/java/com/gkhy/exam/system/domain/ContractLedger.java
New file
@@ -0,0 +1,61 @@
package com.gkhy.exam.system.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
@Data
@TableName("contract_ledger")
@ApiModel(value = "ContractLedger", description = "合同台账")
public class ContractLedger implements Serializable {
    @ApiModelProperty("主键")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    @ApiModelProperty(value = "企业id",required = true)
    @TableField("company_id")
    private Integer companyId;
    @TableField(exist = false)
    private String companyName;
    @ApiModelProperty(value = "编号")
    @TableField("number")
    private String number;
    @ApiModelProperty(value = "合同名称")
    @TableField("contract_name")
    private String contractName;
    @ApiModelProperty(value = "签订日期")
    @TableField("sign_date")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate signDate;
    @TableField("del_flag")
    private Integer delFlag;
    @TableField("create_by")
    private String createBy;
    @TableField("create_time")
    private LocalDateTime createTime;
    @TableField("update_by")
    private String updateBy;
    @TableField("update_time")
    private LocalDateTime updateTime;
}
multi-system/src/main/java/com/gkhy/exam/system/domain/ContractReview.java
New file
@@ -0,0 +1,137 @@
package com.gkhy.exam.system.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
@Data
@TableName("contract_review")
@ApiModel(value = "ContractReview", description = "合同评审主表")
public class ContractReview implements Serializable {
    @ApiModelProperty("主键")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    @ApiModelProperty(value = "企业id",required = true)
    @TableField("company_id")
    private Integer companyId;
    @TableField(exist = false)
    private String companyName;
    @ApiModelProperty(value = "评审类型 1评审  2变更")
    @TableField("type")
    private Integer type;
    @ApiModelProperty(value = "合同台账id")
    @TableField("contract_id")
    private Integer contractId;
    @TableField(exist = false)
    private String contractName;
    @TableField(exist = false)
    private String number;
    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate signDate;
    @ApiModelProperty(value = "记录日期")
    @TableField("record_time")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate recordTime;
    @ApiModelProperty(value = "记录人")
    @TableField("registrant_id")
    private Integer registrantId;
    @TableField(exist = false)
    private String registrantName;
    @ApiModelProperty(value = "顾客名称")
    @TableField("customer_name")
    private String customerName;
    @ApiModelProperty(value = "联系人")
    @TableField("customer_user")
    private String customerUser;
    @ApiModelProperty(value = "联系电话")
    @TableField("costomer_phone")
    private String costomerPhone;
    @ApiModelProperty(value = "交货期限")
    @TableField("delivery_time")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate deliveryTime;
    @ApiModelProperty(value = "交货地址")
    @TableField("delivery_addr")
    private String deliveryAddr;
    @ApiModelProperty(value = "交付方式")
    @TableField("delivery_type")
    private String deliveryType;
    @ApiModelProperty(value = "付款方式")
    @TableField("pay_type")
    private String payType;
    @ApiModelProperty(value = "产品和服务要求内容")
    @TableField("product_mess")
    private String productMess;
    @ApiModelProperty(value = "风险识别")
    @TableField("risk_mess")
    private String riskMess;
    @ApiModelProperty(value = "审批意见")
    @TableField("suggest")
    private String suggest;
    @ApiModelProperty(value = "法人")
    @TableField("legal_person")
    private Integer legalPerson;
    @TableField(exist = false)
    private String legalName;
    @ApiModelProperty(value = "日期")
    @TableField("legal_time")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate legalTime;
    @TableField("del_flag")
    private Integer delFlag;
    @TableField("create_by")
    private String createBy;
    @TableField("create_time")
    private LocalDateTime createTime;
    @TableField("update_by")
    private String updateBy;
    @TableField("update_time")
    private LocalDateTime updateTime;
    @TableField(exist = false)
    private List<ContractReviewRequire> contractReviewRequires;
    @TableField(exist = false)
    private List<ContractReviewMess> reviewMesses;
}
multi-system/src/main/java/com/gkhy/exam/system/domain/ContractReviewMess.java
New file
@@ -0,0 +1,37 @@
package com.gkhy.exam.system.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@Data
@TableName("contract_review_mess")
@ApiModel(value = "ContractReviewMess", description = "合同评审内容")
public class ContractReviewMess implements Serializable {
    @ApiModelProperty("主键")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    @ApiModelProperty(value = "主表ID")
    @TableField("review_id")
    private Integer reviewId;
    @ApiModelProperty(value = "评审变更部门")
    @TableField("dept_name")
    private String deptName;
    @TableField(exist = false)
    private List<ContractReviewMessb> contractReviewMessbs;
}
multi-system/src/main/java/com/gkhy/exam/system/domain/ContractReviewMessb.java
New file
@@ -0,0 +1,34 @@
package com.gkhy.exam.system.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class ContractReviewMessb {
    @ApiModelProperty("主键")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    @ApiModelProperty(value = "主表ID")
    @TableField("mess_id")
    private Integer messId;
    @ApiModelProperty(value = "评审变更内容")
    @TableField("review_mess")
    private String reviewMess;
    @ApiModelProperty(value = "评审变更意见")
    @TableField("review_opinion")
    private String reviewOpinion;
    @ApiModelProperty(value = "签字")
    @TableField("review_sign")
    private String reviewSign;
}
multi-system/src/main/java/com/gkhy/exam/system/domain/ContractReviewRequire.java
New file
@@ -0,0 +1,47 @@
package com.gkhy.exam.system.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
@Data
@TableName("contract_review_require")
@ApiModel(value = "ContractReviewRequire", description = "合同评审变更顾客要求表")
public class ContractReviewRequire implements Serializable {
    @ApiModelProperty("主键")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    @ApiModelProperty(value = "主表ID")
    @TableField("review_id")
    private Integer reviewId;
    @ApiModelProperty(value = "产品名称")
    @TableField("product_name")
    private String productName;
    @ApiModelProperty(value = "规格型号")
    @TableField("specification")
    private String specification;
    @ApiModelProperty(value = "数量")
    @TableField("amount")
    private Integer amount;
    @ApiModelProperty(value = "单价")
    @TableField("price")
    private BigDecimal price;
    @ApiModelProperty(value = "其他")
    @TableField("remark")
    private String remark;
}
multi-system/src/main/java/com/gkhy/exam/system/domain/CustomerCommunication.java
New file
@@ -0,0 +1,136 @@
package com.gkhy.exam.system.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
@Data
@TableName("customer_communication")
@ApiModel(value = "CustomerCommunication", description = "顾客沟通记录")
public class CustomerCommunication implements Serializable {
    @ApiModelProperty("主键")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    @ApiModelProperty(value = "企业id",required = true)
    @TableField("company_id")
    private Integer companyId;
    @TableField(exist = false)
    private String companyName;
    @ApiModelProperty(value = "记录名称")
    @TableField("record_name")
    private String recordName;
    @ApiModelProperty(value = "编号")
    @TableField("number")
    private String number;
    @ApiModelProperty(value = "客户单位/姓名")
    @TableField("client")
    private String client;
    @ApiModelProperty(value = "联系电话")
    @TableField("phone")
    private String phone;
    @ApiModelProperty(value = "沟通时间")
    @TableField("com_time")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate comTime;
    @ApiModelProperty(value = "沟通地点")
    @TableField("com_addr")
    private String comAddr;
    @ApiModelProperty(value = "沟通方式 1面谈  2电话  3信函 4有件  5其他")
    @TableField("com_method")
    private String comMethod;
    @ApiModelProperty(value = "方式其他详细内容")
    @TableField("method_mess")
    private String methodMess;
    @ApiModelProperty(value = "沟通类型 1建议  2咨询  3反馈 4抱怨  5其他")
    @TableField("com_type")
    private String comType;
    @ApiModelProperty(value = "类型其他详细内容")
    @TableField("type_mess")
    private String typeMess;
    @ApiModelProperty(value = "详细内容")
    @TableField("detail_mess")
    private String detailMess;
    @ApiModelProperty(value = "详细内容记录人")
    @TableField("detail_user")
    private Integer detailUser;
    @TableField(exist = false)
    private String detailName;
    @ApiModelProperty(value = "时间")
    @TableField("detail_time")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate detailTime;
    @ApiModelProperty(value = "处理过程描述")
    @TableField("dispose_mess")
    private String disposeMess;
    @ApiModelProperty(value = "处理过程记录人")
    @TableField("dispose_user")
    private Integer disposeUser;
    @TableField(exist = false)
    private String disposeName;
    @ApiModelProperty(value = "时间")
    @TableField("dispose_time")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate disposeTime;
    @ApiModelProperty(value = "领导审阅")
    @TableField("leader_mess")
    private String leaderMess;
    @ApiModelProperty(value = "领导")
    @TableField("leader_user")
    private Integer leaderUser;
    @TableField(exist = false)
    private String leaderName;
    @ApiModelProperty(value = "时间")
    @TableField("leader_time")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate leaderTime;
    @TableField("del_flag")
    private Integer delFlag;
    @TableField("create_by")
    private String createBy;
    @TableField("create_time")
    private LocalDateTime createTime;
    @TableField("update_by")
    private String updateBy;
    @TableField("update_time")
    private LocalDateTime updateTime;
}
multi-system/src/main/java/com/gkhy/exam/system/domain/CustomerInventory.java
New file
@@ -0,0 +1,70 @@
package com.gkhy.exam.system.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
@Data
@TableName("customer_inventory")
@ApiModel(value = "CustomerInventory", description = "顾客清单表")
public class CustomerInventory implements Serializable {
    @ApiModelProperty("主键")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    @ApiModelProperty(value = "企业id",required = true)
    @TableField("company_id")
    private Integer companyId;
    @TableField(exist = false)
    private String companyName;
    @ApiModelProperty(value = "顾客名称")
    @TableField("customer_name")
    private String customerName;
    @ApiModelProperty(value = "顾客地址")
    @TableField("customer_addr")
    private String customerAddr;
    @ApiModelProperty(value = "联系人")
    @TableField("person")
    private String person;
    @ApiModelProperty(value = "联系电话")
    @TableField("phone")
    private String phone;
    @ApiModelProperty(value = "邮件")
    @TableField("emil")
    private String emil;
    @ApiModelProperty(value = "备注")
    @TableField("remark")
    private String remark;
    @TableField("del_flag")
    private Integer delFlag;
    @TableField("create_by")
    private String createBy;
    @TableField("create_time")
    private LocalDateTime createTime;
    @TableField("update_by")
    private String updateBy;
    @TableField("update_time")
    private LocalDateTime updateTime;
}
multi-system/src/main/java/com/gkhy/exam/system/domain/CustomerRecord.java
New file
@@ -0,0 +1,54 @@
package com.gkhy.exam.system.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;
@Data
@TableName("customer_record")
@ApiModel(value = "CustomerRecord", description = "顾客需求登记")
public class CustomerRecord implements Serializable {
    @ApiModelProperty("主键")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    @ApiModelProperty(value = "企业id",required = true)
    @TableField("company_id")
    private Integer companyId;
    @TableField(exist = false)
    private String companyName;
    @ApiModelProperty(value = "记录名称")
    @TableField("record_name")
    private String recordName;
    @TableField("del_flag")
    private Integer delFlag;
    @TableField("create_by")
    private String createBy;
    @TableField("create_time")
    private LocalDateTime createTime;
    @TableField("update_by")
    private String updateBy;
    @TableField("update_time")
    private LocalDateTime updateTime;
    @TableField(exist = false)
    private List<CustomerRecordNeed> customerRecordNeeds;
}
multi-system/src/main/java/com/gkhy/exam/system/domain/CustomerRecordNeed.java
New file
@@ -0,0 +1,63 @@
package com.gkhy.exam.system.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@Data
@TableName("customer_record_need")
@ApiModel(value = "CustomerRecordNeed", description = "顾客需求登记副表")
public class CustomerRecordNeed implements Serializable {
    @ApiModelProperty("主键")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    @ApiModelProperty(value = "主表id",required = true)
    @TableField("record_id")
    private Integer recordId;
    @ApiModelProperty(value = "顾客名称")
    @TableField("customer_name")
    private String customerName;
    @ApiModelProperty(value = "顾客需求 1走访  2网调  3其他")
    @TableField("customer_need")
    private String customerNeed;
    @ApiModelProperty(value = "需求来源")
    @TableField("need_source")
    private String needSource;
    @ApiModelProperty(value = "登记人")
    @TableField("registrant_id")
    private Integer registrantId;
    @TableField(exist = false)
    private String registrantName;
    @ApiModelProperty(value = "处理部门")
    @TableField("dispose_id")
    private Integer disposeId;
    @TableField(exist = false)
    private String disposeName;
    @ApiModelProperty(value = "处理结果")
    @TableField("dispose_mess")
    private String disposeMess;
    @ApiModelProperty(value = "备注")
    @TableField("remark")
    private String remark;
}
multi-system/src/main/java/com/gkhy/exam/system/domain/MonthlyInspection.java
New file
@@ -0,0 +1,54 @@
package com.gkhy.exam.system.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;
@Data
@TableName("monthly_inspection")
@ApiModel(value = "MonthlyInspection", description = "月度检查记录主表")
public class MonthlyInspection implements Serializable {
    @ApiModelProperty("主键")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    @ApiModelProperty(value = "企业id",required = true)
    @TableField("company_id")
    private Integer companyId;
    @TableField(exist = false)
    private String companyName;
    @ApiModelProperty(value = "记录名称")
    @TableField("record_name")
    private String recordName;
    @TableField("del_flag")
    private Integer delFlag;
    @TableField("create_by")
    private String createBy;
    @TableField("create_time")
    private LocalDateTime createTime;
    @TableField("update_by")
    private String updateBy;
    @TableField("update_time")
    private LocalDateTime updateTime;
    @TableField(exist = false)
    private List<MonthlyInspectionMess> inspectionMesses;
}
multi-system/src/main/java/com/gkhy/exam/system/domain/MonthlyInspectionMess.java
New file
@@ -0,0 +1,65 @@
package com.gkhy.exam.system.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDate;
@Data
@TableName("monthly_inspection_mess")
@ApiModel(value = "MonthlyInspectionMess", description = "月度检查记录副表")
public class MonthlyInspectionMess implements Serializable {
    @ApiModelProperty("主键")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    @ApiModelProperty(value = "月度检查记录主表")
    @TableField("monthly_id")
    private Integer monthlyId;
    @ApiModelProperty(value = "时间")
    @TableField("monthly_time")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate monthlyTime;
    @ApiModelProperty(value = "检查人")
    @TableField("check_user")
    private String checkUser;
    @ApiModelProperty(value = "防护")
    @TableField("entrench")
    private String entrench;
    @ApiModelProperty(value = "标识")
    @TableField("identification")
    private String identification;
    @ApiModelProperty(value = "摆放")
    @TableField("place")
    private String place;
    @ApiModelProperty(value = "清洁")
    @TableField("clean")
    private String clean;
    @ApiModelProperty(value = "安全")
    @TableField("safety")
    private String safety;
    @ApiModelProperty(value = "环境")
    @TableField("environment")
    private String environment;
    @ApiModelProperty(value = "一致性")
    @TableField("consistency")
    private String consistency;
}
multi-system/src/main/java/com/gkhy/exam/system/domain/PostSales.java
New file
@@ -0,0 +1,108 @@
package com.gkhy.exam.system.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
@Data
@TableName("post_sales")
@ApiModel(value = "PostSales", description = "售后服务")
public class PostSales implements Serializable {
    @ApiModelProperty("主键")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    @ApiModelProperty(value = "企业id",required = true)
    @TableField("company_id")
    private Integer companyId;
    @TableField(exist = false)
    private String companyName;
    @ApiModelProperty(value = "记录名称")
    @TableField("record_name")
    private String recordName;
    @ApiModelProperty(value = "编号")
    @TableField("number")
    private String number;
    @ApiModelProperty(value = "客户名称")
    @TableField("client_name")
    private String clientName;
    @ApiModelProperty(value = "服务时间")
    @TableField("server_time")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate serverTime;
    @ApiModelProperty(value = "地址")
    @TableField("addr")
    private String addr;
    @ApiModelProperty(value = "联系人")
    @TableField("person")
    private String person;
    @ApiModelProperty(value = "联系电话")
    @TableField("phone")
    private String phone;
    @ApiModelProperty(value = "服务内容")
    @TableField("server_mess")
    private String serverMess;
    @ApiModelProperty(value = "对客户建议")
    @TableField("suggest")
    private String suggest;
    @ApiModelProperty(value = "服务人员")
    @TableField("person_id")
    private Integer personId;
    @TableField(exist = false)
    private String personName;
    @ApiModelProperty(value = "服务人员联系电话")
    @TableField("server_phone")
    private String serverPhone;
    @ApiModelProperty(value = "服务评价 1非常满意  2满意  3不满意")
    @TableField("server_evlauate")
    private String serverEvlauate;
    @ApiModelProperty(value = "意见")
    @TableField("opinion")
    private String opinion;
    @ApiModelProperty(value = "客户")
    @TableField("custom")
    private String custom;
    @TableField("del_flag")
    private Integer delFlag;
    @TableField("create_by")
    private String createBy;
    @TableField("create_time")
    private LocalDateTime createTime;
    @TableField("update_by")
    private String updateBy;
    @TableField("update_time")
    private LocalDateTime updateTime;
}
multi-system/src/main/java/com/gkhy/exam/system/mapper/ContractLedgerMapper.java
New file
@@ -0,0 +1,12 @@
package com.gkhy.exam.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gkhy.exam.system.domain.ContractLedger;
import org.mapstruct.Mapper;
import java.util.List;
@Mapper
public interface ContractLedgerMapper extends BaseMapper<ContractLedger> {
    List<ContractLedger> selectLedgerList(ContractLedger contractLedger);
}
multi-system/src/main/java/com/gkhy/exam/system/mapper/ContractReviewMapper.java
New file
@@ -0,0 +1,15 @@
package com.gkhy.exam.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gkhy.exam.system.domain.ContractReview;
import org.apache.ibatis.annotations.Param;
import org.mapstruct.Mapper;
import java.util.List;
@Mapper
public interface ContractReviewMapper extends BaseMapper<ContractReview> {
    List<ContractReview> selectReviewList(ContractReview contractReview);
    Integer selectByContractId(@Param("contractId") Integer contractId);
}
multi-system/src/main/java/com/gkhy/exam/system/mapper/ContractReviewMessMapper.java
New file
@@ -0,0 +1,22 @@
package com.gkhy.exam.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gkhy.exam.system.domain.ContractReviewMess;
import com.gkhy.exam.system.domain.ContractReviewMessb;
import org.apache.ibatis.annotations.Param;
import org.mapstruct.Mapper;
import java.util.List;
@Mapper
public interface ContractReviewMessMapper extends BaseMapper<ContractReviewMess> {
    List<ContractReviewMess> selectByReviewId(@Param("id") Integer id);
    void insertMesses(@Param("reviewMesses") List<ContractReviewMess> reviewMesses);
    void deleteByReviewId(@Param("id") Integer id);
    List<ContractReviewMessb> selectByMessId(@Param("id") Integer id);
    void insertMessbs(@Param("contractReviewMessbs") List<ContractReviewMessb> contractReviewMessbs);
}
multi-system/src/main/java/com/gkhy/exam/system/mapper/ContractReviewRequireMapper.java
New file
@@ -0,0 +1,17 @@
package com.gkhy.exam.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gkhy.exam.system.domain.ContractReviewRequire;
import org.apache.ibatis.annotations.Param;
import org.mapstruct.Mapper;
import java.util.List;
@Mapper
public interface ContractReviewRequireMapper extends BaseMapper<ContractReviewRequire> {
    List<ContractReviewRequire> selectByReviewId(@Param("id") Integer id);
    void insertRequires(@Param("requires") List<ContractReviewRequire> contractReviewRequires);
    void deleteByReviewId(@Param("id") Integer id);
}
multi-system/src/main/java/com/gkhy/exam/system/mapper/CustomerCommunicationMapper.java
New file
@@ -0,0 +1,12 @@
package com.gkhy.exam.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gkhy.exam.system.domain.CustomerCommunication;
import org.mapstruct.Mapper;
import java.util.List;
@Mapper
public interface CustomerCommunicationMapper extends BaseMapper<CustomerCommunication> {
    List<CustomerCommunication> selectCommunicationList(CustomerCommunication customerCommunication);
}
multi-system/src/main/java/com/gkhy/exam/system/mapper/CustomerInventoryMapper.java
New file
@@ -0,0 +1,13 @@
package com.gkhy.exam.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gkhy.exam.system.domain.CustomerInventory;
import org.mapstruct.Mapper;
import java.util.List;
@Mapper
public interface CustomerInventoryMapper extends BaseMapper<CustomerInventory> {
    List<CustomerInventory> selectInventoryList(CustomerInventory customerInventory);
}
multi-system/src/main/java/com/gkhy/exam/system/mapper/CustomerRecordMapper.java
New file
@@ -0,0 +1,12 @@
package com.gkhy.exam.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gkhy.exam.system.domain.CustomerRecord;
import org.mapstruct.Mapper;
import java.util.List;
@Mapper
public interface CustomerRecordMapper extends BaseMapper<CustomerRecord> {
    List<CustomerRecord> selectRecordList(CustomerRecord customerRecord);
}
multi-system/src/main/java/com/gkhy/exam/system/mapper/CustomerRecordNeedMapper.java
New file
@@ -0,0 +1,17 @@
package com.gkhy.exam.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gkhy.exam.system.domain.CustomerRecordNeed;
import org.apache.ibatis.annotations.Param;
import org.mapstruct.Mapper;
import java.util.List;
@Mapper
public interface CustomerRecordNeedMapper extends BaseMapper<CustomerRecordNeed> {
    Integer insertNeeds(@Param("customerRecordNeeds") List<CustomerRecordNeed> customerRecordNeeds);
    List<CustomerRecordNeed> selectByRecordId(@Param("id") Integer id);
    void deleteByRecordId(@Param("id") Integer id);
}
multi-system/src/main/java/com/gkhy/exam/system/mapper/MonthlyInspectionMapper.java
New file
@@ -0,0 +1,12 @@
package com.gkhy.exam.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gkhy.exam.system.domain.MonthlyInspection;
import org.mapstruct.Mapper;
import java.util.List;
@Mapper
public interface MonthlyInspectionMapper extends BaseMapper<MonthlyInspection> {
    List<MonthlyInspection> selectInspectionList(MonthlyInspection monthlyInspection);
}
multi-system/src/main/java/com/gkhy/exam/system/mapper/MonthlyInspectionMessMapper.java
New file
@@ -0,0 +1,17 @@
package com.gkhy.exam.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gkhy.exam.system.domain.MonthlyInspectionMess;
import org.apache.ibatis.annotations.Param;
import org.mapstruct.Mapper;
import java.util.List;
@Mapper
public interface MonthlyInspectionMessMapper extends BaseMapper<MonthlyInspectionMess> {
    List<MonthlyInspectionMess> selectByMonthlyId(@Param("id") Integer id);
    void insertMonthlys(@Param("inspectionMesses") List<MonthlyInspectionMess> inspectionMesses);
    void deleteByMonthlyId(@Param("id") Integer id);
}
multi-system/src/main/java/com/gkhy/exam/system/mapper/PostSalesMapper.java
New file
@@ -0,0 +1,12 @@
package com.gkhy.exam.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gkhy.exam.system.domain.PostSales;
import org.mapstruct.Mapper;
import java.util.List;
@Mapper
public interface PostSalesMapper extends BaseMapper<PostSales> {
    List<PostSales> selectSalesList(PostSales postSales);
}
multi-system/src/main/java/com/gkhy/exam/system/service/ContractLedgerService.java
New file
@@ -0,0 +1,16 @@
package com.gkhy.exam.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gkhy.exam.common.api.CommonPage;
import com.gkhy.exam.common.api.CommonResult;
import com.gkhy.exam.system.domain.ContractLedger;
public interface ContractLedgerService extends IService<ContractLedger> {
    CommonPage selectContractLedgerList(ContractLedger contractLedger);
    CommonResult insertContractLedger(ContractLedger contractLedger);
    CommonResult updateContractLedger(ContractLedger contractLedger);
    CommonResult deletedContractLedger(Integer ledgerId);
}
multi-system/src/main/java/com/gkhy/exam/system/service/ContractReviewService.java
New file
@@ -0,0 +1,16 @@
package com.gkhy.exam.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gkhy.exam.common.api.CommonPage;
import com.gkhy.exam.common.api.CommonResult;
import com.gkhy.exam.system.domain.ContractReview;
public interface ContractReviewService extends IService<ContractReview> {
    CommonPage selectContractReviewList(ContractReview contractReview);
    CommonResult insertContractReview(ContractReview contractReview);
    CommonResult updateContractReview(ContractReview contractReview);
    CommonResult deletedContractReview(Integer reviewId);
}
multi-system/src/main/java/com/gkhy/exam/system/service/CustomerCommunicationService.java
New file
@@ -0,0 +1,16 @@
package com.gkhy.exam.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gkhy.exam.common.api.CommonPage;
import com.gkhy.exam.common.api.CommonResult;
import com.gkhy.exam.system.domain.CustomerCommunication;
public interface CustomerCommunicationService extends IService<CustomerCommunication> {
    CommonPage selectCustomerCommunicationList(CustomerCommunication customerCommunication);
    CommonResult insertCustomerCommunication(CustomerCommunication customerCommunication);
    CommonResult updateCustomerCommunication(CustomerCommunication customerCommunication);
    CommonResult deletedCustomerCommunication(Integer communId);
}
multi-system/src/main/java/com/gkhy/exam/system/service/CustomerInventoryService.java
New file
@@ -0,0 +1,19 @@
package com.gkhy.exam.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gkhy.exam.common.api.CommonPage;
import com.gkhy.exam.common.api.CommonResult;
import com.gkhy.exam.system.domain.CustomerInventory;
import com.gkhy.exam.system.domain.CustomerRecord;
public interface CustomerInventoryService extends IService<CustomerInventory> {
    CommonPage selectCustomerInventoryList(CustomerInventory customerInventory);
    CommonResult insertCustomerInventory(CustomerInventory customerInventory);
    CommonResult updateCustomerInventory(CustomerInventory customerInventory);
    CommonResult deletedCustomerInventory(Integer customerId);
}
multi-system/src/main/java/com/gkhy/exam/system/service/CustomerRecordService.java
New file
@@ -0,0 +1,17 @@
package com.gkhy.exam.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gkhy.exam.common.api.CommonPage;
import com.gkhy.exam.common.api.CommonResult;
import com.gkhy.exam.system.domain.CustomerRecord;
public interface CustomerRecordService extends IService<CustomerRecord> {
    CommonPage selectCustomerRecordList(CustomerRecord customerRecord);
    CommonResult insertCustomerRecord(CustomerRecord customerRecord);
    CommonResult updateCustomerRecord(CustomerRecord customerRecord);
    CommonResult deletedCustomerRecord(Integer recordId);
}
multi-system/src/main/java/com/gkhy/exam/system/service/MonthlyInspectionService.java
New file
@@ -0,0 +1,16 @@
package com.gkhy.exam.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gkhy.exam.common.api.CommonPage;
import com.gkhy.exam.common.api.CommonResult;
import com.gkhy.exam.system.domain.MonthlyInspection;
public interface MonthlyInspectionService extends IService<MonthlyInspection> {
    CommonPage selectMonthlyInspectionList(MonthlyInspection monthlyInspection);
    CommonResult insertMonthlyInspection(MonthlyInspection monthlyInspection);
    CommonResult updateMonthlyInspection(MonthlyInspection monthlyInspection);
    CommonResult deletedMonthlyInspection(Integer monthlyId);
}
multi-system/src/main/java/com/gkhy/exam/system/service/PostSalesService.java
New file
@@ -0,0 +1,16 @@
package com.gkhy.exam.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gkhy.exam.common.api.CommonPage;
import com.gkhy.exam.common.api.CommonResult;
import com.gkhy.exam.system.domain.PostSales;
public interface PostSalesService extends IService<PostSales> {
    CommonPage selectPostSalesList(PostSales postSales);
    CommonResult insertPostSales(PostSales postSales);
    CommonResult updatePostSales(PostSales postSales);
    CommonResult deletedPostSales(Integer salesId);
}
multi-system/src/main/java/com/gkhy/exam/system/service/impl/ContractLedgerServiceImpl.java
New file
@@ -0,0 +1,71 @@
package com.gkhy.exam.system.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gkhy.exam.common.api.CommonPage;
import com.gkhy.exam.common.api.CommonResult;
import com.gkhy.exam.common.exception.ApiException;
import com.gkhy.exam.common.utils.PageUtils;
import com.gkhy.exam.common.utils.SecurityUtils;
import com.gkhy.exam.system.domain.ContractLedger;
import com.gkhy.exam.system.mapper.ContractLedgerMapper;
import com.gkhy.exam.system.service.ContractLedgerService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.List;
@Service
public class ContractLedgerServiceImpl extends ServiceImpl<ContractLedgerMapper, ContractLedger> implements ContractLedgerService {
    @Autowired
    private ContractLedgerMapper contractLedgerMapper;
    @Override
    public CommonPage selectContractLedgerList(ContractLedger contractLedger) {
        if (!SecurityUtils.adminUser()){
            if (contractLedger.getCompanyId()==null){
                throw new ApiException("非管理员操作,查询条件不可为空");
            }
        }
        PageUtils.startPage();
        List<ContractLedger> contractLedgers = contractLedgerMapper.selectLedgerList(contractLedger);
        return CommonPage.restPage(contractLedgers);
    }
    @Override
    public CommonResult insertContractLedger(ContractLedger contractLedger) {
        contractLedger.setCreateBy(SecurityUtils.getUsername());
        contractLedger.setCreateTime(LocalDateTime.now());
        int insert = contractLedgerMapper.insert(contractLedger);
        if (insert>0){
            return CommonResult.success();
        }
        return CommonResult.failed();
    }
    @Override
    public CommonResult updateContractLedger(ContractLedger contractLedger) {
        contractLedger.setUpdateBy(SecurityUtils.getUsername());
        contractLedger.setUpdateTime(LocalDateTime.now());
        int update = contractLedgerMapper.updateById(contractLedger);
        if (update>0){
            return CommonResult.success();
        }
        return CommonResult.failed();
    }
    @Override
    public CommonResult deletedContractLedger(Integer ledgerId) {
        ContractLedger contractLedger = new ContractLedger();
        contractLedger.setUpdateBy(SecurityUtils.getUsername());
        contractLedger.setUpdateTime(LocalDateTime.now());
        contractLedger.setDelFlag(2);
        contractLedger.setId(ledgerId);
        int i = contractLedgerMapper.updateById(contractLedger);
        if (i>0){
            return CommonResult.success();
        }
        return CommonResult.failed();
    }
}
multi-system/src/main/java/com/gkhy/exam/system/service/impl/ContractReviewServiceImpl.java
New file
@@ -0,0 +1,172 @@
package com.gkhy.exam.system.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gkhy.exam.common.api.CommonPage;
import com.gkhy.exam.common.api.CommonResult;
import com.gkhy.exam.common.exception.ApiException;
import com.gkhy.exam.common.utils.PageUtils;
import com.gkhy.exam.common.utils.SecurityUtils;
import com.gkhy.exam.system.domain.ContractReview;
import com.gkhy.exam.system.domain.ContractReviewMess;
import com.gkhy.exam.system.domain.ContractReviewMessb;
import com.gkhy.exam.system.domain.ContractReviewRequire;
import com.gkhy.exam.system.mapper.ContractReviewMapper;
import com.gkhy.exam.system.mapper.ContractReviewMessMapper;
import com.gkhy.exam.system.mapper.ContractReviewRequireMapper;
import com.gkhy.exam.system.service.ContractReviewService;
import org.apache.tomcat.websocket.AuthenticationException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Service
public class ContractReviewServiceImpl extends ServiceImpl<ContractReviewMapper, ContractReview> implements ContractReviewService {
    @Autowired
    private ContractReviewMapper contractReviewMapper;
    @Autowired
    private ContractReviewMessMapper contractReviewMessMapper;
    @Autowired
    private ContractReviewRequireMapper contractReviewRequireMapper;
    @Override
    public CommonPage selectContractReviewList(ContractReview contractReview) {
        if (!SecurityUtils.adminUser()){
            if (contractReview.getCompanyId()==null){
                throw new ApiException("非管理员操作,查询条件不可为空");
            }
        }
        PageUtils.startPage();
        List<ContractReview> contractReviews = contractReviewMapper.selectReviewList(contractReview);
        for (ContractReview review : contractReviews) {
            List<ContractReviewMess> contractReviewMesses = contractReviewMessMapper.selectByReviewId(review.getId());
            List<ContractReviewRequire> contractReviewRequires = contractReviewRequireMapper.selectByReviewId(review.getId());
            review.setReviewMesses(contractReviewMesses);
            review.setContractReviewRequires(contractReviewRequires);
        }
        return CommonPage.restPage(contractReviews);
    }
    @Override
    @Transactional
    public CommonResult insertContractReview(ContractReview contractReview) {
        Integer i = contractReviewMapper.selectByContractId(contractReview.getContractId());
        if (i>0){
           return CommonResult.failed("请勿重复添加数据");
        }
        List<ContractReviewMess> reviewMesses = contractReview.getReviewMesses();
        List<ContractReviewRequire> contractReviewRequires = contractReview.getContractReviewRequires();
        contractReview.setCreateBy(SecurityUtils.getUsername());
        contractReview.setCreateTime(LocalDateTime.now());
        int insert = contractReviewMapper.insert(contractReview);
        if (insert>0){
            Integer reviewId = contractReview.getId();
            // 批量插入ContractReviewMess
            for (ContractReviewMess reviewMess : reviewMesses) {
                reviewMess.setReviewId(reviewId);
            }
            contractReviewMessMapper.insertMesses(reviewMesses);
            // 收集所有ContractReviewMessb
            List<ContractReviewMessb> allMessbs = new ArrayList<>();
            for (ContractReviewMess reviewMess : reviewMesses) {
                List<ContractReviewMessb> contractReviewMessbs = reviewMess.getContractReviewMessbs();
                if (contractReviewMessbs != null && !contractReviewMessbs.isEmpty()) {
                    for (ContractReviewMessb contractReviewMessb : contractReviewMessbs) {
                        contractReviewMessb.setMessId(reviewMess.getId());
                    }
                    allMessbs.addAll(contractReviewMessbs);
                }
            }
            // 批量插入ContractReviewMessb
            if (!allMessbs.isEmpty()) {
                contractReviewMessMapper.insertMessbs(allMessbs);
            }
            // 批量插入ContractReviewRequire
            for (ContractReviewRequire contractReviewRequire : contractReviewRequires) {
                contractReviewRequire.setReviewId(reviewId);
            }
            contractReviewRequireMapper.insertRequires(contractReviewRequires);
        }
        return CommonResult.success();
    }
    @Override
    @Transactional
    public CommonResult updateContractReview(ContractReview contractReview) {
        try {
            List<ContractReviewMess> reviewMesses = contractReview.getReviewMesses();
            List<ContractReviewRequire> contractReviewRequires = contractReview.getContractReviewRequires();
            // 更新主表信息
            contractReview.setUpdateBy(SecurityUtils.getUsername());
            contractReview.setUpdateTime(LocalDateTime.now());
            int i = contractReviewMapper.updateById(contractReview);
            if (i > 0) {
                Integer reviewId = contractReview.getId();
                // 删除旧的关联数据
                contractReviewMessMapper.deleteByReviewId(reviewId);
                contractReviewRequireMapper.deleteByReviewId(reviewId);
                // 插入新的ContractReviewMess数据并处理其子项
                if (reviewMesses != null && !reviewMesses.isEmpty()) {
                    // 设置reviewId并插入主表数据
                    for (ContractReviewMess reviewMess : reviewMesses) {
                        reviewMess.setReviewId(reviewId);
                    }
                    contractReviewMessMapper.insertMesses(reviewMesses);
                    // 处理ContractReviewMessb子项
                    List<ContractReviewMessb> allMessbs = new ArrayList<>();
                    for (ContractReviewMess reviewMess : reviewMesses) {
                        List<ContractReviewMessb> contractReviewMessbs = reviewMess.getContractReviewMessbs();
                        if (contractReviewMessbs != null && !contractReviewMessbs.isEmpty()) {
                            for (ContractReviewMessb contractReviewMessb : contractReviewMessbs) {
                                contractReviewMessb.setMessId(reviewMess.getId());
                            }
                            allMessbs.addAll(contractReviewMessbs);
                        }
                    }
                    // 批量插入ContractReviewMessb
                    if (!allMessbs.isEmpty()) {
                        contractReviewMessMapper.insertMessbs(allMessbs);
                    }
                }
                // 插入新的ContractReviewRequire数据
                if (contractReviewRequires != null && !contractReviewRequires.isEmpty()) {
                    for (ContractReviewRequire contractReviewRequire : contractReviewRequires) {
                        contractReviewRequire.setReviewId(reviewId);
                    }
                    contractReviewRequireMapper.insertRequires(contractReviewRequires);
                }
            }
            return CommonResult.success();
        } catch (Exception e) {
            // 记录日志
            log.error("更新合同评审失败", e);
            return CommonResult.failed("更新失败");
        }
    }
    @Override
    public CommonResult deletedContractReview(Integer reviewId) {
        ContractReview contractReview = new ContractReview();
        contractReview.setDelFlag(2);
        contractReview.setUpdateBy(SecurityUtils.getUsername());
        contractReview.setUpdateTime(LocalDateTime.now());
        contractReview.setId(reviewId);
        int i = contractReviewMapper.updateById(contractReview);
        if (i>0){
            return CommonResult.success();
        }
        return CommonResult.failed();
    }
}
multi-system/src/main/java/com/gkhy/exam/system/service/impl/CustomerCommunicationServiceImpl.java
New file
@@ -0,0 +1,73 @@
package com.gkhy.exam.system.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gkhy.exam.common.api.CommonPage;
import com.gkhy.exam.common.api.CommonResult;
import com.gkhy.exam.common.exception.ApiException;
import com.gkhy.exam.common.utils.PageUtils;
import com.gkhy.exam.common.utils.SecurityUtils;
import com.gkhy.exam.system.domain.CustomerCommunication;
import com.gkhy.exam.system.mapper.CustomerCommunicationMapper;
import com.gkhy.exam.system.service.CustomerCommunicationService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.List;
@Service
public class CustomerCommunicationServiceImpl extends ServiceImpl<CustomerCommunicationMapper, CustomerCommunication> implements CustomerCommunicationService {
    @Autowired
    private CustomerCommunicationMapper customerCommunicationMapper;
    @Override
    public CommonPage selectCustomerCommunicationList(CustomerCommunication customerCommunication) {
        if (!SecurityUtils.adminUser()){
            if (customerCommunication.getCompanyId()==null){
                throw new ApiException("非管理员操作,查询条件不可为空");
            }
        }
        PageUtils.startPage();
        List<CustomerCommunication> customerCommunications = customerCommunicationMapper.selectCommunicationList(customerCommunication);
        return CommonPage.restPage(customerCommunications);
    }
    @Override
    public CommonResult insertCustomerCommunication(CustomerCommunication customerCommunication) {
        customerCommunication.setCreateBy(SecurityUtils.getUsername());
        customerCommunication.setCreateTime(LocalDateTime.now());
        int insert = customerCommunicationMapper.insert(customerCommunication);
        if (insert>0){
            return CommonResult.success();
        }
        return CommonResult.failed();
    }
    @Override
    public CommonResult updateCustomerCommunication(CustomerCommunication customerCommunication) {
        customerCommunication.setUpdateBy(SecurityUtils.getUsername());
        customerCommunication.setUpdateTime(LocalDateTime.now());
        int i = customerCommunicationMapper.updateById(customerCommunication);
        if (i>0){
            return CommonResult.success();
        }
        return CommonResult.failed();
    }
    @Override
    public CommonResult deletedCustomerCommunication(Integer communId) {
        CustomerCommunication customerCommunication = new CustomerCommunication();
        customerCommunication.setId(communId);
        customerCommunication.setUpdateBy(SecurityUtils.getUsername());
        customerCommunication.setUpdateTime(LocalDateTime.now());
        customerCommunication.setDelFlag(2);
        int i = customerCommunicationMapper.updateById(customerCommunication);
        if (i>0){
            return CommonResult.success();
        }
        return CommonResult.failed();
    }
}
multi-system/src/main/java/com/gkhy/exam/system/service/impl/CustomerInventoryServiceImpl.java
New file
@@ -0,0 +1,82 @@
package com.gkhy.exam.system.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gkhy.exam.common.api.CommonPage;
import com.gkhy.exam.common.api.CommonResult;
import com.gkhy.exam.common.exception.ApiException;
import com.gkhy.exam.common.utils.PageUtils;
import com.gkhy.exam.common.utils.SecurityUtils;
import com.gkhy.exam.system.domain.CustomerInventory;
import com.gkhy.exam.system.domain.CustomerRecord;
import com.gkhy.exam.system.domain.CustomerRecordNeed;
import com.gkhy.exam.system.mapper.CustomerCommunicationMapper;
import com.gkhy.exam.system.mapper.CustomerInventoryMapper;
import com.gkhy.exam.system.mapper.CustomerRecordMapper;
import com.gkhy.exam.system.mapper.CustomerRecordNeedMapper;
import com.gkhy.exam.system.service.CustomerInventoryService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.List;
@Service
public class CustomerInventoryServiceImpl extends ServiceImpl<CustomerInventoryMapper, CustomerInventory> implements CustomerInventoryService {
    @Autowired
    private CustomerInventoryMapper customerInventoryMapper;
    @Override
    public CommonPage selectCustomerInventoryList(CustomerInventory customerInventory) {
        if (!SecurityUtils.adminUser()){
            if (customerInventory.getCompanyId()==null){
                throw new ApiException("非管理员操作,查询条件不可为空");
            }
        }
        PageUtils.startPage();
        List<CustomerInventory> customerInventories = customerInventoryMapper.selectInventoryList(customerInventory);
        return CommonPage.restPage(customerInventories);
    }
    @Override
    public CommonResult insertCustomerInventory(CustomerInventory customerInventory) {
        customerInventory.setCreateBy(SecurityUtils.getUsername());
        customerInventory.setCreateTime(LocalDateTime.now());
        int insert = customerInventoryMapper.insert(customerInventory);
        if (insert > 0) {
            return CommonResult.success();
        }
        return CommonResult.failed();
    }
    @Override
    public CommonResult updateCustomerInventory(CustomerInventory customerInventory) {
        customerInventory.setUpdateBy(SecurityUtils.getUsername());
        customerInventory.setUpdateTime(LocalDateTime.now());
        int insert = customerInventoryMapper.updateById(customerInventory);
        if (insert > 0) {
            return CommonResult.success();
        }
        return CommonResult.failed();
    }
    @Override
    public CommonResult deletedCustomerInventory(Integer customerId) {
        CustomerInventory customerInventory = new CustomerInventory();
        customerInventory.setId(customerId);
        customerInventory.setUpdateBy(SecurityUtils.getUsername());
        customerInventory.setUpdateTime(LocalDateTime.now());
        customerInventory.setDelFlag(2);
        int insert = customerInventoryMapper.updateById(customerInventory);
        if (insert > 0) {
            return CommonResult.success();
        }
        return CommonResult.failed();
    }
}
multi-system/src/main/java/com/gkhy/exam/system/service/impl/CustomerRecordServiceImpl.java
New file
@@ -0,0 +1,100 @@
package com.gkhy.exam.system.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gkhy.exam.common.api.CommonPage;
import com.gkhy.exam.common.api.CommonResult;
import com.gkhy.exam.common.exception.ApiException;
import com.gkhy.exam.common.utils.PageUtils;
import com.gkhy.exam.common.utils.SecurityUtils;
import com.gkhy.exam.system.domain.CustomerRecord;
import com.gkhy.exam.system.domain.CustomerRecordNeed;
import com.gkhy.exam.system.mapper.CustomerRecordMapper;
import com.gkhy.exam.system.mapper.CustomerRecordNeedMapper;
import com.gkhy.exam.system.service.CustomerRecordService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.List;
@Service
public class CustomerRecordServiceImpl extends ServiceImpl<CustomerRecordMapper, CustomerRecord> implements CustomerRecordService {
    @Autowired
    private CustomerRecordMapper customerRecordMapper;
    @Autowired
    private CustomerRecordNeedMapper customerRecordNeedMapper;
    @Override
    public CommonPage selectCustomerRecordList(CustomerRecord customerRecord) {
        if (!SecurityUtils.adminUser()){
            if (customerRecord.getCompanyId()==null){
                throw new ApiException("非管理员操作,查询条件不可为空");
            }
        }
        PageUtils.startPage();
        List<CustomerRecord> customerRecords = customerRecordMapper.selectRecordList(customerRecord);
        for (CustomerRecord record : customerRecords) {
            List<CustomerRecordNeed> customerRecordNeeds = customerRecordNeedMapper.selectByRecordId(record.getId());
            record.setCustomerRecordNeeds(customerRecordNeeds);
        }
        return CommonPage.restPage(customerRecords);
    }
    @Override
    @Transactional
    public CommonResult insertCustomerRecord(CustomerRecord customerRecord) {
        customerRecord.setCreateBy(SecurityUtils.getUsername());
        customerRecord.setCreateTime(LocalDateTime.now());
        int insert = customerRecordMapper.insert(customerRecord);
        if (insert>0){
            List<CustomerRecordNeed> customerRecordNeeds = customerRecord.getCustomerRecordNeeds();
            for (CustomerRecordNeed customerRecordNeed : customerRecordNeeds) {
                customerRecordNeed.setRecordId(customerRecord.getId());
            }
            Integer i = customerRecordNeedMapper.insertNeeds(customerRecordNeeds);
            if (i>0){
                return CommonResult.success();
            }else {
                return CommonResult.failed();
            }
        }
        return CommonResult.failed();
    }
    @Override
    @Transactional
    public CommonResult updateCustomerRecord(CustomerRecord customerRecord) {
        customerRecord.setUpdateBy(SecurityUtils.getUsername());
        customerRecord.setUpdateTime(LocalDateTime.now());
        int insert = customerRecordMapper.updateById(customerRecord);
        if (insert>0){
            customerRecordNeedMapper.deleteByRecordId(customerRecord.getId());
            Integer i = customerRecordNeedMapper.insertNeeds(customerRecord.getCustomerRecordNeeds());
            if (i>0){
                return CommonResult.success();
            }else {
                return CommonResult.failed();
            }
        }
        return CommonResult.failed();
    }
    @Override
    public CommonResult deletedCustomerRecord(Integer recordId) {
        CustomerRecord customerRecord = new CustomerRecord();
        customerRecord.setId(recordId);
        customerRecord.setUpdateBy(SecurityUtils.getUsername());
        customerRecord.setUpdateTime(LocalDateTime.now());
        customerRecord.setDelFlag(2);
        int i = customerRecordMapper.updateById(customerRecord);
        if (i>0){
            return CommonResult.success();
        }else {
            return CommonResult.failed();
        }
    }
}
multi-system/src/main/java/com/gkhy/exam/system/service/impl/MonthlyInspectionServiceImpl.java
New file
@@ -0,0 +1,90 @@
package com.gkhy.exam.system.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gkhy.exam.common.api.CommonPage;
import com.gkhy.exam.common.api.CommonResult;
import com.gkhy.exam.common.exception.ApiException;
import com.gkhy.exam.common.utils.PageUtils;
import com.gkhy.exam.common.utils.SecurityUtils;
import com.gkhy.exam.system.domain.MonthlyInspection;
import com.gkhy.exam.system.domain.MonthlyInspectionMess;
import com.gkhy.exam.system.mapper.MonthlyInspectionMapper;
import com.gkhy.exam.system.mapper.MonthlyInspectionMessMapper;
import com.gkhy.exam.system.service.MonthlyInspectionService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.List;
@Service
public class MonthlyInspectionServiceImpl extends ServiceImpl<MonthlyInspectionMapper, MonthlyInspection> implements MonthlyInspectionService {
    @Autowired
    private MonthlyInspectionMapper monthlyInspectionMapper;
    @Autowired
    private MonthlyInspectionMessMapper monthlyInspectionMessMapper;
    @Override
    public CommonPage selectMonthlyInspectionList(MonthlyInspection monthlyInspection) {
        if (!SecurityUtils.adminUser()){
            if (monthlyInspection.getCompanyId()==null){
                throw new ApiException("非管理员操作,查询条件不可为空");
            }
        }
        PageUtils.startPage();
        List<MonthlyInspection> monthlyInspections = monthlyInspectionMapper.selectInspectionList(monthlyInspection);
        for (MonthlyInspection inspection : monthlyInspections) {
            List<MonthlyInspectionMess> monthlyInspectionMesses = monthlyInspectionMessMapper.selectByMonthlyId(inspection.getId());
            inspection.setInspectionMesses(monthlyInspectionMesses);
        }
        return CommonPage.restPage(monthlyInspections);
    }
    @Override
    @Transactional
    public CommonResult insertMonthlyInspection(MonthlyInspection monthlyInspection) {
        monthlyInspection.setCreateBy(SecurityUtils.getUsername());
        monthlyInspection.setCreateTime(LocalDateTime.now());
        int insert = monthlyInspectionMapper.insert(monthlyInspection);
        if (insert>0){
            List<MonthlyInspectionMess> inspectionMesses = monthlyInspection.getInspectionMesses();
            for (MonthlyInspectionMess inspectionMess : inspectionMesses) {
                inspectionMess.setMonthlyId(monthlyInspection.getId());
            }
            monthlyInspectionMessMapper.insertMonthlys(inspectionMesses);
        }
        return CommonResult.success();
    }
    @Override
    @Transactional
    public CommonResult updateMonthlyInspection(MonthlyInspection monthlyInspection) {
        monthlyInspection.setUpdateBy(SecurityUtils.getUsername());
        monthlyInspection.setUpdateTime(LocalDateTime.now());
        int i = monthlyInspectionMapper.updateById(monthlyInspection);
        if (i>0){
            List<MonthlyInspectionMess> inspectionMesses = monthlyInspection.getInspectionMesses();
            monthlyInspectionMessMapper.deleteByMonthlyId(monthlyInspection.getId());
            monthlyInspectionMessMapper.insertMonthlys(inspectionMesses);
        }
        return CommonResult.success();
    }
    @Override
    public CommonResult deletedMonthlyInspection(Integer monthlyId) {
        MonthlyInspection monthlyInspection = new MonthlyInspection();
        monthlyInspection.setId(monthlyId);
        monthlyInspection.setUpdateBy(SecurityUtils.getUsername());
        monthlyInspection.setUpdateTime(LocalDateTime.now());
        monthlyInspection.setDelFlag(2);
        int i = monthlyInspectionMapper.updateById(monthlyInspection);
        if (i>0){
            return CommonResult.success();
        }
        return CommonResult.failed();
    }
}
multi-system/src/main/java/com/gkhy/exam/system/service/impl/PostSalesServiceImpl.java
New file
@@ -0,0 +1,72 @@
package com.gkhy.exam.system.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gkhy.exam.common.api.CommonPage;
import com.gkhy.exam.common.api.CommonResult;
import com.gkhy.exam.common.exception.ApiException;
import com.gkhy.exam.common.utils.PageUtils;
import com.gkhy.exam.common.utils.SecurityUtils;
import com.gkhy.exam.system.domain.PostSales;
import com.gkhy.exam.system.mapper.PostSalesMapper;
import com.gkhy.exam.system.service.PostSalesService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.List;
@Service
public class PostSalesServiceImpl extends ServiceImpl<PostSalesMapper, PostSales> implements PostSalesService {
    @Autowired
    private PostSalesMapper postSalesMapper;
    @Override
    public CommonPage selectPostSalesList(PostSales postSales) {
        if (!SecurityUtils.adminUser()){
            if (postSales.getCompanyId()==null){
                throw new ApiException("非管理员操作,查询条件不可为空");
            }
        }
        PageUtils.startPage();
        List<PostSales> postSales1 = postSalesMapper.selectSalesList(postSales);
        return CommonPage.restPage(postSales1);
    }
    @Override
    public CommonResult insertPostSales(PostSales postSales) {
        postSales.setCreateBy(SecurityUtils.getUsername());
        postSales.setCreateTime(LocalDateTime.now());
        int insert = postSalesMapper.insert(postSales);
        if (insert>0){
            return CommonResult.success();
        }
        return CommonResult.failed();
    }
    @Override
    public CommonResult updatePostSales(PostSales postSales) {
        postSales.setUpdateBy(SecurityUtils.getUsername());
        postSales.setUpdateTime(LocalDateTime.now());
        int update = postSalesMapper.updateById(postSales);
        if (update>0){
            return CommonResult.success();
        }
        return CommonResult.failed();
    }
    @Override
    public CommonResult deletedPostSales(Integer salesId) {
        PostSales postSales = new PostSales();
        postSales.setId(salesId);
        postSales.setUpdateBy(SecurityUtils.getUsername());
        postSales.setUpdateTime(LocalDateTime.now());
        postSales.setDelFlag(2);
        int update = postSalesMapper.updateById(postSales);
        if (update>0){
            return CommonResult.success();
        }
        return CommonResult.failed();
    }
}
multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysRoleServiceImpl.java
@@ -203,7 +203,7 @@
            {
                SysRole role = new SysRole();
                role.setRoleId(roleId);
                List<SysRole> roles = (List<SysRole>) SpringUtils.getAopProxy(this).selectRoleList(role);
                List<SysRole> roles = (List<SysRole>) SpringUtils.getAopProxy(this).selectRoleList(role).getList();
                if (ObjectUtil.isEmpty(roles))
                {
                    throw new ApiException("没有权限访问角色数据!");
multi-system/src/main/resources/mapper/system/ContractLedgerMapper.xml
New file
@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.gkhy.exam.system.mapper.ContractLedgerMapper">
    <select id="selectLedgerList" resultType="com.gkhy.exam.system.domain.ContractLedger">
        SELECT
            cl.`id`,
            cl.`company_id`,
            sc.`name` AS company_name,
            cl.`number`,
            cl.`contract_name`,
            cl.`sign_date`,
            cl.`del_flag`,
            cl.`create_by`,
            cl.`create_time`,
            cl.`update_by`,
            cl.`update_time`
        FROM
            `contract_ledger` cl
                LEFT JOIN sys_company sc ON cl.company_id = sc.id
        WHERE
            cl.del_flag = 1
            <if test="companyId!=null">
                and cl.company_id = #{companyId}
            </if>
        ORDER BY
            cl.create_time DESC
    </select>
</mapper>
multi-system/src/main/resources/mapper/system/ContractReviewMapper.xml
New file
@@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.gkhy.exam.system.mapper.ContractReviewMapper">
    <select id="selectReviewList" resultType="com.gkhy.exam.system.domain.ContractReview">
        SELECT
            cr.`id`,
            cr.`company_id`,
            cr.`type`,
            cr.`contract_id`,
            cl.contract_name,
            cl.number,
            cl.sign_date,
            cr.`record_time`,
            cr.`registrant_id`,
            su1.`name` as registrant_name,
            cr.`customer_name`,
            cr.`customer_user`,
            cr.`costomer_phone`,
            cr.`delivery_time`,
            cr.`delivery_addr`,
            cr.`delivery_type`,
            cr.`pay_type`,
            cr.`product_mess`,
            cr.`risk_mess`,
            cr.`suggest`,
            cr.`legal_person`,
            su2.`name` as legal_name,
            cr.`legal_time`,
            cr.`del_flag`,
            cr.`create_by`,
            cr.`create_time`,
            cr.`update_by`,
            cr.`update_time`
        FROM
            `contract_review` cr
                LEFT JOIN sys_company sc ON cr.company_id = sc.id
                LEFT JOIN sys_user su1 ON cr.registrant_id = su1.id
                LEFT JOIN sys_user su2 ON cr.legal_person = su2.id
                LEFT JOIN contract_ledger cl ON cr.contract_id = cl.id
        WHERE
            cr.del_flag = 1
        <if test="companyId!=null">
            and cr.company_id =#{companyId}
        </if>
        ORDER BY
            cr.create_time DESC
    </select>
    <select id="selectByContractId" resultType="java.lang.Integer">
        select count(*) from contract_review where contract_id =#{contractId} and type = 1
    </select>
</mapper>
multi-system/src/main/resources/mapper/system/ContractReviewMessMapper.xml
New file
@@ -0,0 +1,59 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.gkhy.exam.system.mapper.ContractReviewMessMapper">
    <insert id="insertMesses" keyProperty="id" useGeneratedKeys="true">
        INSERT INTO `contract_review_mess` (`review_id`, `dept_name` )
        VALUES
            <foreach collection="reviewMesses" item="item" separator=",">
                (#{item.reviewId},
                #{item.deptName})
            </foreach>
    </insert>
    <insert id="insertMessbs">
        INSERT INTO `contract_review_mess_b` (`mess_id`, `review_mess`,`review_opinion`,`review_sign` )
        VALUES
        <foreach collection="contractReviewMessbs" item="item" separator=",">
            (#{item.messId},
            #{item.reviewMess},
            #{item.reviewOpinion},
            #{item.reviewSign})
        </foreach>
    </insert>
    <delete id="deleteByReviewId">
        delete from contract_review_mess where review_id = #{id}
    </delete>
    <resultMap id="ContractReviewMessResult" type="com.gkhy.exam.system.domain.ContractReviewMess">
        <id property="id" column="id"/>
        <result property="reviewId" column="review_id"/>
        <result property="deptName" column="dept_name"/>
        <collection property="contractReviewMessbs" column="id" select="selectByMessId" fetchType="lazy"/>
    </resultMap>
    <select id="selectByReviewId" resultMap="ContractReviewMessResult">
        SELECT
            `id`,
            `review_id`,
            `dept_name`
        FROM
            `contract_review_mess`
        where review_id = #{id}
    </select>
    <select id="selectByMessId" resultType="com.gkhy.exam.system.domain.ContractReviewMessb">
        SELECT
            `id`,
            `mess_id`,
            `review_mess`,
            `review_opinion`,
            `review_sign`
        FROM
            `contract_review_mess_b`
        where mess_id = #{id}
    </select>
</mapper>
multi-system/src/main/resources/mapper/system/ContractReviewRequireMapper.xml
New file
@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.gkhy.exam.system.mapper.ContractReviewRequireMapper">
    <insert id="insertRequires">
        INSERT INTO `contract_review_require` (`review_id`, `product_name`, `specification`, `amount`, `price`, `remark` )
        VALUES
            <foreach collection="requires" separator="," item="item">
                (#{item.reviewId},
                #{item.productName},
                #{item.specification},
                #{item.amount},
                #{item.price},
                #{item.remark})
            </foreach>
    </insert>
    <delete id="deleteByReviewId">
        delete from contract_review_require where  review_id = #{id}
    </delete>
    <select id="selectByReviewId" resultType="com.gkhy.exam.system.domain.ContractReviewRequire">
        SELECT
            `id`,
            `review_id`,
            `product_name`,
            `specification`,
            `amount`,
            `price`,
            `remark`
        FROM
            `contract_review_require`
        where review_id =#{id}
    </select>
</mapper>
multi-system/src/main/resources/mapper/system/CustomerCommunicationMapper.xml
New file
@@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.gkhy.exam.system.mapper.CustomerCommunicationMapper">
    <select id="selectCommunicationList" resultType="com.gkhy.exam.system.domain.CustomerCommunication">
        SELECT
            cc.`id`,
            cc.`company_id`,
            sc.`name` as company_name,
            cc.`record_name`,
            cc.`number`,
            cc.`client`,
            cc.`phone`,
            cc.`com_time`,
            cc.`com_addr`,
            cc.`com_method`,
            cc.`method_mess`,
            cc.`com_type`,
            cc.`type_mess`,
            cc.`detail_mess`,
            cc.`detail_user`,
            su1.`name` as detail_name,
            cc.`detail_time`,
            cc.`dispose_mess`,
            cc.`dispose_user`,
            su2.`name` as dispose_name,
            cc.`dispose_time`,
            cc.`leader_mess`,
            cc.`leader_user`,
            su3.`name` as leader_name,
            cc.`leader_time`,
            cc.`del_flag`,
            cc.`create_by`,
            cc.`create_time`,
            cc.`update_by`,
            cc.`update_time`
        FROM
            `customer_communication` cc
                LEFT JOIN sys_company sc on cc.company_id= sc.id
                LEFT JOIN sys_user su1 on cc.detail_user = su1.id
                LEFT JOIN sys_user su2 on cc.dispose_user = su2.id
                LEFT JOIN sys_user su3 on cc.leader_user = su3.id
        WHERE cc.del_flag = 1
        <if test="companyId!=null">
            and cc.company_id = #{companyId}
        </if>
        ORDER BY
            cc.create_time DESC
    </select>
</mapper>
multi-system/src/main/resources/mapper/system/CustomerInventoryMapper.xml
New file
@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.gkhy.exam.system.mapper.CustomerInventoryMapper">
    <select id="selectInventoryList" resultType="com.gkhy.exam.system.domain.CustomerInventory">
        SELECT
            ci.`id`,
            ci.`company_id`,
            sc.`name` as company_name,
            ci.`customer_name`,
            ci.`customer_addr`,
            ci.`person`,
            ci.`phone`,
            ci.`emil`,
            ci.`remark`,
            ci.`del_flag`,
            ci.`create_by`,
            ci.`create_time`,
            ci.`update_by`,
            ci.`update_time`
        FROM
            `customer_inventory` ci
                LEFT JOIN sys_company sc ON ci.company_id = sc.id
        WHERE
            ci.del_flag = 1
        <if test="companyId!=null">
            and ci.company_id = #{companyId}
        </if>
        ORDER BY
            ci.create_time DESC
    </select>
</mapper>
multi-system/src/main/resources/mapper/system/CustomerRecordMapper.xml
New file
@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.gkhy.exam.system.mapper.CustomerRecordMapper">
    <select id="selectRecordList" resultType="com.gkhy.exam.system.domain.CustomerRecord">
        SELECT
            cr.`id`,
            cr.`company_id`,
            sc.`name` AS company_name,
            cr.`record_name`,
            cr.`del_flag`,
            cr.`create_by`,
            cr.`create_time`,
            cr.`update_by`,
            cr.`update_time`
        FROM
            `customer_record` cr
                LEFT JOIN sys_company sc ON cr.company_id = sc.id
        WHERE
            cr.del_flag = 1
            <if test="companyId!=null">
                and cr.company_id = #{companyId}
            </if>
        ORDER BY
            cr.create_time DESC
    </select>
</mapper>
multi-system/src/main/resources/mapper/system/CustomerRecordNeedMapper.xml
New file
@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.gkhy.exam.system.mapper.CustomerRecordNeedMapper">
    <insert id="insertNeeds">
        INSERT INTO
            `customer_record_need`
            (`record_id`, `customer_name`, `customer_need`, `need_source`, `registrant_id`, `dispose_id`, `dispose_mess`, `remark` )
        VALUES
            <foreach collection="customerRecordNeeds" item="item" separator=",">
                ( #{item.recordId}, #{item.customerName}, #{item.customerNeed}, #{item.needSource}, #{item.registrantId}, #{item.disposeId}, #{item.disposeMess}, #{item.remark})
            </foreach>
    </insert>
    <delete id="deleteByRecordId">
        delete from customer_record_need where record_id = #{id}
    </delete>
    <select id="selectByRecordId" resultType="com.gkhy.exam.system.domain.CustomerRecordNeed">
        SELECT
            crn.`id`,
            crn.`record_id`,
            crn.`customer_name`,
            crn.`customer_need`,
            crn.`need_source`,
            crn.`registrant_id`,
            su.`name` as registrant_name,
            crn.`dispose_id`,
            sd.`dept_name` as dispose_name,
            crn.`dispose_mess`,
            crn.`remark`
        FROM
            `customer_record_need` crn
        left join sys_user su on crn.registrant_id = su.id
        left join sys_dept sd on crn.dispose_id = sd.dept_id
        where record_id = #{id}
    </select>
</mapper>
multi-system/src/main/resources/mapper/system/MonthlyInspectionMapper.xml
New file
@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.gkhy.exam.system.mapper.MonthlyInspectionMapper">
    <select id="selectInspectionList" resultType="com.gkhy.exam.system.domain.MonthlyInspection">
        SELECT
            mi.`id`,
            mi.`company_id`,
            sc.`name` AS company_name,
            mi.`record_name`,
            mi.`del_flag`,
            mi.`create_by`,
            mi.`create_time`,
            mi.`update_by`,
            mi.`update_time`
        FROM
            `monthly_inspection` mi
                LEFT JOIN sys_company sc ON mi.company_id = sc.id
        WHERE
            mi.del_flag = 1
        <if test="companyId!=null">
            and mi.company_id =#{companyId}
        </if>
        ORDER BY
            mi.create_time DESC
    </select>
</mapper>
multi-system/src/main/resources/mapper/system/MonthlyInspectionMessMapper.xml
New file
@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.gkhy.exam.system.mapper.MonthlyInspectionMessMapper">
    <insert id="insertMonthlys">
        INSERT INTO `monthly_inspection_mess` ( `monthly_id`, `monthly_time`, `check_user`, `entrench`, `identification`, `place`, `clean`, `safety`, `environment`, `consistency` )
        VALUES
            <foreach collection="inspectionMesses" item="item" separator=",">
                ( #{item.monthlyId} ,
                #{item.monthlyTime},
                #{item.checkUser},
                #{item.entrench},
                #{item.identification},
                #{item.place},
                #{item.clean},
                #{item.safety},
                #{item.environment},
                #{item.consistency})
            </foreach>
    </insert>
    <delete id="deleteByMonthlyId">
        delete from monthly_inspection_mess where monthly_id = #{id}
    </delete>
    <select id="selectByMonthlyId" resultType="com.gkhy.exam.system.domain.MonthlyInspectionMess">
        SELECT
            `id`,
            `monthly_id`,
            `monthly_time`,
            `check_user`,
            `entrench`,
            `identification`,
            `place`,
            `clean`,
            `safety`,
            `environment`,
            `consistency`
        FROM
            `monthly_inspection_mess`
        WHERE monthly_id = #{id}
    </select>
</mapper>
multi-system/src/main/resources/mapper/system/PostSalesMapper.xml
New file
@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.gkhy.exam.system.mapper.PostSalesMapper">
    <select id="selectSalesList" resultType="com.gkhy.exam.system.domain.PostSales">
        SELECT
            ps.`id`,
            ps.`company_id`,
            sc.`name` as company_name,
            ps.`record_name`,
            ps.`number`,
            ps.`client_name`,
            ps.`server_time`,
            ps.`addr`,
            ps.`person`,
            ps.`phone`,
            ps.`server_mess`,
            ps.`suggest`,
            ps.`person_id`,
            su.`name` as person_name,
            ps.`server_phone`,
            ps.`server_evlauate`,
            ps.`opinion`,
            ps.`custom`,
            ps.`del_flag`,
            ps.`create_by`,
            ps.`create_time`,
            ps.`update_by`,
            ps.`update_time`
        FROM
            `post_sales` ps
                LEFT JOIN sys_company sc ON ps.company_id = sc.id
                LEFT JOIN sys_user su ON ps.person_id = su.id
        WHERE
            ps.del_flag = 1
        <if test="companyId!=null">
            and ps.company_id = #{companyId}
        </if>
        ORDER BY
            ps.create_time DESC
    </select>
</mapper>