Browse Source

包装物采购订单

master
wangpengfei 2 years ago
parent
commit
15871c55c6
  1. 38
      yxt-supervise-cyf/docs/databases/create_table.sql
  2. 4
      yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/packaginginventory/PackagingInventoryDto.java
  3. 2
      yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/packaginginventory/PackagingInventoryVo.java
  4. 3
      yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/packagingprocurementdetails/PackagingProcurementDetailsDto.java
  5. 62
      yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/packagingprocurementdetails/PackagingProcurementDetailsVo.java
  6. 4
      yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/packagingstorage/PackagingStorage.java
  7. 4
      yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/packagingstorage/PackagingStorageDto.java
  8. 1
      yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/packagingstorage/PackagingStorageVo.java
  9. 21
      yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/materialprocurementdetails/MaterialProcurementDetailsMapper.java
  10. 41
      yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/materialprocurementdetails/MaterialProcurementDetailsService.java
  11. 85
      yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/packagingprocurementdetails/PackagingProcurementDetailsMapper.java
  12. 16
      yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/packagingprocurementdetails/PackagingProcurementDetailsMapper.xml
  13. 85
      yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/packagingprocurementdetails/PackagingProcurementDetailsRest.java
  14. 293
      yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/packagingprocurementdetails/PackagingProcurementDetailsService.java
  15. 10
      yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/packagingstorage/PackagingStorageMapper.java
  16. 57
      yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/packagingstorage/PackagingStorageService.java
  17. 31
      yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/procurementdetails/ProcurementDetailsService.java

38
yxt-supervise-cyf/docs/databases/create_table.sql

