yzc 1 жил өмнө
parent
commit
d0cdc64c6b
23 өөрчлөгдсөн 848 нэмэгдсэн , 0 устгасан
  1. 71 0
      hx-oa/src/main/java/com/fjhx/oa/controller/activity/ActivityPriceInventoryController.java
  2. 23 0
      hx-oa/src/main/java/com/fjhx/oa/controller/activity/ActivityPriceInventoryDetailController.java
  3. 17 0
      hx-oa/src/main/java/com/fjhx/oa/entity/activity/dto/ActivityPriceInventoryDetailDto.java
  4. 17 0
      hx-oa/src/main/java/com/fjhx/oa/entity/activity/dto/ActivityPriceInventoryDetailSelectDto.java
  5. 26 0
      hx-oa/src/main/java/com/fjhx/oa/entity/activity/dto/ActivityPriceInventoryDto.java
  6. 17 0
      hx-oa/src/main/java/com/fjhx/oa/entity/activity/dto/ActivityPriceInventorySelectDto.java
  7. 144 0
      hx-oa/src/main/java/com/fjhx/oa/entity/activity/po/ActivityPriceInventory.java
  8. 73 0
      hx-oa/src/main/java/com/fjhx/oa/entity/activity/po/ActivityPriceInventoryDetail.java
  9. 17 0
      hx-oa/src/main/java/com/fjhx/oa/entity/activity/vo/ActivityPriceInventoryDetailVo.java
  10. 26 0
      hx-oa/src/main/java/com/fjhx/oa/entity/activity/vo/ActivityPriceInventoryVo.java
  11. 74 0
      hx-oa/src/main/java/com/fjhx/oa/flow/ActivityPriceInventoryFlow.java
  12. 26 0
      hx-oa/src/main/java/com/fjhx/oa/mapper/activity/ActivityPriceInventoryDetailMapper.java
  13. 26 0
      hx-oa/src/main/java/com/fjhx/oa/mapper/activity/ActivityPriceInventoryMapper.java
  14. 25 0
      hx-oa/src/main/java/com/fjhx/oa/service/activity/ActivityPriceInventoryDetailService.java
  15. 42 0
      hx-oa/src/main/java/com/fjhx/oa/service/activity/ActivityPriceInventoryService.java
  16. 30 0
      hx-oa/src/main/java/com/fjhx/oa/service/activity/impl/ActivityPriceInventoryDetailServiceImpl.java
  17. 125 0
      hx-oa/src/main/java/com/fjhx/oa/service/activity/impl/ActivityPriceInventoryServiceImpl.java
  18. 3 0
      hx-oa/src/main/java/com/fjhx/oa/service/education/impl/EducationSubsidyServiceImpl.java
  19. 1 0
      hx-oa/src/main/java/com/fjhx/oa/service/erp/impl/ErpCodingGroupServiceImpl.java
  20. 3 0
      hx-oa/src/main/java/com/fjhx/oa/service/medical/impl/MedicalInsuranceServiceImpl.java
  21. 1 0
      hx-oa/src/main/java/com/fjhx/oa/service/seal/impl/SealUseServiceImpl.java
  22. 24 0
      hx-oa/src/main/resources/mapper/activity/ActivityPriceInventoryDetailMapper.xml
  23. 37 0
      hx-oa/src/main/resources/mapper/activity/ActivityPriceInventoryMapper.xml

+ 71 - 0
hx-oa/src/main/java/com/fjhx/oa/controller/activity/ActivityPriceInventoryController.java

