From 15871c55c697eb6f879800ed65c0c8f066e1fbdc Mon Sep 17 00:00:00 2001 From: wangpengfei <1928057482@qq.com> Date: Fri, 30 Jun 2023 14:50:45 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8C=85=E8=A3=85=E7=89=A9=E9=87=87=E8=B4=AD?= =?UTF-8?q?=E8=AE=A2=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../docs/databases/create_table.sql | 38 ++- .../PackagingInventoryDto.java | 4 +- .../PackagingInventoryVo.java | 2 + .../PackagingProcurementDetailsDto.java | 3 +- .../PackagingProcurementDetailsVo.java | 62 +++- .../packagingstorage/PackagingStorage.java | 4 +- .../packagingstorage/PackagingStorageDto.java | 4 +- .../packagingstorage/PackagingStorageVo.java | 1 + .../MaterialProcurementDetailsMapper.java | 21 +- .../MaterialProcurementDetailsService.java | 41 ++- .../PackagingProcurementDetailsMapper.java | 85 +++++ .../PackagingProcurementDetailsMapper.xml | 16 + .../PackagingProcurementDetailsRest.java | 85 +++++ .../PackagingProcurementDetailsService.java | 293 ++++++++++++++++++ .../PackagingStorageMapper.java | 10 + .../PackagingStorageService.java | 57 +++- .../ProcurementDetailsService.java | 31 +- 17 files changed, 713 insertions(+), 44 deletions(-) create mode 100644 yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/packagingprocurementdetails/PackagingProcurementDetailsMapper.java create mode 100644 yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/packagingprocurementdetails/PackagingProcurementDetailsMapper.xml create mode 100644 yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/packagingprocurementdetails/PackagingProcurementDetailsRest.java create mode 100644 yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/packagingprocurementdetails/PackagingProcurementDetailsService.java diff --git a/yxt-supervise-cyf/docs/databases/create_table.sql b/yxt-supervise-cyf/docs/databases/create_table.sql index ba5ee867..98916ed1 100644 --- a/yxt-supervise-cyf/docs/databases/create_table.sql +++ b/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; diff --git a/yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/packaginginventory/PackagingInventoryDto.java b/yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/packaginginventory/PackagingInventoryDto.java index 69e6f576..8650e94d 100644 --- a/yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/packaginginventory/PackagingInventoryDto.java +++ b/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; } diff --git a/yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/packaginginventory/PackagingInventoryVo.java b/yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/packaginginventory/PackagingInventoryVo.java index 5e4d8d9a..4a18f595 100644 --- a/yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/packaginginventory/PackagingInventoryVo.java +++ b/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; } diff --git a/yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/packagingprocurementdetails/PackagingProcurementDetailsDto.java b/yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/packagingprocurementdetails/PackagingProcurementDetailsDto.java index 959ea4bd..240d007a 100644 --- a/yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/packagingprocurementdetails/PackagingProcurementDetailsDto.java +++ b/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 commodityList; + private List commodityList; //操作 1:新增申请 2:发起申请 3:通过申请 4:不通过申请 private String operate; //审批意见 diff --git a/yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/packagingprocurementdetails/PackagingProcurementDetailsVo.java b/yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/packagingprocurementdetails/PackagingProcurementDetailsVo.java index 63f8e269..79e0ab48 100644 --- a/yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/packagingprocurementdetails/PackagingProcurementDetailsVo.java +++ b/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 commodityList; } diff --git a/yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/packagingstorage/PackagingStorage.java b/yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/packagingstorage/PackagingStorage.java index 6fec6db8..1cb96f0b 100644 --- a/yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/packagingstorage/PackagingStorage.java +++ b/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; //签订日期 diff --git a/yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/packagingstorage/PackagingStorageDto.java b/yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/packagingstorage/PackagingStorageDto.java index e7dc665f..40d3b1bd 100644 --- a/yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/packagingstorage/PackagingStorageDto.java +++ b/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; //签订日期 diff --git a/yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/packagingstorage/PackagingStorageVo.java b/yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/packagingstorage/PackagingStorageVo.java index 6ec47db1..2cd40f28 100644 --- a/yxt-supervise-cyf/yxt-supervise-cyf-api/src/main/java/com/yxt/supervise/cyf/api/packagingstorage/PackagingStorageVo.java +++ b/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; } diff --git a/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/materialprocurementdetails/MaterialProcurementDetailsMapper.java b/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/materialprocurementdetails/MaterialProcurementDetailsMapper.java index 9227b7c2..4933cfeb 100644 --- a/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/materialprocurementdetails/MaterialProcurementDetailsMapper.java +++ b/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 getProByState(@Param("state")String state); @Select("select * from material_procurement_details where sid = #{sid}") List selectList(@Param("sid") String sid); 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 293a7c37..94db2bb0 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 @@ -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 page = PagerUtil.queryToPage(pq); IPage pagging = baseMapper.selectPageVo(page, qw); + for(MaterialProcurementDetailsVo v:pagging.getRecords()){ + PackagingProcurementDetailsVo c=baseMapper.getProcurementByState(v.getSid()); + v.setStateValue(c.getStateValue()); + } PagerVo p = PagerUtil.pageToVo(pagging, null); return p; } @@ -81,17 +86,7 @@ public class MaterialProcurementDetailsService extends MybatisBaseService 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 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); diff --git a/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/packagingprocurementdetails/PackagingProcurementDetailsMapper.java b/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/packagingprocurementdetails/PackagingProcurementDetailsMapper.java new file mode 100644 index 00000000..1383dffb --- /dev/null +++ b/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 { + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper 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 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 getProByState(@Param("state")String state); + @Select("select * from packaging_procurement_details where sid = #{sid}") + List selectList(@Param("sid") String sid); + @Select("select * from packaging_procurement_details where state =#{state} group by sid") + List listByState(String state); +} diff --git a/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/packagingprocurementdetails/PackagingProcurementDetailsMapper.xml b/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/packagingprocurementdetails/PackagingProcurementDetailsMapper.xml new file mode 100644 index 00000000..a31e3928 --- /dev/null +++ b/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/packagingprocurementdetails/PackagingProcurementDetailsMapper.xml @@ -0,0 +1,16 @@ + + + + + \ No newline at end of file diff --git a/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/packagingprocurementdetails/PackagingProcurementDetailsRest.java b/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/packagingprocurementdetails/PackagingProcurementDetailsRest.java new file mode 100644 index 00000000..c0a4f343 --- /dev/null +++ b/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> listPage(@RequestBody PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = PackagingProcurementDetailsService.listPageVo(pq); + return rb.success().setData(pv); + } + @ApiOperation("数据的列表") + @PostMapping("/list") + public ResultBean> list() { + ResultBean rb = ResultBean.fireFail(); + List 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); + } +} diff --git a/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/packagingprocurementdetails/PackagingProcurementDetailsService.java b/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/packagingprocurementdetails/PackagingProcurementDetailsService.java new file mode 100644 index 00000000..86b1c154 --- /dev/null +++ b/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 { + @Autowired + ApprovalRecordService approvalRecordService; + @Autowired + CyfSysUserMapper sysUserMapper; + public PagerVo listPageVo(PagerQuery pq) { + PackagingProcurementDetailsQuery query = pq.getParams(); + QueryWrapper 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 page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPageVo(page, qw); + for(PackagingProcurementDetailsVo v:pagging.getRecords()){ + PackagingProcurementDetailsVo c=baseMapper.getProcurementByState(v.getSid()); + v.setStateValue(c.getStateValue()); + } + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + public List lists() { + String state="6"; + List 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().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> maps=new ArrayList<>(); +// for(String s:file){ +// Mapm=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 = baseMapper.selectList(sid); + SysUser sysUser=sysUserMapper.selectOne(new QueryWrapper().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> maps=new ArrayList<>(); +// for(String s:file){ +// Mapm=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().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().eq("id",StpUtil.getLoginIdAsString())); + String dtoSid = dto.getSid(); + ApprovalRecordDto recordDto=new ApprovalRecordDto(); + List 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().eq("sid",sid)); + return rb.success().setMsg("删除成功"); + } + + public ResultBean getPackagingProcurementBySid(String sid){ + ResultBean rb=new ResultBean(); + List RawProcurementDetails = baseMapper.getPackagingBySid(sid); + PackagingProcurementDetailsVo PackagingProcurementDetailsVo = baseMapper.getProBySid(sid); + List 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(); + Listlist=baseMapper.getProByState(state); + for(ProcurementDetailsVo procurementDetailsVo:list){ + List 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); + } + +} diff --git a/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/packagingstorage/PackagingStorageMapper.java b/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/packagingstorage/PackagingStorageMapper.java index 76b4e737..5b1e3ebc 100644 --- a/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/packagingstorage/PackagingStorageMapper.java +++ b/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 { List 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); } diff --git a/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/packagingstorage/PackagingStorageService.java b/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/packagingstorage/PackagingStorageService.java index 94430cdc..b3562317 100644 --- a/yxt-supervise-cyf/yxt-supervise-cyf-biz/src/main/java/com/yxt/supervise/cyf/biz/packagingstorage/PackagingStorageService.java +++ b/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 listPageVo(PagerQuery pq) { PackagingStorageQuery query = pq.getParams(); QueryWrapper qw = new QueryWrapper<>(); @@ -56,7 +68,48 @@ public class PackagingStorageService extends MybatisBaseService().eq("id", StpUtil.getLoginIdAsString())); + //要入的的物料类型 + //CrudeOilStorageVo v=baseMapper.getTypeByTankSid(dto.getInventorySid()); + //入库记录 + PackagingStorageVo vo=baseMapper.getPackagingByProcSid(dto.getProcSid(),dto.getInventorySid()); + //订单记录 + PackagingProcurementDetails procurementDetails=packagingProcurementDetailsMapper.selectOne(new QueryWrapper().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().eq("sid",procurementDetails.getSid()).eq("inventorySid",dto.getInventorySid())); + } + //订单上所有的商品 + List 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().eq("sid",dto.getInventorySid())); packagingInventory.setInventory(packagingInventory.getInventory()+dto.getWeight()); 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 0ae15c85..16715cac 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 @@ -104,7 +104,7 @@ public class ProcurementDetailsService extends MybatisBaseService1){ + 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 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);