package com.ld.igds.phone35.service.impl;
|
|
import com.alibaba.fastjson.JSONObject;
|
import com.ld.igds.constant.FoodVariety;
|
import com.ld.igds.constant.RespCodeEnum;
|
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.Phone35InoutSum;
|
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.DateUtil;
|
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.time.DateUtils;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
|
/**
|
* 出库记录接口
|
*
|
* @author chen
|
* @date 2023-01-16 15:58
|
*/
|
@Service
|
public class Phone35ServiceImpl5204 implements Phone35Service {
|
|
@Autowired
|
private HPhoneServiceImpl hPhoneService;
|
@Autowired
|
private Phone35Util phone35Util;
|
|
@Override
|
public String getInterfaceId() {
|
return Phone35Constant.API_PHONE_5204;
|
}
|
|
@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()) || StringUtils.isEmpty(param.getDateTime())) {
|
return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "参数有误,请重试!!");
|
}
|
|
if (StringUtils.isEmpty(param.getCompanyId())) {
|
param.setCompanyId(phone35AuthUser.getCompanyId());
|
}
|
|
Phone35InoutSum dto = new Phone35InoutSum();
|
|
//设置查询时间,当前天的起始和下一天的起始
|
Date date = DateUtils.parseDate(param.getDateTime(), "yyyy-MM-dd");
|
param.setStartTime(DateUtil.getCurZero(date));
|
param.setEndTime(DateUtil.getNextZero(date));
|
param.setType(InoutConstant.TYPE_OUT);
|
param.setProgress(InoutConstant.PROGRESS_RECORD);
|
List<InoutRecord> list = hPhoneService.listInoutRecord(param);
|
|
if (null == list || list.isEmpty()) {
|
return PhoneRespUtil.success(dto, req);
|
}
|
|
//封装数据
|
Double sum = 0.0;
|
List<Phone35InoutDto> listDto = new ArrayList<>();
|
Phone35InoutDto inoutData;
|
for (InoutRecord record : list) {
|
inoutData = new Phone35InoutDto();
|
BeanUtils.copyProperties(record, inoutData);
|
inoutData.setDepotName(phone35Util.getDepotName(phone35AuthUser.getCompanyId(), record.getDepotId()));
|
inoutData.setFoodVarietyName(FoodVariety.getMsg(record.getFoodVariety()));
|
if (inoutData.getRecordWeight() == null) {
|
inoutData.setRecordWeight(0.0);
|
}
|
sum += inoutData.getRecordWeight();
|
listDto.add(inoutData);
|
}
|
dto.setSum(sum);
|
dto.setListInout(listDto);
|
|
return PhoneRespUtil.success(dto, req);
|
}
|
}
|