@@ -0,0 +1,71 @@
+package com.fjhx.oa.controller.activity;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.oa.entity.activity.dto.ActivityPriceInventoryDto;
+import com.fjhx.oa.entity.activity.dto.ActivityPriceInventorySelectDto;
+import com.fjhx.oa.entity.activity.vo.ActivityPriceInventoryVo;
+import com.fjhx.oa.service.activity.ActivityPriceInventoryService;
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+
+/**
+ * <p>
+ * 活动、价格、库存 前端控制器
+ * </p>
+ *
+ * @author
+ * @since 2024-04-10
+ */
+@RestController
+@RequestMapping("/activityPriceInventory")
+public class ActivityPriceInventoryController {
+
+    @Autowired
+    private ActivityPriceInventoryService activityPriceInventoryService;
+
+    /**
+     * 活动、价格、库存分页
+     */
+    @PostMapping("/page")
+    public Page<ActivityPriceInventoryVo> page(@RequestBody ActivityPriceInventorySelectDto dto) {
+        return activityPriceInventoryService.getPage(dto);
+    }
+
+    /**
+     * 活动、价格、库存明细
+     */
+    @PostMapping("/detail")
+    public ActivityPriceInventoryVo detail(@RequestBody BaseSelectDto dto) {
+        return activityPriceInventoryService.detail(dto.getId());
+    }
+
+    /**
+     * 活动、价格、库存新增
+     */
+    @PostMapping("/add")
+    public void add(@RequestBody ActivityPriceInventoryDto activityPriceInventoryDto) {
+        activityPriceInventoryService.addOrEdit(activityPriceInventoryDto);
+    }
+
+    /**
+     * 活动、价格、库存编辑
+     */
+    @PostMapping("/edit")
+    public void edit(@RequestBody ActivityPriceInventoryDto activityPriceInventoryDto) {
+        activityPriceInventoryService.edit(activityPriceInventoryDto);
+    }
+
+    /**
+     * 活动、价格、库存删除
+     */
+    @PostMapping("/delete")
+    public void delete(@RequestBody BaseSelectDto dto) {
+        activityPriceInventoryService.delete(dto.getId());
+    }
+
+}

+ 23 - 0
hx-oa/src/main/java/com/fjhx/oa/controller/activity/ActivityPriceInventoryDetailController.java

@@ -0,0 +1,23 @@
+package com.fjhx.oa.controller.activity;
+
+import com.fjhx.oa.service.activity.ActivityPriceInventoryDetailService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 活动、价格、库存 明细 前端控制器
+ * </p>
+ *
+ * @author
+ * @since 2024-04-10
+ */
+@RestController
+@RequestMapping("/activityPriceInventoryDetail")
+public class ActivityPriceInventoryDetailController {
+
+    @Autowired
+    private ActivityPriceInventoryDetailService activityPriceInventoryDetailService;
+
+}

+ 17 - 0
hx-oa/src/main/java/com/fjhx/oa/entity/activity/dto/ActivityPriceInventoryDetailDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.oa.entity.activity.dto;
+
+import com.fjhx.oa.entity.activity.po.ActivityPriceInventoryDetail;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 活动、价格、库存 明细新增编辑入参实体
+ *
+ * @author
+ * @since 2024-04-10
+ */
+@Getter
+@Setter
+public class ActivityPriceInventoryDetailDto extends ActivityPriceInventoryDetail {
+
+}

+ 17 - 0
hx-oa/src/main/java/com/fjhx/oa/entity/activity/dto/ActivityPriceInventoryDetailSelectDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.oa.entity.activity.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 活动、价格、库存 明细列表查询入参实体
+ *
+ * @author
+ * @since 2024-04-10
+ */
+@Getter
+@Setter
+public class ActivityPriceInventoryDetailSelectDto extends BaseSelectDto {
+
+}

+ 26 - 0
hx-oa/src/main/java/com/fjhx/oa/entity/activity/dto/ActivityPriceInventoryDto.java

@@ -0,0 +1,26 @@
+package com.fjhx.oa.entity.activity.dto;
+
+import com.fjhx.file.entity.ObsFile;
+import com.fjhx.oa.entity.activity.po.ActivityPriceInventory;
+import com.fjhx.oa.entity.activity.po.ActivityPriceInventoryDetail;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * 活动、价格、库存新增编辑入参实体
+ *
+ * @author
+ * @since 2024-04-10
+ */
+@Getter
+@Setter
+public class ActivityPriceInventoryDto extends ActivityPriceInventory {
+
+    List<ActivityPriceInventoryDetail> activityPriceInventoryDetailList;
+
+    private List<ObsFile> supporterFileList;
+    private List<ObsFile> stockFileList;
+
+}

+ 17 - 0
hx-oa/src/main/java/com/fjhx/oa/entity/activity/dto/ActivityPriceInventorySelectDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.oa.entity.activity.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 活动、价格、库存列表查询入参实体
+ *
+ * @author
+ * @since 2024-04-10
+ */
+@Getter
+@Setter
+public class ActivityPriceInventorySelectDto extends BaseSelectDto {
+
+}

