import javax.persistence.*; | import javax.persistence.*; | ||||
import java.time.LocalDateTime; | import java.time.LocalDateTime; | ||||
/** 卡片一发 */ | |||||
/** 卡片一发明细 */ | |||||
@Getter | @Getter | ||||
@Setter | @Setter | ||||
@Entity | @Entity |
@Column(name = "NAME") | @Column(name = "NAME") | ||||
private String name;//仓库名称 | private String name;//仓库名称 | ||||
@NotNull | @NotNull | ||||
@Column(name = "LEVEL") | |||||
private Integer level;//仓库层级1-3 | |||||
@Column(name = "WAREHOUSE_LEVEL") | |||||
private Integer warehouseLevel;//仓库层级1-3 | |||||
@NotNull | @NotNull | ||||
@Column(name = "STATUS") | @Column(name = "STATUS") | ||||
private Integer status;//库存状态0-删除 1-正常 | private Integer status;//库存状态0-删除 1-正常 |
package cn.com.taiji.core.repo.jpa.invw; | package cn.com.taiji.core.repo.jpa.invw; | ||||
import cn.com.taiji.common.repo.jpa.AbstractJpaRepo; | import cn.com.taiji.common.repo.jpa.AbstractJpaRepo; | ||||
import cn.com.taiji.core.entity.dict.invw.InvDeviceStatus; | |||||
import cn.com.taiji.core.entity.invw.InvwCardDetails; | import cn.com.taiji.core.entity.invw.InvwCardDetails; | ||||
import org.springframework.data.jpa.repository.Query; | |||||
import java.util.List; | |||||
public interface InvwCardDetailsRepo extends AbstractJpaRepo<InvwCardDetails, String>{ | public interface InvwCardDetailsRepo extends AbstractJpaRepo<InvwCardDetails, String>{ | ||||
//根据仓库编号查询库存 | |||||
@Query(value = "from InvwCardDetails where storeCode = ?1") | |||||
List<InvwCardDetails> findByStoreCode(String storeCode); | |||||
} | } |
import cn.com.taiji.common.repo.jpa.AbstractJpaRepo; | import cn.com.taiji.common.repo.jpa.AbstractJpaRepo; | ||||
import cn.com.taiji.core.entity.invw.InvwObuDetails; | import cn.com.taiji.core.entity.invw.InvwObuDetails; | ||||
import org.springframework.data.jpa.repository.Query; | |||||
import java.util.List; | |||||
public interface InvwObuDetailsRepo extends AbstractJpaRepo<InvwObuDetails, String>{ | public interface InvwObuDetailsRepo extends AbstractJpaRepo<InvwObuDetails, String>{ | ||||
//根据仓库编号查询库存 | |||||
@Query(value = "from InvwObuDetails where storeCode = ?1 ") | |||||
List<InvwObuDetails> findByStoreCode(String storeCode); | |||||
} | } |
import cn.com.taiji.common.repo.jpa.AbstractJpaRepo; | import cn.com.taiji.common.repo.jpa.AbstractJpaRepo; | ||||
import cn.com.taiji.core.entity.invw.InvwWarehouse; | import cn.com.taiji.core.entity.invw.InvwWarehouse; | ||||
import org.springframework.data.jpa.repository.Query; | |||||
public interface InvwWarehouseRepo extends AbstractJpaRepo<InvwWarehouse, String>{ | |||||
import java.util.List; | |||||
public interface InvwWarehouseRepo extends AbstractJpaRepo<InvwWarehouse, String> { | |||||
//根据id查询 | |||||
@Query(value = "from InvwWarehouse where id = ?1 and status = ?2") | |||||
InvwWarehouse findByIdAndStatus(String id, Integer status); | |||||
//根据code查询 | |||||
@Query(value = "from InvwWarehouse where code = ?1 and status = ?2") | |||||
InvwWarehouse findByCodeAndStatus(String code, Integer status); | |||||
//根据id查询下级仓库 | |||||
@Query(value = "from InvwWarehouse where parentId = ?1 and status = ?2") | |||||
List<InvwWarehouse> findByParentIdAndStatus(String parentId, Integer status); | |||||
} | } |
import lombok.Getter; | import lombok.Getter; | ||||
import lombok.Setter; | import lombok.Setter; | ||||
import java.time.LocalDateTime; | |||||
@Getter | @Getter | ||||
@Setter | @Setter | ||||
public class InvwWarehousePageRequest extends JpaDateTimePageableDataRequest<InvwWarehouse>{ | public class InvwWarehousePageRequest extends JpaDateTimePageableDataRequest<InvwWarehouse>{ | ||||
public InvwWarehousePageRequest() { | |||||
this.orderBy="id"; | |||||
this.desc=true; | |||||
} | |||||
private String code;//仓库编号 | |||||
private String name;//仓库名称 | |||||
private String agencyId;//渠道编号 | |||||
private LocalDateTime insertTimeStart;//创建时间开始 | |||||
private LocalDateTime insertTimeEnd;//创建时间结束 | |||||
@Override | @Override | ||||
public HqlBuilder toSelectHql(){ | public HqlBuilder toSelectHql(){ | ||||
HqlBuilder hql = new HqlBuilder("from InvwWarehouse where 1=1 "); | HqlBuilder hql = new HqlBuilder("from InvwWarehouse where 1=1 "); | ||||
hql.append(" and code like :code", code); | |||||
hql.append(" and name like :name", name); | |||||
hql.append(" and agencyId =:agencyId", agencyId); | |||||
hql.append(" and insertTime >=:insertTimeStart", insertTimeStart); | |||||
hql.append(" and insertTime <=:insertTimeEnd", insertTimeEnd); | |||||
hql.append(" and status = 1"); | |||||
hql.append(" order by code"); | |||||
return hql; | return hql; | ||||
} | } | ||||
} | } |
import cn.com.taiji.common.model.dao.Pagination; | import cn.com.taiji.common.model.dao.Pagination; | ||||
import cn.com.taiji.common.web.ApiResponse; | import cn.com.taiji.common.web.ApiResponse; | ||||
import cn.com.taiji.invw.api.MyValidController; | import cn.com.taiji.invw.api.MyValidController; | ||||
import cn.com.taiji.invw.dto.card.InvwQryCardBatchDTO; | |||||
import cn.com.taiji.invw.dto.card.InvwQryCardBatchPageRequestDTO; | |||||
import cn.com.taiji.invw.manager.card.InvwQryCardBatchManager; | import cn.com.taiji.invw.manager.card.InvwQryCardBatchManager; | ||||
import io.swagger.annotations.Api; | import io.swagger.annotations.Api; | ||||
import io.swagger.annotations.ApiOperation; | import io.swagger.annotations.ApiOperation; | ||||
@ApiOperation(value = "01-卡片发行批次分页") | @ApiOperation(value = "01-卡片发行批次分页") | ||||
@PostMapping("/page") | @PostMapping("/page") | ||||
public ApiResponse<Pagination> page(@Valid @RequestBody InvwQryCardBatchDTO req) { | |||||
public ApiResponse<Pagination> page(@Valid @RequestBody InvwQryCardBatchPageRequestDTO req) { | |||||
return ApiResponse.of(manager.page(req)); | return ApiResponse.of(manager.page(req)); | ||||
} | } | ||||
} | } |
import cn.com.taiji.common.model.dao.Pagination; | import cn.com.taiji.common.model.dao.Pagination; | ||||
import cn.com.taiji.common.web.ApiResponse; | import cn.com.taiji.common.web.ApiResponse; | ||||
import cn.com.taiji.invw.api.MyValidController; | import cn.com.taiji.invw.api.MyValidController; | ||||
import cn.com.taiji.invw.dto.card.InvwQryCardsDTO; | |||||
import cn.com.taiji.invw.dto.card.InvwQryCardsPageRequestDTO; | |||||
import cn.com.taiji.invw.manager.card.InvwQryCardsManager; | import cn.com.taiji.invw.manager.card.InvwQryCardsManager; | ||||
import io.swagger.annotations.Api; | import io.swagger.annotations.Api; | ||||
import io.swagger.annotations.ApiOperation; | import io.swagger.annotations.ApiOperation; | ||||
@ApiOperation(value = "01-卡片发行分页") | @ApiOperation(value = "01-卡片发行分页") | ||||
@PostMapping("/page") | @PostMapping("/page") | ||||
public ApiResponse<Pagination> page(@Valid @RequestBody InvwQryCardsDTO req) { | |||||
public ApiResponse<Pagination> page(@Valid @RequestBody InvwQryCardsPageRequestDTO req) { | |||||
return ApiResponse.of(manager.page(req)); | return ApiResponse.of(manager.page(req)); | ||||
} | } | ||||
} | } |
package cn.com.taiji.invw.api.enter; | package cn.com.taiji.invw.api.enter; | ||||
import cn.com.taiji.common.model.dao.Pagination; | |||||
import cn.com.taiji.common.web.ApiResponse; | |||||
import cn.com.taiji.invw.api.MyValidController; | import cn.com.taiji.invw.api.MyValidController; | ||||
import cn.com.taiji.invw.dto.card.InvwQryCardBatchDTO; | |||||
import cn.com.taiji.invw.manager.enter.InvwEnterApplyManager; | import cn.com.taiji.invw.manager.enter.InvwEnterApplyManager; | ||||
import io.swagger.annotations.Api; | import io.swagger.annotations.Api; | ||||
import io.swagger.annotations.ApiOperation; | |||||
import org.springframework.beans.factory.annotation.Autowired; | import org.springframework.beans.factory.annotation.Autowired; | ||||
import org.springframework.web.bind.annotation.PostMapping; | |||||
import org.springframework.web.bind.annotation.RequestBody; | |||||
import org.springframework.web.bind.annotation.RequestMapping; | import org.springframework.web.bind.annotation.RequestMapping; | ||||
import org.springframework.web.bind.annotation.RestController; | import org.springframework.web.bind.annotation.RestController; | ||||
import javax.validation.Valid; | |||||
/** | /** | ||||
* @Auther: humh | * @Auther: humh | ||||
* @Description: | * @Description: |
import cn.com.taiji.common.model.dao.Pagination; | import cn.com.taiji.common.model.dao.Pagination; | ||||
import cn.com.taiji.common.web.ApiResponse; | import cn.com.taiji.common.web.ApiResponse; | ||||
import cn.com.taiji.invw.api.MyValidController; | import cn.com.taiji.invw.api.MyValidController; | ||||
import cn.com.taiji.invw.dto.obu.InvwQryObuBatchDTO; | |||||
import cn.com.taiji.invw.dto.obu.InvwQryObuBatchPageRequestDTO; | |||||
import cn.com.taiji.invw.manager.obu.InvwQryObuBatchManager; | import cn.com.taiji.invw.manager.obu.InvwQryObuBatchManager; | ||||
import io.swagger.annotations.Api; | import io.swagger.annotations.Api; | ||||
import io.swagger.annotations.ApiOperation; | import io.swagger.annotations.ApiOperation; | ||||
@ApiOperation(value = "01-OBU发行批次分页") | @ApiOperation(value = "01-OBU发行批次分页") | ||||
@PostMapping("/page") | @PostMapping("/page") | ||||
public ApiResponse<Pagination> page(@Valid @RequestBody InvwQryObuBatchDTO req) { | |||||
public ApiResponse<Pagination> page(@Valid @RequestBody InvwQryObuBatchPageRequestDTO req) { | |||||
return ApiResponse.of(manager.page(req)); | return ApiResponse.of(manager.page(req)); | ||||
} | } | ||||
} | } |
import cn.com.taiji.common.model.dao.Pagination; | import cn.com.taiji.common.model.dao.Pagination; | ||||
import cn.com.taiji.common.web.ApiResponse; | import cn.com.taiji.common.web.ApiResponse; | ||||
import cn.com.taiji.invw.api.MyValidController; | import cn.com.taiji.invw.api.MyValidController; | ||||
import cn.com.taiji.invw.dto.obu.InvwQryObusDTO; | |||||
import cn.com.taiji.invw.dto.obu.InvwQryObusPageRequestDTO; | |||||
import cn.com.taiji.invw.manager.obu.InvwQryObusManager; | import cn.com.taiji.invw.manager.obu.InvwQryObusManager; | ||||
import io.swagger.annotations.Api; | import io.swagger.annotations.Api; | ||||
import io.swagger.annotations.ApiOperation; | import io.swagger.annotations.ApiOperation; | ||||
@ApiOperation(value = "01-OBU发行批次分页") | @ApiOperation(value = "01-OBU发行批次分页") | ||||
@PostMapping("/page") | @PostMapping("/page") | ||||
public ApiResponse<Pagination> page(@Valid @RequestBody InvwQryObusDTO req) { | |||||
public ApiResponse<Pagination> page(@Valid @RequestBody InvwQryObusPageRequestDTO req) { | |||||
return ApiResponse.of(manager.page(req)); | return ApiResponse.of(manager.page(req)); | ||||
} | } | ||||
} | } |
package cn.com.taiji.invw.api.warehouse; | |||||
import cn.com.taiji.common.manager.ManagerException; | |||||
import cn.com.taiji.common.model.dao.Pagination; | |||||
import cn.com.taiji.common.web.ApiResponse; | |||||
import cn.com.taiji.invw.api.MyValidController; | |||||
import cn.com.taiji.invw.dto.warehouse.InvwWarehouseAddDTO; | |||||
import cn.com.taiji.invw.dto.warehouse.InvwWarehouseDeleteDTO; | |||||
import cn.com.taiji.invw.dto.warehouse.InvwWarehouseEditDTO; | |||||
import cn.com.taiji.invw.dto.warehouse.InvwWarehousePageRequestDTO; | |||||
import cn.com.taiji.invw.manager.warehouse.InvwWarehouseManager; | |||||
import io.swagger.annotations.Api; | |||||
import io.swagger.annotations.ApiOperation; | |||||
import org.springframework.beans.factory.annotation.Autowired; | |||||
import org.springframework.web.bind.annotation.PostMapping; | |||||
import org.springframework.web.bind.annotation.RequestBody; | |||||
import org.springframework.web.bind.annotation.RequestMapping; | |||||
import org.springframework.web.bind.annotation.RestController; | |||||
import javax.validation.Valid; | |||||
@Api(tags = {"005-仓库管理"}) | |||||
@RestController | |||||
@RequestMapping("/api/warehouse") | |||||
public class InvwWarehouseController extends MyValidController { | |||||
@Autowired | |||||
private InvwWarehouseManager manager; | |||||
@ApiOperation(value = "01-仓库分页") | |||||
@PostMapping("/page") | |||||
public ApiResponse<Pagination> page(@Valid @RequestBody InvwWarehousePageRequestDTO req) { | |||||
return ApiResponse.of(manager.page(req)); | |||||
} | |||||
@ApiOperation(value = "02-仓库新增") | |||||
@PostMapping("/add") | |||||
public ApiResponse add(@Valid @RequestBody InvwWarehouseAddDTO req) throws ManagerException { | |||||
manager.add(req); | |||||
return ApiResponse.success().setMessage("操作成功"); | |||||
} | |||||
@ApiOperation(value = "03-仓库修改") | |||||
@PostMapping("/edit") | |||||
public ApiResponse edit(@Valid @RequestBody InvwWarehouseEditDTO req) throws ManagerException { | |||||
manager.edit(req); | |||||
return ApiResponse.success().setMessage("操作成功"); | |||||
} | |||||
@ApiOperation(value = "04-仓库删除") | |||||
@PostMapping("/delete") | |||||
public ApiResponse delete(@Valid @RequestBody InvwWarehouseDeleteDTO req) throws ManagerException { | |||||
manager.delete(req); | |||||
return ApiResponse.success().setMessage("操作成功"); | |||||
} | |||||
} |
@Getter | @Getter | ||||
@Setter | @Setter | ||||
@Accessors(chain = true) | @Accessors(chain = true) | ||||
public class InvwQryCardBatchDTO extends AbstractBizRequestDTO { | |||||
public class InvwQryCardBatchPageRequestDTO extends AbstractBizRequestDTO { | |||||
@ApiModelProperty(value = "批次号") | @ApiModelProperty(value = "批次号") | ||||
private String batchNo; // 批次号 | private String batchNo; // 批次号 | ||||
@ApiModelProperty(value = "卡片厂商代码") | @ApiModelProperty(value = "卡片厂商代码") |
@Getter | @Getter | ||||
@Setter | @Setter | ||||
@Accessors(chain = true) | @Accessors(chain = true) | ||||
public class InvwQryCardsDTO extends AbstractBizRequestDTO { | |||||
public class InvwQryCardsPageRequestDTO extends AbstractBizRequestDTO { | |||||
@ApiModelProperty(value = "批次号") | @ApiModelProperty(value = "批次号") | ||||
private String batchNo; // 批次号 | private String batchNo; // 批次号 | ||||
@ApiModelProperty(value = "卡号") | @ApiModelProperty(value = "卡号") |
@Getter | @Getter | ||||
@Setter | @Setter | ||||
@Accessors(chain = true) | @Accessors(chain = true) | ||||
public class InvwQryObuBatchDTO extends AbstractBizRequestDTO { | |||||
public class InvwQryObuBatchPageRequestDTO extends AbstractBizRequestDTO { | |||||
@ApiModelProperty(value = "批次号") | @ApiModelProperty(value = "批次号") | ||||
private String batchNo; // 批次号 | private String batchNo; // 批次号 | ||||
@ApiModelProperty(value = "卡片厂商代码") | @ApiModelProperty(value = "卡片厂商代码") |
@Getter | @Getter | ||||
@Setter | @Setter | ||||
@Accessors(chain = true) | @Accessors(chain = true) | ||||
public class InvwQryObusDTO extends AbstractBizRequestDTO { | |||||
public class InvwQryObusPageRequestDTO extends AbstractBizRequestDTO { | |||||
@ApiModelProperty(value = "批次号") | @ApiModelProperty(value = "批次号") | ||||
private String batchNo; // 批次号 | private String batchNo; // 批次号 | ||||
@ApiModelProperty(value = "OBU合同序列号") | @ApiModelProperty(value = "OBU合同序列号") |
package cn.com.taiji.invw.dto.warehouse; | |||||
import cn.com.taiji.invw.dto.AbstractBizRequestDTO; | |||||
import io.swagger.annotations.ApiModel; | |||||
import io.swagger.annotations.ApiModelProperty; | |||||
import lombok.Getter; | |||||
import lombok.Setter; | |||||
import lombok.experimental.Accessors; | |||||
import javax.validation.constraints.NotBlank; | |||||
@ApiModel(description = "仓库新增") | |||||
@Getter | |||||
@Setter | |||||
@Accessors(chain = true) | |||||
public class InvwWarehouseAddDTO extends AbstractBizRequestDTO { | |||||
@ApiModelProperty(value = "仓库编号", required = true) | |||||
@NotBlank(message = "仓库编号不能为空") | |||||
private String code;//仓库编号 | |||||
@ApiModelProperty(value = "仓库名称", required = true) | |||||
@NotBlank(message = "仓库名称不能为空") | |||||
private String name;//仓库名称 | |||||
@ApiModelProperty(value = "渠道编号", required = true) | |||||
@NotBlank(message = "渠道编号不能为空") | |||||
private String agencyId;//渠道编号 | |||||
@ApiModelProperty(value = "上级仓库ID", required = true) | |||||
@NotBlank(message = "上级仓库ID不能为空") | |||||
private String parentId;//上级仓库ID | |||||
@ApiModelProperty(value = "网点编号,三级有值") | |||||
private String warehouseChannelId;//网点编号,三级有值 | |||||
} |
package cn.com.taiji.invw.dto.warehouse; | |||||
import cn.com.taiji.invw.dto.AbstractBizRequestDTO; | |||||
import io.swagger.annotations.ApiModel; | |||||
import io.swagger.annotations.ApiModelProperty; | |||||
import lombok.Getter; | |||||
import lombok.Setter; | |||||
import lombok.experimental.Accessors; | |||||
import javax.validation.constraints.NotBlank; | |||||
@ApiModel(description = "仓库删除") | |||||
@Getter | |||||
@Setter | |||||
@Accessors(chain = true) | |||||
public class InvwWarehouseDeleteDTO extends AbstractBizRequestDTO { | |||||
@ApiModelProperty(value = "仓库ID") | |||||
@NotBlank(message = "id不能为空") | |||||
private String id; | |||||
} |
package cn.com.taiji.invw.dto.warehouse; | |||||
import cn.com.taiji.invw.dto.AbstractBizRequestDTO; | |||||
import io.swagger.annotations.ApiModel; | |||||
import io.swagger.annotations.ApiModelProperty; | |||||
import lombok.Getter; | |||||
import lombok.Setter; | |||||
import lombok.experimental.Accessors; | |||||
import javax.validation.constraints.NotBlank; | |||||
@ApiModel(description = "仓库修改") | |||||
@Getter | |||||
@Setter | |||||
@Accessors(chain = true) | |||||
public class InvwWarehouseEditDTO extends AbstractBizRequestDTO { | |||||
@ApiModelProperty(value = "仓库ID") | |||||
@NotBlank(message = "id不能为空") | |||||
private String id; | |||||
@ApiModelProperty(value = "仓库名称") | |||||
private String name;//仓库名称 | |||||
@ApiModelProperty(value = "渠道编号") | |||||
private String agencyId;//渠道编号 | |||||
@ApiModelProperty(value = "上级仓库ID") | |||||
private String parentId;//上级仓库ID | |||||
@ApiModelProperty(value = "网点编号,三级有值") | |||||
private String warehouseChannelId;//网点编号,三级有值 | |||||
} |
package cn.com.taiji.invw.dto.warehouse; | |||||
import cn.com.taiji.common.model.finals.SysFinals; | |||||
import cn.com.taiji.invw.dto.AbstractBizRequestDTO; | |||||
import io.swagger.annotations.ApiModel; | |||||
import io.swagger.annotations.ApiModelProperty; | |||||
import lombok.Getter; | |||||
import lombok.Setter; | |||||
import lombok.experimental.Accessors; | |||||
import java.time.LocalDateTime; | |||||
@ApiModel(description = "仓库管理分页查询") | |||||
@Getter | |||||
@Setter | |||||
@Accessors(chain = true) | |||||
public class InvwWarehousePageRequestDTO extends AbstractBizRequestDTO { | |||||
@ApiModelProperty(value = "仓库编号") | |||||
private String code;//仓库编号 | |||||
@ApiModelProperty(value = "仓库名称") | |||||
private String name;//仓库名称 | |||||
@ApiModelProperty(value = "渠道编号") | |||||
private String agencyId;//渠道编号 | |||||
@ApiModelProperty(value = "创建时间开始") | |||||
private LocalDateTime insertTimeStart;//创建时间开始 | |||||
@ApiModelProperty(value = "创建时间结束") | |||||
private LocalDateTime insertTimeEnd;//创建时间结束 | |||||
@ApiModelProperty(value = "页码") | |||||
private Integer pageNo = SysFinals.DEFAULT_PAGE_NUM; | |||||
@ApiModelProperty(value = "每页数量") | |||||
private Integer pageSize = SysFinals.DEFAULT_PAGE_SIZE; | |||||
} |
package cn.com.taiji.invw.dto.warehouse; | |||||
import cn.com.taiji.core.entity.invw.InvwWarehouse; | |||||
import lombok.Data; | |||||
@Data | |||||
public class InvwWarehousePageResponseVO { | |||||
private InvwWarehouse warehouse; | |||||
private InvwWarehouse parentWarehouse; | |||||
} |
package cn.com.taiji.invw.manager.card; | package cn.com.taiji.invw.manager.card; | ||||
import cn.com.taiji.common.model.dao.Pagination; | import cn.com.taiji.common.model.dao.Pagination; | ||||
import cn.com.taiji.invw.dto.card.InvwQryCardBatchDTO; | |||||
import cn.com.taiji.invw.dto.card.InvwQryCardBatchPageRequestDTO; | |||||
public interface InvwQryCardBatchManager { | public interface InvwQryCardBatchManager { | ||||
Pagination page(InvwQryCardBatchDTO request); | |||||
Pagination page(InvwQryCardBatchPageRequestDTO request); | |||||
} | } |
import cn.com.taiji.common.model.dao.Pagination; | import cn.com.taiji.common.model.dao.Pagination; | ||||
import cn.com.taiji.core.repo.jpa.invw.InvwQryCardBatchRepo; | import cn.com.taiji.core.repo.jpa.invw.InvwQryCardBatchRepo; | ||||
import cn.com.taiji.core.repo.request.invw.InvwQryCardBatchPageRequest; | import cn.com.taiji.core.repo.request.invw.InvwQryCardBatchPageRequest; | ||||
import cn.com.taiji.invw.dto.card.InvwQryCardBatchDTO; | |||||
import cn.com.taiji.invw.dto.card.InvwQryCardBatchPageRequestDTO; | |||||
import cn.com.taiji.invw.manager.AbstractCommManager; | import cn.com.taiji.invw.manager.AbstractCommManager; | ||||
import org.springframework.beans.BeanUtils; | import org.springframework.beans.BeanUtils; | ||||
import org.springframework.beans.factory.annotation.Autowired; | import org.springframework.beans.factory.annotation.Autowired; | ||||
@Autowired | @Autowired | ||||
private InvwQryCardBatchRepo invwQryCardBatchRepo; | private InvwQryCardBatchRepo invwQryCardBatchRepo; | ||||
@Override | @Override | ||||
public Pagination page(InvwQryCardBatchDTO request) { | |||||
public Pagination page(InvwQryCardBatchPageRequestDTO request) { | |||||
InvwQryCardBatchPageRequest req = new InvwQryCardBatchPageRequest(); | InvwQryCardBatchPageRequest req = new InvwQryCardBatchPageRequest(); | ||||
BeanUtils.copyProperties(request, req); | BeanUtils.copyProperties(request, req); | ||||
return invwQryCardBatchRepo.page(req); | return invwQryCardBatchRepo.page(req); |
package cn.com.taiji.invw.manager.card; | package cn.com.taiji.invw.manager.card; | ||||
import cn.com.taiji.common.model.dao.Pagination; | import cn.com.taiji.common.model.dao.Pagination; | ||||
import cn.com.taiji.invw.dto.card.InvwQryCardsDTO; | |||||
import cn.com.taiji.invw.dto.card.InvwQryCardsPageRequestDTO; | |||||
public interface InvwQryCardsManager { | public interface InvwQryCardsManager { | ||||
Pagination page(InvwQryCardsDTO request); | |||||
Pagination page(InvwQryCardsPageRequestDTO request); | |||||
} | } |
import cn.com.taiji.common.model.dao.Pagination; | import cn.com.taiji.common.model.dao.Pagination; | ||||
import cn.com.taiji.core.repo.jpa.invw.InvwQryCardsRepo; | import cn.com.taiji.core.repo.jpa.invw.InvwQryCardsRepo; | ||||
import cn.com.taiji.core.repo.request.invw.InvwQryCardsPageRequest; | import cn.com.taiji.core.repo.request.invw.InvwQryCardsPageRequest; | ||||
import cn.com.taiji.invw.dto.card.InvwQryCardsDTO; | |||||
import cn.com.taiji.invw.dto.card.InvwQryCardsPageRequestDTO; | |||||
import cn.com.taiji.invw.manager.AbstractCommManager; | import cn.com.taiji.invw.manager.AbstractCommManager; | ||||
import org.springframework.beans.BeanUtils; | import org.springframework.beans.BeanUtils; | ||||
import org.springframework.beans.factory.annotation.Autowired; | import org.springframework.beans.factory.annotation.Autowired; | ||||
@Autowired | @Autowired | ||||
private InvwQryCardsRepo invwQryCardsRepo; | private InvwQryCardsRepo invwQryCardsRepo; | ||||
@Override | @Override | ||||
public Pagination page(InvwQryCardsDTO request) { | |||||
public Pagination page(InvwQryCardsPageRequestDTO request) { | |||||
InvwQryCardsPageRequest req = new InvwQryCardsPageRequest(); | InvwQryCardsPageRequest req = new InvwQryCardsPageRequest(); | ||||
BeanUtils.copyProperties(request, req); | BeanUtils.copyProperties(request, req); | ||||
return invwQryCardsRepo.page(req); | return invwQryCardsRepo.page(req); |
package cn.com.taiji.invw.manager.obu; | package cn.com.taiji.invw.manager.obu; | ||||
import cn.com.taiji.common.model.dao.Pagination; | import cn.com.taiji.common.model.dao.Pagination; | ||||
import cn.com.taiji.invw.dto.obu.InvwQryObuBatchDTO; | |||||
import cn.com.taiji.invw.dto.obu.InvwQryObuBatchPageRequestDTO; | |||||
public interface InvwQryObuBatchManager { | public interface InvwQryObuBatchManager { | ||||
Pagination page(InvwQryObuBatchDTO request); | |||||
Pagination page(InvwQryObuBatchPageRequestDTO request); | |||||
} | } |
import cn.com.taiji.core.repo.jpa.invw.InvwQryObuBatchRepo; | import cn.com.taiji.core.repo.jpa.invw.InvwQryObuBatchRepo; | ||||
import cn.com.taiji.core.repo.request.invw.InvwQryObuBatchPageRequest; | import cn.com.taiji.core.repo.request.invw.InvwQryObuBatchPageRequest; | ||||
import cn.com.taiji.invw.dto.obu.InvwQryObuBatchDTO; | |||||
import cn.com.taiji.invw.dto.obu.InvwQryObuBatchPageRequestDTO; | |||||
import cn.com.taiji.invw.manager.AbstractCommManager; | import cn.com.taiji.invw.manager.AbstractCommManager; | ||||
import org.springframework.beans.BeanUtils; | import org.springframework.beans.BeanUtils; | ||||
import org.springframework.beans.factory.annotation.Autowired; | import org.springframework.beans.factory.annotation.Autowired; | ||||
@Autowired | @Autowired | ||||
private InvwQryObuBatchRepo invwQryObuBatchRepo; | private InvwQryObuBatchRepo invwQryObuBatchRepo; | ||||
@Override | @Override | ||||
public Pagination page(InvwQryObuBatchDTO request) { | |||||
public Pagination page(InvwQryObuBatchPageRequestDTO request) { | |||||
InvwQryObuBatchPageRequest req = new InvwQryObuBatchPageRequest(); | InvwQryObuBatchPageRequest req = new InvwQryObuBatchPageRequest(); | ||||
BeanUtils.copyProperties(request, req); | BeanUtils.copyProperties(request, req); | ||||
return invwQryObuBatchRepo.page(req); | return invwQryObuBatchRepo.page(req); |
package cn.com.taiji.invw.manager.obu; | package cn.com.taiji.invw.manager.obu; | ||||
import cn.com.taiji.common.model.dao.Pagination; | import cn.com.taiji.common.model.dao.Pagination; | ||||
import cn.com.taiji.invw.dto.obu.InvwQryObusDTO; | |||||
import cn.com.taiji.invw.dto.obu.InvwQryObusPageRequestDTO; | |||||
public interface InvwQryObusManager { | public interface InvwQryObusManager { | ||||
Pagination page(InvwQryObusDTO request); | |||||
Pagination page(InvwQryObusPageRequestDTO request); | |||||
} | } |
import cn.com.taiji.common.model.dao.Pagination; | import cn.com.taiji.common.model.dao.Pagination; | ||||
import cn.com.taiji.core.repo.jpa.invw.InvwQryObusRepo; | import cn.com.taiji.core.repo.jpa.invw.InvwQryObusRepo; | ||||
import cn.com.taiji.core.repo.request.invw.InvwQryObusPageRequest; | import cn.com.taiji.core.repo.request.invw.InvwQryObusPageRequest; | ||||
import cn.com.taiji.invw.dto.obu.InvwQryObusDTO; | |||||
import cn.com.taiji.invw.dto.obu.InvwQryObusPageRequestDTO; | |||||
import cn.com.taiji.invw.manager.AbstractCommManager; | import cn.com.taiji.invw.manager.AbstractCommManager; | ||||
import org.springframework.beans.BeanUtils; | import org.springframework.beans.BeanUtils; | ||||
import org.springframework.beans.factory.annotation.Autowired; | import org.springframework.beans.factory.annotation.Autowired; | ||||
@Autowired | @Autowired | ||||
private InvwQryObusRepo invwQryObusRepo; | private InvwQryObusRepo invwQryObusRepo; | ||||
@Override | @Override | ||||
public Pagination page(InvwQryObusDTO request) { | |||||
public Pagination page(InvwQryObusPageRequestDTO request) { | |||||
InvwQryObusPageRequest req = new InvwQryObusPageRequest(); | InvwQryObusPageRequest req = new InvwQryObusPageRequest(); | ||||
BeanUtils.copyProperties(request, req); | BeanUtils.copyProperties(request, req); | ||||
return invwQryObusRepo.page(req); | return invwQryObusRepo.page(req); |
package cn.com.taiji.invw.manager.warehouse; | |||||
import cn.com.taiji.common.manager.ManagerException; | |||||
import cn.com.taiji.common.model.dao.Pagination; | |||||
import cn.com.taiji.invw.dto.warehouse.InvwWarehouseAddDTO; | |||||
import cn.com.taiji.invw.dto.warehouse.InvwWarehouseDeleteDTO; | |||||
import cn.com.taiji.invw.dto.warehouse.InvwWarehouseEditDTO; | |||||
import cn.com.taiji.invw.dto.warehouse.InvwWarehousePageRequestDTO; | |||||
public interface InvwWarehouseManager { | |||||
Pagination page(InvwWarehousePageRequestDTO request); | |||||
void add(InvwWarehouseAddDTO req) throws ManagerException; | |||||
void edit(InvwWarehouseEditDTO req) throws ManagerException; | |||||
void delete(InvwWarehouseDeleteDTO req) throws ManagerException; | |||||
} |
package cn.com.taiji.invw.manager.warehouse; | |||||
import cn.com.taiji.common.manager.ManagerException; | |||||
import cn.com.taiji.common.model.dao.Pagination; | |||||
import cn.com.taiji.common.model.dao.ResultConverter; | |||||
import cn.com.taiji.common.pub.StringTools; | |||||
import cn.com.taiji.core.entity.invw.InvwCardDetails; | |||||
import cn.com.taiji.core.entity.invw.InvwObuDetails; | |||||
import cn.com.taiji.core.entity.invw.InvwWarehouse; | |||||
import cn.com.taiji.core.repo.jpa.invw.InvwCardDetailsRepo; | |||||
import cn.com.taiji.core.repo.jpa.invw.InvwObuDetailsRepo; | |||||
import cn.com.taiji.core.repo.jpa.invw.InvwWarehouseRepo; | |||||
import cn.com.taiji.core.repo.request.invw.InvwWarehousePageRequest; | |||||
import cn.com.taiji.invw.dto.warehouse.InvwWarehouseAddDTO; | |||||
import cn.com.taiji.invw.dto.warehouse.InvwWarehouseDeleteDTO; | |||||
import cn.com.taiji.invw.dto.warehouse.InvwWarehouseEditDTO; | |||||
import cn.com.taiji.invw.dto.warehouse.InvwWarehousePageRequestDTO; | |||||
import cn.com.taiji.invw.dto.warehouse.InvwWarehousePageResponseVO; | |||||
import cn.com.taiji.invw.manager.AbstractCommManager; | |||||
import org.springframework.beans.BeanUtils; | |||||
import org.springframework.beans.factory.annotation.Autowired; | |||||
import org.springframework.stereotype.Service; | |||||
import java.time.LocalDateTime; | |||||
import java.util.List; | |||||
@Service | |||||
public class InvwWarehouseManagerImpl extends AbstractCommManager implements InvwWarehouseManager, ResultConverter<InvwWarehouse, InvwWarehousePageResponseVO> { | |||||
@Autowired | |||||
private InvwWarehouseRepo warehouseRepo; | |||||
@Autowired | |||||
private InvwObuDetailsRepo obuDetailsRepo; | |||||
@Autowired | |||||
private InvwCardDetailsRepo cardDetailsRepo; | |||||
@Override | |||||
public Pagination page(InvwWarehousePageRequestDTO request) { | |||||
InvwWarehousePageRequest req = new InvwWarehousePageRequest(); | |||||
BeanUtils.copyProperties(request, req); | |||||
return warehouseRepo.page(req).convertResult(this); | |||||
} | |||||
@Override | |||||
public void add(InvwWarehouseAddDTO req) throws ManagerException { | |||||
InvwWarehouse parentWarehouse = warehouseRepo.findById(req.getParentId()).orElse(null); | |||||
if (parentWarehouse == null) { | |||||
throw new ManagerException("上级仓库不存在"); | |||||
} | |||||
int level = parentWarehouse.getWarehouseLevel() + 1; | |||||
if (level == 3) { | |||||
if (!StringTools.hasText(req.getWarehouseChannelId())) { | |||||
throw new ManagerException("网点编号不能为空"); | |||||
} | |||||
} | |||||
InvwWarehouse warehouse = warehouseRepo.findByCodeAndStatus(req.getCode(), 1); | |||||
if (warehouse != null) { | |||||
throw new ManagerException("仓库编号已存在"); | |||||
} else { | |||||
warehouse = new InvwWarehouse(); | |||||
warehouse.setCode(req.getCode()); | |||||
warehouse.setParentId(req.getParentId()); | |||||
warehouse.setName(req.getName()); | |||||
warehouse.setWarehouseLevel(level); | |||||
warehouse.setStatus(1); | |||||
warehouse.setInsertTime(LocalDateTime.now()); | |||||
warehouse.setUpdateTime(LocalDateTime.now()); | |||||
warehouse.setAgencyId(req.getAgencyId()); | |||||
if (StringTools.hasText(req.getWarehouseChannelId())) { | |||||
warehouse.setChannelId(req.getWarehouseChannelId()); | |||||
} | |||||
warehouseRepo.save(warehouse); | |||||
} | |||||
} | |||||
@Override | |||||
public void edit(InvwWarehouseEditDTO req) throws ManagerException { | |||||
InvwWarehouse warehouse = warehouseRepo.findByIdAndStatus(req.getId(), 1); | |||||
if (warehouse == null) { | |||||
throw new ManagerException("仓库不存在"); | |||||
} | |||||
//一级仓库 | |||||
if (warehouse.getWarehouseLevel() == 1) { | |||||
if (StringTools.hasText(req.getParentId()) || StringTools.hasText(req.getAgencyId())) { | |||||
throw new ManagerException("一级仓库只能修改仓库名称"); | |||||
} | |||||
if (StringTools.hasText(req.getName())) { | |||||
warehouse.setName(req.getName()); | |||||
warehouse.setUpdateTime(LocalDateTime.now()); | |||||
warehouseRepo.saveAndFlush(warehouse); | |||||
} | |||||
} else if (warehouse.getWarehouseLevel() == 2) { | |||||
//二级仓库 | |||||
if (StringTools.hasText(req.getParentId()) || StringTools.hasText(req.getAgencyId())) { | |||||
//查询下级仓库 | |||||
List<InvwWarehouse> warehouseList = warehouseRepo.findByParentIdAndStatus(warehouse.getId(), 1); | |||||
if (warehouseList.size() > 0) { | |||||
throw new ManagerException("该仓库有下级仓库,只能修改仓库名称"); | |||||
} | |||||
List<InvwObuDetails> obuDetails = obuDetailsRepo.findByStoreCode(warehouse.getCode()); | |||||
if (obuDetails.size() > 0) { | |||||
throw new ManagerException("该仓库有设备,只能修改仓库名称"); | |||||
} | |||||
List<InvwCardDetails> cardDetails = cardDetailsRepo.findByStoreCode(warehouse.getCode()); | |||||
if (cardDetails.size() > 0) { | |||||
throw new ManagerException("该仓库有设备,只能修改仓库名称"); | |||||
} | |||||
if (StringTools.hasText(req.getParentId())) { | |||||
InvwWarehouse parentWarehouse = warehouseRepo.findById(req.getParentId()).orElse(null); | |||||
if(parentWarehouse == null){ | |||||
throw new ManagerException("上级仓库不存在"); | |||||
} | |||||
warehouse.setWarehouseLevel(parentWarehouse.getWarehouseLevel() + 1); | |||||
warehouse.setParentId(req.getParentId()); | |||||
} | |||||
if (StringTools.hasText(req.getAgencyId())) { | |||||
warehouse.setAgencyId(req.getAgencyId()); | |||||
} | |||||
} | |||||
if (StringTools.hasText(req.getName())) { | |||||
warehouse.setName(req.getName()); | |||||
} | |||||
warehouse.setUpdateTime(LocalDateTime.now()); | |||||
warehouseRepo.saveAndFlush(warehouse); | |||||
} else if (warehouse.getWarehouseLevel() == 3) { | |||||
//三级仓库 | |||||
if (StringTools.hasText(req.getParentId()) || StringTools.hasText(req.getWarehouseChannelId())) { | |||||
List<InvwObuDetails> obuDetails = obuDetailsRepo.findByStoreCode(warehouse.getCode()); | |||||
if (obuDetails.size() > 0) { | |||||
throw new ManagerException("该仓库有设备,只能修改仓库名称"); | |||||
} | |||||
List<InvwCardDetails> cardDetails = cardDetailsRepo.findByStoreCode(warehouse.getCode()); | |||||
if (cardDetails.size() > 0) { | |||||
throw new ManagerException("该仓库有设备,只能修改仓库名称"); | |||||
} | |||||
if (StringTools.hasText(req.getParentId())) { | |||||
InvwWarehouse parentWarehouse = warehouseRepo.findById(req.getParentId()).orElse(null); | |||||
if(parentWarehouse == null){ | |||||
throw new ManagerException("上级仓库不存在"); | |||||
} | |||||
warehouse.setWarehouseLevel(parentWarehouse.getWarehouseLevel() + 1); | |||||
warehouse.setParentId(req.getParentId()); | |||||
} | |||||
if (StringTools.hasText(req.getWarehouseChannelId())) { | |||||
warehouse.setChannelId(req.getWarehouseChannelId()); | |||||
} | |||||
} | |||||
if (StringTools.hasText(req.getName())) { | |||||
warehouse.setName(req.getName()); | |||||
} | |||||
warehouse.setUpdateTime(LocalDateTime.now()); | |||||
warehouseRepo.saveAndFlush(warehouse); | |||||
} | |||||
} | |||||
@Override | |||||
public void delete(InvwWarehouseDeleteDTO req) throws ManagerException { | |||||
InvwWarehouse warehouse = warehouseRepo.findByIdAndStatus(req.getId(), 1); | |||||
if (warehouse == null) { | |||||
throw new ManagerException("仓库不存在"); | |||||
} | |||||
if(warehouse.getWarehouseLevel() == 1){ | |||||
throw new ManagerException("默认仓库不能删除"); | |||||
} | |||||
List<InvwWarehouse> warehouseList = warehouseRepo.findByParentIdAndStatus(warehouse.getId(), 1); | |||||
if (warehouseList.size() > 0) { | |||||
throw new ManagerException("该仓库有下级仓库,不能删除"); | |||||
} | |||||
List<InvwObuDetails> obuDetails = obuDetailsRepo.findByStoreCode(warehouse.getCode()); | |||||
if (obuDetails.size() > 0) { | |||||
throw new ManagerException("该仓库有设备,不能删除"); | |||||
} | |||||
List<InvwCardDetails> cardDetails = cardDetailsRepo.findByStoreCode(warehouse.getCode()); | |||||
if (cardDetails.size() > 0) { | |||||
throw new ManagerException("该仓库有设备,不能删除"); | |||||
} | |||||
warehouse.setStatus(0); | |||||
warehouse.setUpdateTime(LocalDateTime.now()); | |||||
warehouseRepo.saveAndFlush(warehouse); | |||||
} | |||||
@Override | |||||
public InvwWarehousePageResponseVO convert(InvwWarehouse warehouse) { | |||||
InvwWarehousePageResponseVO vo = new InvwWarehousePageResponseVO(); | |||||
vo.setWarehouse(warehouse); | |||||
String parentId = warehouse.getParentId(); | |||||
// 查询父级仓库 | |||||
if (StringTools.hasText(parentId)) { | |||||
InvwWarehouse parentWarehouse = warehouseRepo.findById(parentId).orElse(null); | |||||
vo.setParentWarehouse(parentWarehouse); | |||||
} | |||||
return vo; | |||||
} | |||||
} |