@@ -5,9 +5,7 @@ import cn.com.taiji.core.entity.dict.basic.CardType; | |||
import lombok.Getter; | |||
import lombok.Setter; | |||
import javax.persistence.Column; | |||
import javax.persistence.Entity; | |||
import javax.persistence.Table; | |||
import javax.persistence.*; | |||
import java.time.LocalDateTime; | |||
/** | |||
@@ -37,6 +35,7 @@ public class UserVehicleBind extends AbstractStringPropertyUUIDEntity { | |||
@Column(name = "CARD_ID") | |||
private String cardId; | |||
/** 卡类型1-记账卡 2-储值卡 3-预存卡 */ | |||
@Enumerated(EnumType.STRING) | |||
@Column(name = "CARD_TYPE") | |||
private CardType cardType; | |||
/** 用户账号openId,关联USER_ACCOUNT_INFO表 */ |
@@ -86,5 +86,7 @@ public class InvwCardDetails extends StringPropertyUUIDEntity { | |||
@Column(name = "OWN_TYPE") | |||
@Enumerated(EnumType.STRING) | |||
private OwnType ownType;// 产权类型 | |||
@Column(name = "SINGLE_CHIP") | |||
private Boolean singleChip; | |||
} |
@@ -10,18 +10,26 @@ import lombok.Setter; | |||
@Setter | |||
public class InvwCardDetailsPageRequest extends JpaDateTimePageableDataRequest<InvwCardDetails>{ | |||
/** 渠道id */ | |||
private String agencyId; | |||
/** 起始卡号 */ | |||
private String startId; | |||
/** 结束卡号 */ | |||
private String endId; | |||
public InvwCardDetailsPageRequest() { | |||
this.orderBy="id"; | |||
this.orderBy="insertTime"; | |||
this.desc=true; | |||
} | |||
@Override | |||
public HqlBuilder toSelectHql(){ | |||
HqlBuilder hql = new HqlBuilder("from InvwCardDetails where 1=1 "); | |||
hql.append(" and agencyId=:agencyId",agencyId); | |||
hql.append(" to_number(cardId) >= to_number(:startId)",startId); | |||
hql.append(" to_number(cardId) <= to_number(:endId)",endId); | |||
return hql; | |||
} | |||
@@ -35,6 +35,8 @@ public class InvwEnterApplyPageRequest extends JpaDateTimePageableDataRequest<In | |||
/** 申请查询结束时间 */ | |||
private LocalDateTime applyTimeEnd; | |||
private String agencyId; | |||
public InvwEnterApplyPageRequest() { | |||
this.orderBy="applyTime"; | |||
@@ -44,6 +46,7 @@ public class InvwEnterApplyPageRequest extends JpaDateTimePageableDataRequest<In | |||
@Override | |||
public HqlBuilder toSelectHql(){ | |||
HqlBuilder hql = new HqlBuilder("from InvwEnterApply where 1=1 "); | |||
hql.append(" and agencyId = :agencyId",agencyId); | |||
hql.append(" and brand = :brand",brand); | |||
hql.append(" and inventoryType = :inventoryType", inventoryType); | |||
hql.append(" and version = :version", version); |
@@ -10,18 +10,26 @@ import lombok.Setter; | |||
@Setter | |||
public class InvwObuDetailsPageRequest extends JpaDateTimePageableDataRequest<InvwObuDetails>{ | |||
/** 渠道id */ | |||
private String agencyId; | |||
/** 起始卡号 */ | |||
private String startId; | |||
/** 结束卡号 */ | |||
private String endId; | |||
public InvwObuDetailsPageRequest() { | |||
this.orderBy="id"; | |||
this.orderBy="insertTime"; | |||
this.desc=true; | |||
} | |||
@Override | |||
public HqlBuilder toSelectHql(){ | |||
HqlBuilder hql = new HqlBuilder("from InvwObuDetails where 1=1 "); | |||
hql.append(" and agencyId=:agencyId",agencyId); | |||
hql.append(" to_number(obuId) >= to_number(:startId)",startId); | |||
hql.append(" to_number(obuId) <= to_number(:endId)",endId); | |||
return hql; | |||
} | |||
@@ -0,0 +1,52 @@ | |||
package cn.com.taiji.invw.api.card; | |||
import cn.com.taiji.common.manager.ManagerException; | |||
import cn.com.taiji.common.manager.net.http.ServiceHandleException; | |||
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.card.InvwCardDetailsPageRequestDTO; | |||
import cn.com.taiji.invw.dto.card.InvwCardDetailsRemoveRequestDTO; | |||
import cn.com.taiji.invw.dto.card.InvwCardDetailsRemoveResponseDTO; | |||
import cn.com.taiji.invw.manager.card.InvwCardDetailsManager; | |||
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; | |||
/** | |||
* @Auther: humh | |||
* @Description: | |||
* @Date: 2025/5/23 17:26 | |||
* @email: huminghao@mail.taiji.com.cn | |||
* @version: 1.0 | |||
*/ | |||
@Api(tags = {"卡设备管理"}) | |||
@RestController | |||
@RequestMapping("/api/cardDetails") | |||
public class InvwCardDetailsController extends MyValidController { | |||
@Autowired | |||
private InvwCardDetailsManager manager; | |||
@ApiOperation(value = "卡设备分页查询") | |||
@PostMapping("/page") | |||
public ApiResponse<Pagination> page(@Valid @RequestBody InvwCardDetailsPageRequestDTO req) throws ServiceHandleException { | |||
return ApiResponse.of(manager.page(req)); | |||
} | |||
@ApiOperation(value = "移除设备") | |||
@PostMapping("/remove") | |||
public ApiResponse<InvwCardDetailsRemoveResponseDTO> remove(@Valid @RequestBody InvwCardDetailsRemoveRequestDTO req) throws ManagerException { | |||
return ApiResponse.of(manager.remove(req)); | |||
} | |||
} |
@@ -1,6 +1,7 @@ | |||
package cn.com.taiji.invw.api.enter; | |||
import cn.com.taiji.common.manager.ManagerException; | |||
import cn.com.taiji.common.manager.net.http.ServiceHandleException; | |||
import cn.com.taiji.common.model.dao.Pagination; | |||
import cn.com.taiji.common.web.ApiResponse; | |||
import cn.com.taiji.invw.api.MyValidController; | |||
@@ -33,7 +34,7 @@ class InvwEnterApplyController extends MyValidController { | |||
@ApiOperation(value = "入库申请分页查询") | |||
@PostMapping("/page") | |||
public ApiResponse<Pagination> page(@Valid @RequestBody InvwEnterApplyPageRequestDTO req) { | |||
public ApiResponse<Pagination> page(@Valid @RequestBody InvwEnterApplyPageRequestDTO req) throws ServiceHandleException { | |||
return ApiResponse.of(manager.page(req)); | |||
} | |||
@@ -0,0 +1,54 @@ | |||
package cn.com.taiji.invw.api.obu; | |||
import cn.com.taiji.common.manager.ManagerException; | |||
import cn.com.taiji.common.manager.net.http.ServiceHandleException; | |||
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.card.InvwCardDetailsPageRequestDTO; | |||
import cn.com.taiji.invw.dto.card.InvwCardDetailsRemoveRequestDTO; | |||
import cn.com.taiji.invw.dto.card.InvwCardDetailsRemoveResponseDTO; | |||
import cn.com.taiji.invw.dto.obu.InvwObuDetailsPageRequestDTO; | |||
import cn.com.taiji.invw.dto.obu.InvwObuDetailsRemoveRequestDTO; | |||
import cn.com.taiji.invw.dto.obu.InvwObuDetailsRemoveResponseDTO; | |||
import cn.com.taiji.invw.manager.card.InvwCardDetailsManager; | |||
import cn.com.taiji.invw.manager.obu.InvwObuDetailsManager; | |||
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; | |||
/** | |||
* @Auther: humh | |||
* @Description: | |||
* @Date: 2025/5/23 17:26 | |||
* @email: huminghao@mail.taiji.com.cn | |||
* @version: 1.0 | |||
*/ | |||
@Api(tags = {"签设备管理"}) | |||
@RestController | |||
@RequestMapping("/api/obuDetails") | |||
public class InvwObuDetailsController extends MyValidController { | |||
@Autowired | |||
private InvwObuDetailsManager manager; | |||
@ApiOperation(value = "签设备分页查询") | |||
@PostMapping("/page") | |||
public ApiResponse<Pagination> page(@Valid @RequestBody InvwObuDetailsPageRequestDTO req) throws ServiceHandleException { | |||
return ApiResponse.of(manager.page(req)); | |||
} | |||
@ApiOperation(value = "移除设备") | |||
@PostMapping("/remove") | |||
public ApiResponse<InvwObuDetailsRemoveResponseDTO> remove(@Valid @RequestBody InvwObuDetailsRemoveRequestDTO req) throws ManagerException { | |||
return ApiResponse.of(manager.remove(req)); | |||
} | |||
} |
@@ -1,5 +1,6 @@ | |||
package cn.com.taiji.invw.api.stocktaking; | |||
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; | |||
@@ -37,7 +38,7 @@ public class InvwStocktakingInfoController extends MyValidController { | |||
@ApiOperation(value = "03-库存盘存") | |||
@PostMapping("/stock") | |||
public ApiResponse stock(InvwStocktakingInfoStockRequestDTO req) { | |||
public ApiResponse stock(InvwStocktakingInfoStockRequestDTO req) throws ManagerException { | |||
manager.stock(req); | |||
return ApiResponse.success().setMessage("操作成功"); | |||
} |
@@ -0,0 +1,33 @@ | |||
package cn.com.taiji.invw.dto.card; | |||
import cn.com.taiji.core.dto.AbstractStaffBizPageRequestDTO; | |||
import cn.com.taiji.core.entity.dict.basic.DeviceVersion; | |||
import cn.com.taiji.core.entity.dict.invw.InvApplyStatus; | |||
import cn.com.taiji.core.entity.dict.invw.InventoryType; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Getter; | |||
import lombok.Setter; | |||
import javax.persistence.EnumType; | |||
import javax.persistence.Enumerated; | |||
import java.time.LocalDateTime; | |||
/** | |||
* @Auther: humh | |||
* @Description: | |||
* @Date: 2025/5/19 16:29 | |||
* @email: huminghao@mail.taiji.com.cn | |||
* @version: 1.0 | |||
*/ | |||
@Setter | |||
@Getter | |||
@ApiModel(description = "卡设备分页查询") | |||
public class InvwCardDetailsPageRequestDTO extends AbstractStaffBizPageRequestDTO { | |||
@ApiModelProperty(value = "起始卡号") | |||
private String startId; | |||
@ApiModelProperty(value = "结束卡号") | |||
private String endId; | |||
} |
@@ -0,0 +1,26 @@ | |||
package cn.com.taiji.invw.dto.card; | |||
import cn.com.taiji.core.dto.AbstractStaffBizPageRequestDTO; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Getter; | |||
import lombok.Setter; | |||
import javax.validation.constraints.NotBlank; | |||
/** | |||
* @Auther: humh | |||
* @Description: | |||
* @Date: 2025/5/19 16:29 | |||
* @email: huminghao@mail.taiji.com.cn | |||
* @version: 1.0 | |||
*/ | |||
@Setter | |||
@Getter | |||
@ApiModel(description = "移除设备") | |||
public class InvwCardDetailsRemoveRequestDTO extends AbstractStaffBizPageRequestDTO { | |||
@ApiModelProperty(value = "设备id") | |||
@NotBlank | |||
private String id; | |||
} |
@@ -0,0 +1,25 @@ | |||
package cn.com.taiji.invw.dto.card; | |||
import cn.com.taiji.common.model.BaseModel; | |||
import io.swagger.annotations.ApiModel; | |||
import lombok.Getter; | |||
import lombok.Setter; | |||
/** | |||
* @Auther: humh | |||
* @Description: | |||
* @Date: 2025/5/19 16:59 | |||
* @email: huminghao@mail.taiji.com.cn | |||
* @version: 1.0 | |||
*/ | |||
@ApiModel(description = "移除设备响应") | |||
@Getter | |||
@Setter | |||
public class InvwCardDetailsRemoveResponseDTO extends BaseModel { | |||
private String id; | |||
public InvwCardDetailsRemoveResponseDTO(String id) { | |||
this.id = id; | |||
} | |||
} |
@@ -0,0 +1,26 @@ | |||
package cn.com.taiji.invw.dto.obu; | |||
import cn.com.taiji.core.dto.AbstractStaffBizPageRequestDTO; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Getter; | |||
import lombok.Setter; | |||
/** | |||
* @Auther: humh | |||
* @Description: | |||
* @Date: 2025/5/19 16:29 | |||
* @email: huminghao@mail.taiji.com.cn | |||
* @version: 1.0 | |||
*/ | |||
@Setter | |||
@Getter | |||
@ApiModel(description = "签设备分页查询") | |||
public class InvwObuDetailsPageRequestDTO extends AbstractStaffBizPageRequestDTO { | |||
@ApiModelProperty(value = "起始签号") | |||
private String startId; | |||
@ApiModelProperty(value = "结束签号") | |||
private String endId; | |||
} |
@@ -0,0 +1,26 @@ | |||
package cn.com.taiji.invw.dto.obu; | |||
import cn.com.taiji.core.dto.AbstractStaffBizPageRequestDTO; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Getter; | |||
import lombok.Setter; | |||
import javax.validation.constraints.NotBlank; | |||
/** | |||
* @Auther: humh | |||
* @Description: | |||
* @Date: 2025/5/19 16:29 | |||
* @email: huminghao@mail.taiji.com.cn | |||
* @version: 1.0 | |||
*/ | |||
@Setter | |||
@Getter | |||
@ApiModel(description = "移除设备") | |||
public class InvwObuDetailsRemoveRequestDTO extends AbstractStaffBizPageRequestDTO { | |||
@ApiModelProperty(value = "设备id") | |||
@NotBlank | |||
private String id; | |||
} |
@@ -0,0 +1,25 @@ | |||
package cn.com.taiji.invw.dto.obu; | |||
import cn.com.taiji.common.model.BaseModel; | |||
import io.swagger.annotations.ApiModel; | |||
import lombok.Getter; | |||
import lombok.Setter; | |||
/** | |||
* @Auther: humh | |||
* @Description: | |||
* @Date: 2025/5/19 16:59 | |||
* @email: huminghao@mail.taiji.com.cn | |||
* @version: 1.0 | |||
*/ | |||
@ApiModel(description = "移除设备响应") | |||
@Getter | |||
@Setter | |||
public class InvwObuDetailsRemoveResponseDTO extends BaseModel { | |||
private String id; | |||
public InvwObuDetailsRemoveResponseDTO(String id) { | |||
this.id = id; | |||
} | |||
} |
@@ -0,0 +1,22 @@ | |||
package cn.com.taiji.invw.manager.card; | |||
import cn.com.taiji.common.manager.ManagerException; | |||
import cn.com.taiji.common.manager.net.http.ServiceHandleException; | |||
import cn.com.taiji.common.model.dao.Pagination; | |||
import cn.com.taiji.invw.dto.card.InvwCardDetailsPageRequestDTO; | |||
import cn.com.taiji.invw.dto.card.InvwCardDetailsRemoveRequestDTO; | |||
import cn.com.taiji.invw.dto.card.InvwCardDetailsRemoveResponseDTO; | |||
/** | |||
* @Auther: humh | |||
* @Description: | |||
* @Date: 2025/5/23 17:27 | |||
* @email: huminghao@mail.taiji.com.cn | |||
* @version: 1.0 | |||
*/ | |||
public interface InvwCardDetailsManager { | |||
Pagination page(InvwCardDetailsPageRequestDTO req) throws ServiceHandleException; | |||
InvwCardDetailsRemoveResponseDTO remove(InvwCardDetailsRemoveRequestDTO req) throws ManagerException; | |||
} |
@@ -0,0 +1,61 @@ | |||
package cn.com.taiji.invw.manager.card; | |||
import cn.com.taiji.common.manager.ManagerException; | |||
import cn.com.taiji.common.manager.net.http.ServiceHandleException; | |||
import cn.com.taiji.common.model.dao.Pagination; | |||
import cn.com.taiji.core.entity.dict.invw.InvDeviceStatus; | |||
import cn.com.taiji.core.entity.invw.InvwCardDetails; | |||
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.InvwWarehouseRepo; | |||
import cn.com.taiji.core.repo.request.invw.InvwCardDetailsPageRequest; | |||
import cn.com.taiji.invw.dto.card.InvwCardDetailsPageRequestDTO; | |||
import cn.com.taiji.invw.dto.card.InvwCardDetailsRemoveRequestDTO; | |||
import cn.com.taiji.invw.dto.card.InvwCardDetailsRemoveResponseDTO; | |||
import cn.com.taiji.invw.manager.AbstractInvwManager; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
import org.springframework.stereotype.Service; | |||
/** | |||
* @Auther: humh | |||
* @Description: | |||
* @Date: 2025/5/23 17:29 | |||
* @email: huminghao@mail.taiji.com.cn | |||
* @version: 1.0 | |||
*/ | |||
@Service | |||
public class InvwCardDetailsManagerImpl extends AbstractInvwManager implements InvwCardDetailsManager { | |||
@Autowired | |||
private InvwCardDetailsRepo repo; | |||
@Autowired | |||
private InvwWarehouseRepo warehouseRepo; | |||
@Override | |||
public Pagination page(InvwCardDetailsPageRequestDTO req) throws ServiceHandleException { | |||
InvwCardDetailsPageRequest pageRequest = copyProperties(req, new InvwCardDetailsPageRequest()); | |||
pageRequest.setAgencyId(findAgencyIdByToken(req.getAccessToken())); | |||
return repo.page(pageRequest); | |||
} | |||
@Override | |||
public InvwCardDetailsRemoveResponseDTO remove(InvwCardDetailsRemoveRequestDTO dto) throws ManagerException { | |||
//先校验 | |||
InvwCardDetails cardDetails = repo.findById(dto.getId()).orElse(null); | |||
InvwWarehouse warehouse = warehouseRepo.findByCodeAndStatus(cardDetails.getStoreCode(), 1); | |||
String agencyId = findAgencyIdByToken(dto.getAccessToken()); | |||
if (warehouse.getWarehouseLevel() == 1){//一级仓库设备黔通人员可操作 | |||
if(!"52010106004".equals(agencyId)){ | |||
throw new ManagerException("一级仓库设备仅黔通人员可操作"); | |||
} | |||
}else { | |||
if (warehouse.getAgencyId().equals(agencyId)){ | |||
throw new ManagerException("二三级仓库仅设备渠道人员可操作"); | |||
} | |||
} | |||
cardDetails.setStatus(InvDeviceStatus.DELETED); | |||
repo.merge(cardDetails); | |||
return new InvwCardDetailsRemoveResponseDTO(dto.getId()); | |||
} | |||
} |
@@ -14,7 +14,7 @@ import cn.com.taiji.invw.dto.enter.*; | |||
*/ | |||
public interface InvwEnterApplyManager { | |||
Pagination page(InvwEnterApplyPageRequestDTO req); | |||
Pagination page(InvwEnterApplyPageRequestDTO req) throws ServiceHandleException; | |||
InvwEnterApplyAddResponseDTO apply(InvwEnterApplyAddRequestDTO dto) throws ManagerException; | |||
@@ -60,8 +60,9 @@ public class InvwEnterApplyManagerImpl extends AbstractInvwManager implements In | |||
@Override | |||
public Pagination page(InvwEnterApplyPageRequestDTO req) { | |||
public Pagination page(InvwEnterApplyPageRequestDTO req) throws ServiceHandleException { | |||
InvwEnterApplyPageRequest pageRequest = copyProperties(req, new InvwEnterApplyPageRequest()); | |||
pageRequest.setAgencyId(findAgencyIdByToken(req.getAccessToken())); | |||
return repo.page(pageRequest); | |||
} | |||
@@ -203,6 +204,7 @@ public class InvwEnterApplyManagerImpl extends AbstractInvwManager implements In | |||
cardDetails.setInsertTime(now); | |||
cardDetails.setOrderNo(enterApply.getApplyNo()); | |||
cardDetails.setStatus(InvDeviceStatus.NEW); | |||
cardDetails.setSingleChip(true); | |||
cardDetails.setCardId(new BigInteger(applyDetails.getStartCardId()).add(BigInteger.valueOf(i)).toString()); | |||
cardList.add(cardDetails); | |||
} |
@@ -0,0 +1,23 @@ | |||
package cn.com.taiji.invw.manager.obu; | |||
import cn.com.taiji.common.manager.ManagerException; | |||
import cn.com.taiji.common.manager.net.http.ServiceHandleException; | |||
import cn.com.taiji.common.model.dao.Pagination; | |||
import cn.com.taiji.invw.dto.card.InvwCardDetailsPageRequestDTO; | |||
import cn.com.taiji.invw.dto.obu.InvwObuDetailsPageRequestDTO; | |||
import cn.com.taiji.invw.dto.obu.InvwObuDetailsRemoveRequestDTO; | |||
import cn.com.taiji.invw.dto.obu.InvwObuDetailsRemoveResponseDTO; | |||
/** | |||
* @Auther: humh | |||
* @Description: | |||
* @Date: 2025/5/23 17:27 | |||
* @email: huminghao@mail.taiji.com.cn | |||
* @version: 1.0 | |||
*/ | |||
public interface InvwObuDetailsManager { | |||
Pagination page(InvwObuDetailsPageRequestDTO req) throws ServiceHandleException; | |||
InvwObuDetailsRemoveResponseDTO remove(InvwObuDetailsRemoveRequestDTO req) throws ManagerException; | |||
} |
@@ -0,0 +1,67 @@ | |||
package cn.com.taiji.invw.manager.obu; | |||
import cn.com.taiji.common.manager.ManagerException; | |||
import cn.com.taiji.common.manager.net.http.ServiceHandleException; | |||
import cn.com.taiji.common.model.dao.Pagination; | |||
import cn.com.taiji.core.entity.dict.invw.InvDeviceStatus; | |||
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.InvwCardDetailsPageRequest; | |||
import cn.com.taiji.core.repo.request.invw.InvwObuDetailsPageRequest; | |||
import cn.com.taiji.invw.dto.card.InvwCardDetailsPageRequestDTO; | |||
import cn.com.taiji.invw.dto.card.InvwCardDetailsRemoveResponseDTO; | |||
import cn.com.taiji.invw.dto.obu.InvwObuDetailsPageRequestDTO; | |||
import cn.com.taiji.invw.dto.obu.InvwObuDetailsRemoveRequestDTO; | |||
import cn.com.taiji.invw.dto.obu.InvwObuDetailsRemoveResponseDTO; | |||
import cn.com.taiji.invw.manager.AbstractInvwManager; | |||
import cn.com.taiji.invw.manager.card.InvwCardDetailsManager; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
import org.springframework.stereotype.Service; | |||
/** | |||
* @Auther: humh | |||
* @Description: | |||
* @Date: 2025/5/23 17:29 | |||
* @email: huminghao@mail.taiji.com.cn | |||
* @version: 1.0 | |||
*/ | |||
@Service | |||
public class InvwObuDetailsManagerImpl extends AbstractInvwManager implements InvwObuDetailsManager { | |||
@Autowired | |||
private InvwObuDetailsRepo repo; | |||
@Autowired | |||
private InvwWarehouseRepo warehouseRepo; | |||
@Override | |||
public Pagination page(InvwObuDetailsPageRequestDTO req) throws ServiceHandleException { | |||
InvwObuDetailsPageRequest pageRequest = copyProperties(req, new InvwObuDetailsPageRequest()); | |||
pageRequest.setAgencyId(findAgencyIdByToken(req.getAccessToken())); | |||
return repo.page(pageRequest); | |||
} | |||
@Override | |||
public InvwObuDetailsRemoveResponseDTO remove(InvwObuDetailsRemoveRequestDTO dto) throws ManagerException { | |||
//先校验 | |||
InvwObuDetails obuDetails = repo.findById(dto.getId()).orElse(null); | |||
InvwWarehouse warehouse = warehouseRepo.findByCodeAndStatus(obuDetails.getStoreCode(), 1); | |||
String agencyId = findAgencyIdByToken(dto.getAccessToken()); | |||
if (warehouse.getWarehouseLevel() == 1){//一级仓库设备黔通人员可操作 | |||
if(!"52010106004".equals(agencyId)){ | |||
throw new ManagerException("一级仓库设备仅黔通人员可操作"); | |||
} | |||
}else { | |||
if (warehouse.getAgencyId().equals(agencyId)){ | |||
throw new ManagerException("二三级仓库仅设备渠道人员可操作"); | |||
} | |||
} | |||
obuDetails.setStatus(InvDeviceStatus.DELETED); | |||
repo.merge(obuDetails); | |||
return new InvwObuDetailsRemoveResponseDTO(dto.getId()); | |||
} | |||
} |