+ 144 - 0
hx-oa/src/main/java/com/fjhx/oa/entity/activity/po/ActivityPriceInventory.java

@@ -0,0 +1,144 @@
+package com.fjhx.oa.entity.activity.po;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.core.domain.BasePo;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 活动、价格、库存
+ * </p>
+ *
+ * @author
+ * @since 2024-04-10
+ */
+@Getter
+@Setter
+@TableName("activity_price_inventory")
+public class ActivityPriceInventory extends BasePo {
+
+    /**
+     * 编号
+     */
+    private String code;
+
+    /**
+     * 审批状态
+     */
+    private Integer status;
+
+    /**
+     * 流程id
+     */
+    private Long flowId;
+
+    /**
+     * 申请时间
+     */
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+    private Date applyTime;
+
+    /**
+     * 部门id
+     */
+    private Long deptId;
+
+    /**
+     * 公司id
+     */
+    private Long companyId;
+
+    /**
+     * 店铺id
+     */
+    private Long shopId;
+
+    /**
+     * 店铺平台
+     */
+    private String shopPlatform;
+
+    /**
+     * 店铺品牌
+     */
+    private String shopBrand;
+
+    /**
+     * 是否平台活动
+     */
+    private Integer isPlatformActivity;
+
+    /**
+     * 是否产品支持
+     */
+    private Integer isProductSupport;
+
+    /**
+     * 是否库存支持
+     */
+    private Integer isInventorySupport;
+
+    /**
+     * 活动名称
+     */
+    private String activityName;
+
+    /**
+     * 活动天数
+     */
+    private Integer activityDays;
+
+    /**
+     * 活动开始时间
+     */
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+    private Date activityStartTime;
+
+    /**
+     * 活动结束时间
+     */
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+    private Date activityEndTime;
+
+    /**
+     * 产品支持方
+     */
+    private Long supporterId;
+
+    /**
+     * 产品支持周期
+     */
+    private String supportCycle;
+
+    /**
+     * 产品支持开始时间
+     */
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+    private Date supporterStartTime;
+
+    /**
+     * 产品支持结束时间
+     */
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+    private Date supporterEndTime;
+
+    /**
+     * 产品报价人
+     */
+    private String productQuotationUser;
+
+    /**
+     * 是否提报总经理
+     */
+    private Integer isReportGm;
+
+    /**
+     * 是否新品
+     */
+    private Long isNewProduct;
+
+}

+ 73 - 0
hx-oa/src/main/java/com/fjhx/oa/entity/activity/po/ActivityPriceInventoryDetail.java

@@ -0,0 +1,73 @@
+package com.fjhx.oa.entity.activity.po;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.common.core.domain.BasePo;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+
+/**
+ * <p>
+ * 活动、价格、库存 明细
+ * </p>
+ *
+ * @author
+ * @since 2024-04-10
+ */
+@Getter
+@Setter
+@TableName("activity_price_inventory_detail")
+public class ActivityPriceInventoryDetail extends BasePo {
+
+    /**
+     * 活动、价格、库存 ID
+     */
+    private Long activityPriceInventoryId;
+
+    /**
+     * 产品id
+     */
+    private Long productId;
+
+    /**
+     * 产品名称
+     */
+    private String productName;
+
+    /**
+     * 产品颜色
+     */
+    private String productColor;
+
+    /**
+     * 产品长
+     */
+    private String productLength;
+
+    /**
+     * 产品宽
+     */
+    private String productWidth;
+
+    /**
+     * 产品高
+     */
+    private String productHeight;
+
+    /**
+     * 分销价
+     */
+    private BigDecimal distributionPrice;
+
+    /**
+     * 销售价
+     */
+    private BigDecimal salesPrice;
+
+    /**
+     * 活动价
+     */
+    private BigDecimal activityPrice;
+
+}

+ 17 - 0
hx-oa/src/main/java/com/fjhx/oa/entity/activity/vo/ActivityPriceInventoryDetailVo.java

