doc/add.sql
@@ -130,3 +130,41 @@ ALTER TABLE storage_blob MODIFY bucket_filename VARCHAR(255) COMMENT 'å卿¡¶ä¸æä»¶å'; ALTER TABLE storage_blob MODIFY bucket_name VARCHAR(255) COMMENT 'å卿¡¶å'; ALTER TABLE storage_blob MODIFY byte_size BIGINT COMMENT 'èµæºå°ºå¯¸(åè)'; DROP TABLE IF EXISTS bid_winning_ledger; CREATE TABLE bid_winning_ledger ( id BIGINT AUTO_INCREMENT PRIMARY KEY, status VARCHAR(100) NULL COMMENT 'ç¶æ', province VARCHAR(100) NULL COMMENT 'ç份', city VARCHAR(100) NULL COMMENT 'åå¸', customer_name VARCHAR(255) NOT NULL COMMENT '客æ·åç§°', contract_amount DECIMAL(18, 2) NULL COMMENT 'ååéé¢', bid_bond DECIMAL(18, 2) NULL COMMENT 'ææ ä¿è¯é', winning_service_fee DECIMAL(18, 2) NULL COMMENT '䏿 æå¡è´¹', industry VARCHAR(100) NULL COMMENT 'è¡ä¸', business_source VARCHAR(100) NULL COMMENT 'åæºæ¥æº', remark VARCHAR(1000) NULL COMMENT '夿³¨', entry_person VARCHAR(100) NULL COMMENT 'å½å ¥äºº', entry_date DATETIME NULL COMMENT 'å½å ¥æ¥æ', create_time DATETIME NULL COMMENT 'å建æ¶é´', create_user INT NULL COMMENT 'åå»ºç¨æ·', update_time DATETIME NULL COMMENT 'æ´æ°æ¶é´', update_user INT NULL COMMENT 'æ´æ°ç¨æ·', tenant_id BIGINT NULL COMMENT 'ç§æ·id' ) COMMENT = '䏿 å°è´¦'; DROP TABLE IF EXISTS bid_winning_ledger_record; CREATE TABLE bid_winning_ledger_record ( id BIGINT AUTO_INCREMENT PRIMARY KEY, bid_winning_ledger_id BIGINT NOT NULL COMMENT '䏿 å°è´¦id', status VARCHAR(100) NULL COMMENT 'ç¶æ', description VARCHAR(2000) NULL COMMENT 'è®°å½å 容', entry_person VARCHAR(100) NULL COMMENT 'å½å ¥äºº', entry_date DATETIME NULL COMMENT 'å½å ¥æ¥æ', create_time DATETIME NULL COMMENT 'å建æ¶é´', create_user INT NULL COMMENT 'åå»ºç¨æ·', update_time DATETIME NULL COMMENT 'æ´æ°æ¶é´', update_user INT NULL COMMENT 'æ´æ°ç¨æ·', tenant_id BIGINT NULL COMMENT 'ç§æ·id' ) COMMENT = '䏿 å°è´¦è®°å½'; src/main/java/com/ruoyi/basic/pojo/Customer.java
@@ -26,6 +26,10 @@ @TableId(type = IdType.AUTO) private Long id; @ApiModelProperty(value = "客æ·ç±»å 1-æ®éå®¢æ· 2-ä¸å°å®¢æ·") @Excel(name = "客æ·ç±»å 1-æ®éå®¢æ· 2-ä¸å°å®¢æ·", readConverterExp = "1=æ®é客æ·,2=ä¸å°å®¢æ·") private Integer customerType; /** * 客æ·åç§° */ src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java
@@ -175,6 +175,11 @@ public List<Map<String, Object>> customerList(Customer customer) { LambdaQueryWrapper<Customer> queryWrapper = Wrappers.lambdaQuery(); queryWrapper.select(Customer::getId, Customer::getCustomerName, Customer::getTaxpayerIdentificationNumber); if(customer != null){ if(customer.getCustomerType() != null){ queryWrapper.eq(Customer::getCustomerType, customer.getCustomerType()); } } // è·ååå§æ¥è¯¢ç»æ List<Map<String, Object>> result = customerMapper.selectMaps(queryWrapper); src/main/java/com/ruoyi/common/enums/FileNameType.java
@@ -1,17 +1,17 @@ package com.ruoyi.common.enums; import com.ruoyi.approve.pojo.ApproveProcess; public enum FileNameType { SALE(1), // éå® PURCHASE(2), // éè´ INVOICE(3), //å票 SALE(1), PURCHASE(2), INVOICE(3), PURCHASELEDGER(4), MEASURING(5), //计éå¨å ·å°è´¦ MEASURINGRecord(6),//计éå¨å ·å°è´¦è®°å½ ApproveNode(7), //åå审æ¹èç¹å®¡æ ¸ ApproveProcess(8); //åå审æ¹ä¸»æ°æ® MEASURING(5), MEASURINGRecord(6), ApproveNode(7), ApproveProcess(8), BUSINESS_OPPORTUNITY(9), BID_WINNING_LEDGER(10); private final int value; @@ -21,10 +21,8 @@ public int getValue() { return value; } // æ ¹æ®æ´æ°å¼è·å对åºçæä¸¾å¼ public static FileNameType fromValue(int value) { for (FileNameType type : FileNameType.values()) { if (type.getValue() == value) { @@ -34,4 +32,3 @@ throw new IllegalArgumentException("Invalid value: " + value); } } src/main/java/com/ruoyi/sales/controller/BidWinningLedgerController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,83 @@ package com.ruoyi.sales.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.framework.aspectj.lang.annotation.Log; import com.ruoyi.framework.aspectj.lang.enums.BusinessType; import com.ruoyi.framework.web.controller.BaseController; import com.ruoyi.framework.web.domain.AjaxResult; import com.ruoyi.sales.pojo.BidWinningLedger; import com.ruoyi.sales.pojo.BidWinningLedgerRecord; import com.ruoyi.sales.service.BidWinningLedgerService; import io.jsonwebtoken.lang.Collections; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; import java.util.List; @RestController @RequiredArgsConstructor @RequestMapping("/sales/bidWinningLedger") @Api(tags = "䏿 å°è´¦") public class BidWinningLedgerController extends BaseController { private final BidWinningLedgerService bidWinningLedgerService; @GetMapping("/getProvinceList") @ApiOperation("è·åç级å表") public AjaxResult getProvinceList() { return AjaxResult.success(bidWinningLedgerService.getProvinceList()); } @GetMapping("/getCityList") @ApiOperation("æ ¹æ®ç份è·ååå¸å表") public AjaxResult getCityList(@RequestParam("provinceId") Integer provinceId) { return AjaxResult.success(bidWinningLedgerService.getCityList(provinceId)); } @GetMapping("/listPage") @ApiOperation("䏿 å°è´¦å页") public AjaxResult listPage(Page page, BidWinningLedger bidWinningLedger) { IPage<BidWinningLedger> result = bidWinningLedgerService.listPage(page, bidWinningLedger); return AjaxResult.success(result); } @GetMapping("/detail") @ApiOperation("䏿 å°è´¦è¯¦æ ") public AjaxResult detail(@RequestParam("id") Long id) { return AjaxResult.success(bidWinningLedgerService.getDetail(id)); } @PostMapping("/add") @ApiOperation("æ°å¢ä¸æ å°è´¦") @Log(title = "䏿 å°è´¦-æ°å¢", businessType = BusinessType.INSERT) public AjaxResult add(@RequestBody BidWinningLedger bidWinningLedger) throws Exception { return bidWinningLedgerService.addLedger(bidWinningLedger) ? success() : error(); } @PostMapping("/update") @ApiOperation("ä¿®æ¹ä¸æ å°è´¦") @Log(title = "䏿 å°è´¦-ä¿®æ¹", businessType = BusinessType.UPDATE) public AjaxResult update(@RequestBody BidWinningLedger bidWinningLedger) throws Exception { return bidWinningLedgerService.updateLedger(bidWinningLedger) ? success() : error(); } @PostMapping("/addRecord") @ApiOperation("æ·»å 䏿 å°è´¦è®°å½") @Log(title = "䏿 å°è´¦-æ·»å è®°å½", businessType = BusinessType.INSERT) public AjaxResult addRecord(@RequestBody BidWinningLedgerRecord bidWinningLedgerRecord) { return bidWinningLedgerService.addRecord(bidWinningLedgerRecord) ? success() : error(); } @DeleteMapping("/delete") @ApiOperation("å é¤ä¸æ å°è´¦") @Log(title = "䏿 å°è´¦-å é¤", businessType = BusinessType.DELETE) public AjaxResult delete(@RequestBody List<Long> ids) { if (Collections.isEmpty(ids)) { return error("è¯·éæ©è¦å é¤ç䏿 å°è´¦"); } return bidWinningLedgerService.removeLedgerBatchByIds(ids) ? success() : error(); } } src/main/java/com/ruoyi/sales/controller/BusinessOpportunityController.java
@@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.enums.FileNameType; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.framework.aspectj.lang.annotation.Log; import com.ruoyi.framework.aspectj.lang.enums.BusinessType; @@ -69,7 +70,7 @@ public AjaxResult listPage(Page page, BusinessOpportunity businessOpportunity) { IPage<BusinessOpportunity> businessOpportunityIPage = businessOpportunityService.listPage(page, businessOpportunity); businessOpportunityIPage.getRecords().forEach(item -> { item.setBusinessCommonFiles(commonFileService.getFileList(item.getId(),9)); item.setBusinessCommonFiles(commonFileService.getFileList(item.getId(), FileNameType.BUSINESS_OPPORTUNITY.getValue())); item.setBusinessDescription(businessDescriptionMapper.selectList(Wrappers.lambdaQuery(BusinessDescription.class) .eq(BusinessDescription::getBusinessOpportunityId, item.getId()) .orderByDesc(BusinessDescription::getCreateTime))); src/main/java/com/ruoyi/sales/mapper/BidWinningLedgerMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,7 @@ package com.ruoyi.sales.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.sales.pojo.BidWinningLedger; public interface BidWinningLedgerMapper extends BaseMapper<BidWinningLedger> { } src/main/java/com/ruoyi/sales/mapper/BidWinningLedgerRecordMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,7 @@ package com.ruoyi.sales.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.sales.pojo.BidWinningLedgerRecord; public interface BidWinningLedgerRecordMapper extends BaseMapper<BidWinningLedgerRecord> { } src/main/java/com/ruoyi/sales/pojo/BidWinningLedger.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,101 @@ package com.ruoyi.sales.pojo; import com.baomidou.mybatisplus.annotation.FieldFill; 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 com.ruoyi.dto.DateQueryDto; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.Date; import java.util.List; @Data @TableName("bid_winning_ledger") @ApiModel("䏿 å°è´¦") public class BidWinningLedger extends DateQueryDto { private static final long serialVersionUID = 1L; @TableField(exist = false) @ApiModelProperty("éä»¶") private List<CommonFile> commonFiles; @TableField(exist = false) @ApiModelProperty("ä¸´æ¶æä»¶id") private List<String> tempFileIds; @TableField(exist = false) @ApiModelProperty("å°è´¦è®°å½") private List<BidWinningLedgerRecord> recordList; @TableId(type = IdType.AUTO) private Long id; @ApiModelProperty("ç¶æ") private String status; @ApiModelProperty("ç份") private String province; @ApiModelProperty("åå¸") private String city; @ApiModelProperty("客æ·åç§°") private String customerName; @ApiModelProperty("ååéé¢") private BigDecimal contractAmount; @ApiModelProperty("ææ ä¿è¯é") private BigDecimal bidBond; @ApiModelProperty("䏿 æå¡è´¹") private BigDecimal winningServiceFee; @ApiModelProperty("è¡ä¸") private String industry; @ApiModelProperty("åæºæ¥æº") private String businessSource; @ApiModelProperty("夿³¨") private String remark; @ApiModelProperty("å½å ¥äºº") private String entryPerson; @ApiModelProperty("å½å ¥æ¥æ") @JsonFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") private Date entryDate; @ApiModelProperty("å建æ¶é´") @TableField(fill = FieldFill.INSERT) @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",shape = JsonFormat.Shape.STRING) private LocalDateTime createTime; @ApiModelProperty("åå»ºç¨æ·") @TableField(fill = FieldFill.INSERT) private Integer createUser; @ApiModelProperty("æ´æ°æ¶é´") @TableField(fill = FieldFill.INSERT_UPDATE) @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",shape = JsonFormat.Shape.STRING) private LocalDateTime updateTime; @ApiModelProperty("æ´æ°ç¨æ·") @TableField(fill = FieldFill.INSERT_UPDATE) private Integer updateUser; @ApiModelProperty("ç§æ·ID") @TableField(fill = FieldFill.INSERT) private Long tenantId; } src/main/java/com/ruoyi/sales/pojo/BidWinningLedgerRecord.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,63 @@ package com.ruoyi.sales.pojo; import com.baomidou.mybatisplus.annotation.FieldFill; 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 org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; import java.util.Date; @Data @TableName("bid_winning_ledger_record") @ApiModel("䏿 å°è´¦è®°å½") public class BidWinningLedgerRecord { private static final long serialVersionUID = 1L; @TableId(type = IdType.AUTO) private Long id; @ApiModelProperty("䏿 å°è´¦ID") private Long bidWinningLedgerId; @ApiModelProperty("ç¶æ") private String status; @ApiModelProperty("è®°å½å 容") private String description; @ApiModelProperty("å½å ¥äºº") private String entryPerson; @ApiModelProperty("å½å ¥æ¥æ") @JsonFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") private Date entryDate; @ApiModelProperty("å建æ¶é´") @TableField(fill = FieldFill.INSERT) private LocalDateTime createTime; @ApiModelProperty("åå»ºç¨æ·") @TableField(fill = FieldFill.INSERT) private Integer createUser; @ApiModelProperty("æ´æ°æ¶é´") @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; @ApiModelProperty("æ´æ°ç¨æ·") @TableField(fill = FieldFill.INSERT_UPDATE) private Integer updateUser; @ApiModelProperty("ç§æ·ID") @TableField(fill = FieldFill.INSERT) private Long tenantId; } src/main/java/com/ruoyi/sales/service/BidWinningLedgerService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,29 @@ package com.ruoyi.sales.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.sales.pojo.Area; import com.ruoyi.sales.pojo.BidWinningLedger; import com.ruoyi.sales.pojo.BidWinningLedgerRecord; import java.util.List; public interface BidWinningLedgerService extends IService<BidWinningLedger> { IPage<BidWinningLedger> listPage(Page page, BidWinningLedger bidWinningLedger); BidWinningLedger getDetail(Long id); boolean addLedger(BidWinningLedger bidWinningLedger) throws Exception; boolean updateLedger(BidWinningLedger bidWinningLedger) throws Exception; boolean addRecord(BidWinningLedgerRecord bidWinningLedgerRecord); boolean removeLedgerBatchByIds(List<Long> ids); List<Area> getProvinceList(); List<Area> getCityList(Integer provinceId); } src/main/java/com/ruoyi/sales/service/impl/BidWinningLedgerServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,152 @@ package com.ruoyi.sales.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.enums.FileNameType; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.sales.mapper.AreaMapper; import com.ruoyi.sales.mapper.BidWinningLedgerMapper; import com.ruoyi.sales.mapper.BidWinningLedgerRecordMapper; import com.ruoyi.sales.mapper.CommonFileMapper; import com.ruoyi.sales.pojo.Area; import com.ruoyi.sales.pojo.BidWinningLedger; import com.ruoyi.sales.pojo.BidWinningLedgerRecord; import com.ruoyi.sales.pojo.CommonFile; import com.ruoyi.sales.service.BidWinningLedgerService; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.io.IOException; import java.util.Date; import java.util.List; @Service @RequiredArgsConstructor public class BidWinningLedgerServiceImpl extends ServiceImpl<BidWinningLedgerMapper, BidWinningLedger> implements BidWinningLedgerService { private final BidWinningLedgerMapper bidWinningLedgerMapper; private final BidWinningLedgerRecordMapper bidWinningLedgerRecordMapper; private final CommonFileMapper commonFileMapper; private final AreaMapper areaMapper; private final CommonFileServiceImpl commonFileService; @Override public IPage<BidWinningLedger> listPage(Page page, BidWinningLedger bidWinningLedger) { LambdaQueryWrapper<BidWinningLedger> queryWrapper = new LambdaQueryWrapper<>(); if (bidWinningLedger != null) { if (StringUtils.isNotEmpty(bidWinningLedger.getCustomerName())) { queryWrapper.like(BidWinningLedger::getCustomerName, bidWinningLedger.getCustomerName()); } if (StringUtils.isNotEmpty(bidWinningLedger.getProvince())) { queryWrapper.eq(BidWinningLedger::getProvince, bidWinningLedger.getProvince()); } if (StringUtils.isNotEmpty(bidWinningLedger.getCity())) { queryWrapper.eq(BidWinningLedger::getCity, bidWinningLedger.getCity()); } if (StringUtils.isNotEmpty(bidWinningLedger.getEntryPerson())) { queryWrapper.like(BidWinningLedger::getEntryPerson, bidWinningLedger.getEntryPerson()); } if (StringUtils.isNotEmpty(bidWinningLedger.getStatus())) { queryWrapper.eq(BidWinningLedger::getStatus, bidWinningLedger.getStatus()); } if (StringUtils.isNotEmpty(bidWinningLedger.getEntryDateStart()) && StringUtils.isNotEmpty(bidWinningLedger.getEntryDateEnd())) { queryWrapper.ge(BidWinningLedger::getEntryDate, bidWinningLedger.getEntryDateStart()) .le(BidWinningLedger::getEntryDate, bidWinningLedger.getEntryDateEnd()); } } queryWrapper.orderByDesc(BidWinningLedger::getUpdateTime) .orderByDesc(BidWinningLedger::getEntryDate); return bidWinningLedgerMapper.selectPage(page, queryWrapper); } @Override public BidWinningLedger getDetail(Long id) { BidWinningLedger bidWinningLedger = bidWinningLedgerMapper.selectById(id); if (bidWinningLedger == null) { return null; } bidWinningLedger.setCommonFiles(commonFileService.getFileList(id, FileNameType.BID_WINNING_LEDGER.getValue())); bidWinningLedger.setRecordList(bidWinningLedgerRecordMapper.selectList(new LambdaQueryWrapper<BidWinningLedgerRecord>() .eq(BidWinningLedgerRecord::getBidWinningLedgerId, id) .orderByDesc(BidWinningLedgerRecord::getCreateTime))); return bidWinningLedger; } @Override @Transactional(rollbackFor = Exception.class) public boolean addLedger(BidWinningLedger bidWinningLedger) throws IOException { fillDefaultFields(bidWinningLedger); boolean saved = save(bidWinningLedger); if (saved) { commonFileService.migrateTempFilesToFormal(bidWinningLedger.getId(), bidWinningLedger.getTempFileIds()); } return saved; } @Override @Transactional(rollbackFor = Exception.class) public boolean updateLedger(BidWinningLedger bidWinningLedger) throws IOException { fillDefaultFields(bidWinningLedger); boolean updated = updateById(bidWinningLedger); if (updated) { commonFileService.migrateTempFilesToFormal(bidWinningLedger.getId(), bidWinningLedger.getTempFileIds()); } return updated; } @Override public boolean addRecord(BidWinningLedgerRecord bidWinningLedgerRecord) { if (StringUtils.isEmpty(bidWinningLedgerRecord.getEntryPerson())) { bidWinningLedgerRecord.setEntryPerson(SecurityUtils.getLoginUser().getUser().getNickName()); } if (bidWinningLedgerRecord.getEntryDate() == null) { bidWinningLedgerRecord.setEntryDate(new Date()); } int inserted = bidWinningLedgerRecordMapper.insert(bidWinningLedgerRecord); if (inserted > 0 && bidWinningLedgerRecord.getBidWinningLedgerId() != null) { BidWinningLedger updateEntity = new BidWinningLedger(); updateEntity.setId(bidWinningLedgerRecord.getBidWinningLedgerId()); updateEntity.setStatus(bidWinningLedgerRecord.getStatus()); bidWinningLedgerMapper.updateById(updateEntity); return true; } return inserted > 0; } @Override @Transactional(rollbackFor = Exception.class) public boolean removeLedgerBatchByIds(List<Long> ids) { if (ids == null || ids.isEmpty()) { return false; } bidWinningLedgerRecordMapper.delete(new LambdaQueryWrapper<BidWinningLedgerRecord>() .in(BidWinningLedgerRecord::getBidWinningLedgerId, ids)); commonFileMapper.delete(new LambdaQueryWrapper<CommonFile>() .in(CommonFile::getCommonId, ids) .eq(CommonFile::getType, FileNameType.BID_WINNING_LEDGER.getValue())); return removeByIds(ids); } @Override public List<Area> getProvinceList() { return areaMapper.selectList(new LambdaQueryWrapper<Area>().eq(Area::getLevel, 1).eq(Area::getParentId, 0)); } @Override public List<Area> getCityList(Integer provinceId) { return areaMapper.selectList(new LambdaQueryWrapper<Area>().eq(Area::getLevel, 2).eq(Area::getParentId, provinceId)); } private void fillDefaultFields(BidWinningLedger bidWinningLedger) { if (StringUtils.isEmpty(bidWinningLedger.getEntryPerson())) { bidWinningLedger.setEntryPerson(SecurityUtils.getLoginUser().getUser().getNickName()); } if (bidWinningLedger.getEntryDate() == null) { bidWinningLedger.setEntryDate(new Date()); } } }