@ -69,7 +69,7 @@ CREATE TABLE `crude_oil_storage` (
`remarks` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注',
`createBySid` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人sid',
`updateBySid` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '修改人sid',
`contractNumber` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '合同号',
`procSid` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '订单sid',
`supplierSid` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '供货商sid`',
`contractSigningDate` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '合同签订日期',
`licensePlateNumber` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '发货车牌号',
@ -243,7 +243,7 @@ CREATE TABLE `material_storage`(
`remarks` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注',
`createBySid` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人sid',
`updateBySid` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '修改人sid',
`contractNumber` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '合同号',
`procSid` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '订单sid',
`supplierSid` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '供货商sid`',
`contractSigningDate` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '合同签订日期',
`licensePlateNumber` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '发货车牌号',
@ -427,7 +427,7 @@ CREATE TABLE `packaging_storage` (
`remarks` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注',
`createBySid` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人sid',
`updateBySid` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '修改人sid',
`contractNumber` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '合同号',
`procSid` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '订单sid',
`supplierSid` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '供货商sid`',
`contractSigningDate` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '合同签订日期',
`licensePlateNumber` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '发货车牌号',
@ -837,4 +837,36 @@ PRIMARY KEY (`id`) USING BTREE
SET FOREIGN_KEY_CHECKS = 1;
DROP TABLE IF EXISTS `packaging_procurement_details`;
CREATE TABLE `packaging_procurement_details` (
`id` int(0) NOT NULL AUTO_INCREMENT COMMENT 'id',
`sid` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'sid',
`lockVersion` int(0) NULL DEFAULT 0 COMMENT '版本锁',
`createTime` timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',
`modifyTime` timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '修改时间',
`isEnable` int(0) NULL DEFAULT 1 COMMENT '是否可用:1可用,0不可用',
`state` int(0) NULL DEFAULT 1 COMMENT '状态',
`isDelete` int(0) NULL DEFAULT 0 COMMENT '是否删除:0未删除,1已删除',
`remarks` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注',
`createBySid` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人sid',
`updateBySid` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '修改人sid',
`supplierSid` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '供货商',
`contractSigningDate` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '合同签订日期',
`inventorySid` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'type为1是原油类型sid , 2、3时是商品(库存)的sid',
`price` double(100, 2) NULL DEFAULT NULL COMMENT '单价',
`weight` double(100, 2) NULL DEFAULT NULL COMMENT '重量',
`paymentDate` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '付款日期',
`payment` double(100, 2) NULL DEFAULT NULL COMMENT '付款金额',
`payer` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '付款单位',
`payerBank` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '付款单位开户行',
`payee` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '收款单位',
`payeeBank` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '收款单位开户行',
`paymentSummary` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '摘要',
`type` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '1原油 2包装物 3原料',
`orderNumber` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '订单编号',
`arrivalDate` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '到货日期',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 50 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '包装物采购订单·' ROW_FORMAT = Dynamic;
SET FOREIGN_KEY_CHECKS = 1;

4
yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/packaginginventory/PackagingInventoryDto.java

@ -29,5 +29,7 @@ public class PackagingInventoryDto implements Dto {
private String unit;
//商品规格
private String proSpec;
//
private double price;
private double weight;
}

2
yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/packaginginventory/PackagingInventoryVo.java

@ -28,4 +28,6 @@ public class PackagingInventoryVo implements Vo {
private String unit;
//商品规格
private String proSpec;
private double price;
private double weight;
}

3
yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/packagingprocurementdetails/PackagingProcurementDetailsDto.java

@ -2,6 +2,7 @@ package com.yxt.supervise.cyf.api.packagingprocurementdetails;
import com.yxt.common.core.dto.Dto;
import com.yxt.supervise.cyf.api.materialinventory.MaterialInventoryDto;
import com.yxt.supervise.cyf.api.packaginginventory.PackagingInventoryDto;
import lombok.Data;
import java.util.List;
@ -47,7 +48,7 @@ public class PackagingProcurementDetailsDto implements Dto {
private String type;
//到货日期
private String arrivalDate;
private List<MaterialInventoryDto> commodityList;
private List<PackagingInventoryDto> commodityList;
//操作 1:新增申请 2:发起申请 3:通过申请 4:不通过申请
private String operate;
//审批意见

62
yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/packagingprocurementdetails/PackagingProcurementDetailsVo.java

@ -1,9 +1,67 @@
package com.yxt.supervise.cyf.api.packagingprocurementdetails;
import com.yxt.supervise.cyf.api.packaginginventory.PackagingInventoryVo;
import lombok.Data;
import java.util.List;
/**
* @author wangpengfei
* @date 2023/6/29 15:37
*/
public class PackagingProcurementDetailsVo
{
@Data
public class PackagingProcurementDetailsVo {
private String id;
private String sid;
//供应商
private String supplierSid;
//合同签订日期
private String contractSigningDate;
//原油类型
private String inventorySid;
//单价
private double price;
//重量
private double weight=0;
//付款日期
private String paymentDate;
//付款金额
private double payment=0;
//付款单位
private String payer;
//付款单位开户行
private String payerBank;
//收款单位
private String payee;
//收款单位开户行
private String payeeBank;
//摘要
private String paymentSummary;
//订单状态
private String state;
//供应商名称
private String supplierName;
//供应商编码
private String supplierNumber;
//类型名称
private String typeName;
//类型编码
private String typeNumber;
//商品名称
private String tradeName;
//商品编码
private String productCode;
//订单编号
private String orderNumber;
//状态value
private String stateValue;
//种类数量
private Integer amount;
//预计到货日期
private String arrivalDate;
//总价值
private double totalValue=0;
private List<PackagingInventoryVo> commodityList;
}

4
yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/packagingstorage/PackagingStorage.java

@ -13,8 +13,8 @@ import lombok.Data;
@ApiModel(value = "包装物入库信息", description = "包装物入库信息")
@TableName("packaging_storage")
public class PackagingStorage extends BaseEntity {
//合同号
private String contractNumber;
//采购订单sid
private String procSid;
//供应商sid
private String supplierSid;
//签订日期

4
yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/packagingstorage/PackagingStorageDto.java

@ -14,8 +14,8 @@ public class PackagingStorageDto implements Dto {
private String id;
private String sid;
//合同号
private String contractNumber;
//订单sid
private String procSid;
//供应商sid
private String supplierSid;
//签订日期

1
yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/packagingstorage/PackagingStorageVo.java

@ -38,4 +38,5 @@ public class PackagingStorageVo implements Vo {
private double inventory=0;
//包装物名称
private String name;
private double total;
}

21
yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/materialprocurementdetails/MaterialProcurementDetailsMapper.java

@ -9,6 +9,7 @@ import com.yxt.supervise.cyf.api.materialinventory.MaterialInventory;
import com.yxt.supervise.cyf.api.materialinventory.MaterialInventoryVo;
import com.yxt.supervise.cyf.api.materialprocurementdetails.MaterialProcurementDetails;
import com.yxt.supervise.cyf.api.materialprocurementdetails.MaterialProcurementDetailsVo;
import com.yxt.supervise.cyf.api.packagingprocurementdetails.PackagingProcurementDetailsVo;
import com.yxt.supervise.cyf.api.procurementdetails.ProcurementDetailsVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -59,10 +60,26 @@ public interface MaterialProcurementDetailsMapper extends BaseMapper<MaterialPro
"GROUP BY\n" +
"\td.sid ")
MaterialProcurementDetailsVo getProBySid(@Param("sid")String sid);
@Select("\t SELECT\n" +
"\n" +
" d.*,\n" +
" case d.state\n" +
" when 1 then '待提交'\n" +
" when 2 then '经理审批'\n" +
" when 3 then '监管审批'\n" +
" when 4 then '银行审批'\n" +
" when 5 then '财务审批'\n" +
" when 6 then '在途'\n" +
" when 7 then '已入库'\n" +
" end as stateValue\n" +
" FROM\n" +
" packaging_procurement_details d\n" +
" where d.sid=#{sid}\n" +
"\t\t\t\torder by d.state asc LIMIT 1")
PackagingProcurementDetailsVo getProcurementByState(@Param("sid") String sid);
@Select("select * from material_inventory where sid=#{sid}")
MaterialInventoryVo getMaterial1BySid(@Param("sid")String sid);
@Select("select * from procurement_details where state=#{state} group by sid")
@Select("select * from material_procurement_details where state=#{state} group by sid")
List<ProcurementDetailsVo> getProByState(@Param("state")String state);
@Select("select * from material_procurement_details where sid = #{sid}")
List<MaterialProcurementDetails> selectList(@Param("sid") String sid);

41
yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/materialprocurementdetails/MaterialProcurementDetailsService.java

@ -18,6 +18,7 @@ import com.yxt.supervise.cyf.api.materialprocurementdetails.MaterialProcurementD
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.packagingprocurementdetails.PackagingProcurementDetailsVo;
import com.yxt.supervise.cyf.api.procurementdetails.ProcurementDetails;
import com.yxt.supervise.cyf.api.procurementdetails.ProcurementDetailsDto;
import com.yxt.supervise.cyf.api.procurementdetails.ProcurementDetailsVo;
@ -53,6 +54,10 @@ public class MaterialProcurementDetailsService extends MybatisBaseService<Materi
}
IPage<MaterialProcurementDetails> page = PagerUtil.queryToPage(pq);
IPage<MaterialProcurementDetailsVo> pagging = baseMapper.selectPageVo(page, qw);
for(MaterialProcurementDetailsVo v:pagging.getRecords()){
PackagingProcurementDetailsVo c=baseMapper.getProcurementByState(v.getSid());
v.setStateValue(c.getStateValue());
}
PagerVo<MaterialProcurementDetailsVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
@ -81,17 +86,7 @@ public class MaterialProcurementDetailsService extends MybatisBaseService<Materi
}else{
BeanUtil.copyProperties(dto, entity, "id");
}
if (dto.getCommodityList().size() > 1){
for(MaterialInventoryDto pro : dto.getCommodityList()){
entity.setInventorySid(pro.getSid());
entity.setState(1);
entity.setType("3");
entity.setWeight(pro.getWeight());
entity.setPrice(pro.getPrice());
baseMapper.insert(entity);
}
return rb.success().setMsg("新增成功");
}else {
if (dto.getCommodityList().size() > 0){
for(MaterialInventoryDto pro : dto.getCommodityList()){
entity.setInventorySid(pro.getSid());
entity.setState(1);
@ -100,8 +95,20 @@ public class MaterialProcurementDetailsService extends MybatisBaseService<Materi
entity.setPrice(pro.getPrice());
baseMapper.insert(entity);
}
return rb.success().setMsg("新增成功");
}else if(dto.getCommodityList().size()==0){
baseMapper.insert(entity);
}
// else{
// for(MaterialInventoryDto pro : dto.getCommodityList()){
// entity.setInventorySid(pro.getSid());
// entity.setState(1);
// entity.setType("3");
// entity.setWeight(pro.getWeight());
// entity.setPrice(pro.getPrice());
// baseMapper.insert(entity);
// }
// }
return rb.success().setMsg("新增成功");
// //附件上传
// String [] file=dto.getCrudeOilStorageFile();
// if(file!=null){
@ -252,10 +259,12 @@ public class MaterialProcurementDetailsService extends MybatisBaseService<Materi
MaterialProcurementDetailsVo materialProcurementDetailsVo = baseMapper.getProBySid(sid);
List<MaterialInventoryVo> list =new ArrayList<>();
for (MaterialProcurementDetailsVo pro : RawProcurementDetails){
MaterialInventoryVo materialInventoryVo = baseMapper.getMaterial1BySid(pro.getInventorySid());
materialInventoryVo.setWeight(pro.getWeight());
materialInventoryVo.setPrice(pro.getPrice());
list.add(materialInventoryVo);
if(null!=pro.getInventorySid() && !pro.getInventorySid().equals("")){
MaterialInventoryVo materialInventoryVo = baseMapper.getMaterial1BySid(pro.getInventorySid());
materialInventoryVo.setWeight(pro.getWeight());
materialInventoryVo.setPrice(pro.getPrice());
list.add(materialInventoryVo);
}
}
materialProcurementDetailsVo.setCommodityList(list);
return rb.success().setData(materialProcurementDetailsVo);

85
yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/packagingprocurementdetails/PackagingProcurementDetailsMapper.java

@ -0,0 +1,85 @@
package com.yxt.supervise.cyf.biz.packagingprocurementdetails;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.supervise.cyf.api.packaginginventory.PackagingInventoryVo;
import com.yxt.supervise.cyf.api.packagingprocurementdetails.PackagingProcurementDetails;
import com.yxt.supervise.cyf.api.packagingprocurementdetails.PackagingProcurementDetailsVo;
import com.yxt.supervise.cyf.api.procurementdetails.ProcurementDetailsVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/**
* @author wangpengfei
* @date 2023/6/30 8:40
*/
@Mapper
public interface PackagingProcurementDetailsMapper extends BaseMapper<PackagingProcurementDetails> {
IPage<PackagingProcurementDetailsVo> selectPageVo(IPage<PackagingProcurementDetails> page, @Param(Constants.WRAPPER) Wrapper<PackagingProcurementDetails> qw);
@Select("\t SELECT\n" +
"\n" +
" d.*,\n" +
" case d.state\n" +
" when 1 then '待提交'\n" +
" when 2 then '经理审批'\n" +
" when 3 then '监管审批'\n" +
" when 4 then '银行审批'\n" +
" when 5 then '财务审批'\n" +
" when 6 then '在途'\n" +
" when 7 then '已入库'\n" +
" end as stateValue\n" +
" FROM\n" +
" packaging_procurement_details d\n" +
" where d.sid=#{sid}\n" +
"\t\t\t\torder by d.state asc LIMIT 1")
PackagingProcurementDetailsVo getProcurementByState(@Param("sid") String sid);
@Select("select * from packaging_procurement_details where sid=#{sid}")
List<PackagingProcurementDetailsVo> getPackagingBySid(@Param("sid")String sid);
@Select("SELECT\n" +
"\td.*,\n" +
"\ts.supplierNumber AS supplierNumber,\n" +
"\ts.supplierName AS supplierName,\n" +
"CASE\n" +
"\t\td.state \n" +
"\t\tWHEN 1 THEN\n" +
"\t\t'待提交' \n" +
"\t\tWHEN 2 THEN\n" +
"\t\t'经理审批' \n" +
"\t\tWHEN 3 THEN\n" +
"\t\t'监管审批' \n" +
"\t\tWHEN 4 THEN\n" +
"\t\t'银行审批' \n" +
"\t\tWHEN 5 THEN\n" +
"\t\t'财务审批' \n" +
"\t\tWHEN 6 THEN\n" +
"\t\t'在途' \n" +
"\t\tWHEN 7 THEN\n" +
"\t\t'已入库' \n" +
"\tEND AS stateValue ,count(1) as amount,\n" +
"\tsum(d.price * d.weight) as totalValue\n" +
"FROM\n" +
"\tpackaging_procurement_details d\n" +
"\tleft JOIN supplier_information s on d.supplierSid =s.sid\n" +
"\tleft join packaging_inventory c on c.sid =d.inventorySid \n" +
"\tleft join packaging_type m on m.sid =c.typeSid \n" +
"WHERE\n" +
"\td.sid=#{sid} \n" +
"GROUP BY\n" +
"\td.sid ")
PackagingProcurementDetailsVo getProBySid(@Param("sid")String sid);
@Select("select * from packaging_inventory where sid=#{sid}")
PackagingInventoryVo getPackaging1BySid(@Param("sid")String sid);
@Select("select * from packaging_procurement_details where state=#{state} group by sid")
List<ProcurementDetailsVo> getProByState(@Param("state")String state);
@Select("select * from packaging_procurement_details where sid = #{sid}")
List<PackagingProcurementDetails> selectList(@Param("sid") String sid);
@Select("select * from packaging_procurement_details where state =#{state} group by sid")
List<ProcurementDetailsVo> listByState(String state);
}

16
yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/packagingprocurementdetails/PackagingProcurementDetailsMapper.xml

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.supervise.cyf.biz.packagingprocurementdetails.PackagingProcurementDetailsMapper">
<select id="selectPageVo" resultType="com.yxt.supervise.cyf.api.packagingprocurementdetails.PackagingProcurementDetailsVo">
SELECT d.*, s.supplierNumber AS supplierNumber, s.supplierName AS supplierName, c.name AS tradeName, c.number AS productCode, c.name AS typeName, c.number AS typeNumber,
CASE d.state WHEN 1 THEN '待提交' WHEN 2 THEN '经理审批' WHEN 3 THEN '监管审批' WHEN 4 THEN '银行审批' WHEN 5 THEN '财务审批' WHEN 6 THEN '在途' WHEN 7 THEN '已入库' END AS stateValue, count(1) AS amount, sum(d.price * d.weight) AS totalValue
FROM packaging_procurement_details d
left JOIN supplier_information s on d.supplierSid =s.sid
left join packaging_inventory c on c.sid =d.inventorySid
left join packaging_type m on m.sid =c.typeSid
<where>
${ew.sqlSegment}
</where>
GROUP BY d.sid
</select>
</mapper>

85
yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/packagingprocurementdetails/PackagingProcurementDetailsRest.java

@ -0,0 +1,85 @@
package com.yxt.supervise.cyf.biz.packagingprocurementdetails;
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.packagingprocurementdetails.PackagingProcurementDetailsDto;
import com.yxt.supervise.cyf.api.packagingprocurementdetails.PackagingProcurementDetailsQuery;
import com.yxt.supervise.cyf.api.packagingprocurementdetails.PackagingProcurementDetailsVo;
import com.yxt.supervise.cyf.api.procurementdetails.ProcurementDetailsVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @author wangpengfei
* @date 2023/6/30 8:40
*/
@Api(tags = "包装物采购信息")
@RestController
@RequestMapping("cyf/packagingprocurement")
public class PackagingProcurementDetailsRest {
@Autowired
private PackagingProcurementDetailsService PackagingProcurementDetailsService;
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<PackagingProcurementDetailsVo>> listPage(@RequestBody PagerQuery<PackagingProcurementDetailsQuery> pq) {
ResultBean rb = ResultBean.fireFail();
PagerVo<PackagingProcurementDetailsVo> pv = PackagingProcurementDetailsService.listPageVo(pq);
return rb.success().setData(pv);
}
@ApiOperation("数据的列表")
@PostMapping("/list")
public ResultBean<List<ProcurementDetailsVo>> list() {
ResultBean rb = ResultBean.fireFail();
List<ProcurementDetailsVo> pv = PackagingProcurementDetailsService.lists();
return rb.success().setData(pv);
}
@ApiOperation("添加")
@PostMapping("/save")
public ResultBean save(@RequestBody PackagingProcurementDetailsDto dto){
return PackagingProcurementDetailsService.save(dto);
}
@ApiOperation("提交")
@PostMapping("/submit")
public ResultBean submit(@RequestBody PackagingProcurementDetailsDto dto){
return PackagingProcurementDetailsService.submit(dto);
}
@ApiOperation("修改")
@PostMapping("/update")
public ResultBean update(@RequestBody PackagingProcurementDetailsDto dto){
return PackagingProcurementDetailsService.update(dto);
}
@ApiOperation("修改")
@PostMapping("/updateByState")
public ResultBean updateByState (@RequestBody PackagingProcurementDetailsDto dto){
return PackagingProcurementDetailsService.updateByState(dto);
}
@ApiOperation("删除")
@DeleteMapping("/delete/{sid}")
public ResultBean delete(@PathVariable String sid ){
return PackagingProcurementDetailsService.del(sid);
}
@ApiOperation("根据sid查询")
@GetMapping("/getPackagingProcurementBySid/{sid}")
public ResultBean getPackagingProcurementBySid(@PathVariable String sid){
return PackagingProcurementDetailsService.getPackagingProcurementBySid(sid);
}
/**
* 查询在途订单
* @param state
* @return
*/
@ApiOperation("查询在途订单")
@GetMapping("/getProcByState/{state}")
public ResultBean getProcByState(@PathVariable String state){
return PackagingProcurementDetailsService.getProcByState(state);
}
}

293
yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/packagingprocurementdetails/PackagingProcurementDetailsService.java

@ -0,0 +1,293 @@
package com.yxt.supervise.cyf.biz.packagingprocurementdetails;
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;
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.packaginginventory.PackagingInventoryDto;
import com.yxt.supervise.cyf.api.packaginginventory.PackagingInventoryVo;
import com.yxt.supervise.cyf.api.packagingprocurementdetails.PackagingProcurementDetails;
import com.yxt.supervise.cyf.api.packagingprocurementdetails.PackagingProcurementDetailsDto;
import com.yxt.supervise.cyf.api.packagingprocurementdetails.PackagingProcurementDetailsQuery;
import com.yxt.supervise.cyf.api.packagingprocurementdetails.PackagingProcurementDetailsVo;
import com.yxt.supervise.cyf.api.procurementdetails.ProcurementDetailsVo;
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;
/**
* @author wangpengfei
* @date 2023/6/30 8:40
*/
@Service
public class PackagingProcurementDetailsService extends MybatisBaseService<PackagingProcurementDetailsMapper, PackagingProcurementDetails> {
@Autowired
ApprovalRecordService approvalRecordService;
@Autowired
CyfSysUserMapper sysUserMapper;
public PagerVo<PackagingProcurementDetailsVo> listPageVo(PagerQuery<PackagingProcurementDetailsQuery> pq) {
PackagingProcurementDetailsQuery query = pq.getParams();
QueryWrapper<PackagingProcurementDetails> qw = new QueryWrapper<>();
// if (StringUtils.isNotBlank(query.getType())) {
// qw.eq("d.supplierNumber", query.getType());
// }
if (StringUtils.isNotBlank(query.getState())) {
qw.eq("d.state", query.getState());
}
IPage<PackagingProcurementDetails> page = PagerUtil.queryToPage(pq);
IPage<PackagingProcurementDetailsVo> pagging = baseMapper.selectPageVo(page, qw);
for(PackagingProcurementDetailsVo v:pagging.getRecords()){
PackagingProcurementDetailsVo c=baseMapper.getProcurementByState(v.getSid());
v.setStateValue(c.getStateValue());
}
PagerVo<PackagingProcurementDetailsVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public List<ProcurementDetailsVo> lists() {
String state="6";
List<ProcurementDetailsVo> pagging = baseMapper.listByState(state);
return pagging;
}
public ResultBean save(PackagingProcurementDetailsDto dto){
ResultBean rb = ResultBean.fireFail();
Date curDate = new Date();
String dfmt = DateUtil.format(curDate, "yyyy-MM-dd");
PackagingProcurementDetails entity = new PackagingProcurementDetails();
BeanUtil.copyProperties(dto, entity, "sid");
SysUser sysUser=sysUserMapper.selectOne(new QueryWrapper<SysUser>().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() > 0){
for(PackagingInventoryDto pro : dto.getCommodityList()){
entity.setInventorySid(pro.getSid());
entity.setState(1);
entity.setType("3");
entity.setWeight(pro.getWeight());
entity.setPrice(pro.getPrice());
baseMapper.insert(entity);
}
}else if(dto.getCommodityList().size()==0){
baseMapper.insert(entity);
}
// else{
// for(PackagingInventoryDto pro : dto.getCommodityList()){
// entity.setInventorySid(pro.getSid());
// entity.setState(1);
// entity.setType("3");
// entity.setWeight(pro.getWeight());
// entity.setPrice(pro.getPrice());
// baseMapper.insert(entity);
// }
// }
return rb.success().setMsg("新增成功");
// //附件上传
// String [] file=dto.getCrudeOilStorageFile();
// if(file!=null){
// List<Map<String,String>> maps=new ArrayList<>();
// for(String s:file){
// Map<String,String>m=new HashMap<>();
// m.put("mainSid",entity.getSid());
// m.put("url",s);
// m.put("sid", UUID.randomUUID().toString());
// maps.add(m);
// }
// if(maps.size()>0){
// baseMapper.insertCrudeOilFiles(maps);
// }
// }
}
public ResultBean submit(PackagingProcurementDetailsDto dto){
ResultBean rb = new ResultBean();
Date curDate = new Date();
String dfmt = DateUtil.format(curDate, "yyyy-MM-dd");
String sid =dto.getSid();
List<PackagingProcurementDetails> PackagingProcurementDetails = baseMapper.selectList(sid);
SysUser sysUser=sysUserMapper.selectOne(new QueryWrapper<SysUser>().eq("id",StpUtil.getLoginIdAsString()));
//不存在保存加提交
if(dto.getSid().equals("")||dto.getSid().equals(null)){
PackagingProcurementDetails entity = new PackagingProcurementDetails();
//提交记录
ApprovalRecordDto recordDto=new ApprovalRecordDto();
recordDto.setProSid(entity.getSid());
recordDto.setApprover(sysUser.getSid());
recordDto.setApprovalOpinions(dto.getApprovalOpinions()==null?"订单创建":dto.getOperate());
recordDto.setOperate("1");
recordDto.setApprovalDate(dfmt);
approvalRecordService.save(recordDto);
//发起采购申请记录
recordDto.setOperate("2");
recordDto.setApprovalOpinions(dto.getApprovalOpinions()==null?"订单发起":dto.getOperate());
approvalRecordService.save(recordDto);
if(dto.getCommodityList().size()>1){
for(PackagingInventoryDto pro:dto.getCommodityList()){
BeanUtil.copyProperties(dto, entity, "sid");
entity.setInventorySid(pro.getSid());
entity.setState(2);
entity.setType("3");
entity.setWeight(pro.getWeight());
entity.setPrice(pro.getPrice());
baseMapper.insert(entity);
}
// //附件上传
// String [] file=dto.getCrudeOilStorageFile();
// if(file!=null){
// List<Map<String,String>> maps=new ArrayList<>();
// for(String s:file){
// Map<String,String>m=new HashMap<>();
// m.put("mainSid",entity.getSid());
// m.put("url",s);
// m.put("sid", UUID.randomUUID().toString());
// maps.add(m);
// }
// if(maps.size()>0){
// baseMapper.insertCrudeOilFiles(maps);
// }
// }
return rb.success().setMsg("新增成功");
}
for(PackagingInventoryDto pro : dto.getCommodityList()){
BeanUtil.copyProperties(dto, entity, "sid");
entity.setInventorySid(pro.getSid());
entity.setState(2);
entity.setType("3");
entity.setWeight(pro.getWeight());
entity.setPrice(pro.getPrice());
baseMapper.insert(entity);
}
}else{
//存在该状态
for(PackagingProcurementDetails pro : PackagingProcurementDetails){
pro.setState(pro.getState()+1);
baseMapper.updateById(pro);
}
ApprovalRecordDto recordDto=new ApprovalRecordDto();
recordDto.setProSid(PackagingProcurementDetails.get(0).getSid());
recordDto.setApprover(sysUser.getSid());
recordDto.setApprovalOpinions(dto.getApprovalOpinions()==null?"订单发起":dto.getApprovalOpinions());
recordDto.setOperate(dto.getOperate()==null?"2":dto.getOperate());
recordDto.setApprovalDate(dfmt);
approvalRecordService.save(recordDto);
}
return rb.success().setMsg("提交成功");
}
public ResultBean update (PackagingProcurementDetailsDto dto){
ResultBean rb = new ResultBean();
String dtoSid = dto.getSid();
baseMapper.delete(new QueryWrapper<PackagingProcurementDetails>().eq("sid",dtoSid));
dto.setSid(dtoSid);
save(dto);
return rb.success().setMsg("修改成功");
}
public ResultBean updateByState (PackagingProcurementDetailsDto dto){
ResultBean rb=new ResultBean();
SysUser sysUser=sysUserMapper.selectOne(new QueryWrapper<SysUser>().eq("id",StpUtil.getLoginIdAsString()));
String dtoSid = dto.getSid();
ApprovalRecordDto recordDto=new ApprovalRecordDto();
List<PackagingProcurementDetails> list=baseMapper.selectList(dtoSid);
Date curDate = new Date();
String dfmt = DateUtil.format(curDate, "yyyy-MM-dd");
if(dto.getOperate().equals("3")){
//审核通过
for(PackagingProcurementDetails procurementDetails:list){
procurementDetails.setPaymentDate(dfmt);
procurementDetails.setPayment(dto.getPayment()==0?0:dto.getPayment());
procurementDetails.setPayer(dto.getPayer()==null?"":dto.getPayer());
procurementDetails.setPayerBank(dto.getPayerBank()==null?"":dto.getPayerBank());
procurementDetails.setPayee(dto.getPayee()==null?"":dto.getPayee());
procurementDetails.setPayeeBank(dto.getPayeeBank()==null?"":dto.getPayeeBank());
procurementDetails.setPaymentSummary(dto.getPaymentSummary()==null?"":dto.getPaymentSummary());
procurementDetails.setState(procurementDetails.getState()+1);
baseMapper.updateById(procurementDetails);
}
recordDto.setOperate(dto.getOperate());
}else if(dto.getOperate().equals("4")){
//审核不通过
for(PackagingProcurementDetails procurementDetails:list){
procurementDetails.setState(8);
baseMapper.updateById(procurementDetails);
}
recordDto.setOperate(dto.getOperate());
}
recordDto.setProSid(dtoSid);
recordDto.setApprover(sysUser.getSid());
recordDto.setApprovalOpinions(dto.getApprovalOpinions());
recordDto.setApprovalDate(dfmt);
approvalRecordService.save(recordDto);
return rb.success().setMsg("修改成功");
}
public ResultBean del(String sid){
ResultBean rb=new ResultBean();
baseMapper.delete(new QueryWrapper<PackagingProcurementDetails>().eq("sid",sid));
return rb.success().setMsg("删除成功");
}
public ResultBean getPackagingProcurementBySid(String sid){
ResultBean rb=new ResultBean();
List<PackagingProcurementDetailsVo> RawProcurementDetails = baseMapper.getPackagingBySid(sid);
PackagingProcurementDetailsVo PackagingProcurementDetailsVo = baseMapper.getProBySid(sid);
List<PackagingInventoryVo> list =new ArrayList<>();
for (PackagingProcurementDetailsVo pro : RawProcurementDetails){
if(null!=pro.getInventorySid() && !pro.getInventorySid().equals("")){
PackagingInventoryVo PackagingInventoryVo = baseMapper.getPackaging1BySid(pro.getInventorySid());
PackagingInventoryVo.setWeight(pro.getWeight());
PackagingInventoryVo.setPrice(pro.getPrice());
list.add(PackagingInventoryVo);
}
}
PackagingProcurementDetailsVo.setCommodityList(list);
return rb.success().setData(PackagingProcurementDetailsVo);
}
public ResultBean getProcByState(String state){
ResultBean rb=new ResultBean();
List<ProcurementDetailsVo>list=baseMapper.getProByState(state);
for(ProcurementDetailsVo procurementDetailsVo:list){
List<PackagingProcurementDetails> details=baseMapper.selectList(procurementDetailsVo.getSid());
//订单总价值
double i=0;
//入库总价值
double j=0;
for(PackagingProcurementDetails procurementDetails:details){
i=i+(procurementDetails.getWeight()*procurementDetails.getPrice());
//CrudeOilStorageVo vo= crudeOilStorageMapper.getCrudeByCrudeSid(procurementDetails.getTypeSid(),procurementDetails.getSid());
double weight=0;
// if(null!=vo){
// weight=vo.getTotal();
// }
j=j+(weight*procurementDetails.getPrice());
}
procurementDetailsVo.setTotalInbound(j);
procurementDetailsVo.setTotalValue(i);
procurementDetailsVo.setTotalValueTransit(procurementDetailsVo.getTotalValue()-procurementDetailsVo.getTotalInbound());
}
return rb.success().setData(list);
}
}

10
yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/packagingstorage/PackagingStorageMapper.java

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.supervise.cyf.api.materialstorage.MaterialStorageVo;
import com.yxt.supervise.cyf.api.packagingstorage.PackagingStorage;
import com.yxt.supervise.cyf.api.packagingstorage.PackagingStorageVo;
import org.apache.ibatis.annotations.Mapper;
@ -27,4 +28,13 @@ public interface PackagingStorageMapper extends BaseMapper<PackagingStorage> {
List<PackagingStorageVo> StorageList();
@Select("select * from packaging_storage where sid=#{sid}")
PackagingStorage getStorageBySid(@Param("sid")String sid);
@Select("SELECT\n" +
"\ts.* ,sum( s.weight ) AS total,t.sid as typeSid\n" +
"FROM\n" +
"\tpackaging_storage s\n" +
"\tLEFT JOIN packaging_inventory i ON s.inventorySid = i.sid\n" +
"\tLEFT JOIN packaging_type t ON i.typeSid = t.sid \n" +
"WHERE\n" +
"\ts.procSid = #{procSid} and s.inventorySid =#{inventorySid}")
PackagingStorageVo getPackagingByProcSid(@Param("procSid")String procSid, @Param("inventorySid")String inventorySid);
}

57
yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/packagingstorage/PackagingStorageService.java

@ -1,5 +1,6 @@
package com.yxt.supervise.cyf.biz.packagingstorage;
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;
@ -9,14 +10,19 @@ 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.materialinventory.MaterialInventory;
import com.yxt.supervise.cyf.api.approvalrecord.ApprovalRecordDto;
import com.yxt.supervise.cyf.api.packaginginventory.PackagingInventory;
import com.yxt.supervise.cyf.api.packagingprocurementdetails.PackagingProcurementDetails;
import com.yxt.supervise.cyf.api.packagingstorage.PackagingStorage;
import com.yxt.supervise.cyf.api.packagingstorage.PackagingStorageDto;
import com.yxt.supervise.cyf.api.packagingstorage.PackagingStorageQuery;
import com.yxt.supervise.cyf.api.packagingstorage.PackagingStorageVo;
import com.yxt.supervise.cyf.biz.materialinventory.MaterialInventoryMapper;
import com.yxt.supervise.cyf.api.sysuser.SysUser;
import com.yxt.supervise.cyf.biz.approvalrecord.ApprovalRecordService;
import com.yxt.supervise.cyf.biz.packaginginventory.PackagingInventoryMapper;
import com.yxt.supervise.cyf.biz.packagingprocurementdetails.PackagingProcurementDetailsMapper;
import com.yxt.supervise.cyf.biz.packagingprocurementdetails.PackagingProcurementDetailsService;
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;
@ -33,6 +39,12 @@ public class PackagingStorageService extends MybatisBaseService<PackagingStorage
@Autowired
PackagingInventoryMapper packagingInventoryMapper;
@Autowired
PackagingProcurementDetailsMapper packagingProcurementDetailsMapper;
@Autowired
CyfSysUserMapper sysUserMapper;
@Autowired
ApprovalRecordService approvalRecordService;
public PagerVo<PackagingStorageVo> listPageVo(PagerQuery<PackagingStorageQuery> pq) {
PackagingStorageQuery query = pq.getParams();
QueryWrapper<PackagingStorage> qw = new QueryWrapper<>();
@ -56,7 +68,48 @@ public class PackagingStorageService extends MybatisBaseService<PackagingStorage
BeanUtil.copyProperties(dto, entity, "id", "sid");
Date curDate = new Date();
String dfmt = DateUtil.format(curDate, "yyyy-MM-dd");
if(null!=dto.getProcSid()&& ""!=dto.getProcSid()){
SysUser sysUser=sysUserMapper.selectOne(new QueryWrapper<SysUser>().eq("id", StpUtil.getLoginIdAsString()));
//要入的的物料类型
//CrudeOilStorageVo v=baseMapper.getTypeByTankSid(dto.getInventorySid());
//入库记录
PackagingStorageVo vo=baseMapper.getPackagingByProcSid(dto.getProcSid(),dto.getInventorySid());
//订单记录
PackagingProcurementDetails procurementDetails=packagingProcurementDetailsMapper.selectOne(new QueryWrapper<PackagingProcurementDetails>().eq("sid",dto.getProcSid()).eq("inventorySid",dto.getInventorySid()));
if(null==procurementDetails){
return rb.setMsg("订单中没有,所选的物料类型");
}
double q=0;
if(null!=vo){
q=vo.getTotal();
}
if( (q+dto.getWeight())>procurementDetails.getWeight()){
return rb.setMsg("输入的价值大于采购订单的价值,请验证是否正确");
}else if((q+dto.getWeight())==procurementDetails.getWeight()){
procurementDetails.setState(7);
packagingProcurementDetailsMapper.update(procurementDetails,new QueryWrapper<PackagingProcurementDetails>().eq("sid",procurementDetails.getSid()).eq("inventorySid",dto.getInventorySid()));
}
//订单上所有的商品
List<PackagingProcurementDetails> selectList=packagingProcurementDetailsMapper.selectList(dto.getProcSid());
int i=0;
for(PackagingProcurementDetails p:selectList){
if(p.getState()==7){
i++;
}
if(i==selectList.size()){
//审批记录
ApprovalRecordDto recordDto=new ApprovalRecordDto();
recordDto.setProSid(dto.getProcSid());
recordDto.setApprover(sysUser.getSid());
recordDto.setApprovalOpinions("完成订单");
recordDto.setOperate("5");
recordDto.setApprovalDate(dfmt);
approvalRecordService.save(recordDto);
}
}
}
entity.setWarehousingDate(dfmt);
entity.setProcSid(dto.getProcSid());
baseMapper.insert(entity);
PackagingInventory packagingInventory=packagingInventoryMapper.selectOne(new QueryWrapper<PackagingInventory>().eq("sid",dto.getInventorySid()));
packagingInventory.setInventory(packagingInventory.getInventory()+dto.getWeight());

31
yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/procurementdetails/ProcurementDetailsService.java

@ -104,7 +104,7 @@ public class ProcurementDetailsService extends MybatisBaseService<ProcurementDet
BeanUtil.copyProperties(dto, entity, "id");
}
//多个商品
if(dto.getCommodityList().size()>1){
if(dto.getCommodityList().size()>0){
for(CrudeOilTypeInformationDto pro:dto.getCommodityList()){
entity.setTypeSid(pro.getSid());
entity.setState(1);
@ -113,16 +113,19 @@ public class ProcurementDetailsService extends MybatisBaseService<ProcurementDet
entity.setPrice(pro.getPrice());
baseMapper.insert(entity);
}
return rb.success().setMsg("新增成功");
}
for(CrudeOilTypeInformationDto pro:dto.getCommodityList()){
entity.setTypeSid(pro.getSid());
entity.setState(1);
entity.setType("1");
entity.setWeight(pro.getWeight());
entity.setPrice(pro.getPrice());
}else if(dto.getCommodityList().size()==0){
baseMapper.insert(entity);
}
// else{
// for(CrudeOilTypeInformationDto pro:dto.getCommodityList()){
// entity.setTypeSid(pro.getSid());
// entity.setState(1);
// entity.setType("1");
// entity.setWeight(pro.getWeight());
// entity.setPrice(pro.getPrice());
// baseMapper.insert(entity);
// }
// }
// //附件上传
// String [] file=dto.getCrudeOilStorageFile();
// if(file!=null){
@ -266,10 +269,12 @@ public class ProcurementDetailsService extends MybatisBaseService<ProcurementDet
ProcurementDetailsVo procurementDetailsVo=baseMapper.getProBySid(sid);
List<CrudeOilTypeInformationVo> list =new ArrayList<>();
for (ProcurementDetailsVo pro:RawProcurementDetails){
CrudeOilTypeInformationVo crudeOilTypeInformationVo=baseMapper.getCrudeBySid(pro.getTypeSid());
crudeOilTypeInformationVo.setWeight(pro.getWeight());
crudeOilTypeInformationVo.setPrice(pro.getPrice());
list.add(crudeOilTypeInformationVo);
if(null!=pro.getTypeSid() && !pro.getTypeSid().equals("")){
CrudeOilTypeInformationVo crudeOilTypeInformationVo=baseMapper.getCrudeBySid(pro.getTypeSid());
crudeOilTypeInformationVo.setWeight(pro.getWeight());
crudeOilTypeInformationVo.setPrice(pro.getPrice());
list.add(crudeOilTypeInformationVo);
}
}
procurementDetailsVo.setCommodityList(list);
return rb.success().setData(procurementDetailsVo);

Loading…
Cancel
Save