@@ -0,0 +1,17 @@
+package com.fjhx.oa.entity.activity.vo;
+
+import com.fjhx.oa.entity.activity.po.ActivityPriceInventoryDetail;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 活动、价格、库存 明细列表查询返回值实体
+ *
+ * @author
+ * @since 2024-04-10
+ */
+@Getter
+@Setter
+public class ActivityPriceInventoryDetailVo extends ActivityPriceInventoryDetail {
+
+}

+ 26 - 0
hx-oa/src/main/java/com/fjhx/oa/entity/activity/vo/ActivityPriceInventoryVo.java

@@ -0,0 +1,26 @@
+package com.fjhx.oa.entity.activity.vo;
+
+import com.fjhx.oa.entity.activity.po.ActivityPriceInventory;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * 活动、价格、库存列表查询返回值实体
+ *
+ * @author
+ * @since 2024-04-10
+ */
+@Getter
+@Setter
+public class ActivityPriceInventoryVo extends ActivityPriceInventory {
+
+    List<ActivityPriceInventoryDetailVo> activityPriceInventoryDetailList;
+    private String createUserName;
+    private String deptName;
+    private String companyName;
+    private String shopName;
+    private String supporterName;
+
+}

+ 74 - 0
hx-oa/src/main/java/com/fjhx/oa/flow/ActivityPriceInventoryFlow.java

@@ -0,0 +1,74 @@
+package com.fjhx.oa.flow;
+
+import com.alibaba.fastjson.JSONObject;
+import com.fjhx.common.enums.CodingRuleEnum;
+import com.fjhx.common.enums.FlowStatusEnum1;
+import com.fjhx.common.service.coding.CodingRuleService;
+import com.fjhx.flow.core.FlowDelegate;
+import com.fjhx.flow.enums.FlowStatusEnum;
+import com.fjhx.oa.entity.activity.dto.ActivityPriceInventoryDto;
+import com.fjhx.oa.entity.activity.po.ActivityPriceInventory;
+import com.fjhx.oa.service.activity.ActivityPriceInventoryService;
+import com.ruoyi.common.core.domain.BasePo;
+import com.ruoyi.common.utils.SecurityUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+
+@Component
+public class ActivityPriceInventoryFlow extends FlowDelegate {
+
+    @Autowired
+    private ActivityPriceInventoryService activityPriceInventoryService;
+    @Autowired
+    private CodingRuleService codingRuleService;
+
+    @Override
+    public String getFlowKey() {
+        return "seal_use_flow";
+    }
+
+    @Override
+    public Long start(Long flowId, JSONObject submitData) {
+        ActivityPriceInventoryDto dto = submitData.toJavaObject(ActivityPriceInventoryDto.class);
+        dto.setFlowId(flowId);
+
+        dto.setCode(codingRuleService.createCode(CodingRuleEnum.SEAL_USE.getKey(), null));
+        dto.setStatus(FlowStatusEnum1.UNDER_REVIEW.getKey());
+
+        activityPriceInventoryService.addOrEdit(dto);
+
+        return dto.getId();
+    }
+
+    @Override
+    public void end(Long flowId, Long businessId, JSONObject submitData) {
+        activityPriceInventoryService.update(q -> q
+                .eq(ActivityPriceInventory::getId, businessId)
+                .set(ActivityPriceInventory::getStatus, FlowStatusEnum1.PASS.getKey())
+                .set(BasePo::getUpdateTime, new Date())
+                .set(BasePo::getUpdateUser, SecurityUtils.getUserId())
+        );
+    }
+
+    @Override
+    public void relaunch(Long flowId, Long businessId, FlowStatusEnum flowStatus, JSONObject submitData) {
+        start(flowId, submitData);
+    }
+
+    @Override
+    public void reject(Long flowId, Long businessId, FlowStatusEnum flowStatus) {
+        activityPriceInventoryService.update(q -> q
+                .eq(ActivityPriceInventory::getId, businessId)
+                .set(ActivityPriceInventory::getStatus, FlowStatusEnum1.REJECT.getKey())
+                .set(BasePo::getUpdateTime, new Date())
+                .set(BasePo::getUpdateUser, SecurityUtils.getUserId())
+        );
+    }
+
+    @Override
+    public void cancellation(Long flowId, Long businessId, FlowStatusEnum flowStatus) {
+        activityPriceInventoryService.cancellation(businessId);
+    }
+}

