From bd74616204baf4e3f8bb124f142a07be8e5e9f13 Mon Sep 17 00:00:00 2001
From: 邱宇豪 <qyh123230312>
Date: 星期五, 03 十一月 2023 13:51:01 +0800
Subject: [PATCH] 20231103_qiuyh_发运计划
---
hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/pipeoutplan/service/PipeOutPlanService.java | 24 ++++
hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/entity/PipeDto.java | 2
hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/pipeoutplan/entity/PipeOutPlanEntity.java | 34 +++++
hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/pipeoutplan/entity/PipeOutPlanMothEntity.java | 33 +++++
hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/pipeoutplan/service/impl/PipeOutPlanServiceImpl.java | 100 ++++++++++++++++
hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/pipeoutplan/mapper/PipeOutPlanMapper.java | 82 +++++++++++++
hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/pipeoutplan/controller/PipeOutPlanController.java | 47 +++++++
hd/pipe/mobile/src/main/resources/mapping/PipeInfoMapper.xml | 7
8 files changed, 327 insertions(+), 2 deletions(-)
diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/pipeoutplan/controller/PipeOutPlanController.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/pipeoutplan/controller/PipeOutPlanController.java
new file mode 100644
index 0000000..af3be72
--- /dev/null
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/pipeoutplan/controller/PipeOutPlanController.java
@@ -0,0 +1,47 @@
+package com.thhy.materials.modules.biz.pipeoutplan.controller;
+
+import com.thhy.general.common.BasicResult;
+import com.thhy.materials.modules.biz.pipeoutplan.entity.PipeOutPlanEntity;
+import com.thhy.materials.modules.biz.pipeoutplan.service.PipeOutPlanService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Map;
+
+/**
+ * @Author QiuYuHao
+ * @CreateDate 2023-11-03 9:38:16
+ * 发运计划
+ */
+@RestController
+@RequestMapping(value = "pipeoutplan")
+public class PipeOutPlanController {
+
+ @Autowired
+ private PipeOutPlanService pipeOutPlanService;
+
+ @PostMapping("insert")
+ BasicResult insert(@RequestBody PipeOutPlanEntity pipeOutPlanEntity){
+ return pipeOutPlanService.insert(pipeOutPlanEntity);
+ }
+
+ @GetMapping("delete")
+ BasicResult delete(String pipeNeedId){
+ return pipeOutPlanService.delete(pipeNeedId);
+ }
+
+ @PostMapping("update")
+ BasicResult update(@RequestBody PipeOutPlanEntity pipeOutPlanEntity){
+ return pipeOutPlanService.update(pipeOutPlanEntity);
+ }
+
+ @GetMapping("selectInfo")
+ BasicResult selectInfo(String pipeNeedId){
+ return pipeOutPlanService.selectInfo(pipeNeedId);
+ }
+
+ @PostMapping("findAll")
+ BasicResult findAll(@RequestBody Map<String,Object> map){
+ return pipeOutPlanService.findAll(map);
+ }
+}
diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/pipeoutplan/entity/PipeOutPlanEntity.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/pipeoutplan/entity/PipeOutPlanEntity.java
new file mode 100644
index 0000000..7299577
--- /dev/null
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/pipeoutplan/entity/PipeOutPlanEntity.java
@@ -0,0 +1,34 @@
+package com.thhy.materials.modules.biz.pipeoutplan.entity;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.omg.CORBA.PRIVATE_MEMBER;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @Author QiuYuHao
+ * @CreateDate 2023-11-03 9:40:41
+ * 发运计划实体
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+public class PipeOutPlanEntity {
+
+ private String planOutId;//计划ID
+ private String proId;//项目ID
+ private Integer planYear;//年份
+ private Integer needPipeNum;//需求合计多少片
+ private Date createTime;//创建时间
+ private String createUser;//创建人
+ private Date updateTime;//修改时间
+ private String updateUser;//修改人
+ private Integer isUse;//1Y0N
+
+ private List<PipeOutPlanMothEntity> monthList;
+}
diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/pipeoutplan/entity/PipeOutPlanMothEntity.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/pipeoutplan/entity/PipeOutPlanMothEntity.java
new file mode 100644
index 0000000..dd43481
--- /dev/null
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/pipeoutplan/entity/PipeOutPlanMothEntity.java
@@ -0,0 +1,33 @@
+package com.thhy.materials.modules.biz.pipeoutplan.entity;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @Author QiuYuHao
+ * @CreateDate 2023-11-03 10:52:23
+ * 发运计划月份实体
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+public class PipeOutPlanMothEntity {
+ private String id;
+ private String pipeOutPlanId;
+ private Integer month;
+
+ /**
+ * 管片需求数量
+ */
+ private Integer planProduct;
+
+ private String proId;
+
+ /**
+ * 已发运管片数量
+ */
+ private Integer completePlanProduct;
+}
diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/pipeoutplan/mapper/PipeOutPlanMapper.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/pipeoutplan/mapper/PipeOutPlanMapper.java
new file mode 100644
index 0000000..b215f4d
--- /dev/null
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/pipeoutplan/mapper/PipeOutPlanMapper.java
@@ -0,0 +1,82 @@
+package com.thhy.materials.modules.biz.pipeoutplan.mapper;
+
+import com.thhy.materials.modules.biz.pipeoutplan.entity.PipeOutPlanEntity;
+import com.thhy.materials.modules.biz.pipeoutplan.entity.PipeOutPlanMothEntity;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Author QiuYuHao
+ * @CreateDate 2023-11-03 9:41:37
+ * 发运计划mapper
+ */
+@Mapper
+public interface PipeOutPlanMapper {
+
+ /**
+ * 新增发运计划表
+ * @param pipeOutPlanEntity
+ */
+ void insert(PipeOutPlanEntity pipeOutPlanEntity);
+
+ /**
+ * 新增发运计划月数表
+ * @param pipeOutPlanMothEntity
+ */
+ void insertMoth(PipeOutPlanMothEntity pipeOutPlanMothEntity);
+
+ /**
+ * 删除发运计划表
+ * @param pipeNeedId
+ */
+ void delete(String pipeNeedId);
+
+ /**
+ * 删除发运计划月数表
+ * @param pipeNeedId
+ */
+ void deleteMoth(String pipeNeedId);
+
+ /**
+ * 更新发运计划表
+ * @param pipeOutPlanEntity
+ */
+ void update(PipeOutPlanEntity pipeOutPlanEntity);
+
+ /**
+ * 查询单条发运计划表
+ * @param pipeNeedId
+ * @return
+ */
+ PipeOutPlanEntity selectInfo(String pipeNeedId);
+
+ PipeOutPlanEntity selectInfoByProIdAndYear(
+ @Param("proId") String proId,
+ @Param("planYear") Integer year);
+
+ /**
+ * 查询发运计划列表
+ * @param map
+ * @return
+ */
+ List<PipeOutPlanEntity> findAll(Map<String,Object> map);
+
+ /**
+ * 查询发运计划月数表
+ * @param pipeNeedId
+ * @return
+ */
+ List<PipeOutPlanMothEntity> findMothList(String pipeNeedId);
+
+ /**
+ * 查询每月数量
+ * @param proId
+ * @param year
+ * @return
+ */
+ List<PipeOutPlanMothEntity> findMothListByProIdAndYear(@Param("proId") String proId,
+ @Param("year") String year);
+}
diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/pipeoutplan/service/PipeOutPlanService.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/pipeoutplan/service/PipeOutPlanService.java
new file mode 100644
index 0000000..0cadff3
--- /dev/null
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/pipeoutplan/service/PipeOutPlanService.java
@@ -0,0 +1,24 @@
+package com.thhy.materials.modules.biz.pipeoutplan.service;
+
+import com.thhy.general.common.BasicResult;
+import com.thhy.materials.modules.biz.pipeoutplan.entity.PipeOutPlanEntity;
+
+import java.util.Map;
+
+/**
+ * @Author QiuYuHao
+ * @CreateDate 2023-11-03 9:42:10
+ * 发运计划逻辑接口
+ */
+public interface PipeOutPlanService {
+
+ BasicResult insert(PipeOutPlanEntity pipeOutPlanEntity);
+
+ BasicResult delete(String pipeNeedId);
+
+ BasicResult update(PipeOutPlanEntity pipeOutPlanEntity);
+
+ BasicResult selectInfo(String pipeNeedId);
+
+ BasicResult findAll(Map<String,Object> map);
+}
diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/pipeoutplan/service/impl/PipeOutPlanServiceImpl.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/pipeoutplan/service/impl/PipeOutPlanServiceImpl.java
new file mode 100644
index 0000000..40f5c7f
--- /dev/null
+++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/pipeoutplan/service/impl/PipeOutPlanServiceImpl.java
@@ -0,0 +1,100 @@
+package com.thhy.materials.modules.biz.pipeoutplan.service.impl;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.thhy.general.common.BasicResult;
+import com.thhy.general.config.SysUserInfo;
+import com.thhy.general.utils.UUIDUtils;
+import com.thhy.general.utils.UserInfoUtils;
+import com.thhy.materials.modules.biz.pipeoutplan.entity.PipeOutPlanEntity;
+import com.thhy.materials.modules.biz.pipeoutplan.entity.PipeOutPlanMothEntity;
+import com.thhy.materials.modules.biz.pipeoutplan.mapper.PipeOutPlanMapper;
+import com.thhy.materials.modules.biz.pipeoutplan.service.PipeOutPlanService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Author QiuYuHao
+ * @CreateDate 2023-11-03 9:42:41
+ * 发运管理逻辑实现层
+ */
+@Service
+public class PipeOutPlanServiceImpl implements PipeOutPlanService {
+
+ @Autowired
+ private PipeOutPlanMapper pipeOutPlanMapper;
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public BasicResult insert(PipeOutPlanEntity pipeOutPlanEntity) {
+ PipeOutPlanEntity isExit = pipeOutPlanMapper.selectInfoByProIdAndYear(pipeOutPlanEntity.getProId(), pipeOutPlanEntity.getPlanYear());
+ if (isExit == null){
+ return BasicResult.faild("500","同一项目、年份有且只有一个计划",null);
+ }
+ String planOutId = UUIDUtils.create();
+ pipeOutPlanEntity.setPlanOutId(planOutId);
+ pipeOutPlanMapper.insert(pipeOutPlanEntity);
+ List<PipeOutPlanMothEntity> monthList = pipeOutPlanEntity.getMonthList();
+ monthList.forEach(vo->{
+ vo.setPipeOutPlanId(planOutId);
+ pipeOutPlanMapper.insertMoth(vo);
+ });
+ return BasicResult.success();
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public BasicResult delete(String pipeNeedId) {
+ pipeOutPlanMapper.delete(pipeNeedId);
+ pipeOutPlanMapper.deleteMoth(pipeNeedId);
+ return BasicResult.success();
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public BasicResult update(PipeOutPlanEntity pipeOutPlanEntity) {
+ PipeOutPlanEntity isExit = pipeOutPlanMapper.selectInfoByProIdAndYear(pipeOutPlanEntity.getProId(), pipeOutPlanEntity.getPlanYear());
+ if (isExit == null){
+ return BasicResult.faild("500","同一项目、年份有且只有一个计划",null);
+ }
+ pipeOutPlanMapper.update(pipeOutPlanEntity);
+ String planOutId = pipeOutPlanEntity.getPlanOutId();
+ pipeOutPlanMapper.deleteMoth(planOutId);
+ List<PipeOutPlanMothEntity> monthList = pipeOutPlanEntity.getMonthList();
+ monthList.forEach(vo->{
+ vo.setPipeOutPlanId(planOutId);
+ pipeOutPlanMapper.insertMoth(vo);
+ }); return BasicResult.success();
+ }
+
+ @Override
+ public BasicResult selectInfo(String pipeNeedId) {
+ PipeOutPlanEntity pipeOutPlanEntity = pipeOutPlanMapper.selectInfo(pipeNeedId);
+ List<PipeOutPlanMothEntity> mothList = pipeOutPlanMapper.findMothList(pipeNeedId);
+ pipeOutPlanEntity.setMonthList(mothList);
+ return BasicResult.success(pipeOutPlanEntity);
+ }
+
+ @Override
+ public BasicResult findAll(Map<String, Object> map) {
+ Integer pageNum = (Integer) map.get("pageNum");
+ Integer pageSize = (Integer) map.get("pageSize");
+ PageHelper.startPage(pageNum,pageSize);
+ SysUserInfo userInfo = UserInfoUtils.getInstance().getUserInfo();
+ map.put("companyId",userInfo.getCompanyId());
+ List<PipeOutPlanEntity> all = pipeOutPlanMapper.findAll(map);
+ all.forEach(obj->{
+ String proId = obj.getProId();
+ Integer planYear = obj.getPlanYear();
+ obj.setMonthList(pipeOutPlanMapper.findMothListByProIdAndYear(proId,planYear.toString()));
+ });
+ return BasicResult.success(new PageInfo<>(all));
+ }
+
+
+
+}
diff --git a/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/entity/PipeDto.java b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/entity/PipeDto.java
index 53c41d4..76a9e0c 100644
--- a/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/entity/PipeDto.java
+++ b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/entity/PipeDto.java
@@ -47,4 +47,6 @@
private String num;
private String segmentId;
+
+ private String yearMonth;
}
diff --git a/hd/pipe/mobile/src/main/resources/mapping/PipeInfoMapper.xml b/hd/pipe/mobile/src/main/resources/mapping/PipeInfoMapper.xml
index e2ad715..46ff19f 100644
--- a/hd/pipe/mobile/src/main/resources/mapping/PipeInfoMapper.xml
+++ b/hd/pipe/mobile/src/main/resources/mapping/PipeInfoMapper.xml
@@ -195,8 +195,11 @@
<if test="segmentId!=null">
tpi.segment_id = #{segmentId} AND
</if>
- </trim>
- </where>
+ <if test="yearMonth!=null">
+ out_mod_time like CONCAT(#{yearMonth},'%') AND
+ </if>
+ </trim>
+ </where>
order by tpi.check_time desc
) a
<if test="groupId != null and groupId !=''">
--
Gitblit v1.9.3