From 18d292f1091b8b86ad29ba76e3cbe8ffaf2c222e Mon Sep 17 00:00:00 2001 From: liding <756868258@qq.com> Date: 星期三, 11 六月 2025 17:45:39 +0800 Subject: [PATCH] 1.正式库合并以及优化 2.销售模块 --- main-business/src/main/java/com/ruoyi/business/controller/SalesRecordController.java | 52 +++ main-business/src/main/java/com/ruoyi/business/controller/OfficialInventoryController.java | 33 + main-business/src/main/java/com/ruoyi/business/entity/PurchaseRegistration.java | 4 main-business/src/main/resources/mapper/OfficialInventoryMapper.xml | 5 main-business/src/main/java/com/ruoyi/business/mapper/SalesRecordMapper.java | 18 + main-business/src/main/java/com/ruoyi/business/dto/OfficialInventoryDto.java | 3 main-business/src/main/java/com/ruoyi/business/service/OfficialInventoryService.java | 9 main-business/src/main/resources/mapper/SalesRecordMapper.xml | 43 ++ main-business/src/main/java/com/ruoyi/business/service/SalesRecordService.java | 24 + basic-server/src/main/java/com/ruoyi/basic/service/impl/CoalInfoServiceImpl.java | 4 main-business/src/main/java/com/ruoyi/business/vo/OfficialInventoryVo.java | 16 + main-business/src/main/java/com/ruoyi/business/entity/PendingInventory.java | 19 basic-server/src/main/java/com/ruoyi/basic/entity/CoalValue.java | 11 main-business/src/main/java/com/ruoyi/business/service/impl/PurchaseRegistrationServiceImpl.java | 4 main-business/src/main/resources/mapper/PendingInventoryMapper.xml | 5 main-business/src/main/java/com/ruoyi/business/entity/SalesRecord.java | 120 ++++++++ main-business/src/main/java/com/ruoyi/business/dto/SalesRecordDto.java | 8 basic-server/src/main/java/com/ruoyi/basic/entity/CoalInfo.java | 11 main-business/src/main/java/com/ruoyi/business/service/impl/OfficialInventoryServiceImpl.java | 140 ++++++++ main-business/src/main/java/com/ruoyi/business/service/impl/SalesRecordServiceImpl.java | 144 +++++++++ ruoyi-admin/src/main/java/com/ruoyi/web/controller/init/MyStartupRunner.java | 1 main-business/src/main/java/com/ruoyi/business/entity/OfficialInventory.java | 21 + main-business/src/main/java/com/ruoyi/business/entity/File.java | 94 +++--- main-business/src/main/java/com/ruoyi/business/entity/Production.java | 4 main-business/src/main/resources/db/migration/postgresql/V20250611160300__create_table_sales_record.sql | 59 +++ 25 files changed, 753 insertions(+), 99 deletions(-) diff --git a/basic-server/src/main/java/com/ruoyi/basic/entity/CoalInfo.java b/basic-server/src/main/java/com/ruoyi/basic/entity/CoalInfo.java index 934495c..0880eea 100644 --- a/basic-server/src/main/java/com/ruoyi/basic/entity/CoalInfo.java +++ b/basic-server/src/main/java/com/ruoyi/basic/entity/CoalInfo.java @@ -1,11 +1,14 @@ package com.ruoyi.basic.entity; -import com.baomidou.mybatisplus.annotation.*; +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 lombok.Data; import com.ruoyi.common.core.domain.MyBaseEntity; +import lombok.Data; -import java.util.Date; +import java.time.LocalDate; /** * 鐓ょ淇℃伅琛� 瀹炰綋绫� @@ -39,5 +42,5 @@ */ @TableField(value = "maintenance_date") @JsonFormat(pattern = "yyyy-MM-dd") - private Date maintenanceDate; + private LocalDate maintenanceDate; } \ No newline at end of file diff --git a/basic-server/src/main/java/com/ruoyi/basic/entity/CoalValue.java b/basic-server/src/main/java/com/ruoyi/basic/entity/CoalValue.java index f52bd3a..7f5848f 100644 --- a/basic-server/src/main/java/com/ruoyi/basic/entity/CoalValue.java +++ b/basic-server/src/main/java/com/ruoyi/basic/entity/CoalValue.java @@ -17,8 +17,7 @@ */ @Data @TableName("coal_value") -public class -CoalValue extends MyBaseEntity { +public class CoalValue extends MyBaseEntity { private static final long serialVersionUID = 1L; @@ -30,7 +29,7 @@ private Long id; /** - * 鍏宠仈閲囪喘鍏ュ簱涓婚敭ID + * 鍏宠仈閲囪喘/姝e紡鍏ュ簱涓婚敭ID */ @TableField(value = "plan_id") private Long planId; @@ -50,4 +49,10 @@ @TableField(value = "field_name") private String fieldName; + /** + * 1 閲囪喘/ 2 姝e紡 鍏ュ簱 + */ + @TableField(value = "type") + private String type; + } \ No newline at end of file diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/impl/CoalInfoServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/CoalInfoServiceImpl.java index 750e6b1..fb2b5d0 100644 --- a/basic-server/src/main/java/com/ruoyi/basic/service/impl/CoalInfoServiceImpl.java +++ b/basic-server/src/main/java/com/ruoyi/basic/service/impl/CoalInfoServiceImpl.java @@ -9,13 +9,13 @@ import com.ruoyi.basic.entity.CoalInfo; import com.ruoyi.basic.mapper.CoalInfoMapper; import com.ruoyi.basic.service.CoalInfoService; -import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.bean.BeanUtils; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; +import java.time.LocalDate; import java.util.Objects; /** @@ -47,7 +47,7 @@ CoalInfo coalInfo = new CoalInfo(); BeanUtils.copyProperties(coalInfoDto, coalInfo); coalInfo.setMaintainerId(SecurityUtils.getUserId()); - coalInfo.setMaintenanceDate(DateUtils.getNowDate()); + coalInfo.setMaintenanceDate(LocalDate.now()); if (Objects.isNull(coalInfoDto.getId())) { return coalInfoMapper.insert(coalInfo); } else { diff --git a/main-business/src/main/java/com/ruoyi/business/controller/OfficialInventoryController.java b/main-business/src/main/java/com/ruoyi/business/controller/OfficialInventoryController.java index 9dedce7..196e7ad 100644 --- a/main-business/src/main/java/com/ruoyi/business/controller/OfficialInventoryController.java +++ b/main-business/src/main/java/com/ruoyi/business/controller/OfficialInventoryController.java @@ -4,11 +4,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.business.dto.OfficialInventoryDto; import com.ruoyi.business.service.OfficialInventoryService; +import com.ruoyi.business.vo.OfficialInventoryVo; import com.ruoyi.common.core.domain.R; import lombok.AllArgsConstructor; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + +import java.util.List; /** * <p> @@ -31,8 +32,32 @@ */ @GetMapping("/list") public R<IPage<OfficialInventoryDto>> list(Page page, OfficialInventoryDto officialInventoryDto) { - IPage<OfficialInventoryDto> list = officialInventoryService.selectOfficialInventoryList(page,officialInventoryDto); + IPage<OfficialInventoryDto> list = officialInventoryService.selectOfficialInventoryList(page, officialInventoryDto); return R.ok(list); } + /** + * 姝e紡搴撶叅绉嶉儴鍒嗕俊鎭痩ist + */ + @GetMapping("/OfficialList") + public R<List<OfficialInventoryVo>> officialList(OfficialInventoryVo officialInventoryVo) { + return R.ok(officialInventoryService.selectOfficialList(officialInventoryVo)); + } + + /** + * 姝e紡搴撲慨鏀� + */ + @PostMapping("/editOfficial") + public R editOfficial(@RequestBody OfficialInventoryDto officialInventoryDto) { + return R.ok(officialInventoryService.editOfficial(officialInventoryDto)); + } + + /** + * 鍚堝苟 + */ + @PostMapping("/merge") + public R merge(@RequestBody OfficialInventoryDto officialInventoryDto) { + return R.ok(officialInventoryService.mergeAll(officialInventoryDto)); + } + } diff --git a/main-business/src/main/java/com/ruoyi/business/controller/SalesRecordController.java b/main-business/src/main/java/com/ruoyi/business/controller/SalesRecordController.java new file mode 100644 index 0000000..753ee0e --- /dev/null +++ b/main-business/src/main/java/com/ruoyi/business/controller/SalesRecordController.java @@ -0,0 +1,52 @@ +package com.ruoyi.business.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.business.dto.SalesRecordDto; +import com.ruoyi.business.entity.SalesRecord; +import com.ruoyi.business.service.SalesRecordService; +import com.ruoyi.common.core.domain.R; +import lombok.AllArgsConstructor; +import org.springframework.web.bind.annotation.*; + +/** + * <p> + * 閿�鍞褰曡〃 鍓嶇鎺у埗鍣� + * </p> + * + * @author ruoyi + * @since 2025-06-11 + */ + +@RestController +@AllArgsConstructor +@RequestMapping("/salesRecord") +public class SalesRecordController { + + private SalesRecordService salesRecordService; + + /** + * 閿�鍞褰曡〃鏌ヨ + */ + @GetMapping("/list") + public R<IPage<SalesRecord>> list(Page page, SalesRecordDto salesRecordDto) { + IPage<SalesRecord> list = salesRecordService.selectSalesRecordList(page,salesRecordDto); + return R.ok(list); + } + + /** + * 閿�鍞褰曡〃鏂板淇敼 + */ + @PostMapping("/addOrEditSalesRecord") + public R addOrEditSalesRecord(@RequestBody SalesRecordDto salesRecordDto) { + return R.ok(salesRecordService.addOrEditSalesRecord(salesRecordDto)); + } + + /** + * 閿�鍞褰曡〃鍒犻櫎 + */ + @DeleteMapping("/delSalesRecord") + public R remove(@RequestBody Long[] ids) { + return R.ok(salesRecordService.delByIds(ids)); + } +} diff --git a/main-business/src/main/java/com/ruoyi/business/dto/OfficialInventoryDto.java b/main-business/src/main/java/com/ruoyi/business/dto/OfficialInventoryDto.java index 0e386e9..066257f 100644 --- a/main-business/src/main/java/com/ruoyi/business/dto/OfficialInventoryDto.java +++ b/main-business/src/main/java/com/ruoyi/business/dto/OfficialInventoryDto.java @@ -10,4 +10,7 @@ public class OfficialInventoryDto extends OfficialInventory { private List<Map<String, String>> fields; + + private List<Long> ids; + } diff --git a/main-business/src/main/java/com/ruoyi/business/dto/SalesRecordDto.java b/main-business/src/main/java/com/ruoyi/business/dto/SalesRecordDto.java new file mode 100644 index 0000000..c32a713 --- /dev/null +++ b/main-business/src/main/java/com/ruoyi/business/dto/SalesRecordDto.java @@ -0,0 +1,8 @@ +package com.ruoyi.business.dto; + +import com.ruoyi.business.entity.SalesRecord; +import lombok.Data; + +@Data +public class SalesRecordDto extends SalesRecord { +} diff --git a/main-business/src/main/java/com/ruoyi/business/entity/File.java b/main-business/src/main/java/com/ruoyi/business/entity/File.java index 2e85ac4..6b64336 100644 --- a/main-business/src/main/java/com/ruoyi/business/entity/File.java +++ b/main-business/src/main/java/com/ruoyi/business/entity/File.java @@ -2,58 +2,58 @@ import com.baomidou.mybatisplus.annotation.*; import lombok.Data; - import com.ruoyi.common.core.domain.MyBaseEntity; +import com.ruoyi.common.core.domain.MyBaseEntity; /** -* 涓婁紶鏂囦欢鐨勫熀鏈俊鎭� 瀹炰綋绫� -* -* @author ruoyi -* @date 2025-06-10 -*/ + * 涓婁紶鏂囦欢鐨勫熀鏈俊鎭� 瀹炰綋绫� + * + * @author ruoyi + * @date 2025-06-10 + */ @Data @TableName("file") public class File extends MyBaseEntity { -private static final long serialVersionUID = 1L; + private static final long serialVersionUID = 1L; - /** - * 涓婚敭ID - */ - @TableId(value = "id", type = IdType.AUTO) - private Long id; - /** - * 鍏宠仈鐨勬。妗圛D锛屽閿紩鐢� archive.id - */ - @TableField(value = "archive_id") - private Long archiveId; - /** - * 鍘熷鏂囦欢鍚嶏紙鐢ㄦ埛涓婁紶鏃剁殑鍚嶇О锛� - */ - @TableField(value = "original_name") - private String originalName; - /** - * 棰勮鍦板潃 - */ - @TableField(value = "preview_url") - private String previewUrl; - /** - * 绯荤粺瀛樺偍鐨勫敮涓�鏂囦欢鍚� - */ - @TableField(value = "file_name") - private String fileName; - /** - * 鏂囦欢鍦ㄦ湇鍔″櫒涓婄殑瀛樺偍璺緞鎴栬闂甎RL - */ - @TableField(value = "file_path") - private String filePath; - /** - * 鏂囦欢MIME绫诲瀷锛屼緥濡� image/png銆乤pplication/pdf - */ - @TableField(value = "file_type") - private String fileType; - /** - * 鏂囦欢澶у皬锛屽崟浣嶄负瀛楄妭 - */ - @TableField(value = "file_size") - private String fileSize; + /** + * 涓婚敭ID + */ + @TableId(value = "id", type = IdType.AUTO) + private Long id; + /** + * 鍏宠仈鐨勬。妗圛D锛屽閿紩鐢� archive.id + */ + @TableField(value = "archive_id") + private Long archiveId; + /** + * 鍘熷鏂囦欢鍚嶏紙鐢ㄦ埛涓婁紶鏃剁殑鍚嶇О锛� + */ + @TableField(value = "original_name") + private String originalName; + /** + * 棰勮鍦板潃 + */ + @TableField(value = "preview_url") + private String previewUrl; + /** + * 绯荤粺瀛樺偍鐨勫敮涓�鏂囦欢鍚� + */ + @TableField(value = "file_name") + private String fileName; + /** + * 鏂囦欢鍦ㄦ湇鍔″櫒涓婄殑瀛樺偍璺緞鎴栬闂甎RL + */ + @TableField(value = "file_path") + private String filePath; + /** + * 鏂囦欢MIME绫诲瀷锛屼緥濡� image/png銆乤pplication/pdf + */ + @TableField(value = "file_type") + private String fileType; + /** + * 鏂囦欢澶у皬锛屽崟浣嶄负瀛楄妭 + */ + @TableField(value = "file_size") + private String fileSize; } \ No newline at end of file diff --git a/main-business/src/main/java/com/ruoyi/business/entity/OfficialInventory.java b/main-business/src/main/java/com/ruoyi/business/entity/OfficialInventory.java index e97889f..49fa6da 100644 --- a/main-business/src/main/java/com/ruoyi/business/entity/OfficialInventory.java +++ b/main-business/src/main/java/com/ruoyi/business/entity/OfficialInventory.java @@ -8,7 +8,7 @@ import lombok.Data; import java.math.BigDecimal; -import java.util.Date; +import java.time.LocalDate; /** * 姝e紡搴撳瓨琛� 瀹炰綋绫� @@ -63,10 +63,15 @@ @TableField(value = "total_price_including_tax") private BigDecimal totalPriceIncludingTax; /** - * 鎴愭湰鍗曚环 + * 涓嶅惈绋庡崟浠� */ - @TableField(value = "cost_per_unit") - private BigDecimal costPerUnit; + @TableField(value = "price_excluding_tax") + private BigDecimal priceExcludingTax; + /** + * 涓嶅惈绋庢�讳环 + */ + @TableField(value = "total_price_excluding_tax") + private BigDecimal totalPriceExcludingTax; /** * 寰呰ˉ搴� */ @@ -81,5 +86,11 @@ * 鐧昏鏃ユ湡 */ @TableField(value = "registration_date") - private Date registrationDate; + private LocalDate registrationDate; + + /** + * 鍚堝苟id + */ + @TableField(value = "merge_id") + private String mergeId; } \ No newline at end of file diff --git a/main-business/src/main/java/com/ruoyi/business/entity/PendingInventory.java b/main-business/src/main/java/com/ruoyi/business/entity/PendingInventory.java index 9fe9ca2..df8b306 100644 --- a/main-business/src/main/java/com/ruoyi/business/entity/PendingInventory.java +++ b/main-business/src/main/java/com/ruoyi/business/entity/PendingInventory.java @@ -8,7 +8,7 @@ import lombok.Data; import java.math.BigDecimal; -import java.util.Date; +import java.time.LocalDate; /** * 寰呭叆搴撹〃 瀹炰綋绫� @@ -56,18 +56,23 @@ @TableField(value = "total_price_including_tax") private BigDecimal totalPriceIncludingTax; /** - * 鎴愭湰鍗曚环 + * 涓嶅惈绋庡崟浠� */ - @TableField(value = "cost_per_unit") - private BigDecimal costPerUnit; + @TableField(value = "price_excluding_tax") + private BigDecimal priceExcludingTax; + /** + * 涓嶅惈绋庢�讳环 + */ + @TableField(value = "total_price_excluding_tax") + private BigDecimal totalPriceExcludingTax; /** * 鐧昏浜� */ @TableField(value = "registrant_id") private String registrantId; /** - * 鐧昏鏃堕棿 + * 鐧昏鏃ユ湡 */ - @TableField(value = "registration_time") - private Date registrationTime; + @TableField(value = "registration_date") + private LocalDate registrationDate; } \ No newline at end of file diff --git a/main-business/src/main/java/com/ruoyi/business/entity/Production.java b/main-business/src/main/java/com/ruoyi/business/entity/Production.java index d79ea0f..2465357 100644 --- a/main-business/src/main/java/com/ruoyi/business/entity/Production.java +++ b/main-business/src/main/java/com/ruoyi/business/entity/Production.java @@ -8,7 +8,7 @@ import lombok.Data; import java.math.BigDecimal; -import java.util.Date; +import java.time.LocalDate; /** * 鐢熶骇鏄庣粏琛� 瀹炰綋绫� @@ -81,5 +81,5 @@ * 鐢熶骇鏃ユ湡 */ @TableField(value = "production_date") - private Date productionDate; + private LocalDate productionDate; } \ No newline at end of file diff --git a/main-business/src/main/java/com/ruoyi/business/entity/PurchaseRegistration.java b/main-business/src/main/java/com/ruoyi/business/entity/PurchaseRegistration.java index 1857da2..4a7c3ac 100644 --- a/main-business/src/main/java/com/ruoyi/business/entity/PurchaseRegistration.java +++ b/main-business/src/main/java/com/ruoyi/business/entity/PurchaseRegistration.java @@ -8,7 +8,7 @@ import lombok.Data; import java.math.BigDecimal; -import java.util.Date; +import java.time.LocalDate; /** * 閲囪喘鐧昏琛� 瀹炰綋绫� @@ -91,5 +91,5 @@ * 鐧昏鏃ユ湡 */ @TableField(value = "registration_date") - private Date registrationDate; + private LocalDate registrationDate; } \ No newline at end of file diff --git a/main-business/src/main/java/com/ruoyi/business/entity/SalesRecord.java b/main-business/src/main/java/com/ruoyi/business/entity/SalesRecord.java new file mode 100644 index 0000000..7f5d55c --- /dev/null +++ b/main-business/src/main/java/com/ruoyi/business/entity/SalesRecord.java @@ -0,0 +1,120 @@ +package com.ruoyi.business.entity; + +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.ruoyi.common.core.domain.MyBaseEntity; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDate; + +/** + * 閿�鍞褰曡〃 瀹炰綋绫� + * + * @author ruoyi + * @date 2025-06-11 + */ +@Data +@TableName("sales_record") +public class SalesRecord extends MyBaseEntity { + + private static final long serialVersionUID = 1L; + + /** + * 涓婚敭ID + */ + @TableId(value = "id", type = IdType.AUTO) + private Long id; + /** + * 閿�鍞棩鏈� + */ + @TableField(value = "sale_date") + private LocalDate saleDate; + /** + * 瀹㈡埛id + */ + @TableField(value = "customer_id") + private Long customerId; + /** + * 瀹㈡埛 + */ + @TableField(value = "customer") + private String customer; + /** + * 鐓ょid + */ + @TableField(value = "coal_id") + private String coalId; + /** + * 鐓ょ + */ + @TableField(value = "coal") + private String coal; + /** + * 鍗曚环锛堝惈绋庯級 + */ + @TableField(value = "price_including_tax") + private BigDecimal priceIncludingTax; + /** + * 搴撳瓨鏁伴噺 + */ + @TableField(value = "inventory_quantity") + private Long inventoryQuantity; + /** + * 鍗曚綅 + */ + @TableField(value = "unit") + private String unit; + /** + * 閿�鍞暟閲� + */ + @TableField(value = "sale_quantity") + private BigDecimal saleQuantity; + /** + * 閿�鍞崟浠� (鍚◣) + */ + @TableField(value = "sale_price") + private BigDecimal salePrice; + /** + * 閿�鍞�讳环 (鍚◣) + */ + @TableField(value = "total_amount") + private BigDecimal totalAmount; + /** + * 璐攢鐓ょ◣鐜�13% + */ + @TableField(value = "tax_coal") + private String taxCoal; + /** + * 杩愯緭绋庣巼9% + */ + @TableField(value = "tax_trans") + private String taxTrans; + /** + * 姣涘埄娑� + */ + @TableField(value = "gross_profit") + private BigDecimal grossProfit; + /** + * 鍑�鍒╂鼎 + */ + @TableField(value = "net_profit") + private BigDecimal netProfit; + /** + * 鐧昏浜篿d + */ + @TableField(value = "registrant_id") + private Long registrantId; + /** + * 鐧昏浜� + */ + @TableField(value = "registrant") + private String registrant; + /** + * 鐧昏鏃ユ湡 + */ + @TableField(value = "registration_date") + private LocalDate registrationDate; +} \ No newline at end of file diff --git a/main-business/src/main/java/com/ruoyi/business/mapper/SalesRecordMapper.java b/main-business/src/main/java/com/ruoyi/business/mapper/SalesRecordMapper.java new file mode 100644 index 0000000..57e6f8f --- /dev/null +++ b/main-business/src/main/java/com/ruoyi/business/mapper/SalesRecordMapper.java @@ -0,0 +1,18 @@ +package com.ruoyi.business.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.business.entity.SalesRecord; +import org.apache.ibatis.annotations.Mapper; + +/** + * <p> + * 閿�鍞褰曡〃 Mapper 鎺ュ彛 + * </p> + * + * @author ruoyi + * @since 2025-06-11 + */ +@Mapper +public interface SalesRecordMapper extends BaseMapper<SalesRecord> { + +} diff --git a/main-business/src/main/java/com/ruoyi/business/service/OfficialInventoryService.java b/main-business/src/main/java/com/ruoyi/business/service/OfficialInventoryService.java index 9b4e444..59b2bf3 100644 --- a/main-business/src/main/java/com/ruoyi/business/service/OfficialInventoryService.java +++ b/main-business/src/main/java/com/ruoyi/business/service/OfficialInventoryService.java @@ -5,6 +5,9 @@ import com.ruoyi.business.dto.OfficialInventoryDto; import com.ruoyi.business.entity.OfficialInventory; import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.business.vo.OfficialInventoryVo; + +import java.util.List; /** * <p> @@ -17,4 +20,10 @@ public interface OfficialInventoryService extends IService<OfficialInventory> { IPage<OfficialInventoryDto> selectOfficialInventoryList(Page page, OfficialInventoryDto officialInventoryDto); + + int mergeAll(OfficialInventoryDto officialInventoryDto); + + int editOfficial(OfficialInventoryDto officialInventoryDto); + + List<OfficialInventoryVo> selectOfficialList(OfficialInventoryVo officialInventoryVo); } diff --git a/main-business/src/main/java/com/ruoyi/business/service/SalesRecordService.java b/main-business/src/main/java/com/ruoyi/business/service/SalesRecordService.java new file mode 100644 index 0000000..8440766 --- /dev/null +++ b/main-business/src/main/java/com/ruoyi/business/service/SalesRecordService.java @@ -0,0 +1,24 @@ +package com.ruoyi.business.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.business.dto.SalesRecordDto; +import com.ruoyi.business.entity.SalesRecord; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * <p> + * 閿�鍞褰曡〃 鏈嶅姟绫� + * </p> + * + * @author ruoyi + * @since 2025-06-11 + */ +public interface SalesRecordService extends IService<SalesRecord> { + + IPage<SalesRecord> selectSalesRecordList(Page page, SalesRecordDto salesRecordDto); + + int addOrEditSalesRecord(SalesRecordDto salesRecordDto); + + int delByIds(Long[] ids); +} diff --git a/main-business/src/main/java/com/ruoyi/business/service/impl/OfficialInventoryServiceImpl.java b/main-business/src/main/java/com/ruoyi/business/service/impl/OfficialInventoryServiceImpl.java index 7be4276..f964ab8 100644 --- a/main-business/src/main/java/com/ruoyi/business/service/impl/OfficialInventoryServiceImpl.java +++ b/main-business/src/main/java/com/ruoyi/business/service/impl/OfficialInventoryServiceImpl.java @@ -1,7 +1,9 @@ package com.ruoyi.business.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.basic.entity.CoalField; @@ -11,16 +13,16 @@ import com.ruoyi.business.dto.OfficialInventoryDto; import com.ruoyi.business.entity.OfficialInventory; import com.ruoyi.business.mapper.OfficialInventoryMapper; -import com.ruoyi.business.mapper.PendingInventoryMapper; import com.ruoyi.business.service.OfficialInventoryService; +import com.ruoyi.business.vo.OfficialInventoryVo; +import com.ruoyi.common.exception.base.BaseException; +import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.bean.BeanUtils; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -41,7 +43,6 @@ private final CoalFieldMapper coalFieldMapper; - private final PendingInventoryMapper pendingInventoryMapper; @Override public IPage<OfficialInventoryDto> selectOfficialInventoryList(Page page, OfficialInventoryDto officialInventoryDto) { @@ -66,14 +67,19 @@ // 閬嶅巻姣忔潯璁板綍锛岃繘琛岃浆鎹㈠苟濉厖 fields for (OfficialInventory entity : entityPage.getRecords()) { OfficialInventoryDto dto = new OfficialInventoryDto(); - BeanUtils.copyProperties(entity, dto); - - Long pendingId = entity.getPendingId(); - - // 鏌ヨ璇� pendingId 瀵瑰簲鐨� CoalValue 鏁版嵁 - List<CoalValue> coalValues = coalValueMapper.selectList( - new LambdaQueryWrapper<CoalValue>().eq(CoalValue::getPlanId, pendingId) - ); + BeanUtils.copyProperties(entity, dto); + List<CoalValue> coalValues; + if (entity.getMergeId() == null) { + coalValues = coalValueMapper.selectList(new LambdaQueryWrapper<CoalValue>() + .eq(CoalValue::getPlanId, entity.getPendingId()) + .and(wrapper -> wrapper.ne(CoalValue::getType, "2").or().isNull(CoalValue::getType)) + ); + } else { + coalValues = coalValueMapper.selectList(new LambdaQueryWrapper<CoalValue>() + .eq(CoalValue::getPlanId, entity.getId()) + .eq(CoalValue::getType, "2") + ); + } // 鏋勫缓 Map<fieldName, value> Map<String, String> fieldValueMap = coalValues.stream() @@ -99,4 +105,110 @@ dtoPage.setRecords(dtoList); // 璁剧疆杞崲鍚庣殑 DtoList return dtoPage; } + + @Override + public int editOfficial(OfficialInventoryDto officialInventoryDto) { + OfficialInventory officialInventory = new OfficialInventory(); + BeanUtils.copyProperties(officialInventoryDto, officialInventory); + return officialInventoryMapper.updateById(officialInventory); + } + + @Override + public List<OfficialInventoryVo> selectOfficialList(OfficialInventoryVo officialInventoryVo) { + List<OfficialInventory> officialInventories = officialInventoryMapper.selectList(null); + return officialInventories.stream() + .map(OI -> { + OfficialInventoryVo vo = new OfficialInventoryVo(); + BeanUtils.copyProperties(OI, vo); + return vo; + }) + .collect(Collectors.toList()); + } + + @Transactional + @Override + public int mergeAll(OfficialInventoryDto officialInventoryDto) { + List<Long> ids = officialInventoryDto.getIds(); + + // 鏍¢獙鍙傛暟 + if (CollectionUtils.isEmpty(ids) || ids.size() < 2) { + throw new BaseException("璇烽�変腑鑷冲皯涓ゆ潯鏁版嵁"); + } + if (CollectionUtils.isEmpty(officialInventoryDto.getFields())) { + throw new BaseException("瀛楁鍊间笉鑳戒负绌�"); + } + + // 1. 鎵归噺鏍囪鍒犻櫎鏃ф暟鎹� + LambdaUpdateWrapper<OfficialInventory> updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.in(OfficialInventory::getId, ids) + .set(OfficialInventory::getDeleted, 1); + int rowsAffected = officialInventoryMapper.update(null, updateWrapper); + if (rowsAffected == 0) { + throw new BaseException("鏈壘鍒板尮閰嶇殑鏁版嵁锛岃纭閫夋嫨鏄惁姝g‘"); + } + + // 2. 鎻掑叆鏂板簱瀛樿褰� + OfficialInventory officialInventory = new OfficialInventory(); + BeanUtils.copyProperties(officialInventoryDto, officialInventory); + officialInventory.setMergeId(ids.toString()); + officialInventory.setRegistrantId(SecurityUtils.getLoginUser().getUser().getUserName()); + if (officialInventoryMapper.insert(officialInventory) <= 0) { + throw new BaseException("搴撳瓨璁板綍鍒涘缓澶辫触"); + } + + // 3. 鎵归噺澶勭悊瀛楁鍊� + batchProcessCoalValues(officialInventory.getId(), officialInventoryDto.getFields()); + + return rowsAffected; + } + + private void batchProcessCoalValues(Long planId, List<Map<String, String>> fields) { + // 1. 鎻愬彇鎵�鏈夊敮涓�瀛楁鏍囪瘑 + Set<String> allFields = fields.stream() + .flatMap(map -> map.keySet().stream()) + .collect(Collectors.toSet()); + + // 2. 鏌ヨ瀛楁鏄犲皠鍏崇郴 + List<CoalField> coalFields = coalFieldMapper.selectList( + new LambdaQueryWrapper<CoalField>().in(CoalField::getFields, allFields) + ); + + Map<String, String> fieldMap = coalFields.stream() + .collect(Collectors.toMap( + CoalField::getFields, + CoalField::getFieldName + )); + + // 3. 鏋勯�犲苟鎻掑叆姣忔潯璁板綍 + CoalValue coalValueTemplate = new CoalValue(); + coalValueTemplate.setPlanId(planId); + coalValueTemplate.setType("2"); + + for (Map<String, String> fieldMapEntry : fields) { + for (Map.Entry<String, String> entry : fieldMapEntry.entrySet()) { + String key = entry.getKey(); + String value = entry.getValue(); + + String fieldName = fieldMap.get(key); + if (fieldName == null) { + throw new BaseException("瀛楁鍚嶄笉瀛樺湪: " + key); + } + + CoalValue coalValue = new CoalValue(); + BeanUtils.copyProperties(coalValueTemplate, coalValue); // 澶嶇敤妯℃澘灞炴�� + coalValue.setId(null); + coalValue.setCoalValue(value); + coalValue.setType("2"); + coalValue.setPlanId(planId); + coalValue.setFields(key); + coalValue.setFieldName(fieldName); + + // 鍗曟潯鎻掑叆 + int result = coalValueMapper.insert(coalValue); + if (result <= 0) { + throw new BaseException("瀛楁鍊间繚瀛樺け璐ワ紝瀛楁锛�" + key); + } + } + } + } } diff --git a/main-business/src/main/java/com/ruoyi/business/service/impl/PurchaseRegistrationServiceImpl.java b/main-business/src/main/java/com/ruoyi/business/service/impl/PurchaseRegistrationServiceImpl.java index ec9edcf..de2bec4 100644 --- a/main-business/src/main/java/com/ruoyi/business/service/impl/PurchaseRegistrationServiceImpl.java +++ b/main-business/src/main/java/com/ruoyi/business/service/impl/PurchaseRegistrationServiceImpl.java @@ -17,7 +17,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.util.Assert; -import java.math.BigDecimal; +import java.time.LocalDate; import java.util.Objects; /** @@ -55,6 +55,7 @@ BeanUtils.copyProperties(purchaseRegistrationDto, purchaseRegistration); if (Objects.isNull(purchaseRegistrationDto.getId())) { // 鏂板閲囪喘鐧昏 + purchaseRegistration.setRegistrationDate(LocalDate.now()); int insertCount = purchaseRegistrationMapper.insert(purchaseRegistration); if (insertCount > 0) { // 閲囪喘鐧昏鎴愬姛锛屽悓姝ュ垱寤哄緟鍏ュ簱璁板綍 @@ -80,7 +81,6 @@ // 璁剧疆寰呭叆搴撹褰曠壒鏈夌殑灞炴�э紙濡傛灉鏈夛級 pendingInventory.setInventoryQuantity(purchaseRegistration.getPurchaseQuantity()); - pendingInventory.setCostPerUnit(new BigDecimal(22)); return pendingInventory; } diff --git a/main-business/src/main/java/com/ruoyi/business/service/impl/SalesRecordServiceImpl.java b/main-business/src/main/java/com/ruoyi/business/service/impl/SalesRecordServiceImpl.java new file mode 100644 index 0000000..ae66aa0 --- /dev/null +++ b/main-business/src/main/java/com/ruoyi/business/service/impl/SalesRecordServiceImpl.java @@ -0,0 +1,144 @@ +package com.ruoyi.business.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +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.basic.entity.Customer; +import com.ruoyi.basic.mapper.CustomerMapper; +import com.ruoyi.business.dto.SalesRecordDto; +import com.ruoyi.business.entity.SalesRecord; +import com.ruoyi.business.mapper.SalesRecordMapper; +import com.ruoyi.business.service.SalesRecordService; +import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.exception.base.BaseException; +import com.ruoyi.common.utils.bean.BeanUtils; +import com.ruoyi.system.mapper.SysUserMapper; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.time.LocalDate; + +/** + * <p> + * 閿�鍞褰曡〃 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author ruoyi + * @since 2025-06-11 + */ +@Service +@RequiredArgsConstructor +public class SalesRecordServiceImpl extends ServiceImpl<SalesRecordMapper, SalesRecord> implements SalesRecordService { + + private final SalesRecordMapper salesRecordMapper; + + private final SysUserMapper userMapper; + + private final CustomerMapper customerMapper; + + @Override + public IPage<SalesRecord> selectSalesRecordList(Page page, SalesRecordDto salesRecordDto) { + LambdaQueryWrapper<SalesRecord> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.orderByDesc(SalesRecord::getCreateTime); + return salesRecordMapper.selectPage(page, queryWrapper); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public int addOrEditSalesRecord(SalesRecordDto salesRecordDto) { + // 鍙傛暟鏍¢獙 + validateSalesRecordDto(salesRecordDto); + + // 鏋勫缓閿�鍞褰曞疄浣� + SalesRecord salesRecord = buildSalesRecord(salesRecordDto); + + // 澶勭悊鏂板/鏇存柊閫昏緫 + if (salesRecordDto.getId() == null) { + return insertSalesRecord(salesRecord); + } else { + return updateSalesRecord(salesRecord); + } + } + + private void validateSalesRecordDto(SalesRecordDto dto) { + if (dto == null) { + throw new BaseException("閿�鍞褰曟暟鎹笉鑳戒负绌�"); + } + if (dto.getRegistrantId() == null) { + throw new BaseException("鐧昏浜篒D涓嶈兘涓虹┖"); + } + if (dto.getCustomerId() == null) { + throw new BaseException("瀹㈡埛ID涓嶈兘涓虹┖"); + } + } + + private SalesRecord buildSalesRecord(SalesRecordDto dto) { + SalesRecord record = new SalesRecord(); + BeanUtils.copyProperties(dto, record); + + // 璁剧疆鐧昏浜轰俊鎭� + SysUser registrant = userMapper.selectUserById(dto.getRegistrantId()); + if (registrant == null) { + throw new BaseException("鐧昏浜轰俊鎭笉瀛樺湪"); + } + record.setRegistrant(registrant.getUserName()); + + // 璁剧疆瀹㈡埛淇℃伅 + Customer customer = customerMapper.selectById(dto.getCustomerId()); + if (customer == null) { + throw new BaseException("瀹㈡埛淇℃伅涓嶅瓨鍦�"); + } + record.setCustomer(customer.getCustomerName()); + + // 璁剧疆鏃ユ湡淇℃伅 + LocalDate now = LocalDate.now(); + if (record.getId() == null) { + // 鏂板鏃惰缃棩鏈� + record.setSaleDate(now); + record.setRegistrationDate(now); + } else { + // 鏇存柊鏃朵笉瑕嗙洊鍘熸湁鏃ユ湡 + SalesRecord existing = salesRecordMapper.selectById(record.getId()); + if (existing == null) { + throw new BaseException("閿�鍞褰曚笉瀛樺湪"); + } + record.setSaleDate(existing.getSaleDate()); + record.setRegistrationDate(existing.getRegistrationDate()); + } + + return record; + } + + private int insertSalesRecord(SalesRecord record) { + int result = salesRecordMapper.insert(record); + if (result <= 0) { + throw new BaseException("閿�鍞褰曞垱寤哄け璐�"); + } + return result; + } + + private int updateSalesRecord(SalesRecord record) { + int result = salesRecordMapper.updateById(record); + if (result <= 0) { + throw new BaseException("閿�鍞褰曟洿鏂板け璐�"); + } + return result; + } + + @Override + public int delByIds(Long[] ids) { + // 妫�鏌ュ弬鏁� + if (ids == null || ids.length == 0) { + return 0; + } + // 鏋勯�犳洿鏂版潯浠� + UpdateWrapper<SalesRecord> updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", ids) + .set("deleted", 1); // 璁剧疆 deleted 涓� 1 琛ㄧず宸插垹闄� + // 鎵ц鎵归噺閫昏緫鍒犻櫎 + return salesRecordMapper.update(null, updateWrapper); + } +} diff --git a/main-business/src/main/java/com/ruoyi/business/vo/OfficialInventoryVo.java b/main-business/src/main/java/com/ruoyi/business/vo/OfficialInventoryVo.java new file mode 100644 index 0000000..67526a4 --- /dev/null +++ b/main-business/src/main/java/com/ruoyi/business/vo/OfficialInventoryVo.java @@ -0,0 +1,16 @@ +package com.ruoyi.business.vo; + +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class OfficialInventoryVo { + + private Long id; // 涓婚敭ID + private String coal; // 鐓ょ + private String unit; // 鍗曚綅 + private BigDecimal inventoryQuantity; // 搴撳瓨鏁伴噺 + private BigDecimal priceIncludingTax; // 鍗曚环锛堝惈绋庯級 + +} diff --git a/main-business/src/main/resources/db/migration/postgresql/V20250611160300__create_table_sales_record.sql b/main-business/src/main/resources/db/migration/postgresql/V20250611160300__create_table_sales_record.sql new file mode 100644 index 0000000..b963e59 --- /dev/null +++ b/main-business/src/main/resources/db/migration/postgresql/V20250611160300__create_table_sales_record.sql @@ -0,0 +1,59 @@ +-- 鍒涘缓閿�鍞褰曡〃 +CREATE TABLE sales_record +( + id BIGSERIAL PRIMARY KEY, -- 涓婚敭ID + sale_date DATE NOT NULL, -- 閿�鍞棩鏈� + customer_id BIGINT, -- 瀹㈡埛id + customer VARCHAR(255) NOT NULL, -- 瀹㈡埛 + coal_id VARCHAR(255) NOT NULL, -- 鐓ょ id + coal VARCHAR(255) NOT NULL, -- 鐓ょ + price_including_tax DECIMAL(10, 2) NOT NULL, -- 鍗曚环锛堝惈绋庯級 + inventory_quantity DECIMAL(10, 0) NOT NULL, -- 搴撳瓨鏁伴噺 + unit VARCHAR(100) NOT NULL, -- 鍗曚綅 + sale_quantity DECIMAL(10, 2) NOT NULL, -- 閿�鍞暟閲� + sale_price DECIMAL(10, 2) NOT NULL, -- 閿�鍞崟浠� (鍚◣) + total_amount DECIMAL(10, 2) NOT NULL, -- 閿�鍞�讳环 (鍚◣) + tax_coal VARCHAR(36), -- 璐攢鐓ょ◣鐜�13% + tax_trans VARCHAR(36), -- 杩愯緭绋庣巼9% + gross_profit DECIMAL(10, 2), -- 姣涘埄娑� + net_profit DECIMAL(10, 2), -- 鍑�鍒╂鼎 + registrant_id BIGINT, -- 鐧昏浜篿d + registrant VARCHAR(255) NOT NULL, -- 鐧昏浜� + registration_date DATE NOT NULL, -- 鐧昏鏃ユ湡 + + create_time TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP, -- 涓婁紶鏃堕棿锛岄粯璁ゅ綋鍓嶆椂闂� + update_time TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP, -- 鏈�鍚庢洿鏂版椂闂达紝榛樿褰撳墠鏃堕棿 + create_by VARCHAR(255), -- 涓婁紶浜虹敤鎴峰悕 + update_by VARCHAR(255), -- 鏈�鍚庝慨鏀逛汉鐢ㄦ埛鍚� + deleted INT NOT NULL DEFAULT 0 -- 杞垹闄ゆ爣蹇楋細0=鏈垹闄わ紝1=宸插垹闄� +); + +-- 琛ㄦ敞閲� +COMMENT ON TABLE sales_record IS '閿�鍞褰曡〃'; + +-- 娣诲姞瀛楁娉ㄩ噴 +COMMENT ON COLUMN sales_record.id IS '涓婚敭ID'; +COMMENT ON COLUMN sales_record.sale_date IS '閿�鍞棩鏈�'; +COMMENT ON COLUMN sales_record.customer IS '瀹㈡埛'; +COMMENT ON COLUMN sales_record.customer_id IS '瀹㈡埛id'; +COMMENT ON COLUMN sales_record.coal IS '鐓ょ'; +COMMENT ON COLUMN sales_record.coal_id IS '鐓ょid'; +COMMENT ON COLUMN sales_record.unit IS '鍗曚綅'; +COMMENT ON COLUMN sales_record.price_including_tax IS '鍗曚环锛堝惈绋庯級'; +COMMENT ON COLUMN sales_record.inventory_quantity IS '搴撳瓨鏁伴噺'; +COMMENT ON COLUMN sales_record.sale_quantity IS '閿�鍞暟閲�'; +COMMENT ON COLUMN sales_record.sale_price IS '閿�鍞崟浠� (鍚◣)'; +COMMENT ON COLUMN sales_record.total_amount IS '閿�鍞�讳环 (鍚◣)'; +COMMENT ON COLUMN sales_record.tax_coal IS '璐攢鐓ょ◣鐜�13%'; +COMMENT ON COLUMN sales_record.tax_trans IS '杩愯緭绋庣巼9%'; +COMMENT ON COLUMN sales_record.gross_profit IS '姣涘埄娑�'; +COMMENT ON COLUMN sales_record.net_profit IS '鍑�鍒╂鼎'; +COMMENT ON COLUMN sales_record.registrant IS '鐧昏浜�'; +COMMENT ON COLUMN sales_record.registrant_id IS '鐧昏浜篿d'; +COMMENT ON COLUMN sales_record.registration_date IS '鐧昏鏃ユ湡'; + +COMMENT ON COLUMN sales_record.deleted IS '杞垹闄ゆ爣蹇楋紝0=鏈垹闄わ紝1=宸插垹闄�'; +COMMENT ON COLUMN sales_record.create_by IS '鍒涘缓璇ヨ褰曠殑鐢ㄦ埛'; +COMMENT ON COLUMN sales_record.create_time IS '璁板綍鍒涘缓鏃堕棿'; +COMMENT ON COLUMN sales_record.update_by IS '鏈�鍚庝慨鏀硅璁板綍鐨勭敤鎴�'; +COMMENT ON COLUMN sales_record.update_time IS '璁板綍鏈�鍚庢洿鏂版椂闂�'; diff --git a/main-business/src/main/resources/mapper/OfficialInventoryMapper.xml b/main-business/src/main/resources/mapper/OfficialInventoryMapper.xml index 278bdb6..7fdf772 100644 --- a/main-business/src/main/resources/mapper/OfficialInventoryMapper.xml +++ b/main-business/src/main/resources/mapper/OfficialInventoryMapper.xml @@ -11,12 +11,11 @@ <result column="update_by" property="updateBy" /> <result column="update_time" property="updateTime" /> <result column="supplier_name" property="supplierName" /> - <result column="coal_type" property="coalType" /> + <result column="coal" property="coal" /> <result column="unit" property="unit" /> <result column="inventory_quantity" property="inventoryQuantity" /> <result column="price_including_tax" property="priceIncludingTax" /> <result column="total_price_including_tax" property="totalPriceIncludingTax" /> - <result column="cost_per_unit" property="costPerUnit" /> <result column="pending_replenishment" property="pendingReplenishment" /> <result column="registrant_id" property="registrantId" /> <result column="registration_date" property="registrationDate" /> @@ -29,7 +28,7 @@ create_time, update_by, update_time, - id, supplier_name, coal_type, unit, inventory_quantity, price_including_tax, total_price_including_tax, cost_per_unit, pending_replenishment, registrant_id, registration_date + id, supplier_name, coal_type, unit, inventory_quantity, price_including_tax, total_price_including_tax, pending_replenishment, registrant_id, registration_date </sql> </mapper> \ No newline at end of file diff --git a/main-business/src/main/resources/mapper/PendingInventoryMapper.xml b/main-business/src/main/resources/mapper/PendingInventoryMapper.xml index 384f9ef..c8d125e 100644 --- a/main-business/src/main/resources/mapper/PendingInventoryMapper.xml +++ b/main-business/src/main/resources/mapper/PendingInventoryMapper.xml @@ -16,9 +16,8 @@ <result column="inventory_quantity" property="inventoryQuantity" /> <result column="price_including_tax" property="priceIncludingTax" /> <result column="total_price_including_tax" property="totalPriceIncludingTax" /> - <result column="cost_per_unit" property="costPerUnit" /> <result column="registrant_id" property="registrantId" /> - <result column="registration_time" property="registrationTime" /> + <result column="registration_date" property="registrationDate" /> </resultMap> <!-- 閫氱敤鏌ヨ缁撴灉鍒� --> @@ -28,7 +27,7 @@ create_time, update_by, update_time, - id, supplier_name, coal_type, unit, inventory_quantity, price_including_tax, total_price_including_tax, cost_per_unit, registrant, registration_time + id, supplier_name, coal_type, unit, inventory_quantity, price_including_tax, total_price_including_tax, registrant, registration_time </sql> </mapper> \ No newline at end of file diff --git a/main-business/src/main/resources/mapper/SalesRecordMapper.xml b/main-business/src/main/resources/mapper/SalesRecordMapper.xml new file mode 100644 index 0000000..d284f8a --- /dev/null +++ b/main-business/src/main/resources/mapper/SalesRecordMapper.xml @@ -0,0 +1,43 @@ +<?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.ruoyi.business.mapper.SalesRecordMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.ruoyi.business.entity.SalesRecord"> + <id column="id" property="id" /> + <result column="create_time" property="createTime" /> + <result column="update_time" property="updateTime" /> + <result column="create_by" property="createBy" /> + <result column="update_by" property="updateBy" /> + <result column="deleted" property="deleted" /> + <result column="sale_date" property="saleDate" /> + <result column="customer_id" property="customerId" /> + <result column="customer" property="customer" /> + <result column="coal_id" property="coalId" /> + <result column="coal" property="coal" /> + <result column="price_including_tax" property="priceIncludingTax" /> + <result column="inventory_quantity" property="inventoryQuantity" /> + <result column="unit" property="unit" /> + <result column="sale_quantity" property="saleQuantity" /> + <result column="sale_price" property="salePrice" /> + <result column="total_amount" property="totalAmount" /> + <result column="tax_coal" property="taxCoal" /> + <result column="tax_trans" property="taxTrans" /> + <result column="gross_profit" property="grossProfit" /> + <result column="net_profit" property="netProfit" /> + <result column="registrant_id" property="registrantId" /> + <result column="registrant" property="registrant" /> + <result column="registration_date" property="registrationDate" /> + </resultMap> + + <!-- 閫氱敤鏌ヨ缁撴灉鍒� --> + <sql id="Base_Column_List"> + create_time, + update_time, + create_by, + update_by, + deleted, + id, sale_date, customer_id, customer, coal_id, coal, price_including_tax, inventory_quantity, unit, sale_quantity, sale_price, total_amount, tax_coal, tax_trans, gross_profit, net_profit, registrant_id, registrant, registration_date + </sql> + +</mapper> \ No newline at end of file diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/init/MyStartupRunner.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/init/MyStartupRunner.java index 696543f..595d5fb 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/init/MyStartupRunner.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/init/MyStartupRunner.java @@ -99,7 +99,6 @@ provinceMapper.insert(provinces); cityMapper.insert(cities); districtMapper.insert(districts); - log.info("鍦板尯淇℃伅鍒濆鍖栫粨鏉�"); } } -- Gitblit v1.9.3