+ 26 - 0
hx-oa/src/main/java/com/fjhx/oa/mapper/activity/ActivityPriceInventoryDetailMapper.java

@@ -0,0 +1,26 @@
+package com.fjhx.oa.mapper.activity;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fjhx.oa.entity.activity.po.ActivityPriceInventoryDetail;
+import com.fjhx.oa.entity.activity.vo.ActivityPriceInventoryDetailVo;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 活动、价格、库存 明细 Mapper 接口
+ * </p>
+ *
+ * @author
+ * @since 2024-04-10
+ */
+public interface ActivityPriceInventoryDetailMapper extends BaseMapper<ActivityPriceInventoryDetail> {
+
+    /**
+     * 活动、价格、库存 明细列表
+     */
+    List<ActivityPriceInventoryDetailVo> getList(@Param("ew") IWrapper<ActivityPriceInventoryDetail> wrapper);
+
+}

+ 26 - 0
hx-oa/src/main/java/com/fjhx/oa/mapper/activity/ActivityPriceInventoryMapper.java

@@ -0,0 +1,26 @@
+package com.fjhx.oa.mapper.activity;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.oa.entity.activity.po.ActivityPriceInventory;
+import com.fjhx.oa.entity.activity.vo.ActivityPriceInventoryVo;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.apache.ibatis.annotations.Param;
+
+
+/**
+ * <p>
+ * 活动、价格、库存 Mapper 接口
+ * </p>
+ *
+ * @author
+ * @since 2024-04-10
+ */
+public interface ActivityPriceInventoryMapper extends BaseMapper<ActivityPriceInventory> {
+
+    /**
+     * 活动、价格、库存分页
+     */
+    Page<ActivityPriceInventoryVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<ActivityPriceInventory> wrapper);
+
+}

+ 25 - 0
hx-oa/src/main/java/com/fjhx/oa/service/activity/ActivityPriceInventoryDetailService.java

@@ -0,0 +1,25 @@
+package com.fjhx.oa.service.activity;
+
+import com.fjhx.oa.entity.activity.po.ActivityPriceInventoryDetail;
+import com.fjhx.oa.entity.activity.vo.ActivityPriceInventoryDetailVo;
+import com.ruoyi.common.core.service.BaseService;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 活动、价格、库存 明细 服务类
+ * </p>
+ *
+ * @author
+ * @since 2024-04-10
+ */
+public interface ActivityPriceInventoryDetailService extends BaseService<ActivityPriceInventoryDetail> {
+
+    /**
+     * 活动、价格、库存 明细列表
+     */
+    List<ActivityPriceInventoryDetailVo> getList(IWrapper wrapper);
+
+}

+ 42 - 0
hx-oa/src/main/java/com/fjhx/oa/service/activity/ActivityPriceInventoryService.java

@@ -0,0 +1,42 @@
+package com.fjhx.oa.service.activity;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.oa.entity.activity.dto.ActivityPriceInventoryDto;
+import com.fjhx.oa.entity.activity.dto.ActivityPriceInventorySelectDto;
+import com.fjhx.oa.entity.activity.po.ActivityPriceInventory;
+import com.fjhx.oa.entity.activity.vo.ActivityPriceInventoryVo;
+import com.ruoyi.common.core.service.BaseService;
+
+
+/**
+ * <p>
+ * 活动、价格、库存 服务类
+ * </p>
+ *
+ * @author
+ * @since 2024-04-10
+ */
+public interface ActivityPriceInventoryService extends BaseService<ActivityPriceInventory> {
+
+    /**
+     * 活动、价格、库存分页
+     */
+    Page<ActivityPriceInventoryVo> getPage(ActivityPriceInventorySelectDto dto);
+
+    /**
+     * 活动、价格、库存明细
+     */
+    ActivityPriceInventoryVo detail(Long id);
+
+    /**
+     * 活动、价格、库存新增
+     */
+    void addOrEdit(ActivityPriceInventoryDto activityPriceInventoryDto);
+
+    /**
+     * 活动、价格、库存删除
+     */
+    void delete(Long id);
+
+    void cancellation(Long businessId);
+}

