@@ -22,13 +22,13 @@ public interface InvwCardDetailsRepo extends AbstractJpaRepo<InvwCardDetails, St | |||
long findCountByStoreCode(String storeCode); | |||
//根据设备编号范围查询库存 | |||
@Query(value = "select count(id) from InvwCardDetails where storeCode = ?1 and status = ?2 and cardId >= ?3 and cardId <= ?4 ") | |||
@Query(value = "select count(id) from InvwCardDetails where storeCode = ?1 and status = ?2 and TO_NUMBER(cardId) >= TO_NUMBER(?3) and TO_NUMBER(cardId) <= TO_NUMBER(?4) ") | |||
long findCountByStoreCodeStatusCardId(String storeCode, InvDeviceStatus status, String cardIdStart, String cardIdEnd); | |||
//修改卡的所属仓库 | |||
@Modifying | |||
@Transactional | |||
@Query(value = "update InvwCardDetails set storeCode = ?1,agencyId=?2,channelId=?3 " + | |||
" where storeCode = ?4 and status = ?5 and cardId >= ?6 and cardId <= ?7") | |||
" where storeCode = ?4 and status = ?5 and TO_NUMBER(cardId) >= TO_NUMBER(?6) and TO_NUMBER(cardId) <= TO_NUMBER(?7) ") | |||
int updateStoreCodeByStoreCode(String storeCode, String agencyId, String channelId, String oldStoreCode, InvDeviceStatus status, String cardIdStart, String cardIdEnd); | |||
} |
@@ -21,14 +21,14 @@ public interface InvwObuDetailsRepo extends AbstractJpaRepo<InvwObuDetails, Stri | |||
long findCountByStoreCode(String storeCode); | |||
//根据仓库编号和状态查询库存 | |||
@Query(value = "select count(id) from InvwObuDetails where storeCode = ?1 and status = ?2 and obuId >= ?3 and obuId <= ?4 ") | |||
@Query(value = "select count(id) from InvwObuDetails where storeCode = ?1 and status = ?2 and TO_NUMBER(cardId) >= TO_NUMBER(?3) and TO_NUMBER(cardId) <= TO_NUMBER(?4) ") | |||
long findCountByStoreCodeStatusObuId(String storeCode, InvDeviceStatus status, String obuIdStart, String obuIdEnd); | |||
//修改卡的所属仓库 | |||
@Modifying | |||
@Transactional | |||
@Query(value = "update InvwObuDetails set storeCode = ?1,agencyId=?2,channelId=?3 " + | |||
" where storeCode = ?4 and status = ?5 and cardId >= ?6 and cardId <= ?7") | |||
" where storeCode = ?4 and status = ?5 and TO_NUMBER(cardId) >= TO_NUMBER(?6) and TO_NUMBER(cardId) <= TO_NUMBER(?7) ") | |||
int updateStoreCodeByStoreCode(String storeCode, String agencyId, String channelId, String oldStoreCode, InvDeviceStatus status, String cardIdStart, String cardIdEnd); | |||
@@ -77,6 +77,12 @@ public class InvwTransferApplyController extends MyValidController { | |||
return ApiResponse.success().setMessage("校验通过"); | |||
} | |||
@ApiOperation(value = "08-号段导入") | |||
@PostMapping("/import") | |||
public ApiResponse<InvwTransferApplyImportResponseDTO> importData(@Valid @RequestBody InvwTransferApplyImportRequestDTO req) throws ManagerException { | |||
return ApiResponse.of(manager.importData(req)); | |||
} | |||
// @ApiOperation(value = "07-枚举查询") | |||
// @PostMapping("/getEnum") | |||
// public ApiResponse<Map<String,Object>> getEnum() { |
@@ -10,6 +10,7 @@ import lombok.Setter; | |||
import lombok.experimental.Accessors; | |||
import javax.validation.Valid; | |||
import java.util.List; | |||
@ApiModel(description = "调拨申请") | |||
@Getter | |||
@@ -23,5 +24,5 @@ public class InvwTransferApplyAddRequestDTO extends AbstractBizRequestDTO { | |||
@ApiModelProperty(value = "调拨明细") | |||
@Valid | |||
private InvwTransferApplyDetailsModel[] transferDetails; | |||
private List<InvwTransferApplyDetailsModel> transferDetails; | |||
} |
@@ -0,0 +1,33 @@ | |||
package cn.com.taiji.invw.dto.transfer; | |||
import cn.com.taiji.core.entity.dict.invw.InventoryType; | |||
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.persistence.EnumType; | |||
import javax.persistence.Enumerated; | |||
import javax.validation.constraints.NotBlank; | |||
import javax.validation.constraints.NotNull; | |||
@ApiModel(description = "调拨申请号段导入") | |||
@Getter | |||
@Setter | |||
@Accessors(chain = true) | |||
public class InvwTransferApplyImportRequestDTO extends AbstractBizRequestDTO { | |||
@ApiModelProperty(value = "发货仓库") | |||
@NotBlank(message = "发货仓库不能为空") | |||
private String sendStoreCode; | |||
@ApiModelProperty(value = "设备类型") | |||
@NotNull(message = "设备类型不能为空") | |||
@Enumerated(EnumType.STRING) | |||
private InventoryType inventoryType;//设备类型 | |||
@ApiModelProperty(value = "调拨明细文件URL") | |||
@NotBlank(message = "调拨明细文件URL不能为空") | |||
private String fileUrl; | |||
} |
@@ -0,0 +1,20 @@ | |||
package cn.com.taiji.invw.dto.transfer; | |||
import cn.com.taiji.invw.model.transfer.InvwTransferApplyDetailsModel; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Getter; | |||
import lombok.Setter; | |||
import lombok.experimental.Accessors; | |||
import java.util.List; | |||
@ApiModel(description = "调拨详情文件导入响应") | |||
@Getter | |||
@Setter | |||
@Accessors(chain = true) | |||
public class InvwTransferApplyImportResponseDTO { | |||
@ApiModelProperty(value = "调拨详情导入信息") | |||
private List<InvwTransferApplyDetailsModel> transferDetails; | |||
} |
@@ -9,7 +9,7 @@ import cn.com.taiji.core.repo.request.invw.InvwQryCardBatchPageRequest; | |||
import cn.com.taiji.invw.dto.card.InvwQryCardBatchPageRequestDTO; | |||
import cn.com.taiji.invw.dto.comm.CommExcelFileResponseDTO; | |||
import cn.com.taiji.invw.manager.AbstractCommManager; | |||
import cn.com.taiji.invw.model.excel.InvwQryCardBatchExcelModel; | |||
import cn.com.taiji.invw.model.card.InvwQryCardBatchExcelModel; | |||
import com.alibaba.excel.EasyExcel; | |||
import org.springframework.beans.BeanUtils; | |||
import org.springframework.beans.factory.annotation.Autowired; |
@@ -9,7 +9,7 @@ import cn.com.taiji.core.repo.request.invw.InvwQryCardsPageRequest; | |||
import cn.com.taiji.invw.dto.card.InvwQryCardsPageRequestDTO; | |||
import cn.com.taiji.invw.dto.comm.CommExcelFileResponseDTO; | |||
import cn.com.taiji.invw.manager.AbstractCommManager; | |||
import cn.com.taiji.invw.model.excel.InvwQryCardsExcelModel; | |||
import cn.com.taiji.invw.model.card.InvwQryCardsExcelModel; | |||
import com.alibaba.excel.EasyExcel; | |||
import org.springframework.beans.BeanUtils; | |||
import org.springframework.beans.factory.annotation.Autowired; |
@@ -9,7 +9,7 @@ import cn.com.taiji.core.repo.request.invw.InvwQryObuBatchPageRequest; | |||
import cn.com.taiji.invw.dto.comm.CommExcelFileResponseDTO; | |||
import cn.com.taiji.invw.dto.obu.InvwQryObuBatchPageRequestDTO; | |||
import cn.com.taiji.invw.manager.AbstractCommManager; | |||
import cn.com.taiji.invw.model.excel.InvwQryObuBatchExcelModel; | |||
import cn.com.taiji.invw.model.obu.InvwQryObuBatchExcelModel; | |||
import com.alibaba.excel.EasyExcel; | |||
import org.springframework.beans.BeanUtils; | |||
import org.springframework.beans.factory.annotation.Autowired; |
@@ -9,7 +9,7 @@ import cn.com.taiji.core.repo.request.invw.InvwQryObusPageRequest; | |||
import cn.com.taiji.invw.dto.comm.CommExcelFileResponseDTO; | |||
import cn.com.taiji.invw.dto.obu.InvwQryObusPageRequestDTO; | |||
import cn.com.taiji.invw.manager.AbstractCommManager; | |||
import cn.com.taiji.invw.model.excel.InvwQryObusExcelModel; | |||
import cn.com.taiji.invw.model.obu.InvwQryObusExcelModel; | |||
import com.alibaba.excel.EasyExcel; | |||
import org.springframework.beans.BeanUtils; | |||
import org.springframework.beans.factory.annotation.Autowired; |
@@ -18,4 +18,6 @@ public interface InvwTransferApplyManager { | |||
void confirmIn(InvwTransferApplyConfirmInRequestDTO req) throws ManagerException; | |||
void check(InvwTransferApplyCheckRequestDTO req) throws ManagerException; | |||
InvwTransferApplyImportResponseDTO importData(InvwTransferApplyImportRequestDTO req) throws ManagerException; | |||
} |
@@ -3,28 +3,27 @@ package cn.com.taiji.invw.manager.transfer; | |||
import cn.com.taiji.common.manager.ManagerException; | |||
import cn.com.taiji.common.model.dao.Pagination; | |||
import cn.com.taiji.common.pub.StringTools; | |||
import cn.com.taiji.core.entity.dict.basic.CardType; | |||
import cn.com.taiji.core.entity.dict.basic.DeviceVersion; | |||
import cn.com.taiji.core.entity.dict.basic.ObuType; | |||
import cn.com.taiji.core.entity.dict.invw.InvApplyStatus; | |||
import cn.com.taiji.core.entity.dict.invw.InvDeviceStatus; | |||
import cn.com.taiji.core.entity.dict.invw.InventoryType; | |||
import cn.com.taiji.core.entity.dict.invw.OwnType; | |||
import cn.com.taiji.core.entity.invw.InvwTransferApply; | |||
import cn.com.taiji.core.entity.invw.InvwTransferApplyDetails; | |||
import cn.com.taiji.core.entity.invw.InvwWarehouse; | |||
import cn.com.taiji.core.manager.tools.minio.MinioUtile; | |||
import cn.com.taiji.core.repo.jpa.invw.*; | |||
import cn.com.taiji.core.repo.request.invw.InvwTransferApplyPageRequest; | |||
import cn.com.taiji.invw.dto.transfer.*; | |||
import cn.com.taiji.invw.manager.AbstractCommManager; | |||
import cn.com.taiji.invw.model.transfer.InvwTransferApplyCommModel; | |||
import cn.com.taiji.invw.model.transfer.InvwTransferApplyDetailsModel; | |||
import cn.com.taiji.invw.tools.EasyExcelUtil; | |||
import cn.com.taiji.invw.tools.GenerateNoUtil; | |||
import org.springframework.beans.BeanUtils; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
import org.springframework.stereotype.Service; | |||
import org.springframework.transaction.annotation.Transactional; | |||
import java.io.File; | |||
import java.math.BigInteger; | |||
import java.time.LocalDateTime; | |||
import java.util.ArrayList; | |||
@@ -43,6 +42,8 @@ public class InvwTransferApplyManagerImpl extends AbstractCommManager implements | |||
private InvwCardDetailsRepo cardDetailsRepo; | |||
@Autowired | |||
private InvwObuDetailsRepo obuDetailsRepo; | |||
@Autowired | |||
private MinioUtile minioUtile; | |||
@Override | |||
public Pagination page(InvwTransferApplyPageRequestDTO req) { | |||
@@ -175,6 +176,20 @@ public class InvwTransferApplyManagerImpl extends AbstractCommManager implements | |||
toCheck(details, req.getInventoryType(), req.getSendStoreCode()); | |||
} | |||
@Override | |||
public InvwTransferApplyImportResponseDTO importData(InvwTransferApplyImportRequestDTO req) throws ManagerException { | |||
// 获取导入文件 | |||
File file = minioUtile.getFileByUrl(req.getFileUrl()); | |||
// 读取文件数据 | |||
List<InvwTransferApplyDetailsModel> models = EasyExcelUtil.readExcelColToModelList(file, InvwTransferApplyDetailsModel.class); | |||
if (models.size() == 0) { | |||
throw new ManagerException("导入文件为空"); | |||
} | |||
InvwTransferApplyImportResponseDTO response = new InvwTransferApplyImportResponseDTO(); | |||
response.setTransferDetails(models); | |||
return response; | |||
} | |||
public void handlerTransferApply(InvwTransferApplyAddRequestDTO addReq, InvwTransferApplyEditRequestDTO editReq, | |||
InvwTransferApply transferApply, List<InvwTransferApplyDetails> transferApplyDetails) throws ManagerException { | |||
// 处理新增请求 | |||
@@ -186,7 +201,7 @@ public class InvwTransferApplyManagerImpl extends AbstractCommManager implements | |||
//处理新增 | |||
private void handleAddRequest(InvwTransferApplyAddRequestDTO addReq, InvwTransferApply transferApply, List<InvwTransferApplyDetails> transferApplyDetails) throws ManagerException { | |||
InvwTransferApplyCommModel transferApplyModel = addReq.getTransferApply(); | |||
InvwTransferApplyDetailsModel[] detailsModels = addReq.getTransferDetails(); | |||
List<InvwTransferApplyDetailsModel> detailsModels = addReq.getTransferDetails(); | |||
LocalDateTime now = LocalDateTime.now(); | |||
//生成申请单号 |
@@ -1,4 +1,4 @@ | |||
package cn.com.taiji.invw.model.excel; | |||
package cn.com.taiji.invw.model.card; | |||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; | |||
import com.alibaba.excel.annotation.ExcelProperty; |
@@ -1,4 +1,4 @@ | |||
package cn.com.taiji.invw.model.excel; | |||
package cn.com.taiji.invw.model.card; | |||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; | |||
import com.alibaba.excel.annotation.ExcelProperty; |
@@ -1,4 +1,4 @@ | |||
package cn.com.taiji.invw.model.excel; | |||
package cn.com.taiji.invw.model.obu; | |||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; | |||
import com.alibaba.excel.annotation.ExcelProperty; |
@@ -1,4 +1,4 @@ | |||
package cn.com.taiji.invw.model.excel; | |||
package cn.com.taiji.invw.model.obu; | |||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; | |||
import com.alibaba.excel.annotation.ExcelProperty; |
@@ -1,5 +1,6 @@ | |||
package cn.com.taiji.invw.model.transfer; | |||
import com.alibaba.excel.annotation.ExcelProperty; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Getter; | |||
@@ -21,11 +22,13 @@ public class InvwTransferApplyDetailsModel { | |||
@ApiModelProperty(value = "开始编号") | |||
@NotBlank(message = "开始编号不能为空") | |||
@Pattern(regexp = "^[0-9]*$", message = "编号只能由0-9组成") | |||
@ExcelProperty(index = 0, value = "开始编号") | |||
private String startId;//开始编号 | |||
@ApiModelProperty(value = "结束编号") | |||
@NotBlank(message = "结束编号不能为空") | |||
@Pattern(regexp = "^[0-9]*$", message = "编号只能由0-9组成") | |||
@ExcelProperty(index = 1, value = "结束编号") | |||
private String endId;//结束编号 | |||
} |