platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/ContractSubjectMatter.java
@@ -25,6 +25,14 @@ @EqualsAndHashCode(callSuper = true) public class ContractSubjectMatter extends BaseModel<ContractSubjectMatter> { @Schema(description = "排产计划ID") @Column(columnDefinition = "bigint comment '排产计划ID'") private Long productionPlanId; @Schema(description = "排产计划名称") @Column(columnDefinition = "VARCHAR(200) comment '排产计划名称'") private String productionPlanName; @Schema(description = "关联合同ID") @Column(columnDefinition = "bigint comment '关联合同ID'") private Long contractId; platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/Product.java
@@ -35,6 +35,10 @@ @Column(columnDefinition = "VARCHAR(50) comment '产品Erp编码'") private String erpCode; @Schema(description = "产品型号") @Column(columnDefinition = "VARCHAR(50) comment '产品型号'") private String productType; @Schema(description = "产品价格") @Column(columnDefinition = "double comment '产品价格'") private Double price; @@ -43,8 +47,12 @@ @Column(columnDefinition = "double default 0.00 comment '税率'") private Double taxRate; @Schema(description = "税收分类") @Column(columnDefinition = "VARCHAR(50) comment '税收分类'") private String taxClass; @Schema(description = "父ID") @Column(columnDefinition = "bigint comment '父ID'") @Column(columnDefinition = "bigint default 0 comment '父ID'") private Long parentId; /** platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/ProductionPlan.java
@@ -43,19 +43,19 @@ @Schema(description = "甲方id") @Column(columnDefinition = "bigint comment '甲方id'") private Long partyAId; private Long partyaid; @Schema(description = "甲方名称") @Column(columnDefinition = "VARCHAR(100) comment '甲方名称'") private String partyA; private String partya; @Schema(description = "乙方id") @Column(columnDefinition = "bigint comment '乙方id'") private Long partyBId; private Long partybid; @Schema(description = "乙方名称") @Column(columnDefinition = "VARCHAR(100) comment '乙方名称'") private String partyB; private String partyb; @Schema(description = "金额") @Column(columnDefinition = "double comment '金额'") @@ -109,6 +109,12 @@ @Column(columnDefinition = "datetime comment '审批时间'") private String approveTime; @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm") @JsonFormat(pattern = "yyyy-MM-dd HH:mm") @Schema(description = "转成合同时间") @Column(columnDefinition = "datetime comment '转成合同时间'") private String contractTime; /** * 标的物 */ platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/BusinessCustomerController.java
@@ -2,6 +2,7 @@ import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -48,6 +49,9 @@ @PreAuthorize("@pms.hasPermission('business_businessCustomer_view')" ) public R getBusinessCustomerPage(@ParameterObject Page page, @ParameterObject BusinessCustomer businessCustomer) { LambdaQueryWrapper<BusinessCustomer> wrapper = Wrappers.lambdaQuery(); wrapper.eq(businessCustomer.getIndustryId()!=null,BusinessCustomer::getIndustryId,businessCustomer.getIndustryId()); wrapper.eq(businessCustomer.getAreaId()!=null,BusinessCustomer::getAreaId,businessCustomer.getAreaId()); wrapper.like(StrUtil.isNotEmpty(businessCustomer.getCompanyName()),BusinessCustomer::getCompanyName,businessCustomer.getCompanyName()); return R.ok(businessCustomerService.page(page, wrapper)); } platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/ProductController.java
@@ -2,6 +2,7 @@ import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -49,6 +50,10 @@ @PreAuthorize("@pms.hasPermission('business_product_view')" ) public R getProductPage(@ParameterObject Page page, @ParameterObject Product product) { LambdaQueryWrapper<Product> wrapper = Wrappers.lambdaQuery(); wrapper.eq(product.getParentId()!=null,Product::getParentId,product.getParentId()); wrapper.like(StrUtil.isNotEmpty(product.getProductName()),Product::getProductName,product.getProductName()); wrapper.like(StrUtil.isNotEmpty(product.getMainCode()),Product::getMainCode,product.getMainCode()); wrapper.like(StrUtil.isNotEmpty(product.getErpCode()),Product::getErpCode,product.getErpCode()); return R.ok(productService.page(page, wrapper)); } platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/ProductionPlanController.java
@@ -2,10 +2,14 @@ import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.by4cloud.platformx.business.entity.ContractSubjectMatter; import com.by4cloud.platformx.business.service.ContractSubjectMatterService; import com.by4cloud.platformx.common.core.util.R; import com.by4cloud.platformx.common.data.mybatis.BaseModel; import com.by4cloud.platformx.common.log.annotation.SysLog; import com.by4cloud.platformx.business.entity.ProductionPlan; import com.by4cloud.platformx.business.service.ProductionPlanService; @@ -19,8 +23,10 @@ import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; /** * 排产计划 @@ -36,6 +42,7 @@ public class ProductionPlanController { private final ProductionPlanService productionPlanService; private final ContractSubjectMatterService contractSubjectMatterService; /** * 分页查询 @@ -48,7 +55,20 @@ @PreAuthorize("@pms.hasPermission('business_productionPlan_view')" ) public R getProductionPlanPage(@ParameterObject Page page, @ParameterObject ProductionPlan productionPlan) { LambdaQueryWrapper<ProductionPlan> wrapper = Wrappers.lambdaQuery(); return R.ok(productionPlanService.page(page, wrapper)); wrapper.like(StrUtil.isNotEmpty(productionPlan.getProductionPlanName()),ProductionPlan::getProductionPlanName,productionPlan.getProductionPlanName()); wrapper.eq(productionPlan.getPartyaid()!=null,ProductionPlan::getPartyaid,productionPlan.getPartyaid()); wrapper.eq(productionPlan.getPartybid()!=null,ProductionPlan::getPartybid,productionPlan.getPartybid()); wrapper.eq(productionPlan.getStatus()!=null,ProductionPlan::getStatus,productionPlan.getStatus()); Page<ProductionPlan> page1 = productionPlanService.page(page, wrapper); List<ProductionPlan> list = page1.getRecords(); for(ProductionPlan plan : list){ List<ContractSubjectMatter> metterList = contractSubjectMatterService.list(new LambdaQueryWrapper<ContractSubjectMatter>() .eq(ContractSubjectMatter::getProductionPlanId,plan.getId()) ); plan.setContractSubjectMatterList(metterList); } page1.setRecords(list); return R.ok(page1); } /** @@ -73,7 +93,15 @@ @GetMapping("/{id}" ) @PreAuthorize("@pms.hasPermission('business_productionPlan_view')" ) public R getById(@PathVariable("id" ) Long id) { return R.ok(productionPlanService.getById(id)); ProductionPlan productionPlan = productionPlanService.getById(id); if(productionPlan==null){ return R.failed("id错误!"); } List<ContractSubjectMatter> list = contractSubjectMatterService.list(new LambdaQueryWrapper<ContractSubjectMatter>() .eq(ContractSubjectMatter::getProductionPlanId,productionPlan.getId()) ); productionPlan.setContractSubjectMatterList(list); return R.ok(productionPlan); } /** @@ -86,7 +114,20 @@ @PostMapping @PreAuthorize("@pms.hasPermission('business_productionPlan_add')" ) public R save(@RequestBody ProductionPlan productionPlan) { return R.ok(productionPlanService.save(productionPlan)); if(StrUtil.isEmpty(productionPlan.getProductionPlanName())){ return R.failed("排产计划名称不能为空!"); } productionPlanService.save(productionPlan); if(productionPlan.getContractSubjectMatterList()!=null){ for(ContractSubjectMatter matter1 : productionPlan.getContractSubjectMatterList()){ matter1.setProductionPlanId(productionPlan.getId()); matter1.setProductionPlanName(productionPlan.getProductionPlanName()); } contractSubjectMatterService.saveBatch(productionPlan.getContractSubjectMatterList()); } return R.ok(true); } /** @@ -99,6 +140,36 @@ @PutMapping @PreAuthorize("@pms.hasPermission('business_productionPlan_edit')" ) public R updateById(@RequestBody ProductionPlan productionPlan) { List<ContractSubjectMatter> list = contractSubjectMatterService.list(new LambdaQueryWrapper<ContractSubjectMatter>() .eq(ContractSubjectMatter::getProductionPlanId,productionPlan.getId()) ); List<Long> idsO = new ArrayList<>(); if(list!=null){ if(!list.isEmpty()){ idsO = list.stream().map(BaseModel::getId).collect(Collectors.toList()); } } if(productionPlan.getContractSubjectMatterList()!=null){ List<Long> idsN = new ArrayList<>(); for(ContractSubjectMatter matter : productionPlan.getContractSubjectMatterList()){ if(matter.getId()==null){ matter.setProductionPlanId(productionPlan.getId()); matter.setProductionPlanName(productionPlan.getProductionPlanName()); }else{ idsN.add(matter.getId()); } } contractSubjectMatterService.saveOrUpdateBatch(productionPlan.getContractSubjectMatterList()); if(!idsO.isEmpty()) { for (Long id : idsO) { if (!idsN.contains(id)) { contractSubjectMatterService.removeById(id); } } } } return R.ok(productionPlanService.updateById(productionPlan)); } platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/SalesManController.java
@@ -2,6 +2,7 @@ import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -48,6 +49,8 @@ @PreAuthorize("@pms.hasPermission('business_salesMan_view')" ) public R getSalesManPage(@ParameterObject Page page, @ParameterObject SalesMan salesMan) { LambdaQueryWrapper<SalesMan> wrapper = Wrappers.lambdaQuery(); wrapper.eq(salesMan.getCustomerId()!=null,SalesMan::getCustomerId,salesMan.getCustomerId()); wrapper.like(StrUtil.isNotEmpty(salesMan.getSalesName()),SalesMan::getSalesName,salesMan.getSalesName()); return R.ok(salesManService.page(page, wrapper)); } platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ProductServiceImpl.java
@@ -57,7 +57,7 @@ node.setId(product.getId()); node.setName(product.getProductName()); node.setParentId(product.getParentId()); node.setWeight(product.getParentId()); //node.setWeight(product.getParentId()); // 扩展属性 Map<String, Object> extra = new HashMap<>(); // extra.put("picPath", category.getPicPath()); @@ -68,11 +68,11 @@ // 适配 vue3 Map<String, Object> meta = new HashMap<>(); meta.put("title", product.getProductName()); meta.put("icon", product.getPrice()); /* meta.put("title", product.getProductName()); meta.put("icon", product.getPrice());*/ extra.put("meta", meta); node.setExtra(extra); //extra.put("meta", meta); //node.setExtra(extra); return node; }; }