+ 30 - 0
hx-oa/src/main/java/com/fjhx/oa/service/activity/impl/ActivityPriceInventoryDetailServiceImpl.java

@@ -0,0 +1,30 @@
+package com.fjhx.oa.service.activity.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.oa.entity.activity.po.ActivityPriceInventoryDetail;
+import com.fjhx.oa.entity.activity.vo.ActivityPriceInventoryDetailVo;
+import com.fjhx.oa.mapper.activity.ActivityPriceInventoryDetailMapper;
+import com.fjhx.oa.service.activity.ActivityPriceInventoryDetailService;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 活动、价格、库存 明细 服务实现类
+ * </p>
+ *
+ * @author
+ * @since 2024-04-10
+ */
+@Service
+public class ActivityPriceInventoryDetailServiceImpl extends ServiceImpl<ActivityPriceInventoryDetailMapper, ActivityPriceInventoryDetail> implements ActivityPriceInventoryDetailService {
+
+    @Override
+    public List<ActivityPriceInventoryDetailVo> getList(IWrapper wrapper) {
+        List<ActivityPriceInventoryDetailVo> list = this.baseMapper.getList(wrapper);
+        return list;
+    }
+
+}

+ 125 - 0
hx-oa/src/main/java/com/fjhx/oa/service/activity/impl/ActivityPriceInventoryServiceImpl.java

