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 execute(Phone35Request 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 list = hPhoneService.listInoutRecord(param); if (null == list || list.isEmpty()) { return PhoneRespUtil.success(dto, req); } //封装数据 Double sum = 0.0; List 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); } }