server/system_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -51,6 +51,7 @@ public static final String SPECIAL_COMPANY_ID ="SPECIAL_COMPANY_ID" ; public static final String YW_DEVICE ="YW_DEVICE" ; public static final String YW_PATROL ="YW_PATROL" ; public static final String YW_CONTRACT_BILL ="YW_CONTRACT_BILL" ; public static final String RESERVATION_TOTAL_NUM ="RESERVATION_TOTAL_NUM" ; public static final String SIGN_IN_PLACE_LAT ="SIGN_IN_PLACE_LAT" ; @@ -213,6 +214,19 @@ public static final int self = -1; } /** * è´¦åç±»å 0ç§èµæ¡æ¬¾ 1ç©ä¸æ¡æ¬¾ 2ç§èµæ¼é 3ç©ä¸æ¼é 4èªå»ºè´¦å */ public interface contractBillType{ int lease = 0; int property= 1; int leaseDeposit = 2; int propertyDeposit =3; int create =4; } /** * ä½ä¸ç±»å 0èªæè½¦å¸è´§ 1èªæè½¦è£ è´§ 2å¤å车å¸è´§ 3å¤åè½¦è£ è´§ 4å¸å ¬å¸å¤å车å¸è´§ */ server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwContractRevenueCloudController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,91 @@ package com.doumee.cloud.admin; import com.doumee.api.BaseController; import com.doumee.config.annotation.CloudRequiredPermission; import com.doumee.core.annotation.excel.ExcelExporter; import com.doumee.core.annotation.pr.PreventRepeat; import com.doumee.core.model.ApiResponse; import com.doumee.core.model.PageWrap; import com.doumee.core.model.PageData; import com.doumee.core.utils.Constants; import com.doumee.dao.business.model.YwContractRevenue; import com.doumee.service.business.YwContractRevenueService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; import java.util.List; /** * @author æ±è¹è¹ * @date 2024/11/25 10:29 */ @Api(tags = "è¿ç»´ååæ¶æ¯æµæ°´") @RestController @RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/business/ywContractRevenue") public class YwContractRevenueCloudController extends BaseController { @Autowired private YwContractRevenueService ywContractRevenueService; @PreventRepeat @ApiOperation("æ°å»º") @PostMapping("/create") @CloudRequiredPermission("business:ywcontractrevenue:create") public ApiResponse create(@RequestBody YwContractRevenue ywContractRevenue) { return ApiResponse.success(ywContractRevenueService.create(ywContractRevenue)); } @ApiOperation("æ ¹æ®IDå é¤") @GetMapping("/delete/{id}") @CloudRequiredPermission("business:ywcontractrevenue:delete") public ApiResponse deleteById(@PathVariable Integer id) { ywContractRevenueService.deleteById(id); return ApiResponse.success(null); } @ApiOperation("æ¹éå é¤") @GetMapping("/delete/batch") @CloudRequiredPermission("business:ywcontractrevenue:delete") public ApiResponse deleteByIdInBatch(@RequestParam String ids) { String [] idArray = ids.split(","); List<Integer> idList = new ArrayList<>(); for (String id : idArray) { idList.add(Integer.valueOf(id)); } ywContractRevenueService.deleteByIdInBatch(idList); return ApiResponse.success(null); } @ApiOperation("æ ¹æ®IDä¿®æ¹") @PostMapping("/updateById") @CloudRequiredPermission("business:ywcontractrevenue:update") public ApiResponse updateById(@RequestBody YwContractRevenue ywContractRevenue) { ywContractRevenueService.updateById(ywContractRevenue); return ApiResponse.success(null); } @ApiOperation("å页æ¥è¯¢") @PostMapping("/page") @CloudRequiredPermission("business:ywcontractrevenue:query") public ApiResponse<PageData<YwContractRevenue>> findPage (@RequestBody PageWrap<YwContractRevenue> pageWrap) { return ApiResponse.success(ywContractRevenueService.findPage(pageWrap)); } @ApiOperation("导åºExcel") @PostMapping("/exportExcel") @CloudRequiredPermission("business:ywcontractrevenue:exportExcel") public void exportExcel (@RequestBody PageWrap<YwContractRevenue> pageWrap, HttpServletResponse response) { ExcelExporter.build(YwContractRevenue.class).export(ywContractRevenueService.findPage(pageWrap).getRecords(), "è¿ç»´ååæ¶æ¯æµæ°´", response); } @ApiOperation("æ ¹æ®IDæ¥è¯¢") @GetMapping("/{id}") @CloudRequiredPermission("business:ywcontractrevenue:query") public ApiResponse findById(@PathVariable Integer id) { return ApiResponse.success(ywContractRevenueService.findById(id)); } } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwContractRevenueMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,14 @@ package com.doumee.dao.business; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.doumee.dao.business.model.YwContractRevenue; import com.github.yulichang.base.MPJBaseMapper; import com.github.yulichang.base.mapper.MPJJoinMapper; /** * @author æ±è¹è¹ * @date 2024/11/25 10:29 */ public interface YwContractRevenueMapper extends MPJBaseMapper<YwContractRevenue> { } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContractBill.java
@@ -28,104 +28,84 @@ @TableId(type = IdType.AUTO) @ApiModelProperty(value = "主é®", example = "1") @ExcelColumn(name="主é®") private Integer id; @ApiModelProperty(value = "å建人ç¼ç ", example = "1") @ExcelColumn(name="å建人ç¼ç ") private Integer creator; @ApiModelProperty(value = "å建æ¶é´") @ExcelColumn(name="å建æ¶é´") private Date createDate; @ApiModelProperty(value = "æ´æ°äººç¼ç ", example = "1") @ExcelColumn(name="æ´æ°äººç¼ç ") private Integer editor; @ApiModelProperty(value = "æ´æ°æ¶é´") @ExcelColumn(name="æ´æ°æ¶é´") private Date editDate; @ApiModelProperty(value = "æ¯å¦å é¤0å¦ 1æ¯", example = "1") @ExcelColumn(name="æ¯å¦å é¤0å¦ 1æ¯") private Integer isdeleted; @ApiModelProperty(value = "夿³¨") @ExcelColumn(name="夿³¨") private String remark; @ApiModelProperty(value = "è´¦ååç§°") @ExcelColumn(name="è´¦ååç§°") private String title; @ApiModelProperty(value = "ç±»å 0ç§èµæ¡æ¬¾ 1ç©ä¸æ¡æ¬¾ 2ç§èµæ¼é 3ç©ä¸æ¼é", example = "1") @ExcelColumn(name="ç±»å 0ç§èµæ¡æ¬¾ 1ç©ä¸æ¡æ¬¾ 2ç§èµæ¼é 3ç©ä¸æ¼é") @ApiModelProperty(value = "è´¦åç¼å·") private String code; @ApiModelProperty(value = "ç±»å 0ç§èµæ¡æ¬¾ 1ç©ä¸æ¡æ¬¾ 2ç§èµæ¼é 3ç©ä¸æ¼é 4èªå»ºè´¦å", example = "1") @ExcelColumn(name="è´¦åæ¥æº",index = 12,width = 6,valueMapping = "0=ååè´¦å;1=ååè´¦å;2=ååè´¦å;3=ååè´¦å;4=èªå»ºè´¦å;") private Integer type; @ApiModelProperty(value = "ç¶æ 0å¼å§ï¼1å ³éï¼", example = "1") @ExcelColumn(name="ç¶æ 0å¼å§ï¼1å ³éï¼") private Integer status; @ApiModelProperty(value = "å¼å§æ¶é´") @ExcelColumn(name="å¼å§æ¶é´") @ExcelColumn(name="计费å¼å§æ¥æ",index = 10,width = 6,dateFormat = "yyyy-MM-dd") private Date startDate; @ApiModelProperty(value = "å®é 仿¬¾æ¥") @ExcelColumn(name="å®é 仿¬¾æ¥") private Date actPayDate; @ApiModelProperty(value = "计å仿¬¾æ¥") @ExcelColumn(name="计å仿¬¾æ¥") private Date planPayDate; @ApiModelProperty(value = "ç»ææ¶é´") @ExcelColumn(name="ç»ææ¶é´") @ExcelColumn(name="è®¡è´¹ç»ææ¥æ",index = 11,width = 6,dateFormat = "yyyy-MM-dd") private Date endDate; @ApiModelProperty(value = "å®é 仿¬¾æ¥") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date actPayDate; @ApiModelProperty(value = "计å仿¬¾æ¥") @ExcelColumn(name="计å仿¬¾æ¥") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date planPayData; @ApiModelProperty(value = "å®é 仿¬¾æ¥") @ExcelColumn(name="å®é 仿¬¾æ¥") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date actPayData; private Date planPayDate; @ApiModelProperty(value = "ååæ¡æ¬¾ç¼ç ï¼å ³èyw_contract_detail)", example = "1") @ExcelColumn(name="ååæ¡æ¬¾ç¼ç ï¼å ³èyw_contract_detail)") private Integer detailId; @ApiModelProperty(value = "ååç¼ç ï¼å ³èyw_contract)", example = "1") @ExcelColumn(name="ååç¼ç ï¼å ³èyw_contract)") private Integer contractId; @ApiModelProperty(value = "æåºç ", example = "1") @ExcelColumn(name="æåºç ") private Integer sortnum; @ApiModelProperty(value = "æ»éé¢", example = "1") @ExcelColumn(name="æ»éé¢") @ApiModelProperty(value = "è´¦åéé¢", example = "1") @ExcelColumn(name="è´¦åéé¢",index = 4,width = 6) private BigDecimal totleFee; @ApiModelProperty(value = "åºæ¶éé¢", example = "1") @ExcelColumn(name="åºæ¶éé¢") @ExcelColumn(name="åºæ¶éé¢",index = 5,width = 6) private BigDecimal receivableFee; @ApiModelProperty(value = "è´¹ç¨ç±»åï¼0=ç§èµè´¹ï¼1=ç©ä¸è´¹ï¼2=æ¼éï¼3=ä¿è¯éï¼4=æ°´çµè´¹ï¼5=æé¡¹è´¹ï¼6=å ¶ä»", example = "1") @ExcelColumn(name="è´¹ç¨ç±»åï¼0=ç§èµè´¹ï¼1=ç©ä¸è´¹ï¼2=æ¼éï¼3=ä¿è¯éï¼4=æ°´çµè´¹ï¼5=æé¡¹è´¹ï¼6=å ¶ä»") @ExcelColumn(name="è´¹ç¨ç±»å",index = 8,width = 6,valueMapping = "0=ç§èµè´¹;1=ç©ä¸è´¹;2=æ¼é;3=ä¿è¯é;4=æ°´çµè´¹;5=æé¡¹è´¹;6=å ¶ä»;") private Integer costType; @ApiModelProperty(value = "è´¦åç±»åï¼0=æ¶æ¬¾ï¼1=仿¬¾", example = "1") @ExcelColumn(name="è´¦åç±»åï¼0=æ¶æ¬¾ï¼1=仿¬¾") private Integer billType; @ApiModelProperty(value = "æå±å ¬å¸", example = "1") @ExcelColumn(name="æå±å ¬å¸") private Integer companyId; @ApiModelProperty(value = "仿¬¾ç¶æï¼0=å¾ æ¶æ¬¾ï¼1=å·²ç»æ¸ ï¼2=é¨åç»æ¸ ï¼3=å¾ ä»æ¬¾ï¼4=å¾ éæ¬¾ï¼5=å·²å ³é") @ExcelColumn(name="仿¬¾ç¶æï¼0=å¾ æ¶æ¬¾ï¼1=å·²ç»æ¸ ï¼2=é¨åç»æ¸ ï¼3=å¾ ä»æ¬¾ï¼4=å¾ éæ¬¾ï¼5=å·²å ³é") @ExcelColumn(name="ç»æ¸ ç¶æ",index = 3,width = 6,valueMapping = "0=å¾ æ¶æ¬¾;1=å·²ç»æ¸ ;2=é¨åç»æ¸ ;3=å¾ ä»æ¬¾;4=å¾ éæ¬¾;5=å·²å ³é;") private Integer payStatus; @ApiModelProperty(value = "客æ·åç§°ï¼ä»æ¬¾æ¹ï¼", example = "1") @ExcelColumn(name="客æ·åç§°",index = 0,width = 10) @TableField(exist = false) private String customerName; @@ -134,8 +114,14 @@ private String companyName; @ApiModelProperty(value = "ååç¼å·", example = "1") @ExcelColumn(name="ååç¼å·",index = 2,width = 10) @TableField(exist = false) private String contractCode; @ApiModelProperty(value = "æ¥¼å®æ¿é´", example = "1") @ExcelColumn(name="æ¥¼å®æ¿é´",index = 1,width = 10) @TableField(exist = false) private String roomPathName; @ApiModelProperty(value = "æ¿é´æ°æ®", example = "1") @TableField(exist = false) @@ -153,14 +139,30 @@ @JsonFormat(pattern = "yyyy-MM-dd") private Date planPayDateEnd; @ApiModelProperty(value = "宿¶éé¢") @TableField(exist = false) @ExcelColumn(name="宿¶éé¢",index = 6,width = 6) private BigDecimal actReceivableFee; @ApiModelProperty(value = "éæ¶éé¢") @TableField(exist = false) @ExcelColumn(name="éæ¶éé¢",index = 7,width = 6) private BigDecimal needReceivableFee; @ApiModelProperty(value = "æ¯å¦é¾æï¼0=å¦ï¼1=æ¯") @TableField(exist = false) @ExcelColumn(name="æ¯å¦é¾æ",index = 9,width = 6,valueMapping = "0=æªé¾æï¼1=已龿") private BigDecimal isOverdue; @ApiModelProperty(value = "éä»¶ä¿¡æ¯", example = "1") @TableField(exist = false) private List<Multifile> multifileList; @ApiModelProperty(value = "éä»¶ä¿¡æ¯", example = "1") @ApiModelProperty(value = "å ³èæ¿é´æ°æ®", example = "1") @TableField(exist = false) private List<YwContractRoom> ywContractRoomList; @ApiModelProperty(value = "æ¶æ¯æµæ°´", example = "1") @TableField(exist = false) private List<YwContractRevenue> ywContractRevenueList; } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContractRevenue.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,100 @@ package com.doumee.dao.business.model; import com.baomidou.mybatisplus.annotation.TableField; import com.doumee.core.annotation.excel.ExcelColumn; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import com.fasterxml.jackson.annotation.JsonFormat; import java.util.Date; import java.math.BigDecimal; /** * è¿ç»´ååæ¶æ¯æµæ°´ * @author æ±è¹è¹ * @date 2024/11/25 10:29 */ @Data @ApiModel("è¿ç»´ååæ¶æ¯æµæ°´") @TableName("`yw_contract_revenue`") public class YwContractRevenue { @TableId(type = IdType.AUTO) @ApiModelProperty(value = "主é®", example = "1") @ExcelColumn(name="主é®") private Integer id; @ApiModelProperty(value = "å建人ç¼ç ", example = "1") @ExcelColumn(name="å建人ç¼ç ") private Integer creator; @ApiModelProperty(value = "å建æ¶é´") @ExcelColumn(name="å建æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd") private Date createDate; @ApiModelProperty(value = "æ´æ°äººç¼ç ", example = "1") @ExcelColumn(name="æ´æ°äººç¼ç ") private Integer editor; @ApiModelProperty(value = "æ´æ°æ¶é´") @ExcelColumn(name="æ´æ°æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd") private Date editDate; @ApiModelProperty(value = "æ¯å¦å é¤0å¦ 1æ¯", example = "1") @ExcelColumn(name="æ¯å¦å é¤0å¦ 1æ¯") private Integer isdeleted; @ApiModelProperty(value = "夿³¨") @ExcelColumn(name="夿³¨") private String remark; @ApiModelProperty(value = "ç¶æ 0=å¼å¯ï¼1=å ³é", example = "1") @ExcelColumn(name="ç¶æ 0=å¼å¯ï¼1=å ³é") private Integer status; @ApiModelProperty(value = "宿¶éé¢", example = "1") @ExcelColumn(name="宿¶éé¢") private BigDecimal actReceivableFee; @ApiModelProperty(value = "å®é 仿¬¾æ¥") @ExcelColumn(name="å®é 仿¬¾æ¥") @JsonFormat(pattern = "yyyy-MM-dd") private Date actPayDate; @ApiModelProperty(value = "仿¬¾ç±»åï¼0=ç°éï¼1=ç½é¶è½¬è´¦ï¼2=POSæºï¼3=æ¯ä»å®ï¼4=微信ï¼5=转账æ¯ç¥¨ï¼6=å ¶ä»", example = "1") @ExcelColumn(name="仿¬¾ç±»åï¼0=ç°éï¼1=ç½é¶è½¬è´¦ï¼2=POSæºï¼3=æ¯ä»å®ï¼4=微信ï¼5=转账æ¯ç¥¨ï¼6=å ¶ä»") private Integer payType; @ApiModelProperty(value = "æå±å ¬å¸ï¼å ³è companyï¼", example = "1") @ExcelColumn(name="æå±å ¬å¸ï¼å ³è companyï¼") private Integer companyId; @ApiModelProperty(value = "æ¶æ¯è´¦æ·ï¼å ³èyw_account)", example = "1") @ExcelColumn(name="æ¶æ¯è´¦æ·ï¼å ³èyw_account)") private Integer accountId; @ApiModelProperty(value = "åå主é®ï¼å ³èyw_contractï¼", example = "1") @ExcelColumn(name="åå主é®ï¼å ³èyw_contractï¼") private Integer contractId; @ApiModelProperty(value = "è´¦å主é®ï¼å ³èyw_contract_billï¼", example = "1") @ExcelColumn(name="è´¦å主é®ï¼å ³èyw_contract_billï¼") private Integer billId; @ApiModelProperty(value = "æ¶æ¯ç±»åï¼0=æ¶å ¥ï¼1=æ¯åº", example = "1") @ExcelColumn(name="æ¶æ¯ç±»åï¼0=æ¶å ¥ï¼1=æ¯åº") private Integer revenueType; @ApiModelProperty(value = "客æ·åç§°") @TableField(exist = false) private String customerNme; } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContractRoom.java
@@ -1,5 +1,6 @@ package com.doumee.dao.business.model; import com.baomidou.mybatisplus.annotation.TableField; import com.doumee.core.annotation.excel.ExcelColumn; import com.doumee.core.model.LoginUserModel; import io.swagger.annotations.ApiModel; @@ -68,4 +69,16 @@ @ExcelColumn(name="æåºç ") private Integer sortnum; @ApiModelProperty(value = "项ç®åç§°") @TableField(exist = false) private String projectName; @ApiModelProperty(value = "楼å®åç§°") @TableField(exist = false) private String buildingName; @ApiModelProperty(value = "楼å±åç§°") @TableField(exist = false) private String floorName; @ApiModelProperty(value = "æ¿é´åç§°") @TableField(exist = false) private String roomName; } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwRoom.java
@@ -115,4 +115,5 @@ @ApiModelProperty(value = "楼å±åç§°") @TableField(exist = false) private String floorName; } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwContractRevenueService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,97 @@ package com.doumee.service.business; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.dao.business.model.YwContractRevenue; import java.util.List; /** * è¿ç»´ååæ¶æ¯æµæ°´Serviceå®ä¹ * @author æ±è¹è¹ * @date 2024/11/25 10:29 */ public interface YwContractRevenueService { /** * å建 * * @param ywContractRevenue å®ä½å¯¹è±¡ * @return Integer */ Integer create(YwContractRevenue ywContractRevenue); /** * 主é®å é¤ * * @param id ä¸»é® */ void deleteById(Integer id); /** * å é¤ * * @param ywContractRevenue å®ä½å¯¹è±¡ */ void delete(YwContractRevenue ywContractRevenue); /** * æ¹é主é®å é¤ * * @param ids 主é®é */ void deleteByIdInBatch(List<Integer> ids); /** * 䏻鮿´æ° * * @param ywContractRevenue å®ä½å¯¹è±¡ */ void updateById(YwContractRevenue ywContractRevenue); /** * æ¹é䏻鮿´æ° * * @param ywContractRevenues å®ä½é */ void updateByIdInBatch(List<YwContractRevenue> ywContractRevenues); /** * 䏻鮿¥è¯¢ * * @param id ä¸»é® * @return YwContractRevenue */ YwContractRevenue findById(Integer id); /** * æ¡ä»¶æ¥è¯¢åæ¡è®°å½ * * @param ywContractRevenue å®ä½å¯¹è±¡ * @return YwContractRevenue */ YwContractRevenue findOne(YwContractRevenue ywContractRevenue); /** * æ¡ä»¶æ¥è¯¢ * * @param ywContractRevenue å®ä½å¯¹è±¡ * @return List<YwContractRevenue> */ List<YwContractRevenue> findList(YwContractRevenue ywContractRevenue); /** * å页æ¥è¯¢ * * @param pageWrap å页对象 * @return PageData<YwContractRevenue> */ PageData<YwContractRevenue> findPage(PageWrap<YwContractRevenue> pageWrap); /** * æ¡ä»¶ç»è®¡ * * @param ywContractRevenue å®ä½å¯¹è±¡ * @return long */ long count(YwContractRevenue ywContractRevenue); } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractBillServiceImpl.java
@@ -1,5 +1,6 @@ package com.doumee.service.business.impl; import com.doumee.biz.system.SystemDictDataBiz; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.exception.BusinessException; import com.doumee.core.model.LoginUserInfo; @@ -8,7 +9,9 @@ import com.doumee.core.utils.Constants; import com.doumee.core.utils.Utils; import com.doumee.dao.business.YwContractBillMapper; import com.doumee.dao.business.YwContractRevenueMapper; import com.doumee.dao.business.YwContractRoomMapper; import com.doumee.dao.business.YwRoomMapper; import com.doumee.dao.business.model.*; import com.doumee.dao.system.MultifileMapper; import com.doumee.dao.system.model.Multifile; @@ -27,6 +30,7 @@ import java.util.Date; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; /** * è¿ç»´ååè´¦åä¿¡æ¯è¡¨Serviceå®ç° @@ -45,12 +49,21 @@ @Autowired private MultifileMapper multifileMapper; @Autowired private YwContractRevenueMapper ywContractRevenueMapper; @Autowired private SystemDictDataBiz systemDictDataBiz; @Override public Integer create(YwContractBill ywContractBill) { if(Objects.isNull(ywContractBill) || Objects.isNull(ywContractBill.getContractId()) || Objects.isNull(ywContractBill.getTotleFee()) || Objects.isNull(ywContractBill.getPlanPayData()) || Objects.isNull(ywContractBill.getPlanPayDate()) || Objects.isNull(ywContractBill.getCostType()) || Objects.isNull(ywContractBill.getBillType()) || Objects.isNull(ywContractBill.getCompanyId()) @@ -65,9 +78,11 @@ ywContractBill.setCreateDate(new Date()); ywContractBill.setCreator(loginUserInfo.getId()); ywContractBill.setIsdeleted(Constants.ZERO); ywContractBill.setType(Constants.contractBillType.create); ywContractBill.setStatus(Constants.ZERO); ywContractBillMapper.insert(ywContractBill); //æ¿æºæ°æ® if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ywContractBill.getYwContractRoomList())){ for (YwContractRoom ywContractRoom:ywContractBill.getYwContractRoomList()) { if(Objects.isNull(ywContractRoom) @@ -79,11 +94,11 @@ ywContractRoom.setIsdeleted(Constants.ZERO); ywContractRoom.setContractId(ywContractBill.getId()); ywContractRoom.setType(Constants.ONE); } ywContractRoomMapper.insert(ywContractBill.getYwContractRoomList()); } //éä»¶æ°æ® if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ywContractBill.getMultifileList())){ for (Multifile multifile:ywContractBill.getMultifileList()) { if(Objects.isNull(multifile) @@ -142,6 +157,60 @@ return ywContractBillMapper.selectById(id); } public YwContractBill getDetail(Integer id) { YwContractBill ywContractBill = ywContractBillMapper.selectJoinOne(YwContractBill.class, new MPJLambdaWrapper<YwContractBill>().selectAll(YwContractBill.class) .select(" ( select ifnull(sum(yw.ACT_RECEIVABLE_FEE),0) from yw_contract_revenue yw where yw.bill_id = t.id and yw.status = 0 and yw.isdeleted = 0 ) as actReceivableFee ") .selectAs(YwContract::getCode,YwContractBill::getContractCode) .selectAs(YwCustomer::getName,YwContractBill::getCustomerName) .leftJoin(YwContract.class,YwContract::getId,YwContractBill::getContractId) .leftJoin(YwCustomer.class,YwCustomer::getId,YwContract::getRenterId) .eq(YwContractBill::getIsdeleted,Constants.ZERO) .eq(YwContractBill::getId,id)); if(Objects.isNull(ywContractBill)){ throw new BusinessException(ResponseStatus.DATA_EMPTY); } //æ¿æºæ°æ® ywContractBill.setYwContractRoomList(ywContractRoomMapper.selectJoinList(YwContractRoom.class,new MPJLambdaWrapper<YwContractRoom>() .selectAll(YwContractRoom.class) .selectAs(YwProject::getName,YwRoom::getProjectName) .selectAs(YwFloor::getName,YwRoom::getFloorName) .selectAs(YwBuilding::getName,YwRoom::getBuildingName) .leftJoin(YwRoom.class,YwRoom::getId,YwContractRoom::getRoomId) .leftJoin(YwFloor.class,YwFloor::getId,YwRoom::getFloor) .leftJoin(YwProject.class,YwProject::getId,YwRoom::getProjectId) .leftJoin(YwBuilding.class,YwBuilding::getId,YwRoom::getBuildingId) .eq(YwContractRoom::getContractId,id) .eq(YwContractRoom::getType,Constants.ONE) )); //æ¶æ¯æç» ywContractBill.setYwContractRevenueList( ywContractRevenueMapper.selectJoinList(YwContractRevenue.class,new MPJLambdaWrapper<YwContractRevenue>() .selectAll(YwContractRevenue.class) .selectAs(YwCustomer::getName,YwContractRevenue::getCustomerNme) .leftJoin(YwContract.class,YwContract::getId,YwContractRevenue::getContractId) .leftJoin(YwCustomer.class,YwCustomer::getId,YwContract::getRenterId) .eq(YwContractRevenue::getBillId,id) ) ); //éä»¶æ°æ® List<Multifile> multifileList = multifileMapper.selectList(new QueryWrapper<Multifile>().lambda() .eq(Multifile::getObjId,id) .eq(Multifile::getObjType,Constants.MultiFile.FN_CONTRACT_BILL_FILE.getKey())); if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifileList)){ String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() +systemDictDataBiz.queryByCode(Constants.FTP,Constants.YW_CONTRACT_BILL).getCode(); for (Multifile multifile:multifileList) { if(StringUtils.isNotBlank(multifile.getFileurl())){ multifile.setFileurlFull(path + multifile.getFileurl()); } } ywContractBill.setMultifileList(multifileList); } return ywContractBill; } @Override public YwContractBill findOne(YwContractBill ywContractBill) { QueryWrapper<YwContractBill> wrapper = new QueryWrapper<>(ywContractBill); @@ -159,11 +228,10 @@ IPage<YwContractBill> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); MPJLambdaWrapper<YwContractBill> queryWrapper = new MPJLambdaWrapper<>(); Utils.MP.blankToNull(pageWrap.getModel()); YwContractBill model = pageWrap.getModel(); ywContractBillMapper.selectJoinPage(page,YwContractBill.class, IPage<YwContractBill> iPage = ywContractBillMapper.selectJoinPage(page,YwContractBill.class, queryWrapper.selectAll(YwContractBill.class) .select(" ( select ifnull(sum(yw.ACT_RECEIVABLE_FEE),0) from yw_contract_revenue yw where yw.bill_id = t.id and yw.status = 0 and yw.isdeleted = 0 ) as actReceivableFee ") .selectAs(YwContract::getCode,YwContractBill::getContractCode) .selectAs(YwCustomer::getName,YwContractBill::getCustomerName) .leftJoin(YwContract.class,YwContract::getId,YwContractBill::getContractId) @@ -177,16 +245,83 @@ YwContractBill::getPayStatus,model.getPayStatus()) .eq(Objects.nonNull(model)&&Objects.nonNull(model.getType()), YwContractBill::getType,model.getType()) .eq(Objects.nonNull(model)&&Objects.nonNull(model.getContractId()), YwContractBill::getContractId,model.getContractId()) .ge(YwContractBill::getPlanPayDate, Utils.Date.getStart(model.getPlanPayDateStart())) .le(YwContractBill::getPlanPayDate, Utils.Date.getEnd(model.getPlanPayDateEnd())) ) ; return PageData.from(ywContractBillMapper.selectPage(page, queryWrapper)); this.dealRoomDetail(iPage.getRecords()); for (YwContractBill ywContractBill:iPage.getRecords()) { //éæ¶éé¢ ywContractBill.setNeedReceivableFee( ywContractBill.getReceivableFee().subtract(ywContractBill.getActReceivableFee()) ); //楼å®åç§° List<YwContractRoom> ywContractRoomList = ywContractBill.getYwContractRoomList(); StringBuilder roomPathName = new StringBuilder(); for (YwContractRoom ywContractRoom:ywContractRoomList) { if(StringUtils.isNotBlank(ywContractRoom.getProjectName())){ roomPathName.append(ywContractRoom.getProjectName()); } if(StringUtils.isNotBlank(ywContractRoom.getBuildingName())){ roomPathName.append(ywContractRoom.getBuildingName()); } if(StringUtils.isNotBlank(ywContractRoom.getFloorName())){ roomPathName.append(ywContractRoom.getFloorName()); } if(StringUtils.isNotBlank(ywContractRoom.getRoomName())){ roomPathName.append(ywContractRoom.getRoomName()); } if(StringUtils.isNotBlank(roomPathName)){ roomPathName.append(";"); } } ywContractBill.setRoomPathName(roomPathName.toString()); } return PageData.from(iPage); } public void dealRoomDetail(List<YwContractBill> ywContractBillList){ //æ¥è¯¢è´¦åä¸çæ¥¼å®æ°æ® if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ywContractBillList)){ //è·åæææ°æ® List<Integer> billIdList = ywContractBillList.stream().map(i->i.getId()).collect(Collectors.toList()); if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(billIdList)){ List<YwContractRoom> ywContractRoomList = ywContractRoomMapper.selectJoinList(YwContractRoom.class,new MPJLambdaWrapper<YwContractRoom>() .selectAll(YwContractRoom.class) .selectAs(YwProject::getName,YwRoom::getProjectName) .selectAs(YwFloor::getName,YwRoom::getFloorName) .selectAs(YwBuilding::getName,YwRoom::getBuildingName) .selectAs(YwRoom::getName,YwContractRoom::getRoomName) .leftJoin(YwRoom.class,YwRoom::getId,YwContractRoom::getRoomId) .leftJoin(YwFloor.class,YwFloor::getId,YwRoom::getFloor) .leftJoin(YwProject.class,YwProject::getId,YwRoom::getProjectId) .leftJoin(YwBuilding.class,YwBuilding::getId,YwRoom::getBuildingId) .in(YwContractRoom::getContractId,billIdList) .eq(YwContractRoom::getType,Constants.ONE) ); if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ywContractRoomList)){ for (YwContractBill ywContractBill:ywContractBillList) { ywContractBill.setYwContractRoomList( ywContractRoomList.stream().filter(i->Constants.equalsInteger(i.getContractId(),ywContractBill.getId())).collect(Collectors.toList()) ); } } } } } @Override public long count(YwContractBill ywContractBill) { QueryWrapper<YwContractBill> wrapper = new QueryWrapper<>(ywContractBill); return ywContractBillMapper.selectCount(wrapper); } } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractRevenueServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,149 @@ package com.doumee.service.business.impl; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Utils; import com.doumee.dao.business.YwContractRevenueMapper; import com.doumee.dao.business.model.YwContractRevenue; import com.doumee.service.business.YwContractRevenueService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.util.List; /** * è¿ç»´ååæ¶æ¯æµæ°´Serviceå®ç° * @author æ±è¹è¹ * @date 2024/11/25 10:29 */ @Service public class YwContractRevenueServiceImpl implements YwContractRevenueService { @Autowired private YwContractRevenueMapper ywContractRevenueMapper; @Override public Integer create(YwContractRevenue ywContractRevenue) { ywContractRevenueMapper.insert(ywContractRevenue); return ywContractRevenue.getId(); } @Override public void deleteById(Integer id) { ywContractRevenueMapper.deleteById(id); } @Override public void delete(YwContractRevenue ywContractRevenue) { UpdateWrapper<YwContractRevenue> deleteWrapper = new UpdateWrapper<>(ywContractRevenue); ywContractRevenueMapper.delete(deleteWrapper); } @Override public void deleteByIdInBatch(List<Integer> ids) { if (CollectionUtils.isEmpty(ids)) { return; } ywContractRevenueMapper.deleteBatchIds(ids); } @Override public void updateById(YwContractRevenue ywContractRevenue) { ywContractRevenueMapper.updateById(ywContractRevenue); } @Override public void updateByIdInBatch(List<YwContractRevenue> ywContractRevenues) { if (CollectionUtils.isEmpty(ywContractRevenues)) { return; } for (YwContractRevenue ywContractRevenue: ywContractRevenues) { this.updateById(ywContractRevenue); } } @Override public YwContractRevenue findById(Integer id) { return ywContractRevenueMapper.selectById(id); } @Override public YwContractRevenue findOne(YwContractRevenue ywContractRevenue) { QueryWrapper<YwContractRevenue> wrapper = new QueryWrapper<>(ywContractRevenue); return ywContractRevenueMapper.selectOne(wrapper); } @Override public List<YwContractRevenue> findList(YwContractRevenue ywContractRevenue) { QueryWrapper<YwContractRevenue> wrapper = new QueryWrapper<>(ywContractRevenue); return ywContractRevenueMapper.selectList(wrapper); } @Override public PageData<YwContractRevenue> findPage(PageWrap<YwContractRevenue> pageWrap) { IPage<YwContractRevenue> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); QueryWrapper<YwContractRevenue> queryWrapper = new QueryWrapper<>(); Utils.MP.blankToNull(pageWrap.getModel()); if (pageWrap.getModel().getId() != null) { queryWrapper.lambda().eq(YwContractRevenue::getId, pageWrap.getModel().getId()); } if (pageWrap.getModel().getCreator() != null) { queryWrapper.lambda().eq(YwContractRevenue::getCreator, pageWrap.getModel().getCreator()); } if (pageWrap.getModel().getCreateDate() != null) { queryWrapper.lambda().ge(YwContractRevenue::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); queryWrapper.lambda().le(YwContractRevenue::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); } if (pageWrap.getModel().getEditor() != null) { queryWrapper.lambda().eq(YwContractRevenue::getEditor, pageWrap.getModel().getEditor()); } if (pageWrap.getModel().getEditDate() != null) { queryWrapper.lambda().ge(YwContractRevenue::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); queryWrapper.lambda().le(YwContractRevenue::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); } if (pageWrap.getModel().getIsdeleted() != null) { queryWrapper.lambda().eq(YwContractRevenue::getIsdeleted, pageWrap.getModel().getIsdeleted()); } if (pageWrap.getModel().getRemark() != null) { queryWrapper.lambda().eq(YwContractRevenue::getRemark, pageWrap.getModel().getRemark()); } if (pageWrap.getModel().getStatus() != null) { queryWrapper.lambda().eq(YwContractRevenue::getStatus, pageWrap.getModel().getStatus()); } if (pageWrap.getModel().getActReceivableFee() != null) { queryWrapper.lambda().eq(YwContractRevenue::getActReceivableFee, pageWrap.getModel().getActReceivableFee()); } if (pageWrap.getModel().getActPayDate() != null) { queryWrapper.lambda().ge(YwContractRevenue::getActPayDate, Utils.Date.getStart(pageWrap.getModel().getActPayDate())); queryWrapper.lambda().le(YwContractRevenue::getActPayDate, Utils.Date.getEnd(pageWrap.getModel().getActPayDate())); } if (pageWrap.getModel().getPayType() != null) { queryWrapper.lambda().eq(YwContractRevenue::getPayType, pageWrap.getModel().getPayType()); } if (pageWrap.getModel().getCompanyId() != null) { queryWrapper.lambda().eq(YwContractRevenue::getCompanyId, pageWrap.getModel().getCompanyId()); } if (pageWrap.getModel().getAccountId() != null) { queryWrapper.lambda().eq(YwContractRevenue::getAccountId, pageWrap.getModel().getAccountId()); } for(PageWrap.SortData sortData: pageWrap.getSorts()) { if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { queryWrapper.orderByDesc(sortData.getProperty()); } else { queryWrapper.orderByAsc(sortData.getProperty()); } } return PageData.from(ywContractRevenueMapper.selectPage(page, queryWrapper)); } @Override public long count(YwContractRevenue ywContractRevenue) { QueryWrapper<YwContractRevenue> wrapper = new QueryWrapper<>(ywContractRevenue); return ywContractRevenueMapper.selectCount(wrapper); } }