package com.fzzy.igds.app.v1.service.impl;
|
|
import com.alibaba.fastjson.JSONObject;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.fzzy.common.constant.RespCodeEnum;
|
import com.fzzy.igds.app.v1.constant.PhoneConstant;
|
import com.fzzy.igds.app.v1.data.AuthUser;
|
import com.fzzy.igds.app.v1.data.ParamPatrol;
|
import com.fzzy.igds.app.v1.data.PhoneRequest;
|
import com.fzzy.igds.app.v1.data.PhoneResponse;
|
import com.fzzy.igds.app.v1.dto.PQuantityDto;
|
import com.fzzy.igds.app.v1.service.PhoneService;
|
import com.fzzy.igds.app.v1.util.PhoneRespUtil;
|
import com.fzzy.igds.domain.Depot;
|
import com.fzzy.igds.domain.Quantity;
|
import com.fzzy.igds.domain.SnapRecord;
|
import com.fzzy.igds.mapper.QuantityMapper;
|
import com.fzzy.igds.service.DepotService;
|
import com.fzzy.igds.service.SysDeptService;
|
import com.fzzy.igds.utils.ContextUtil;
|
import com.fzzy.igds.utils.DateUtil;
|
import com.ruoyi.common.core.domain.entity.SysDept;
|
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.time.DateFormatUtils;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import javax.annotation.Resource;
|
import java.text.SimpleDateFormat;
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
|
/**
|
* @Author: YYC
|
* @Description: 数量监测-数量监测列表
|
* @DateTime: 2026-1-12 14:43
|
**/
|
@Service
|
public class ServiceImpl5207 implements PhoneService {
|
@Resource
|
private QuantityMapper quantityMapper;
|
@Autowired
|
private SysDeptService deptService;
|
@Resource
|
private DepotService depotService;
|
|
@Override
|
public String getInterfaceId() {
|
return PhoneConstant.API_PHONE_5207;
|
}
|
|
@Override
|
public PhoneResponse<Object> execute(PhoneRequest<JSONObject> req, AuthUser authUser) throws Exception {
|
//转化对象
|
ParamPatrol param = JSONObject.parseObject(req.getData().toString(), ParamPatrol.class);
|
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM");
|
Date dateTime = formatter.parse(param.getDateTime1());
|
|
if (null == param) {
|
return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "参数有误,请重试!!");
|
}
|
//参数验证
|
if (StringUtils.isEmpty(param.getDeptId())) {
|
return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "参数有误,请重试!!");
|
}
|
//参数验证
|
if (null == param.getDateTime1()) {
|
return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "参数有误,请重试!!");
|
}
|
QueryWrapper<Quantity> queryWrapper = new QueryWrapper<>();
|
|
param.setCompanyId(ContextUtil.getCompanyId());
|
queryWrapper.eq("company_id", param.getCompanyId());
|
queryWrapper.likeRight("dept_id", param.getDeptId());
|
queryWrapper.ge("receive_date", DateUtil.getMonthFirst(dateTime));
|
queryWrapper.le("receive_date", DateUtil.getNextMonthFirst(dateTime));
|
|
List<Quantity> list = quantityMapper.selectList(queryWrapper);
|
|
if (null == list || list.isEmpty()) {
|
return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "未查到信息!!");
|
}
|
PQuantityDto quantityDto;
|
SysDept dept;
|
Depot depot;
|
List<PQuantityDto> dtoList = new ArrayList<>();
|
for (Quantity quantity : list) {
|
dept = deptService.getCacheDept(quantity.getCompanyId(), quantity.getDeptId());
|
depot = depotService.getCacheDepot(quantity.getCompanyId(), quantity.getDepotId());
|
quantityDto = new PQuantityDto();
|
BeanUtils.copyProperties(quantity, quantityDto);
|
quantityDto.setDeptName(dept.getDeptName());
|
quantityDto.setDepotData(depot);
|
|
dtoList.add(quantityDto);
|
}
|
return PhoneRespUtil.success(dtoList, req);
|
}
|
}
|