From df5e13344d926527615db1c1ba50f7021b927cdc Mon Sep 17 00:00:00 2001 From: ruanqi Date: Thu, 29 Aug 2024 15:07:35 +0800 Subject: [PATCH] 1127 --- .../ProjectToolingApplyController.java | 94 +++++++ .../controller/ToolingApplyController.java | 2 +- .../data/PlmProjectToolApplyDetailData.java | 13 + .../data/PlmProjectToolApplyHeaderData.java | 19 ++ .../Tooling/data/ProjectToolApplyDaTa.java | 23 ++ .../Tooling/data/RoutingToolApplyData.java | 17 ++ .../mapper/ProjectToolingApplyMapper.java | 82 ++++++ .../service/ProjectToolingApplyService.java | 44 +++ .../impl/ProjectToolingApplyServiceImpl.java | 154 ++++++++++ .../entity/PlmProjectToolApplyDetail.java | 180 ++++++++++++ .../entity/PlmProjectToolApplyHeader.java | 263 ++++++++++++++++++ .../Tooling/ProjectToolingApplyMapper.xml | 133 +++++++++ .../quotation/QuotationHeaderMapper.xml | 2 +- 13 files changed, 1024 insertions(+), 2 deletions(-) create mode 100644 src/main/java/com/spring/modules/Tooling/controller/ProjectToolingApplyController.java create mode 100644 src/main/java/com/spring/modules/Tooling/data/PlmProjectToolApplyDetailData.java create mode 100644 src/main/java/com/spring/modules/Tooling/data/PlmProjectToolApplyHeaderData.java create mode 100644 src/main/java/com/spring/modules/Tooling/data/ProjectToolApplyDaTa.java create mode 100644 src/main/java/com/spring/modules/Tooling/data/RoutingToolApplyData.java create mode 100644 src/main/java/com/spring/modules/Tooling/mapper/ProjectToolingApplyMapper.java create mode 100644 src/main/java/com/spring/modules/Tooling/service/ProjectToolingApplyService.java create mode 100644 src/main/java/com/spring/modules/Tooling/service/impl/ProjectToolingApplyServiceImpl.java create mode 100644 src/main/java/com/spring/modules/base/entity/PlmProjectToolApplyDetail.java create mode 100644 src/main/java/com/spring/modules/base/entity/PlmProjectToolApplyHeader.java create mode 100644 src/main/resources/mapper/Tooling/ProjectToolingApplyMapper.xml diff --git a/src/main/java/com/spring/modules/Tooling/controller/ProjectToolingApplyController.java b/src/main/java/com/spring/modules/Tooling/controller/ProjectToolingApplyController.java new file mode 100644 index 00000000..fb90c390 --- /dev/null +++ b/src/main/java/com/spring/modules/Tooling/controller/ProjectToolingApplyController.java @@ -0,0 +1,94 @@ +package com.spring.modules.Tooling.controller; + +import com.spring.common.utils.PageUtils; +import com.spring.common.utils.R; +import com.spring.modules.Tooling.data.*; +import com.spring.modules.Tooling.service.ProjectToolingApplyService; +import com.spring.modules.project.data.PlmProjectInfoData; +import com.spring.modules.quotation.vo.QuotationHeaderVo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@RestController +@RequestMapping("/plm/projectToolingApplication") +public class ProjectToolingApplyController { + @Autowired + private ProjectToolingApplyService projectToolingApplyService; + + @PostMapping(value="/projectInfoForToolApply") + @ResponseBody + public R projectInfoForToolApply(@RequestBody PlmProjectInfoData data){ + PageUtils page = projectToolingApplyService.projectInfoForToolApply(data); + return R.ok().put("page", page); + } + + + @PostMapping(value="/getProjectPartToolForApply") + @ResponseBody + public R getProjectPartToolForApply(@RequestBody List inList){ + List rows = projectToolingApplyService.getProjectPartToolForApply(inList); + return R.ok().put("rows", rows); + } + + + @PostMapping(value="/saveProjectToolApply") + @ResponseBody + public R saveProjectToolApply(@RequestBody ProjectToolApplyDaTa inData){ + projectToolingApplyService.saveProjectToolApply(inData); + return R.ok(); + } + + + /** + * @Description TODO + * @Title search + * @param data + * @author rq + * @date 2023/2/23 17:15 + * @return R + * @throw + */ + @PostMapping(value="/searchProjectToolApplyHeader") + @ResponseBody + public R searchProjectToolApplyHeader(@RequestBody PlmProjectToolApplyHeaderData data){ + PageUtils page = projectToolingApplyService.searchToolApplyHeader(data); + return R.ok().put("page", page); + } + + + @PostMapping(value="/searchProjectToolApplyDetail") + @ResponseBody + public R searchProjectToolApplyDetail(@RequestBody PlmProjectToolApplyHeaderData inData){ + List rows = projectToolingApplyService.searchToolApplyDetail(inData); + return R.ok().put("rows", rows); + } + @PostMapping(value="/comfirmProjectToolApply") + @ResponseBody + public R comfirmProjectToolApply(@RequestBody PlmProjectToolApplyHeaderData inData){ + projectToolingApplyService.comfirmToolApply(inData); + return R.ok(); + } + @PostMapping(value="/cancelProjectToolApply") + @ResponseBody + public R cancelProjectToolApply(@RequestBody PlmProjectToolApplyHeaderData inData){ + projectToolingApplyService.cancelToolApply(inData); + return R.ok(); + } + /** + * @Description TODO + * @Title saveHeaderMessage + * @param inData + * @author rq + * @date 2024/3/4 15:52 + * @return R + * @throw + */ + @PostMapping(value="/saveProjectHeaderMessage") + @ResponseBody + public R saveProjectHeaderMessage(@RequestBody PlmProjectToolApplyHeaderData inData){ + projectToolingApplyService.saveHeaderMessage(inData); + return R.ok(); + } +} diff --git a/src/main/java/com/spring/modules/Tooling/controller/ToolingApplyController.java b/src/main/java/com/spring/modules/Tooling/controller/ToolingApplyController.java index 030c2584..bb36b375 100644 --- a/src/main/java/com/spring/modules/Tooling/controller/ToolingApplyController.java +++ b/src/main/java/com/spring/modules/Tooling/controller/ToolingApplyController.java @@ -14,7 +14,7 @@ import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; import java.util.List; - +//第一版工具申请 已经不用了 @RestController @RequestMapping("/plm/toolingApplication") public class ToolingApplyController { diff --git a/src/main/java/com/spring/modules/Tooling/data/PlmProjectToolApplyDetailData.java b/src/main/java/com/spring/modules/Tooling/data/PlmProjectToolApplyDetailData.java new file mode 100644 index 00000000..221109a7 --- /dev/null +++ b/src/main/java/com/spring/modules/Tooling/data/PlmProjectToolApplyDetailData.java @@ -0,0 +1,13 @@ +package com.spring.modules.Tooling.data; + +import com.spring.modules.base.entity.PlmProjectToolApplyDetail; +import lombok.Data; +import org.apache.ibatis.type.Alias; + +@Data +@Alias("PlmProjectToolApplyDetailData") +public class PlmProjectToolApplyDetailData extends PlmProjectToolApplyDetail { + public String toolDesc; + public String operationName; + public String operationNo; +} diff --git a/src/main/java/com/spring/modules/Tooling/data/PlmProjectToolApplyHeaderData.java b/src/main/java/com/spring/modules/Tooling/data/PlmProjectToolApplyHeaderData.java new file mode 100644 index 00000000..52554bd3 --- /dev/null +++ b/src/main/java/com/spring/modules/Tooling/data/PlmProjectToolApplyHeaderData.java @@ -0,0 +1,19 @@ +package com.spring.modules.Tooling.data; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.spring.modules.base.entity.PlmProjectToolApplyHeader; +import org.apache.ibatis.type.Alias; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; +@Alias("PlmProjectToolApplyHeaderData") +public class PlmProjectToolApplyHeaderData extends PlmProjectToolApplyHeader { + + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + private Date startDate; + + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + private Date endDate; +} diff --git a/src/main/java/com/spring/modules/Tooling/data/ProjectToolApplyDaTa.java b/src/main/java/com/spring/modules/Tooling/data/ProjectToolApplyDaTa.java new file mode 100644 index 00000000..a1699b6c --- /dev/null +++ b/src/main/java/com/spring/modules/Tooling/data/ProjectToolApplyDaTa.java @@ -0,0 +1,23 @@ +package com.spring.modules.Tooling.data; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; +import java.util.List; + +@Data +public class ProjectToolApplyDaTa { + private String site; + private String applyNo; + private String applyBy; + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + private Date applyDate; + private Integer applySumQty; + private String applyReason; + private String remark; + private String createBy; + private List detailList; +} diff --git a/src/main/java/com/spring/modules/Tooling/data/RoutingToolApplyData.java b/src/main/java/com/spring/modules/Tooling/data/RoutingToolApplyData.java new file mode 100644 index 00000000..5b2137e8 --- /dev/null +++ b/src/main/java/com/spring/modules/Tooling/data/RoutingToolApplyData.java @@ -0,0 +1,17 @@ +package com.spring.modules.Tooling.data; + +import com.spring.modules.part.vo.RoutingToolVo; +import lombok.Data; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.type.Alias; + +@Data +@Alias("RoutingToolApplyData") +public class RoutingToolApplyData extends RoutingToolVo { + private Integer applyQty; + private Integer quotationHeaderId; + private String projectId; + private String toolDescription; + private String standardCost; + private String partDesc; +} diff --git a/src/main/java/com/spring/modules/Tooling/mapper/ProjectToolingApplyMapper.java b/src/main/java/com/spring/modules/Tooling/mapper/ProjectToolingApplyMapper.java new file mode 100644 index 00000000..faa9afa1 --- /dev/null +++ b/src/main/java/com/spring/modules/Tooling/mapper/ProjectToolingApplyMapper.java @@ -0,0 +1,82 @@ +package com.spring.modules.Tooling.mapper; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.spring.modules.Tooling.data.PlmProjectToolApplyDetailData; +import com.spring.modules.Tooling.data.PlmProjectToolApplyHeaderData; +import com.spring.modules.Tooling.data.RoutingToolApplyData; +import com.spring.modules.Tooling.data.ToolApplyHeaderData; +import com.spring.modules.base.entity.PlmProjectToolApplyDetail; +import com.spring.modules.base.entity.PlmProjectToolApplyHeader; +import com.spring.modules.project.data.PlmProjectInfoData; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +import java.util.List; + +@Mapper +@Repository +public interface ProjectToolingApplyMapper { + /** + * @Description TODO + * @Title projectInfoSearch + * @param page +  * @param inData + * @author rq + * @date 2024/8/28 14:03 + * @return IPage + * @throw + */ + IPage projectInfoForToolApply(Page page, @Param("query") PlmProjectInfoData inData); + + /** + * @Description TODO + * @Title getProjectPartToolForApply + * @param site +  * @param projectId + * @author rq + * @date 2024/8/28 14:59 + * @return List + * @throw + */ + List getProjectPartToolForApply(@Param("site")String site,@Param("projectId")String projectId); + + void saveApplyHeader(PlmProjectToolApplyHeader inData); + + void saveApplyDetail(List inData); + + void updateRoutingToolRequireFlag(@Param("site") String site,@Param("newApplyNo") String newApplyNo,@Param("flag") String flag); + + + IPage searchToolApplyHeader(Page page, @Param("query") PlmProjectToolApplyHeaderData inData); + + List searchToolApplyDetail(PlmProjectToolApplyHeaderData inData); + + PlmProjectToolApplyHeaderData checkToolApplyHeaderData (PlmProjectToolApplyHeaderData inData); + + void comfirmToolApply(PlmProjectToolApplyHeaderData inData); + + /** + * @Description 删除主表 + * @Title deletetoolingApplyHeader + * @param inData + * @author rq + * @date 2024/2/29 20:12 + * @return void + * @throw + */ + void deletetoolingApplyHeader(PlmProjectToolApplyHeaderData inData); + /** + * @Description 删除子表 + * @Title deletetoolingApplyDetail + * @param inData + * @author rq + * @date 2024/2/29 20:12 + * @return void + * @throw + */ + void deletetoolingApplyDetail(PlmProjectToolApplyHeaderData inData); + + void saveHeaderMessage(PlmProjectToolApplyHeaderData inData); +} diff --git a/src/main/java/com/spring/modules/Tooling/service/ProjectToolingApplyService.java b/src/main/java/com/spring/modules/Tooling/service/ProjectToolingApplyService.java new file mode 100644 index 00000000..ea3a7f57 --- /dev/null +++ b/src/main/java/com/spring/modules/Tooling/service/ProjectToolingApplyService.java @@ -0,0 +1,44 @@ +package com.spring.modules.Tooling.service; + +import com.spring.common.utils.PageUtils; +import com.spring.modules.Tooling.data.*; +import com.spring.modules.project.data.PlmProjectInfoData; + +import java.util.List; + +public interface ProjectToolingApplyService { + /** + * @Description 申请工具查询项目 + * @Title projectInfoForToolApply + * @param inData + * @author rq + * @date 2024/8/28 13:59 + * @return PageUtils + * @throw + */ + PageUtils projectInfoForToolApply(PlmProjectInfoData inData); + + /** + * @Description 根据选的项目查出所有的物料工序工具 + * @Title getProjectPartToolForApply + * @param inList + * @author rq + * @date 2024/8/28 14:54 + * @return List + * @throw + */ + List getProjectPartToolForApply(List inList); + + + void saveProjectToolApply(ProjectToolApplyDaTa inData); + + PageUtils searchToolApplyHeader(PlmProjectToolApplyHeaderData inData); + + List searchToolApplyDetail(PlmProjectToolApplyHeaderData inData); + + void comfirmToolApply(PlmProjectToolApplyHeaderData inData); + + + void cancelToolApply(PlmProjectToolApplyHeaderData inData); + void saveHeaderMessage(PlmProjectToolApplyHeaderData inData); +} diff --git a/src/main/java/com/spring/modules/Tooling/service/impl/ProjectToolingApplyServiceImpl.java b/src/main/java/com/spring/modules/Tooling/service/impl/ProjectToolingApplyServiceImpl.java new file mode 100644 index 00000000..5c2270d6 --- /dev/null +++ b/src/main/java/com/spring/modules/Tooling/service/impl/ProjectToolingApplyServiceImpl.java @@ -0,0 +1,154 @@ +package com.spring.modules.Tooling.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.spring.common.utils.PageUtils; +import com.spring.modules.Tooling.data.*; + +import com.spring.modules.Tooling.entity.PlmToolApplyHeader; +import com.spring.modules.Tooling.mapper.ProjectToolingApplyMapper; +import com.spring.modules.Tooling.service.ProjectToolingApplyService; + +import com.spring.modules.base.entity.PlmProjectToolApplyDetail; +import com.spring.modules.base.entity.PlmProjectToolApplyHeader; +import com.spring.modules.base.service.TransNoControlService; +import com.spring.modules.project.data.PlmProjectInfoData; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; +import java.util.stream.IntStream; + +@Service +public class ProjectToolingApplyServiceImpl implements ProjectToolingApplyService { + + @Autowired + private TransNoControlService transNoControlService; + @Autowired + private ProjectToolingApplyMapper projectToolingApplyMapper; + + + @Override + public PageUtils projectInfoForToolApply(PlmProjectInfoData inData){ + IPage resultList = this.projectToolingApplyMapper.projectInfoForToolApply( + new Page(inData.getPage(), inData.getLimit()), inData); + return new PageUtils(resultList); + } + + @Override + public List getProjectPartToolForApply(List inList){ + if(inList.size()==0){ + throw new RuntimeException("为选择报价单,请选择报价单!"); + } + String projectId="("; + for (int i = 0; i < inList.size(); i++) { + if(i < inList.size()-1){ + projectId+="'"+inList.get(i).getProjectId()+"',"; + }else { + projectId+="'"+inList.get(i).getProjectId()+"'"; + } + } + projectId+=")"; + + List result=projectToolingApplyMapper.getProjectPartToolForApply(inList.get(0).getSite(),projectId); + + return result; + } + + @Override + @Transactional + public void saveProjectToolApply(ProjectToolApplyDaTa inData){ + + List detailList=inData.getDetailList(); + //生成新单据 + String newApplyNo= transNoControlService.transNo(inData.getSite(),"tool_apply_no"); + PlmProjectToolApplyHeader applyHeader=new PlmProjectToolApplyHeader(); + applyHeader.setSite(inData.getSite()); + applyHeader.setApplyNo(newApplyNo); + applyHeader.setApplyBy(inData.getApplyBy()); + applyHeader.setStatusCode("05"); + applyHeader.setStatus("计划"); + applyHeader.setApplyDate(inData.getApplyDate()); + applyHeader.setApplySumQty(inData.getApplySumQty()); + applyHeader.setApplyReason(inData.getApplyReason()); + applyHeader.setRemark(inData.getRemark()); + applyHeader.setCreateBy(inData.getCreateBy()); + applyHeader.setCreateDate(new Date()); + //1.保存主记录 + projectToolingApplyMapper.saveApplyHeader(applyHeader); + + List applyDetail = IntStream.range(0, detailList.size()).mapToObj(index -> { + RoutingToolApplyData item = detailList.get(index); + PlmProjectToolApplyDetail plm=new PlmProjectToolApplyDetail(); + plm.setSite(item.getSite()); + plm.setApplyNo(newApplyNo); + plm.setSeqNo(index+1); + plm.setToolId(item.getToolDescription()); + plm.setStandardCost(new BigDecimal(item.getStandardCost())); + plm.setApplyQty(item.getApplyQty()); + plm.setRemark(item.getRemark()); + plm.setOrderRef1(item.getProjectId()); + plm.setOrderRef2(item.getPartNo()); + plm.setOrderRef3(item.getRoutingRevision().toString()); + plm.setOrderRef4(item.getRoutingType()); + plm.setOrderRef5(item.getAlternativeNo()); + plm.setOrderRef6(item.getOperationId().toString()); + return plm; + }).collect(Collectors.toList()); + projectToolingApplyMapper.saveApplyDetail(applyDetail); + //更新项目物料工艺工具申请的状态 + projectToolingApplyMapper.updateRoutingToolRequireFlag(inData.getSite(),newApplyNo,"Y"); + } + + @Override + public PageUtils searchToolApplyHeader(PlmProjectToolApplyHeaderData inData){ + IPage resultList = this.projectToolingApplyMapper.searchToolApplyHeader( + new Page(inData.getPage(), inData.getLimit()), inData); + return new PageUtils(resultList); + } + + @Override + public List searchToolApplyDetail(PlmProjectToolApplyHeaderData inData){ + return projectToolingApplyMapper.searchToolApplyDetail(inData); + } + + @Override + public void comfirmToolApply(PlmProjectToolApplyHeaderData inData){ + PlmProjectToolApplyHeaderData toolApplyHeaderData=projectToolingApplyMapper.checkToolApplyHeaderData(inData); + if(toolApplyHeaderData==null){ + throw new RuntimeException("申请单不存在!"); + } + if(!"05".equals(toolApplyHeaderData.getStatusCode())){ + throw new RuntimeException("申请单不是计划状态!"); + } + projectToolingApplyMapper.comfirmToolApply(inData); + } + + @Override + @Transactional + public void cancelToolApply(PlmProjectToolApplyHeaderData inData){ + PlmProjectToolApplyHeaderData toolApplyHeaderData=projectToolingApplyMapper.checkToolApplyHeaderData(inData); + if(toolApplyHeaderData==null){ + throw new RuntimeException("申请单不存在!"); + } + if(!"05".equals(toolApplyHeaderData.getStatusCode())){ + throw new RuntimeException("申请单不是计划状态!"); + } + // //修改原来的标记 + // projectToolingApplyMapper.updateRoutingToolRequireFlag(inData.getSite(),headerIdStr,"N"); + //删除所有记录 + projectToolingApplyMapper.deletetoolingApplyHeader(inData); + projectToolingApplyMapper.deletetoolingApplyDetail(inData); + + } + + + @Override + public void saveHeaderMessage(PlmProjectToolApplyHeaderData inData){ + projectToolingApplyMapper.saveHeaderMessage(inData); + } +} diff --git a/src/main/java/com/spring/modules/base/entity/PlmProjectToolApplyDetail.java b/src/main/java/com/spring/modules/base/entity/PlmProjectToolApplyDetail.java new file mode 100644 index 00000000..35b4c758 --- /dev/null +++ b/src/main/java/com/spring/modules/base/entity/PlmProjectToolApplyDetail.java @@ -0,0 +1,180 @@ +package com.spring.modules.base.entity; + +import org.apache.ibatis.type.Alias; + +import java.math.BigDecimal; +@Alias("PlmProjectToolApplyDetail") +public class PlmProjectToolApplyDetail { + /** + * + */ + private String site; + + /** + * + */ + private String applyNo; + + /** + * + */ + private Integer seqNo; + + /** + * + */ + private String toolId; + + /** + * + */ + private BigDecimal standardCost; + private BigDecimal unitCost; + /** + * + */ + private Integer applyQty; + + /** + * + */ + private String remark; + + /** + * + */ + private String orderRef1; + + /** + * + */ + private String orderRef2; + + /** + * + */ + private String orderRef3; + + /** + * + */ + private String orderRef4; + + /** + * + */ + private String orderRef5; + private String orderRef6; + public String getSite() { + return site; + } + + public void setSite(String site) { + this.site = site; + } + + public String getApplyNo() { + return applyNo; + } + + public void setApplyNo(String applyNo) { + this.applyNo = applyNo; + } + + public Integer getSeqNo() { + return seqNo; + } + + public void setSeqNo(Integer seqNo) { + this.seqNo = seqNo; + } + + public String getToolId() { + return toolId; + } + + public void setToolId(String toolId) { + this.toolId = toolId; + } + + public BigDecimal getStandardCost() { + return standardCost; + } + + public void setStandardCost(BigDecimal standardCost) { + this.standardCost = standardCost; + } + + public Integer getApplyQty() { + return applyQty; + } + + public void setApplyQty(Integer applyQty) { + this.applyQty = applyQty; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getOrderRef1() { + return orderRef1; + } + + public void setOrderRef1(String orderRef1) { + this.orderRef1 = orderRef1; + } + + public String getOrderRef2() { + return orderRef2; + } + + public void setOrderRef2(String orderRef2) { + this.orderRef2 = orderRef2; + } + + public String getOrderRef3() { + return orderRef3; + } + + public void setOrderRef3(String orderRef3) { + this.orderRef3 = orderRef3; + } + + public String getOrderRef4() { + return orderRef4; + } + + public void setOrderRef4(String orderRef4) { + this.orderRef4 = orderRef4; + } + + public String getOrderRef5() { + return orderRef5; + } + + public void setOrderRef5(String orderRef5) { + this.orderRef5 = orderRef5; + } + + public BigDecimal getUnitCost() { + return unitCost; + } + + public void setUnitCost(BigDecimal unitCost) { + this.unitCost = unitCost; + } + + public String getOrderRef6() { + return orderRef6; + } + + public void setOrderRef6(String orderRef6) { + this.orderRef6 = orderRef6; + } +} + diff --git a/src/main/java/com/spring/modules/base/entity/PlmProjectToolApplyHeader.java b/src/main/java/com/spring/modules/base/entity/PlmProjectToolApplyHeader.java new file mode 100644 index 00000000..13320956 --- /dev/null +++ b/src/main/java/com/spring/modules/base/entity/PlmProjectToolApplyHeader.java @@ -0,0 +1,263 @@ +package com.spring.modules.base.entity; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.spring.common.utils.QueryPage; +import org.apache.ibatis.type.Alias; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.util.Date; +@Alias("PlmProjectToolApplyHeader") +public class PlmProjectToolApplyHeader extends QueryPage { + /** + * + */ + private String site; + + /** + * + */ + private String applyNo; + + /** + * + */ + private String applyBy; + + /** + * + */ + private String statusCode; + + /** + * + */ + private String status; + + /** + * + */ + private Date applyDate; + + /** + * + */ + private Integer applySumQty; + + /** + * + */ + private String applyReason; + + /** + * + */ + private String remark; + + /** + * + */ + private String createBy; + + /** + * + */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private Date createDate; + + /** + * + */ + private String updateBy; + + /** + * + */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private Date updateDate; + + /** + * + */ + private String prNo; + + /** + * + */ + private String remark1; + + /** + * + */ + private String poNo; + + /** + * + */ + private BigDecimal allCost; + + /** + * + */ + private String remark2; + + /** + * + */ + private String supplierName; + + public String getSite() { + return site; + } + + public void setSite(String site) { + this.site = site; + } + + public String getApplyNo() { + return applyNo; + } + + public void setApplyNo(String applyNo) { + this.applyNo = applyNo; + } + + public String getApplyBy() { + return applyBy; + } + + public void setApplyBy(String applyBy) { + this.applyBy = applyBy; + } + + public String getStatusCode() { + return statusCode; + } + + public void setStatusCode(String statusCode) { + this.statusCode = statusCode; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public Date getApplyDate() { + return applyDate; + } + + public void setApplyDate(Date applyDate) { + this.applyDate = applyDate; + } + + public Integer getApplySumQty() { + return applySumQty; + } + + public void setApplySumQty(Integer applySumQty) { + this.applySumQty = applySumQty; + } + + public String getApplyReason() { + return applyReason; + } + + public void setApplyReason(String applyReason) { + this.applyReason = applyReason; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getCreateBy() { + return createBy; + } + + public void setCreateBy(String createBy) { + this.createBy = createBy; + } + + public Date getCreateDate() { + return createDate; + } + + public void setCreateDate(Date createDate) { + this.createDate = createDate; + } + + public String getUpdateBy() { + return updateBy; + } + + public void setUpdateBy(String updateBy) { + this.updateBy = updateBy; + } + + public Date getUpdateDate() { + return updateDate; + } + + public void setUpdateDate(Date updateDate) { + this.updateDate = updateDate; + } + + public String getPrNo() { + return prNo; + } + + public void setPrNo(String prNo) { + this.prNo = prNo; + } + + public String getRemark1() { + return remark1; + } + + public void setRemark1(String remark1) { + this.remark1 = remark1; + } + + public String getPoNo() { + return poNo; + } + + public void setPoNo(String poNo) { + this.poNo = poNo; + } + + public BigDecimal getAllCost() { + return allCost; + } + + public void setAllCost(BigDecimal allCost) { + this.allCost = allCost; + } + + public String getRemark2() { + return remark2; + } + + public void setRemark2(String remark2) { + this.remark2 = remark2; + } + + public String getSupplierName() { + return supplierName; + } + + public void setSupplierName(String supplierName) { + this.supplierName = supplierName; + } +} + diff --git a/src/main/resources/mapper/Tooling/ProjectToolingApplyMapper.xml b/src/main/resources/mapper/Tooling/ProjectToolingApplyMapper.xml new file mode 100644 index 00000000..61367e46 --- /dev/null +++ b/src/main/resources/mapper/Tooling/ProjectToolingApplyMapper.xml @@ -0,0 +1,133 @@ + + + + + + + + + INSERT INTO plm_project_tool_applyHeader (site,apply_no,apply_by,status_code,status,apply_date,applySumQty,applyReason,remark,create_by,create_date) values + (#{site},#{applyNo},#{applyBy},#{statusCode},#{status},#{applyDate},#{applySumQty},#{applyReason},#{remark},#{createBy},#{createDate}) + + + + + INSERT INTO plm_project_tool_applyDetail (site,apply_no,seqNo,tool_id,standard_cost,applyQty,remark,orderRef1,orderRef2,orderRef3,orderRef4,orderRef5,orderRef6) values + + (#{item.site},#{item.applyNo},#{item.seqNo},#{item.toolId},#{item.standardCost},#{item.applyQty},#{item.remark},#{item.orderRef1}, + #{item.orderRef2},#{item.orderRef3},#{item.orderRef4},#{item.orderRef5},#{item.orderRef6}) + + + + + + + update routing_tool set ApplyFlag='Y' from plm_project_tool_applyDetail b + where b.site=#{site} and b.apply_no=#{newApplyNo} + and routing_tool.site=b.Site and routing_tool.part_no=b.orderRef2 and CONVERT(varchar(20),routing_tool.routing_revision) =b.orderRef3 and + routing_tool.routing_type=b.orderRef4 and routing_tool.alternative_no=b.orderRef5 + and CONVERT(varchar(20), routing_tool.operation_id)=b.orderRef6 + + + + + + + + + update plm_project_tool_applyHeader set status_code='10' , status='下达' where site=#{site} and apply_no=#{applyNo} + + + + delete from plm_project_tool_applyHeader where site=#{site} and apply_no=#{applyNo} + + + delete from plm_project_tool_applyDetail where site=#{site} and apply_no=#{applyNo} + + + update plm_project_tool_applyHeader set prNo=#{prNo},remark1=#{remark1},poNo=#{poNo}, + allCost=#{allCost},remark2=#{remark2},supplierName=#{supplierName} where site=#{site} and apply_no=#{applyNo} + + + \ No newline at end of file diff --git a/src/main/resources/mapper/quotation/QuotationHeaderMapper.xml b/src/main/resources/mapper/quotation/QuotationHeaderMapper.xml index e438adfd..326fd29d 100644 --- a/src/main/resources/mapper/quotation/QuotationHeaderMapper.xml +++ b/src/main/resources/mapper/quotation/QuotationHeaderMapper.xml @@ -129,7 +129,7 @@ AND quotation_status like #{quotationStatus} - + · AND project_id like #{projectId}