package com.ld.igds.phone.service.impl;
|
|
import com.alibaba.fastjson.JSONObject;
|
import com.ld.igds.inout.manager.InoutManager;
|
import com.ld.igds.constant.RespCodeEnum;
|
import com.ld.igds.data.PageResponse;
|
import com.ld.igds.file.dto.FileData;
|
import com.ld.igds.inout.InoutConstant;
|
import com.ld.igds.inout.dto.InoutData;
|
import com.ld.igds.inout.dto.InoutParam;
|
import com.ld.igds.inout.mapper.InoutRecordMapper;
|
import com.ld.igds.inout.service.InoutService;
|
import com.ld.igds.phone.constant.PhoneConstant;
|
import com.ld.igds.phone.dto.AuthUser;
|
import com.ld.igds.phone.dto.PhoneResponse;
|
import com.ld.igds.phone.param.ParamInoutHandle;
|
import com.ld.igds.phone.param.PhoneRequest;
|
import com.ld.igds.phone.service.PhoneService;
|
import com.ld.igds.phone.util.PhoneRespUtil;
|
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
|
*/
|
@Service
|
public class ServiceImpl5207 implements PhoneService {
|
|
@Autowired
|
private InoutService inoutService;
|
@Autowired
|
private InoutManager inoutManager;
|
@Autowired
|
private InoutRecordMapper inoutMapper;
|
|
@Override
|
public String getInterfaceId() {
|
return PhoneConstant.API_PHONE_5207;
|
}
|
|
@SuppressWarnings("unchecked")
|
@Override
|
public PhoneResponse<Object> execute(PhoneRequest<JSONObject> req, AuthUser authUser)
|
throws Exception {
|
|
//转化为对象
|
ParamInoutHandle param = JSONObject.parseObject(req.getData().toString(), ParamInoutHandle.class);
|
//查询单子信息
|
InoutParam inoutParam = new InoutParam();
|
inoutParam.setId(param.getId());
|
inoutParam.setCompanyId(authUser.getCompanyId());
|
InoutData data = inoutMapper.inoutQueryById(inoutParam);
|
|
//判断单子是否在值仓流程
|
if(!data.getProgress().equals(InoutConstant.PROGRESS_HANDLE)){
|
return PhoneRespUtil.error(RespCodeEnum.CODE_2000,"该单子不在值仓状态,不能进行值仓提交!");
|
}
|
|
if(param.getType().equals(PhoneConstant.PHONE_INOUT_START)){
|
//值仓开始提交,只更新值仓开始时间
|
String msg = inoutService.updateData(data);
|
return PhoneRespUtil.success(msg, req);
|
}else{
|
//值仓结束提交,需更新流程状态、值仓结束时间、值仓人、值仓扣重等
|
data.setDeHandle(param.getDeHandle());
|
data.setHandleUser(authUser.getCname());
|
//设置值仓图片信息
|
List<FileData> files = new ArrayList<>();
|
FileData fileData1 = new FileData();
|
FileData fileData2 = new FileData();
|
fileData1.setFileName(param.getFileName1());
|
fileData2.setFileName(param.getFileName2());
|
files.add(fileData1);
|
files.add(fileData2);
|
data.setFiles(files);
|
//进行下一流程更新
|
PageResponse<InoutData> stringPageResponse = inoutManager.inNextStep(data);
|
|
return PhoneRespUtil.success(stringPageResponse.getData(), req);
|
}
|
|
}
|
}
|