diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/TbConsInfo.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/TbConsInfo.java index cd0affbd..9d06b59d 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/TbConsInfo.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/TbConsInfo.java @@ -25,6 +25,8 @@ import javax.validation.constraints.*; import java.sql.Timestamp; import java.math.BigDecimal; import java.io.Serializable; +import java.util.List; +import java.util.Map; /** * @author admin @@ -108,7 +110,7 @@ public class TbConsInfo implements Serializable { private String isCheck; @Transient - private String product; + private List> product; public void copy(TbConsInfo source){ BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true)); diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/ViewConInfoFlow.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/ViewConInfoFlow.java deleted file mode 100644 index a5848254..00000000 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/domain/ViewConInfoFlow.java +++ /dev/null @@ -1,140 +0,0 @@ -/* -* Copyright 2019-2020 Zheng Jie -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ -package cn.ysk.cashier.cons.domain; - -import lombok.Data; -import cn.hutool.core.bean.BeanUtil; -import io.swagger.annotations.ApiModelProperty; -import cn.hutool.core.bean.copier.CopyOptions; -import javax.persistence.*; -import javax.validation.constraints.*; -import java.math.BigDecimal; -import java.io.Serializable; -import java.util.Date; - -/** -* @author admin -* @date 2024-07-17 -**/ -@Entity -@Data -@Table(name="view_con_info_flow") -public class ViewConInfoFlow implements Serializable { - - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - @Column(name = "`cons_id`") - @ApiModelProperty(value = "耗材id") - private Integer consId; - - @Column(name = "`con_name`") - @ApiModelProperty(value = "耗材名称") - private String conName; - - - @Column(name = "`shop_id`") - @ApiModelProperty(value = "店铺id") - private Integer shopId; - - @Column(name = "`con_return`",nullable = false) - @NotNull - @ApiModelProperty(value = "con_return") - private BigDecimal conReturn; - - @Column(name = "`con_in`",nullable = false) - @NotNull - @ApiModelProperty(value = "con_in") - private BigDecimal conIn; - - @Column(name = "`con_consume`",nullable = false) - @NotNull - @ApiModelProperty(value = "con_consume") - private BigDecimal conConsume; - - @Column(name = "`con_out`",nullable = false) - @NotNull - @ApiModelProperty(value = "con_out") - private BigDecimal conOut; - - @Column(name = "`balance`",nullable = false) - @NotNull - @ApiModelProperty(value = "balance") - private BigDecimal balance; - - - @Column(name = "`status`") - @ApiModelProperty(value = "status") - private String status; - - - - @Column(name = "`product_id`") - @ApiModelProperty(value = "商品id") - private String productId; - - - @Column(name = "`product_name`") - @ApiModelProperty(value = "商品名称") - private String productName; - - @Column(name = "`con_code`") - @ApiModelProperty(value = "耗材代码") - private String conCode; - - @Column(name = "`con_type_code`") - @ApiModelProperty(value = "耗材类型代码") - private String conTypeCode; - - @Column(name = "`con_type_name`") - @ApiModelProperty(value = "耗材类型名称") - private String conTypeName; - - @Column(name = "`con_unit`") - @ApiModelProperty(value = "耗材单位") - private String conUnit; - - @Column(name = "`con_warning`") - @ApiModelProperty(value = "预警值") - private String conWarning; - - @Column(name = "`con_type_id`") - @ApiModelProperty(value = "耗材类型名称") - private Integer conTypeId; - - - - @Column(name = "`is_check`") - @ApiModelProperty(value = "是否检测库存") - private String isCheck; - - @Column(name = "`create_time`") - @ApiModelProperty(value = "创建时间") - private Date createTime; - - @Column(name = "`update_time`") - @ApiModelProperty(value = "更新时间") - private Date updateTime; - - @Column(name = "price") - @ApiModelProperty(value = "单价") - private BigDecimal price; - - - - public void copy(ViewConInfoFlow source){ - BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true)); - } -} diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/repository/TbConsInfoRepository.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/repository/TbConsInfoRepository.java index c58ea621..5b7c1a93 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/repository/TbConsInfoRepository.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/cons/repository/TbConsInfoRepository.java @@ -9,6 +9,7 @@ import org.springframework.data.jpa.repository.JpaSpecificationExecutor; import org.springframework.data.jpa.repository.Query; import java.util.List; +import java.util.Map; /** * @website https://eladmin.vip @@ -26,11 +27,11 @@ public interface TbConsInfoRepository extends JpaRepository @Query(value = - "SELECT CONCAT(pro.id, '_', pro.NAME) AS product" + + "SELECT pro.id, pro.name" + " FROM" + " tb_prosku_con conPro" + " LEFT JOIN tb_product pro ON conPro.product_id = pro.id AND pro.shop_id = :shopId AND conPro.shop_id = :shopId" + " where conPro.con_info_id = :conInfoId " + " group by conPro.product_id ",nativeQuery = true) - List queryAllAndPro(@Param("shopId") Integer shopId,@Param("conInfoId")Integer conInfoId); + List> queryAllAndPro(@Param("shopId") Integer shopId, @Param("conInfoId")Integer conInfoId); } \ No newline at end of file diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/repository/ViewConInfoFlowRepository.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/repository/ViewConInfoFlowRepository.java deleted file mode 100644 index 37fd00c6..00000000 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/repository/ViewConInfoFlowRepository.java +++ /dev/null @@ -1,13 +0,0 @@ -package cn.ysk.cashier.cons.repository; - -import cn.ysk.cashier.cons.domain.ViewConInfoFlow; -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.data.jpa.repository.JpaSpecificationExecutor; - -/** -* @website https://eladmin.vip -* @author admin -* @date 2024-07-17 -**/ -public interface ViewConInfoFlowRepository extends JpaRepository, JpaSpecificationExecutor { -} \ No newline at end of file diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/rest/TbConsInfoController.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/rest/TbConsInfoController.java index d6218693..d9e583e8 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/rest/TbConsInfoController.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/cons/rest/TbConsInfoController.java @@ -50,14 +50,14 @@ public class TbConsInfoController { @PostMapping("/allAndPro") @ApiOperation("耗材列表(携带商品信息)") - public ResponseEntity queryAllAndPro(TbConsInfoQueryCriteria criteria){ + public ResponseEntity queryAllAndPro(@RequestBody TbConsInfoQueryCriteria criteria){ return new ResponseEntity<>(tbConsInfoService.queryAllAndPro(criteria),HttpStatus.OK); } @PostMapping @Log("新增耗材信息") @ApiOperation("新增耗材信息") - public ResponseEntity createTbConsInfo(@Validated @RequestBody List resources) throws Exception { + public ResponseEntity createTbConsInfo(@Validated @RequestBody List resources) { return new ResponseEntity<>(tbConsInfoService.create(resources),HttpStatus.CREATED); } diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/rest/ViewConInfoFlowController.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/rest/ViewConInfoFlowController.java deleted file mode 100644 index 25094747..00000000 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/rest/ViewConInfoFlowController.java +++ /dev/null @@ -1,63 +0,0 @@ -//package cn.ysk.cashier.cons.rest; -// -//import cn.ysk.cashier.annotation.Log; -//import cn.ysk.cashier.cons.domain.ViewConInfoFlow; -//import cn.ysk.cashier.cons.service.ViewConInfoFlowService; -//import cn.ysk.cashier.cons.service.dto.ViewConInfoFlowQueryCriteria; -//import lombok.RequiredArgsConstructor; -//import org.springframework.http.HttpStatus; -//import org.springframework.http.ResponseEntity; -//import org.springframework.validation.annotation.Validated; -//import org.springframework.web.bind.annotation.*; -//import io.swagger.annotations.*; -//import java.io.IOException; -//import javax.servlet.http.HttpServletResponse; -// -///** -//* @author admin -//* @date 2024-07-17 -//**/ -//@RestController -//@RequiredArgsConstructor -//@Api(tags = "获取耗材流水信息管理") -//@RequestMapping("/api/viewConInfoFlow") -//public class ViewConInfoFlowController { -// -// private final ViewConInfoFlowService viewConInfoFlowService; -// -// @Log("导出数据") -// @ApiOperation("导出数据") -// @GetMapping(value = "/download") -// public void exportViewConInfoFlow(HttpServletResponse response, ViewConInfoFlowQueryCriteria criteria) throws IOException { -// viewConInfoFlowService.download(viewConInfoFlowService.queryAll(criteria), response); -// } -// -// @PostMapping("get") -// @ApiOperation("查询获取耗材流水信息") -// public ResponseEntity queryViewConInfoFlow(@RequestBody ViewConInfoFlowQueryCriteria criteria){ -// return new ResponseEntity<>(viewConInfoFlowService.queryAllPage(criteria),HttpStatus.OK); -// } -// -// @PostMapping -// @Log("新增获取耗材流水信息") -// @ApiOperation("新增获取耗材流水信息") -// public ResponseEntity createViewConInfoFlow(@Validated @RequestBody ViewConInfoFlow resources){ -// return new ResponseEntity<>(viewConInfoFlowService.create(resources),HttpStatus.CREATED); -// } -// -// @PutMapping -// @Log("修改获取耗材流水信息") -// @ApiOperation("修改获取耗材流水信息") -// public ResponseEntity updateViewConInfoFlow(@Validated @RequestBody ViewConInfoFlow resources){ -// viewConInfoFlowService.update(resources); -// return new ResponseEntity<>(HttpStatus.NO_CONTENT); -// } -// -// @DeleteMapping -// @Log("删除获取耗材流水信息") -// @ApiOperation("删除获取耗材流水信息") -// public ResponseEntity deleteViewConInfoFlow(@RequestBody Integer[] ids) { -// viewConInfoFlowService.deleteAll(ids); -// return new ResponseEntity<>(HttpStatus.OK); -// } -//} \ No newline at end of file diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/TbConsInfoService.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/TbConsInfoService.java index 5504fa0d..324271c9 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/TbConsInfoService.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/TbConsInfoService.java @@ -49,7 +49,7 @@ public interface TbConsInfoService { * @param resources / * @return TbConsInfoDto */ - TbConsInfoDto create(List resources) throws Exception; + TbConsInfoDto create(List resources); /** * 编辑 diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/ViewConInfoFlowService.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/ViewConInfoFlowService.java deleted file mode 100644 index e16f6c45..00000000 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/ViewConInfoFlowService.java +++ /dev/null @@ -1,64 +0,0 @@ -package cn.ysk.cashier.cons.service; - -import cn.ysk.cashier.cons.domain.ViewConInfoFlow; -import cn.ysk.cashier.cons.service.dto.ViewConInfoFlowDto; -import cn.ysk.cashier.cons.service.dto.ViewConInfoFlowQueryCriteria; -import java.util.Map; -import java.util.List; -import java.io.IOException; -import javax.servlet.http.HttpServletResponse; - -/** -* @author admin -* @date 2024-07-17 -**/ -public interface ViewConInfoFlowService { - - /** - * 查询数据分页 - * @param criteria 条件 - * @return Map - */ - Map queryAllPage(ViewConInfoFlowQueryCriteria criteria); - - /** - * 查询所有数据不分页 - * @param criteria 条件参数 - * @return List - */ - List queryAll(ViewConInfoFlowQueryCriteria criteria); - - /** - * 根据ID查询 - * @param consId ID - * @return ViewConInfoFlowDto - */ - ViewConInfoFlowDto findById(Integer consId); - - /** - * 创建 - * @param resources / - * @return ViewConInfoFlowDto - */ - ViewConInfoFlowDto create(ViewConInfoFlow resources); - - /** - * 编辑 - * @param resources / - */ - void update(ViewConInfoFlow resources); - - /** - * 多选删除 - * @param ids / - */ - void deleteAll(Integer[] ids); - - /** - * 导出数据 - * @param all 待导出的数据 - * @param response / - * @throws IOException / - */ - void download(List all, HttpServletResponse response) throws IOException; -} \ No newline at end of file diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/TbConsInfoDto.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/TbConsInfoDto.java index 3742409b..5821dd6d 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/TbConsInfoDto.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/TbConsInfoDto.java @@ -22,6 +22,8 @@ import javax.persistence.Column; import java.sql.Timestamp; import java.math.BigDecimal; import java.io.Serializable; +import java.util.List; +import java.util.Map; /** * @author admin @@ -81,5 +83,5 @@ public class TbConsInfoDto implements Serializable { private String isCheck; - private String product; + private List> product; } \ No newline at end of file diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/ViewConInfoFlowDto.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/ViewConInfoFlowDto.java deleted file mode 100644 index 6e5e19ed..00000000 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/ViewConInfoFlowDto.java +++ /dev/null @@ -1,73 +0,0 @@ -/* -* Copyright 2019-2020 Zheng Jie -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ -package cn.ysk.cashier.cons.service.dto; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import javax.persistence.Column; -import java.math.BigDecimal; -import java.io.Serializable; -import java.util.Date; - -/** -* @author admin -* @date 2024-07-17 -**/ -@Data -public class ViewConInfoFlowDto implements Serializable { - - /** 耗材id */ - private Integer consId; - - /** 耗材名称 */ - private String conName; - - private BigDecimal conReturn; - - private BigDecimal conIn; - - private BigDecimal conConsume; - - private BigDecimal conOut; - - private BigDecimal balance; - - - private String productId; - - private String productName; - private String status; - - private String conCode; - - private String conTypeCode; - - private String conTypeName; - - private String conUnit; - - private String conWarning; - - private Integer conTypeId; - - - private String isCheck; - private Date createTime; - private Date updateTime; - - private BigDecimal price; -} \ No newline at end of file diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/ViewConInfoFlowQueryCriteria.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/ViewConInfoFlowQueryCriteria.java deleted file mode 100644 index b5151a1e..00000000 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/dto/ViewConInfoFlowQueryCriteria.java +++ /dev/null @@ -1,39 +0,0 @@ -package cn.ysk.cashier.cons.service.dto; - -import lombok.Data; - -import java.util.Date; -import java.util.List; - -import cn.ysk.cashier.annotation.Query; - -/** - * @author admin - * @date 2024-07-17 - **/ -@Data -public class ViewConInfoFlowQueryCriteria { - - /** - * 模糊 - */ - @Query(type = Query.Type.INNER_LIKE) - private String conName; - - @Query(type = Query.Type.INNER_LIKE) - private String productName; - - - @Query - private String shopId; - - @Query - private Integer conTypeId; - - @Query(type = Query.Type.BETWEEN) - private List createTime; - - private Integer page; - private Integer size; - private String sort; -} \ No newline at end of file diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/TbConCheckServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/TbConCheckServiceImpl.java index 8c3dd9c6..e32e43c6 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/TbConCheckServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/TbConCheckServiceImpl.java @@ -99,7 +99,7 @@ public class TbConCheckServiceImpl implements TbConCheckService { flow.setConName(consInfo.getConName()); flow.setAmount(resources.getLpNum()); flow.setBalance(resources.getStockNumber()); - flow.setOperator(SecurityUtils.getCurrentUsername()); + flow.setOperator(SecurityUtils.getCurrentUserNickName()); flow.setCreateTime(new Timestamp(System.currentTimeMillis())); flow.setRemark(resources.getRemark()); tbConsInfoFlowRepository.save(flow); diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/TbConsInfoFlowServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/TbConsInfoFlowServiceImpl.java index 56c45ecf..b8be6ec8 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/TbConsInfoFlowServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/TbConsInfoFlowServiceImpl.java @@ -169,7 +169,7 @@ public class TbConsInfoFlowServiceImpl implements TbConsInfoFlowService { tbConsInfoFlow.setBizName("报损"); tbConsInfoFlow.setBizType("-"); tbConsInfoFlow.setCreateTime(new Timestamp(System.currentTimeMillis())); - tbConsInfoFlow.setOperator(SecurityUtils.getCurrentUsername()); + tbConsInfoFlow.setOperator(SecurityUtils.getCurrentUserNickName()); tbConsInfoFlowRepository.save(tbConsInfoFlow); tbConsInfo.setStockNumber(balance); consInfoRepository.save(tbConsInfo); diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/TbConsInfoServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/TbConsInfoServiceImpl.java index a581624a..7cce301f 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/TbConsInfoServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/TbConsInfoServiceImpl.java @@ -1,17 +1,5 @@ package cn.ysk.cashier.cons.service.impl; -import javax.persistence.criteria.CriteriaBuilder; -import javax.persistence.criteria.CriteriaQuery; -import javax.persistence.criteria.Predicate; -import javax.persistence.criteria.Root; -import javax.persistence.criteria.Subquery; -import java.util.ArrayList; -import java.util.List; - -import cn.ysk.cashier.pojo.product.TbProduct; -import org.springframework.data.domain.*; -import org.springframework.data.jpa.domain.Specification; -import org.springframework.data.jpa.repository.JpaRepository; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.copier.CopyOptions; import cn.hutool.core.util.ObjectUtil; @@ -45,14 +33,13 @@ import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; -import org.springframework.data.jpa.domain.Specification; +import org.springframework.data.domain.Sort; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import org.springframework.web.multipart.MultipartFile; - -import javax.persistence.criteria.*; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.math.BigDecimal; @@ -91,7 +78,7 @@ public class TbConsInfoServiceImpl implements TbConsInfoService { @Override public Map queryAllAndPro(TbConsInfoQueryCriteria criteria) { - Sort sort = Sort.by(Sort.Direction.DESC, "consId"); + Sort sort = Sort.by(Sort.Direction.DESC, "id"); if(StringUtils.isNotBlank(criteria.getSort())){ String[] sortParams = criteria.getSort().split(","); String sortField = sortParams[0]; @@ -102,8 +89,8 @@ public class TbConsInfoServiceImpl implements TbConsInfoService { Page page = tbConsInfoRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder), pageable); Page result = page.map(tbConsInfoMapper::toDto); result.getContent().forEach(it -> { - List list = tbConsInfoRepository.queryAllAndPro(criteria.getShopId(), it.getId()); - it.setProduct(String.join(",", list)); + List> list = tbConsInfoRepository.queryAllAndPro(criteria.getShopId(), it.getId()); + it.setProduct(list); }); return PageUtil.toPage(result); } @@ -128,13 +115,13 @@ public class TbConsInfoServiceImpl implements TbConsInfoService { @Override @Transactional(rollbackFor = Exception.class) - public TbConsInfoDto create(List resources) throws Exception { + public TbConsInfoDto create(List resources){ for (TbConsInfo resource : resources) { TbConsType tbConsType = tbConsTypeRepository.getById(resource.getConTypeId()); if (Objects.isNull(tbConsType)) { - throw new Exception("不存在的耗材类型"); + throw new BadRequestException("不存在的耗材类型"); } // int count = tbConsInfoRepository.countByConCode(resources.getConCode()); @@ -142,7 +129,7 @@ public class TbConsInfoServiceImpl implements TbConsInfoService { // throw new Exception("耗材代码不允许重复"); // } if(StringUtils.isBlank(resource.getConUnit())){ - throw new Exception(resource.getConName()+ "的单位不允许为空"); + throw new BadRequestException(resource.getConName()+ "的单位不允许为空"); } resource.setConCode(StringCodeUtil.getRandom(8, LETTER_CAPITAL_NUMBER)); resource.setConTypeName(tbConsType.getConTypeName()); @@ -351,8 +338,9 @@ public class TbConsInfoServiceImpl implements TbConsInfoService { flow.setShopId(info.getShopId()); flow.setConName(info.getConName()); flow.setAmount(conInfos.getStockNumber()); + flow.setRemark(resources.getRemark()); flow.setBalance(info.getStockNumber().subtract(info.getStockConsume())); - flow.setOperator(SecurityUtils.getCurrentUsername()); + flow.setOperator(SecurityUtils.getCurrentUserNickName()); flow.setCreateTime(new Timestamp(System.currentTimeMillis())); tbConsInfoFlowRepository.save(flow); } @@ -461,7 +449,7 @@ public class TbConsInfoServiceImpl implements TbConsInfoService { flow.setConName(consInfo.getConName()); flow.setAmount(consInfo.getStockNumber()); flow.setBalance(consInfo.getStockNumber()); - flow.setOperator(SecurityUtils.getCurrentUsername()); + flow.setOperator(SecurityUtils.getCurrentUserNickName()); flow.setCreateTime(new Timestamp(System.currentTimeMillis())); tbConsInfoFlowRepository.save(flow); @@ -486,7 +474,7 @@ public class TbConsInfoServiceImpl implements TbConsInfoService { flow.setConName(consInfo.getConName()); flow.setAmount(consInfo.getStockNumber()); flow.setBalance(consInfo.getStockNumber()); - flow.setOperator(SecurityUtils.getCurrentUsername()); + flow.setOperator(SecurityUtils.getCurrentUserNickName()); flow.setCreateTime(new Timestamp(System.currentTimeMillis())); tbConsInfoFlowRepository.save(flow); } @@ -517,7 +505,7 @@ public class TbConsInfoServiceImpl implements TbConsInfoService { flow.setConName(consInfo.getConName()); flow.setAmount(consInfo.getStockNumber()); flow.setBalance(consInfo.getStockNumber()); - flow.setOperator(SecurityUtils.getCurrentUsername()); + flow.setOperator(SecurityUtils.getCurrentUserNickName()); flow.setCreateTime(new Timestamp(System.currentTimeMillis())); tbConsInfoFlowRepository.save(flow); diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/ViewConInfoFlowServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/ViewConInfoFlowServiceImpl.java deleted file mode 100644 index d005609d..00000000 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/impl/ViewConInfoFlowServiceImpl.java +++ /dev/null @@ -1,99 +0,0 @@ -package cn.ysk.cashier.cons.service.impl; - -import cn.ysk.cashier.cons.domain.ViewConInfoFlow; -import cn.ysk.cashier.utils.FileUtil; -import cn.ysk.cashier.utils.PageUtil; -import cn.ysk.cashier.utils.QueryHelp; -import cn.ysk.cashier.utils.ValidationUtil; -import lombok.RequiredArgsConstructor; -import cn.ysk.cashier.cons.repository.ViewConInfoFlowRepository; -import cn.ysk.cashier.cons.service.ViewConInfoFlowService; -import cn.ysk.cashier.cons.service.dto.ViewConInfoFlowDto; -import cn.ysk.cashier.cons.service.dto.ViewConInfoFlowQueryCriteria; -import cn.ysk.cashier.cons.service.mapstruct.ViewConInfoFlowMapper; -import org.apache.commons.lang3.StringUtils; -import org.springframework.data.domain.PageRequest; -import org.springframework.data.domain.Sort; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; -import java.util.List; -import java.util.Map; -import java.io.IOException; -import javax.servlet.http.HttpServletResponse; -import java.util.ArrayList; -import java.util.LinkedHashMap; - -@Service -@RequiredArgsConstructor -public class ViewConInfoFlowServiceImpl implements ViewConInfoFlowService { - - private final ViewConInfoFlowRepository viewConInfoFlowRepository; - private final ViewConInfoFlowMapper viewConInfoFlowMapper; - - @Override - public Map queryAllPage(ViewConInfoFlowQueryCriteria criteria){ - Sort sort = Sort.by(Sort.Direction.DESC, "consId"); - if(StringUtils.isNotBlank(criteria.getSort())){ - String[] sortParams = criteria.getSort().split(","); - String sortField = sortParams[0]; - Sort.Direction sortDirection = Sort.Direction.fromString(sortParams[1]); - sort = Sort.by(sortDirection, sortField); - } - Pageable pageable = PageRequest.of(criteria.getPage(), criteria.getSize(), sort); - Page page = viewConInfoFlowRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable); - return PageUtil.toPage(page.map(viewConInfoFlowMapper::toDto)); - } - - @Override - public List queryAll(ViewConInfoFlowQueryCriteria criteria){ - return viewConInfoFlowMapper.toDto(viewConInfoFlowRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder))); - } - - @Override - @Transactional - public ViewConInfoFlowDto findById(Integer consId) { - ViewConInfoFlow viewConInfoFlow = viewConInfoFlowRepository.findById(consId).orElseGet(ViewConInfoFlow::new); - ValidationUtil.isNull(viewConInfoFlow.getConsId(),"ViewConInfoFlow","consId",consId); - return viewConInfoFlowMapper.toDto(viewConInfoFlow); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public ViewConInfoFlowDto create(ViewConInfoFlow resources) { - return viewConInfoFlowMapper.toDto(viewConInfoFlowRepository.save(resources)); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void update(ViewConInfoFlow resources) { - ViewConInfoFlow viewConInfoFlow = viewConInfoFlowRepository.findById(resources.getConsId()).orElseGet(ViewConInfoFlow::new); - ValidationUtil.isNull( viewConInfoFlow.getConsId(),"ViewConInfoFlow","id",resources.getConsId()); - viewConInfoFlow.copy(resources); - viewConInfoFlowRepository.save(viewConInfoFlow); - } - - @Override - public void deleteAll(Integer[] ids) { - for (Integer consId : ids) { - viewConInfoFlowRepository.deleteById(consId); - } - } - - @Override - public void download(List all, HttpServletResponse response) throws IOException { - List> list = new ArrayList<>(); - for (ViewConInfoFlowDto viewConInfoFlow : all) { - Map map = new LinkedHashMap<>(); - map.put("耗材名称", viewConInfoFlow.getConName()); - map.put(" conreturn", viewConInfoFlow.getConReturn()); - map.put(" conin", viewConInfoFlow.getConIn()); - map.put(" conconsume", viewConInfoFlow.getConConsume()); - map.put(" conout", viewConInfoFlow.getConOut()); - map.put(" balance", viewConInfoFlow.getBalance()); - list.add(map); - } - FileUtil.downloadExcel(list, response); - } -} \ No newline at end of file diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/mapstruct/ViewConInfoFlowMapper.java b/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/mapstruct/ViewConInfoFlowMapper.java deleted file mode 100644 index 92c1dc35..00000000 --- a/eladmin-system/src/main/java/cn/ysk/cashier/cons/service/mapstruct/ViewConInfoFlowMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package cn.ysk.cashier.cons.service.mapstruct; - -import cn.ysk.cashier.base.BaseMapper; -import cn.ysk.cashier.cons.domain.ViewConInfoFlow; -import cn.ysk.cashier.cons.service.dto.ViewConInfoFlowDto; -import org.mapstruct.Mapper; -import org.mapstruct.ReportingPolicy; - -/** -* @author admin -* @date 2024-07-17 -**/ -@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE) -public interface ViewConInfoFlowMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/pojo/shop/TbPlussShopStaff.java b/eladmin-system/src/main/java/cn/ysk/cashier/pojo/shop/TbPlussShopStaff.java index cf68255f..8d9c9462 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/pojo/shop/TbPlussShopStaff.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/pojo/shop/TbPlussShopStaff.java @@ -65,7 +65,7 @@ public class TbPlussShopStaff implements Serializable { @Column(name = "`max_discount_amount`") @ApiModelProperty(value = "最大优惠金额") - private BigDecimal maxDiscountAmount; + private BigDecimal maxDiscountAmount = BigDecimal.ZERO; @Column(name = "`status`") @ApiModelProperty(value = "1启用0不启用") diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/productimpl/TbProductStockDetailServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/productimpl/TbProductStockDetailServiceImpl.java index af4bcd08..1fdd85ee 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/productimpl/TbProductStockDetailServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/productimpl/TbProductStockDetailServiceImpl.java @@ -177,7 +177,7 @@ public class TbProductStockDetailServiceImpl implements TbProductStockDetailServ stockDetail.setUnitName(tbShopUnit==null?"":tbShopUnit.getName()); stockDetail.setCreatedAt(System.currentTimeMillis()); stockDetail.setUpdatedAt(System.currentTimeMillis()); - stockDetail.setOperator(SecurityUtils.getCurrentUsername()); + stockDetail.setOperator(SecurityUtils.getCurrentUserNickName()); tbProductStockDetailRepository.save(stockDetail); product.setStockNumber(product.getStockNumber()-resources.getStockNumber().intValue()); tbProductRepository.save(product); diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbPlussShopStaffServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbPlussShopStaffServiceImpl.java index 0cd34aa7..60b3cca6 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbPlussShopStaffServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbPlussShopStaffServiceImpl.java @@ -104,12 +104,15 @@ public class TbPlussShopStaffServiceImpl implements TbPlussShopStaffService { @Override @Transactional(rollbackFor = Exception.class) public TbPlussShopStaffDto create(TbPlussShopStaff resources) { - if (!PhoneUtil.validator(resources.getPhone())){ - throw new BadRequestException("手机号格式有误"); + if (org.apache.commons.lang3.StringUtils.isBlank(resources.getAccount())) { + throw new BadRequestException("员工账号为空"); } if (userRepository.findByUsername(resources.getShopId()+"@"+resources.getAccount()) != null) { throw new BadRequestException("员工账号已存在"); } + if (!PhoneUtil.validator(resources.getPhone())){ + throw new BadRequestException("手机号格式有误"); + } if (pattern.matcher(resources.getCode()).find()) { throw new BadRequestException("员工编号不能包含中文");