package com.ld.igds.phone35.service.impl;
|
|
import com.alibaba.fastjson.JSONObject;
|
import com.ld.igds.constant.FoodLevel;
|
import com.ld.igds.constant.FoodVariety;
|
import com.ld.igds.constant.RespCodeEnum;
|
import com.ld.igds.file.CoreFileService;
|
import com.ld.igds.file.dto.FileData;
|
import com.ld.igds.inout.InoutConstant;
|
import com.ld.igds.models.InoutRecord;
|
import com.ld.igds.phone35.constant.Phone35Constant;
|
import com.ld.igds.phone35.dto.Phone35AuthUser;
|
import com.ld.igds.phone35.dto.Phone35InoutDto;
|
import com.ld.igds.phone35.dto.PhoneResponse;
|
import com.ld.igds.phone35.param.Phone35InoutCommonParam;
|
import com.ld.igds.phone35.param.Phone35Request;
|
import com.ld.igds.phone35.service.Phone35Service;
|
import com.ld.igds.phone35.util.Phone35Util;
|
import com.ld.igds.phone35.util.PhoneRespUtil;
|
import com.ld.igds.util.FfmpegUtil;
|
import org.apache.commons.lang3.StringUtils;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import java.util.List;
|
|
/**
|
* 出入库值仓详细信息
|
*
|
* @author czt
|
* @date 2023-02-24 14:28
|
*/
|
@Service
|
public class Phone35ServiceImpl5208 implements Phone35Service {
|
|
@Autowired
|
private Phone35Util phone35Util;
|
@Autowired
|
private HPhoneServiceImpl hPhoneService;
|
@Autowired
|
private CoreFileService fileService;
|
|
@Override
|
public String getInterfaceId() {
|
return Phone35Constant.API_PHONE_5205;
|
}
|
|
@SuppressWarnings("unchecked")
|
@Override
|
public PhoneResponse<Object> execute(Phone35Request<JSONObject> req, Phone35AuthUser phone35AuthUser)
|
throws Exception {
|
|
//转化为对象
|
Phone35InoutCommonParam param = JSONObject.parseObject(req.getData().toString(), Phone35InoutCommonParam.class);
|
if (null == param) {
|
return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "参数有误,请重试!!");
|
}
|
//参数验证
|
if (StringUtils.isEmpty(param.getDeptId())) {
|
return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "参数有误,请重试!!");
|
}
|
|
//查询流水数据信息
|
InoutRecord inoutData = hPhoneService.getInoutRecord(phone35AuthUser.getCompanyId(), phone35AuthUser.getDeptId(), param.getId(), param.getIntelCard());
|
if(inoutData == null){
|
if(StringUtils.isEmpty(param.getId())){
|
return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "未查询到此卡数据信息,请重试!!");
|
}
|
return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "未获取到所选数据信息,请重试!!");
|
}
|
//封装响应数据
|
Phone35InoutDto inoutHandle = new Phone35InoutDto();
|
BeanUtils.copyProperties(inoutData, inoutHandle);
|
inoutHandle.setDepotName(phone35Util.getDepotName(inoutData.getCompanyId(),inoutData.getDepotId()));
|
inoutHandle.setProgressName(phone35Util.getProgressName(phone35AuthUser.getCompanyId(), inoutData.getProgress()));
|
inoutHandle.setFoodVarietyName(FoodVariety.getMsg(inoutData.getFoodVariety()));
|
inoutHandle.setFoodLevelName(FoodLevel.getMsg(inoutData.getFoodLevel()));
|
// inoutHandle.setHandleStart(inoutData.getHandleStart()); TODO
|
// inoutHandle.setHandelEnd(inoutData.getHandleEnd()); TODO
|
inoutHandle.setProgress(inoutData.getProgress());
|
|
//根据流水id、组织编码查询图片信息
|
List<FileData> files = fileService.listFile(phone35AuthUser.getCompanyId(), inoutData.getId());
|
if(files != null){
|
String bathPath;
|
int i = 1;
|
for (FileData file : files) {
|
//只设置值仓的图片
|
if(file.getBizTag().equals(InoutConstant.PROGRESS_HANDLE)){
|
if(i==1){
|
i++;
|
bathPath = fileService.getInoutFilePath(file.getCreateTime());
|
inoutHandle.setFileName1(file.getFileName());
|
inoutHandle.setBase64Img1(FfmpegUtil.getImgStr(bathPath + file.getFileName()));
|
}else {
|
bathPath = fileService.getInoutFilePath(file.getCreateTime());
|
inoutHandle.setFileName2(file.getFileName());
|
inoutHandle.setBase64Img2(FfmpegUtil.getImgStr(bathPath + file.getFileName()));
|
}
|
}
|
}
|
}
|
|
return PhoneRespUtil.success(inoutHandle, req);
|
}
|
}
|