@@ -0,0 +1,125 @@
+package com.fjhx.oa.service.activity.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.dynamic.datasource.annotation.DSTransactional;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.common.enums.FlowStatusEnum1;
+import com.fjhx.file.utils.ObsFileUtil;
+import com.fjhx.flow.entity.flow.po.FlowExample;
+import com.fjhx.flow.enums.FlowStatusEnum;
+import com.fjhx.flow.service.flow.FlowExampleService;
+import com.fjhx.jushuitan.service.shop.ShopInfoService;
+import com.fjhx.oa.entity.activity.dto.ActivityPriceInventoryDto;
+import com.fjhx.oa.entity.activity.dto.ActivityPriceInventorySelectDto;
+import com.fjhx.oa.entity.activity.po.ActivityPriceInventory;
+import com.fjhx.oa.entity.activity.po.ActivityPriceInventoryDetail;
+import com.fjhx.oa.entity.activity.vo.ActivityPriceInventoryDetailVo;
+import com.fjhx.oa.entity.activity.vo.ActivityPriceInventoryVo;
+import com.fjhx.oa.mapper.activity.ActivityPriceInventoryMapper;
+import com.fjhx.oa.service.activity.ActivityPriceInventoryDetailService;
+import com.fjhx.oa.service.activity.ActivityPriceInventoryService;
+import com.fjhx.tenant.utils.DeptUstil;
+import com.ruoyi.common.core.domain.BasePo;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.ruoyi.system.utils.UserUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+
+
+/**
+ * <p>
+ * 活动、价格、库存 服务实现类
+ * </p>
+ *
+ * @author
+ * @since 2024-04-10
+ */
+@Service
+public class ActivityPriceInventoryServiceImpl extends ServiceImpl<ActivityPriceInventoryMapper, ActivityPriceInventory> implements ActivityPriceInventoryService {
+
+    @Autowired
+    private ShopInfoService shopInfoService;
+    @Autowired
+    private ActivityPriceInventoryDetailService activityPriceInventoryDetailService;
+    @Autowired
+    private FlowExampleService flowExampleService;
+
+    @Override
+    public Page<ActivityPriceInventoryVo> getPage(ActivityPriceInventorySelectDto dto) {
+        IWrapper<ActivityPriceInventory> wrapper = getWrapper();
+        wrapper.orderByDesc("api", ActivityPriceInventory::getId);
+        Page<ActivityPriceInventoryVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
+        List<ActivityPriceInventoryVo> records = page.getRecords();
+        setInfo(records);
+        return page;
+    }
+
+    @Override
+    public ActivityPriceInventoryVo detail(Long id) {
+        ActivityPriceInventory ActivityPriceInventory = this.getById(id);
+        ActivityPriceInventoryVo result = BeanUtil.toBean(ActivityPriceInventory, ActivityPriceInventoryVo.class);
+        List<ActivityPriceInventoryDetailVo> list = activityPriceInventoryDetailService.getList(IWrapper.getWrapper().eq("apid.id", result.getId()));
+        result.setActivityPriceInventoryDetailList(list);
+        return result;
+    }
+
+    private void setInfo(List<ActivityPriceInventoryVo> records) {
+        if (ObjectUtil.isEmpty(records)) {
+            return;
+        }
+        //中心、部门、申请人
+        UserUtil.assignmentNickName(records, ActivityPriceInventoryVo::getCreateUser, ActivityPriceInventoryVo::setCreateUserName);
+        DeptUstil.assignmentNickName(records, ActivityPriceInventoryVo::getDeptId, ActivityPriceInventoryVo::setDeptName);
+        DeptUstil.assignmentNickName(records, ActivityPriceInventoryVo::getCompanyId, ActivityPriceInventoryVo::setCompanyName);
+        //店铺名称
+        shopInfoService.attributeAssign(records, ActivityPriceInventory::getShopId, (item, shop) -> {
+            item.setShopName(shop.getName());
+        });
+        //支持方
+        DeptUstil.assignmentNickName(records, ActivityPriceInventoryVo::getSupporterId, ActivityPriceInventoryVo::setSupporterName);
+    }
+
+    @DSTransactional
+    @Override
+    public void addOrEdit(ActivityPriceInventoryDto dto) {
+        this.save(dto);
+        List<ActivityPriceInventoryDetail> activityPriceInventoryDetailList = dto.getActivityPriceInventoryDetailList();
+        activityPriceInventoryDetailList.stream().forEach(item -> item.setActivityPriceInventoryId(dto.getId()));
+        activityPriceInventoryDetailService.editLinked(activityPriceInventoryDetailList, ActivityPriceInventoryDetail::getActivityPriceInventoryId, dto.getId());
+        ObsFileUtil.editFile(dto.getSupporterFileList(), dto.getId(), 10);
+        ObsFileUtil.editFile(dto.getStockFileList(), dto.getId(), 20);
+    }
+
+    @Override
+    public void delete(Long id) {
+        this.removeById(id);
+    }
+
+    @DSTransactional
+    @Override
+    public void cancellation(Long businessId) {
+        ActivityPriceInventory byId = getById(businessId);
+        this.update(q -> q
+                .eq(ActivityPriceInventory::getId, businessId)
+                .set(ActivityPriceInventory::getStatus, FlowStatusEnum1.CANCELLATION.getKey())
+                .set(BasePo::getUpdateTime, new Date())
+                .set(BasePo::getUpdateUser, SecurityUtils.getUserId())
+        );
+
+        //销毁审批中的流程
+        flowExampleService.update(q -> q
+                .eq(FlowExample::getId, byId.getFlowId())
+                .in(FlowExample::getStatus, FlowStatusEnum.READY_START.getKey(), FlowStatusEnum.IN_PROGRESS.getKey())
+                .set(FlowExample::getStatus, FlowStatusEnum.CANCELLATION.getKey())
+                .set(BasePo::getUpdateUser, SecurityUtils.getUserId())
+                .set(BasePo::getUpdateTime, new Date())
+        );
+    }
+
+}

+ 3 - 0
hx-oa/src/main/java/com/fjhx/oa/service/education/impl/EducationSubsidyServiceImpl.java

@@ -2,6 +2,7 @@ package com.fjhx.oa.service.education.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.dynamic.datasource.annotation.DSTransactional;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.common.enums.FlowStatusEnum1;
@@ -86,6 +87,7 @@ public class EducationSubsidyServiceImpl extends ServiceImpl<EducationSubsidyMap
         DeptUstil.assignmentNickName(records, EducationSubsidyVo::getCompanyId, EducationSubsidyVo::setCompanyName);
     }
 
+    @DSTransactional
     @Override
     public void addOrEdit(EducationSubsidyDto educationSubsidyDto) {
         this.saveOrUpdate(educationSubsidyDto);
@@ -97,6 +99,7 @@ public class EducationSubsidyServiceImpl extends ServiceImpl<EducationSubsidyMap
         this.removeById(id);
     }
 
