diff --git a/yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/crudeoilstorage/CrudeOilStorageVo.java b/yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/crudeoilstorage/CrudeOilStorageVo.java index bc1ee6ba..07daf100 100644 --- a/yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/crudeoilstorage/CrudeOilStorageVo.java +++ b/yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/crudeoilstorage/CrudeOilStorageVo.java @@ -41,4 +41,9 @@ public class CrudeOilStorageVo implements Vo { private double inventory=0; private double total; + // + private double price; + private String typeSid; + //采购订单数量 + private double pWeight; } diff --git a/yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/materialprocurementdetails/MaterialProcurementDetailsDto.java b/yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/materialprocurementdetails/MaterialProcurementDetailsDto.java index 031e54d3..1fc83a4c 100644 --- a/yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/materialprocurementdetails/MaterialProcurementDetailsDto.java +++ b/yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/materialprocurementdetails/MaterialProcurementDetailsDto.java @@ -51,4 +51,8 @@ public class MaterialProcurementDetailsDto implements Dto { //到货日期 private String arrivalDate; private List commodityList; + //操作 1:新增申请 2:发起申请 3:通过申请 4:不通过申请 + private String operate; + //审批意见 + private String approvalOpinions; } 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 fedb6558..2a269992 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 @@ -32,4 +32,26 @@ public interface CrudeOilStorageMapper extends BaseMapper { @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 c.tankSid") + 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/biz/crudeoilstorage/CrudeOilStorageService.java b/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/crudeoilstorage/CrudeOilStorageService.java index 128f997a..eb3828ed 100644 --- a/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/crudeoilstorage/CrudeOilStorageService.java +++ b/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/crudeoilstorage/CrudeOilStorageService.java @@ -1,5 +1,6 @@ package com.yxt.supervise.cyf.biz.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; @@ -15,11 +16,15 @@ 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.crudeoiltypeinformation.CrudeOilTypeInformationVo; import com.yxt.supervise.cyf.api.procurementdetails.ProcurementDetails; import com.yxt.supervise.cyf.api.procurementdetails.ProcurementDetailsVo; +import com.yxt.supervise.cyf.api.sysuser.SysUser; import com.yxt.supervise.cyf.api.tankinformation.TankInformation; import com.yxt.supervise.cyf.biz.approvalrecord.ApprovalRecordService; +import com.yxt.supervise.cyf.biz.crudeoiltypeinformation.CrudeOilTypeInformationMapper; import com.yxt.supervise.cyf.biz.procurementdetails.ProcurementDetailsMapper; +import com.yxt.supervise.cyf.biz.sysuser.CyfSysUserMapper; import com.yxt.supervise.cyf.biz.tankinformation.TankInformationMapper; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -41,6 +46,8 @@ public class CrudeOilStorageService extends MybatisBaseService listPageVo(PagerQuery pq) { CrudeOilStorageQuery query = pq.getParams(); QueryWrapper qw = new QueryWrapper<>(); @@ -58,13 +65,40 @@ public class CrudeOilStorageService extends MybatisBaseServiceprocurementDetailsVo.getTotalValue()){ - return rb.setMsg("输入的价值大于采购订单的价值,请验证是否正确"); + SysUser sysUser=sysUserMapper.selectOne(new QueryWrapper().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); + } + } } + CrudeOilStorageVo vo=baseMapper.getCreateByProcSid(dto.getProcSid()); CrudeOilStorage entity=new CrudeOilStorage(); BeanUtil.copyProperties(dto, entity, "id", "sid"); String [] file=dto.getCrudeOilStorageFile(); @@ -86,23 +120,6 @@ public class CrudeOilStorageService extends MybatisBaseService list=procurementDetailsMapper.selectList(new QueryWrapper().eq("sid",dto.getProcSid())); - for(ProcurementDetails pro:list){ - pro.setState(7); - procurementDetailsMapper.updateById(pro); - } - //审批记录 - ApprovalRecordDto recordDto=new ApprovalRecordDto(); - recordDto.setProSid(dto.getProcSid()); - recordDto.setApprover(""); - recordDto.setApprovalOpinions("完成订单"); - recordDto.setOperate("5"); - recordDto.setApprovalDate(dfmt); - approvalRecordService.save(recordDto); - } return rb.success().setMsg("新增成功"); } public ResultBean update (CrudeOilStorageDto dto){ diff --git a/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/materialprocurementdetails/MaterialProcurementDetailsService.java b/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/materialprocurementdetails/MaterialProcurementDetailsService.java index 9fd79031..7bc30751 100644 --- a/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/materialprocurementdetails/MaterialProcurementDetailsService.java +++ b/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/materialprocurementdetails/MaterialProcurementDetailsService.java @@ -1,6 +1,8 @@ package com.yxt.supervise.cyf.biz.materialprocurementdetails; +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,16 +10,22 @@ 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.materialinventory.MaterialInventoryDto; import com.yxt.supervise.cyf.api.materialinventory.MaterialInventoryVo; import com.yxt.supervise.cyf.api.materialprocurementdetails.MaterialProcurementDetails; import com.yxt.supervise.cyf.api.materialprocurementdetails.MaterialProcurementDetailsDto; import com.yxt.supervise.cyf.api.materialprocurementdetails.MaterialProcurementDetailsQuery; import com.yxt.supervise.cyf.api.materialprocurementdetails.MaterialProcurementDetailsVo; +import com.yxt.supervise.cyf.api.sysuser.SysUser; +import com.yxt.supervise.cyf.biz.approvalrecord.ApprovalRecordService; +import com.yxt.supervise.cyf.biz.sysuser.CyfSysUserMapper; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; +import java.util.Date; import java.util.List; /** @@ -26,7 +34,10 @@ import java.util.List; */ @Service public class MaterialProcurementDetailsService extends MybatisBaseService { - + @Autowired + ApprovalRecordService approvalRecordService; + @Autowired + CyfSysUserMapper sysUserMapper; public PagerVo listPageVo(PagerQuery pq) { MaterialProcurementDetailsQuery query = pq.getParams(); QueryWrapper qw = new QueryWrapper<>(); @@ -44,8 +55,23 @@ public class MaterialProcurementDetailsService extends MybatisBaseService().eq("id", StpUtil.getLoginIdAsString())); + if(null==dto.getSid() || ""==dto.getSid()){ + BeanUtil.copyProperties(dto, entity, "id","sid"); + ApprovalRecordDto recordDto=new ApprovalRecordDto(); + recordDto.setProSid(entity.getSid()); + recordDto.setApprover(sysUser.getSid()); + recordDto.setApprovalOpinions(dto.getApprovalOpinions()==null?"订单创建":dto.getApprovalOpinions()); + recordDto.setOperate("1"); + recordDto.setApprovalDate(dfmt); + approvalRecordService.save(recordDto); + }else{ + BeanUtil.copyProperties(dto, entity, "id"); + } if (dto.getCommodityList().size() > 1){ for(MaterialInventoryDto pro : dto.getCommodityList()){ entity.setTypeSid(pro.getSid()); 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 a3d74165..62c7c850 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 @@ -85,7 +85,6 @@ public class ProcurementDetailsService extends MybatisBaseService().eq("id",StpUtil.getLoginIdAsString())); if(null==dto.getSid() || ""==dto.getSid()){ BeanUtil.copyProperties(dto, entity, "id","sid");