|
|
@ -1,6 +1,8 @@ |
|
|
|
package com.yxt.supervise.cyf.app.crudeoilstorage; |
|
|
|
|
|
|
|
import cn.dev33.satoken.stp.StpUtil; |
|
|
|
import cn.hutool.core.bean.BeanUtil; |
|
|
|
import cn.hutool.core.date.DateUtil; |
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
import com.yxt.common.base.service.MybatisBaseService; |
|
|
@ -8,11 +10,17 @@ import com.yxt.common.base.utils.PagerUtil; |
|
|
|
import com.yxt.common.core.query.PagerQuery; |
|
|
|
import com.yxt.common.core.result.ResultBean; |
|
|
|
import com.yxt.common.core.vo.PagerVo; |
|
|
|
import com.yxt.supervise.cyf.api.approvalrecord.ApprovalRecordDto; |
|
|
|
import com.yxt.supervise.cyf.api.crudeoilstorage.CrudeOilStorage; |
|
|
|
import com.yxt.supervise.cyf.api.crudeoilstorage.CrudeOilStorageDto; |
|
|
|
import com.yxt.supervise.cyf.api.crudeoilstorage.CrudeOilStorageQuery; |
|
|
|
import com.yxt.supervise.cyf.api.crudeoilstorage.CrudeOilStorageVo; |
|
|
|
import com.yxt.supervise.cyf.api.procurementdetails.ProcurementDetails; |
|
|
|
import com.yxt.supervise.cyf.api.sysuser.SysUser; |
|
|
|
import com.yxt.supervise.cyf.api.tankinformation.TankInformation; |
|
|
|
import com.yxt.supervise.cyf.app.approvalrecord.ApprovalRecordAppService; |
|
|
|
import com.yxt.supervise.cyf.app.procurementdetails.ProcurementDetailsAppMapper; |
|
|
|
import com.yxt.supervise.cyf.app.sysuser.CyfSysUserAppMapper; |
|
|
|
import com.yxt.supervise.cyf.app.tankinformation.TankInformationAppMapper; |
|
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
@ -29,6 +37,12 @@ import java.util.*; |
|
|
|
public class CrudeOilStorageAppService extends MybatisBaseService<CrudeOilStorageAppMapper, CrudeOilStorage> { |
|
|
|
@Autowired |
|
|
|
TankInformationAppMapper tankInformationMapper; |
|
|
|
@Autowired |
|
|
|
ProcurementDetailsAppMapper procurementDetailsMapper; |
|
|
|
@Autowired |
|
|
|
CyfSysUserAppMapper sysUserMapper; |
|
|
|
@Autowired |
|
|
|
ApprovalRecordAppService approvalRecordService; |
|
|
|
|
|
|
|
public PagerVo<CrudeOilStorageVo> listPageVo(PagerQuery<CrudeOilStorageQuery> pq) { |
|
|
|
CrudeOilStorageQuery query = pq.getParams(); |
|
|
@ -48,6 +62,41 @@ public class CrudeOilStorageAppService extends MybatisBaseService<CrudeOilStorag |
|
|
|
public ResultBean save(CrudeOilStorageDto dto){ |
|
|
|
|
|
|
|
ResultBean rb=new ResultBean(); |
|
|
|
Date curDate = new Date(); |
|
|
|
String dfmt = DateUtil.format(curDate, "yyyy-MM-dd"); |
|
|
|
if(null!=dto.getProcSid()){ |
|
|
|
SysUser sysUser=sysUserMapper.selectOne(new QueryWrapper<SysUser>().eq("id", StpUtil.getLoginIdAsString())); |
|
|
|
//入库记录
|
|
|
|
List<CrudeOilStorageVo> list=baseMapper.getCrudeByProcSid(dto.getProcSid()); |
|
|
|
//要入的的原油类型
|
|
|
|
CrudeOilStorageVo v=baseMapper.getTypeByTankSid(dto.getTankSid()); |
|
|
|
ProcurementDetails procurementDetails=procurementDetailsMapper.selectOne(new QueryWrapper<ProcurementDetails>().eq("sid",dto.getProcSid()).eq("typeSid",v.getTypeSid())); |
|
|
|
if(null==procurementDetails){ |
|
|
|
return rb.setMsg("订单中没有,所选的原油类型"); |
|
|
|
} |
|
|
|
for(CrudeOilStorageVo vo:list){ |
|
|
|
if(v.getTypeSid().equals(vo.getTypeSid())){ |
|
|
|
if( (vo.getWeight()+dto.getWeight())>vo.getPWeight()){ |
|
|
|
return rb.setMsg("输入的价值大于采购订单的价值,请验证是否正确"); |
|
|
|
}else if((vo.getWeight()+dto.getWeight())==vo.getPWeight()){ |
|
|
|
//入库价值和采购价值相比 相同修改订单状态
|
|
|
|
List<ProcurementDetails> procurementDetailsList=procurementDetailsMapper.selectList(new QueryWrapper<ProcurementDetails>().eq("sid",dto.getProcSid())); |
|
|
|
for(ProcurementDetails pro:procurementDetailsList){ |
|
|
|
pro.setState(7); |
|
|
|
procurementDetailsMapper.updateById(pro); |
|
|
|
} |
|
|
|
//审批记录
|
|
|
|
ApprovalRecordDto recordDto=new ApprovalRecordDto(); |
|
|
|
recordDto.setProSid(dto.getProcSid()); |
|
|
|
recordDto.setApprover(sysUser.getSid()); |
|
|
|
recordDto.setApprovalOpinions("完成订单"); |
|
|
|
recordDto.setOperate("5"); |
|
|
|
recordDto.setApprovalDate(dfmt); |
|
|
|
approvalRecordService.save(recordDto); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
CrudeOilStorage entity=new CrudeOilStorage(); |
|
|
|
BeanUtil.copyProperties(dto, entity, "id", "sid"); |
|
|
|
String [] file=dto.getCrudeOilStorageFile(); |
|
|
|