diff --git a/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/app/crudeoilstorage/CrudeOilStorageAppMapper.java b/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/app/crudeoilstorage/CrudeOilStorageAppMapper.java index 73ea60e7..9a7946dd 100644 --- a/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/app/crudeoilstorage/CrudeOilStorageAppMapper.java +++ b/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/app/crudeoilstorage/CrudeOilStorageAppMapper.java @@ -23,4 +23,32 @@ public interface CrudeOilStorageAppMapper extends BaseMapper { @Select("select * from crude_oil_type_information where sid=#{sid}") CrudeOilStorage getCrudeBySid(@Param("sid")String sid); void insertCrudeOilFiles(List> maps); + + @Select("select s.*,f.url from crude_oil_storage s inner join crude_oil_storage_file f on s.sid = f.mainSid where s.sid = #{sid}") + List selectStorageBySid(@Param("sid") String sid); + + @Select("select *,sum(weight) as total from crude_oil_storage where procSid=#{procSid}") + CrudeOilStorageVo getCreateByProcSid(@Param("procSid")String procSid); + + @Select("SELECT\n" + + "\tsum(c.weight) as weight,\n" + + "\to.sid as typeSid,\n" + + "\tp.weight as pWeight,\n" + + "\tp.price as price\n," + + "\tp.typeSid as typeSid\n" + + "FROM\n" + + "\tcrude_oil_storage c\n" + + "\tLEFT JOIN procurement_details p ON p.sid = c.procSid\n" + + "\tLEFT JOIN tank_information t ON t.sid = c.tankSid\n" + + "\tLEFT JOIN crude_oil_type_information o ON o.sid = t.crudeSid\n" + + "\twhere c.procSid =#{procSid}\n" + + "\tGROUP BY p.typeSid") + List getCrudeByProcSid(@Param("procSid")String procSid); + @Select("SELECT\n" + + "\tc.sid as typeSid\n" + + "FROM\n" + + "\ttank_information t\n" + + "\tLEFT JOIN crude_oil_type_information c ON c.sid = t.crudeSid\n" + + "\twhere t.sid =#{tankSid}") + CrudeOilStorageVo getTypeByTankSid(@Param("tankSid")String tankSid); } diff --git a/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/app/crudeoilstorage/CrudeOilStorageAppService.java b/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/app/crudeoilstorage/CrudeOilStorageAppService.java index 83b349f6..e85833ac 100644 --- a/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/app/crudeoilstorage/CrudeOilStorageAppService.java +++ b/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/app/crudeoilstorage/CrudeOilStorageAppService.java @@ -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 { @Autowired TankInformationAppMapper tankInformationMapper; + @Autowired + ProcurementDetailsAppMapper procurementDetailsMapper; + @Autowired + CyfSysUserAppMapper sysUserMapper; + @Autowired + ApprovalRecordAppService approvalRecordService; public PagerVo listPageVo(PagerQuery pq) { CrudeOilStorageQuery query = pq.getParams(); @@ -48,6 +62,41 @@ public class CrudeOilStorageAppService extends MybatisBaseService().eq("id", StpUtil.getLoginIdAsString())); + //入库记录 + List list=baseMapper.getCrudeByProcSid(dto.getProcSid()); + //要入的的原油类型 + CrudeOilStorageVo v=baseMapper.getTypeByTankSid(dto.getTankSid()); + ProcurementDetails procurementDetails=procurementDetailsMapper.selectOne(new QueryWrapper().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 procurementDetailsList=procurementDetailsMapper.selectList(new QueryWrapper().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(); diff --git a/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/crudeoilstorage/CrudeOilStorageMapper.java b/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/crudeoilstorage/CrudeOilStorageMapper.java index ffea4466..2a67ff1d 100644 --- a/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/crudeoilstorage/CrudeOilStorageMapper.java +++ b/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/crudeoilstorage/CrudeOilStorageMapper.java @@ -54,4 +54,5 @@ public interface CrudeOilStorageMapper extends BaseMapper { "\tLEFT JOIN crude_oil_type_information c ON c.sid = t.crudeSid\n" + "\twhere t.sid =#{tankSid}") CrudeOilStorageVo getTypeByTankSid(@Param("tankSid")String tankSid); + List getCrudeByCrudeSid(@Param("crudeSid")String crudeSid,@Param("procSid")String procSid); } diff --git a/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/procurementdetails/ProcurementDetailsMapper.java b/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/procurementdetails/ProcurementDetailsMapper.java index 55596f79..37d052a8 100644 --- a/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/procurementdetails/ProcurementDetailsMapper.java +++ b/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/procurementdetails/ProcurementDetailsMapper.java @@ -21,7 +21,7 @@ import java.util.List; @Mapper public interface ProcurementDetailsMapper extends BaseMapper { IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw,@Param("type") String type); - @Select("select * from procurement_details where state =#{state}") + @Select("select * from procurement_details where state =#{state} group by sid") List listByState(String state); @Select(" SELECT" + " *,t.name as typeName,i.inventory as inventory" + diff --git a/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/procurementdetails/ProcurementDetailsService.java b/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/procurementdetails/ProcurementDetailsService.java index 527810c6..fc4d857f 100644 --- a/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/procurementdetails/ProcurementDetailsService.java +++ b/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/procurementdetails/ProcurementDetailsService.java @@ -250,7 +250,7 @@ public class ProcurementDetailsService extends MybatisBaseServicelist=baseMapper.getProByState(state); for(ProcurementDetailsVo procurementDetailsVo:list){ - Listdetails=baseMapper.selectList(new QueryWrapper().eq("sid",procurementDetailsVo.getSid())); + List details=baseMapper.selectList(new QueryWrapper().eq("sid",procurementDetailsVo.getSid())); double i=0; for(ProcurementDetails procurementDetails:details){ i=i+(procurementDetails.getWeight()*procurementDetails.getPrice());