+    @DSTransactional
     @Override
     public void cancellation(Long businessId) {
         EducationSubsidy byId = getById(businessId);

+ 1 - 0
hx-oa/src/main/java/com/fjhx/oa/service/erp/impl/ErpCodingGroupServiceImpl.java

@@ -97,6 +97,7 @@ public class ErpCodingGroupServiceImpl extends ServiceImpl<ErpCodingGroupMapper,
         this.removeById(id);
     }
 
+    @DSTransactional
     @Override
     public void cancellation(Long businessId) {
         ErpCodingGroup byId = getById(businessId);

+ 3 - 0
hx-oa/src/main/java/com/fjhx/oa/service/medical/impl/MedicalInsuranceServiceImpl.java

@@ -2,6 +2,7 @@ package com.fjhx.oa.service.medical.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.dynamic.datasource.annotation.DSTransactional;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.common.enums.FlowStatusEnum1;
@@ -78,6 +79,7 @@ public class MedicalInsuranceServiceImpl extends ServiceImpl<MedicalInsuranceMap
         DeptUstil.assignmentNickName(records, MedicalInsuranceVo::getCompanyId, MedicalInsuranceVo::setCompanyName);
     }
 
+    @DSTransactional
     @Override
     public void addOrEdit(MedicalInsuranceDto medicalInsuranceDto) {
         this.saveOrUpdate(medicalInsuranceDto);
@@ -88,6 +90,7 @@ public class MedicalInsuranceServiceImpl extends ServiceImpl<MedicalInsuranceMap
         this.removeById(id);
     }
 
+    @DSTransactional
     @Override
     public void cancellation(Long businessId) {
         MedicalInsurance byId = getById(businessId);

+ 1 - 0
hx-oa/src/main/java/com/fjhx/oa/service/seal/impl/SealUseServiceImpl.java

@@ -108,6 +108,7 @@ public class SealUseServiceImpl extends ServiceImpl<SealUseMapper, SealUse> impl
         );
     }
 
+    @DSTransactional
     @Override
     public void cancellation(Long businessId) {
         SealUse byId = getById(businessId);

+ 24 - 0
hx-oa/src/main/resources/mapper/activity/ActivityPriceInventoryDetailMapper.xml

@@ -0,0 +1,24 @@
+<?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.fjhx.oa.mapper.activity.ActivityPriceInventoryDetailMapper">
+    <select id="getList" resultType="com.fjhx.oa.entity.activity.vo.ActivityPriceInventoryDetailVo">
+        select apid.id,
+               apid.activity_price_inventory_id,
+               apid.product_id,
+               apid.product_name,
+               apid.product_color,
+               apid.product_length,
+               apid.product_width,
+               apid.product_height,
+               apid.distribution_price,
+               apid.sales_price,
+               apid.activity_price,
+               apid.create_user,
+               apid.create_time,
+               apid.update_user,
+               apid.update_time
+        from activity_price_inventory_detail apid
+            ${ew.customSqlSegment}
+    </select>
+
+</mapper>

+ 37 - 0
hx-oa/src/main/resources/mapper/activity/ActivityPriceInventoryMapper.xml

@@ -0,0 +1,37 @@
+<?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.fjhx.oa.mapper.activity.ActivityPriceInventoryMapper">
+    <select id="getPage" resultType="com.fjhx.oa.entity.activity.vo.ActivityPriceInventoryVo">
+        select api.id,
+               api.code,
+               api.status,
+               api.flow_id,
+               api.apply_time,
+               api.dept_id,
+               api.company_id,
+               api.shop_id,
+               api.shop_platform,
+               api.shop_brand,
+               api.is_platform_activity,
+               api.is_product_support,
+               api.is_inventory_support,
+               api.activity_name,
+               api.activity_days,
+               api.activity_start_time,
+               api.activity_end_time,
+               api.supporter_id,
+               api.support_cycle,
+               api.supporter_start_time,
+               api.supporter_end_time,
+               api.product_quotation_user,
+               api.is_report_gm,
+               api.is_new_product,
+               api.create_user,
+               api.create_time,
+               api.update_user,
+               api.update_time
+        from activity_price_inventory api
+            ${ew.customSqlSegment}
+    </select>
+
+</mapper>