Browse Source

1127

master
ruanqi 1 year ago
parent
commit
df5e13344d
  1. 94
      src/main/java/com/spring/modules/Tooling/controller/ProjectToolingApplyController.java
  2. 2
      src/main/java/com/spring/modules/Tooling/controller/ToolingApplyController.java
  3. 13
      src/main/java/com/spring/modules/Tooling/data/PlmProjectToolApplyDetailData.java
  4. 19
      src/main/java/com/spring/modules/Tooling/data/PlmProjectToolApplyHeaderData.java
  5. 23
      src/main/java/com/spring/modules/Tooling/data/ProjectToolApplyDaTa.java
  6. 17
      src/main/java/com/spring/modules/Tooling/data/RoutingToolApplyData.java
  7. 82
      src/main/java/com/spring/modules/Tooling/mapper/ProjectToolingApplyMapper.java
  8. 44
      src/main/java/com/spring/modules/Tooling/service/ProjectToolingApplyService.java
  9. 154
      src/main/java/com/spring/modules/Tooling/service/impl/ProjectToolingApplyServiceImpl.java
  10. 180
      src/main/java/com/spring/modules/base/entity/PlmProjectToolApplyDetail.java
  11. 263
      src/main/java/com/spring/modules/base/entity/PlmProjectToolApplyHeader.java
  12. 133
      src/main/resources/mapper/Tooling/ProjectToolingApplyMapper.xml
  13. 2
      src/main/resources/mapper/quotation/QuotationHeaderMapper.xml

94
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<PlmProjectInfoData> inList){
List<RoutingToolApplyData> 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<PlmProjectToolApplyDetailData> 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();
}
}

2
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 {

13
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;
}

19
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;
}

23
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<RoutingToolApplyData> detailList;
}

17
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;
}

82
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<PlmProjectInfoData>
* @throw
*/
IPage<PlmProjectInfoData> projectInfoForToolApply(Page<PlmProjectInfoData> page, @Param("query") PlmProjectInfoData inData);
/**
* @Description TODO
* @Title getProjectPartToolForApply
* @param site
 * @param projectId
* @author rq
* @date 2024/8/28 14:59
* @return List<RoutingToolApplyData>
* @throw
*/
List<RoutingToolApplyData> getProjectPartToolForApply(@Param("site")String site,@Param("projectId")String projectId);
void saveApplyHeader(PlmProjectToolApplyHeader inData);
void saveApplyDetail(List<PlmProjectToolApplyDetail> inData);
void updateRoutingToolRequireFlag(@Param("site") String site,@Param("newApplyNo") String newApplyNo,@Param("flag") String flag);
IPage<PlmProjectToolApplyHeaderData> searchToolApplyHeader(Page<PlmProjectToolApplyHeaderData> page, @Param("query") PlmProjectToolApplyHeaderData inData);
List<PlmProjectToolApplyDetailData> 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);
}

44
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<RoutingToolApplyData>
* @throw
*/
List<RoutingToolApplyData> getProjectPartToolForApply(List<PlmProjectInfoData> inList);
void saveProjectToolApply(ProjectToolApplyDaTa inData);
PageUtils searchToolApplyHeader(PlmProjectToolApplyHeaderData inData);
List<PlmProjectToolApplyDetailData> searchToolApplyDetail(PlmProjectToolApplyHeaderData inData);
void comfirmToolApply(PlmProjectToolApplyHeaderData inData);
void cancelToolApply(PlmProjectToolApplyHeaderData inData);
void saveHeaderMessage(PlmProjectToolApplyHeaderData inData);
}

154
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<PlmProjectInfoData> resultList = this.projectToolingApplyMapper.projectInfoForToolApply(
new Page<PlmProjectInfoData>(inData.getPage(), inData.getLimit()), inData);
return new PageUtils(resultList);
}
@Override
public List<RoutingToolApplyData> getProjectPartToolForApply(List<PlmProjectInfoData> 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<RoutingToolApplyData> result=projectToolingApplyMapper.getProjectPartToolForApply(inList.get(0).getSite(),projectId);
return result;
}
@Override
@Transactional
public void saveProjectToolApply(ProjectToolApplyDaTa inData){
List<RoutingToolApplyData> 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<PlmProjectToolApplyDetail> 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<PlmProjectToolApplyHeaderData> resultList = this.projectToolingApplyMapper.searchToolApplyHeader(
new Page<PlmProjectToolApplyHeaderData>(inData.getPage(), inData.getLimit()), inData);
return new PageUtils(resultList);
}
@Override
public List<PlmProjectToolApplyDetailData> 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);
}
}

180
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;
}
}

263
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;
}
}

133
src/main/resources/mapper/Tooling/ProjectToolingApplyMapper.xml

@ -0,0 +1,133 @@
<?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.spring.modules.Tooling.mapper.ProjectToolingApplyMapper">
<select id="projectInfoForToolApply" parameterType="PlmProjectInfoData" resultType="PlmProjectInfoData">
SELECT project_id,ori_project_id,project_type_db,project_name,status,project_source,customer_id,create_by,
create_date,update_by,update_date,priority,site,id,project_desc,customer_remark,remark,dbo.get_projectTeamName(site,project_id,'owner') projectOwnerName
,dbo.get_projectTeamName(site,project_id,'manager') ProjectManagerName,dbo.plm_get_dictDataLabel('project_info_type_db',project_type_db,site) projectType,
dbo.plm_get_projectBaseDesc(status,'project_status') projectStatusDesc,dbo.plm_get_dictDataLabel('project_info_source',project_source,site) projectSourceDesc,
dbo.plm_get_customer_desc(site,customer_id) customerName,dbo.plm_get_dictDataLabel('project_info_priority',priority,site) priorityDesc,need_date,
dbo.get_projectUserRoleName(site,project_id) userRoleName,bu_no,dbo.plm_get_bu_desc(site,bu_no) buDesc,parent_project_no,
final_customer_id,dbo.plm_get_customer_desc(site,final_customer_id) finalCustomerName
FROM plm_project_info
<where>
<!-- and dbo.plm_get_projectBaseDesc(status,'project_status') !='未发布'-->
<!-- <if test="query.id != null">-->
<!-- AND id = #{query.id}-->
<!-- </if>-->
<if test="query.site != null and query.site != ''">
AND site = #{query.site}
</if>
<if test="query.projectId != null and query.projectId != ''">
AND project_id like #{query.projectId}
</if>
<if test="query.projectType != null and query.projectType != ''">
AND plm_project_info.project_type_db like #{query.projectType}
</if>
<if test="query.projectName != null and query.projectName != ''">
AND plm_project_info.project_name like #{query.projectName}
</if>
<if test="query.projectOwnerName != null and query.projectOwnerName != ''">
AND dbo.get_projectTeamName(site,project_id,'ProjectOwner') like '%' + #{query.projectOwnerName} +'%'
</if>
<!-- <if test="query.userName != null and query.userName != '' and query.userName != 'admin'">-->
<!-- AND project_id in ( select project_id from AccessProject where site=#{query.site} and username=#{query.userName} and searchFlag='Y' )-->
<!-- AND bu_no in ( select bu_no from AccessBu where site=#{query.site} and username=#{query.userName})-->
<!-- </if>-->
</where>
</select>
<select id="getProjectPartToolForApply" resultType="RoutingToolApplyData">
SELECT b.site,b.project_id,d.part_no,b.part_desc,c.routing_revision,c.routing_type,c.alternative_no,c.operation_no,c.operation_name,
d.operation_id,d.tool_id,d.tool_qty,d.remark,e.tool_description,e.standard_cost
,dbo.plm_get_alternativeDesc(c.site,c.part_no,c.routing_revision,c.routing_type,c.alternative_no) alternativeDescription
FROM view_Project_Part b
left join plm_routing_component c on b.site=c.site and b.test_part_no=c.part_no
left join routing_tool d on c.site=d.site and c.part_no=d.part_no and c.routing_revision=d.routing_revision and c.routing_type=d.routing_type
and c.operation_id=d.operation_id
left join tool_header e on d.site=e.site and d.tool_id=e.tool_id
where b.site=#{site} and b.project_id in ${projectId} and d.tool_id is not null and b.active='Y'
order by b.project_id,d.part_no,c.routing_revision,c.routing_type,c.alternative_no,c.operation_no
</select>
<insert id="saveApplyHeader">
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>
<insert id="saveApplyDetail">
INSERT INTO plm_project_tool_applyDetail (site,apply_no,seqNo,tool_id,standard_cost,applyQty,remark,orderRef1,orderRef2,orderRef3,orderRef4,orderRef5,orderRef6) values
<foreach collection="list" item="item" index="index" separator=",">
(#{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})
</foreach>
</insert>
<update id="updateRoutingToolRequireFlag">
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>
<select id="searchToolApplyHeader" resultType="PlmProjectToolApplyHeaderData">
SELECT site,apply_no,apply_by,status_code,status,apply_date,applySumQty,applyReason,remark,create_by,create_date,update_by,
update_date,prNo,remark1,poNo,allCost,remark2,supplierName
FROM plm_project_tool_applyHeader
<where>
<if test="query.site != null and query.site != ''">
AND site = #{query.site}
</if>
<if test="query.applyNo != null and query.applyNo != ''">
AND apply_no like #{query.applyNo}
</if>
<if test="query.startDate != null and query.startDate != ''">
AND apply_date >= #{query.startDate}
</if>
<if test="query.endDate != null and query.endDate != ''">
AND #{query.endDate} >= apply_date
</if>
<!-- <if test="query.projectOwnerName != null and query.projectOwnerName != ''">-->
<!-- AND dbo.get_projectTeamName(site,project_id,'ProjectOwner') like '%' + #{query.projectOwnerName} +'%'-->
<!-- </if>-->
<!-- <if test="query.userName != null and query.userName != '' and query.userName != 'admin'">-->
<!-- AND project_id in ( select project_id from AccessProject where site=#{query.site} and username=#{query.userName} and searchFlag='Y' )-->
<!-- AND bu_no in ( select bu_no from AccessBu where site=#{query.site} and username=#{query.userName})-->
<!-- </if>-->
</where>
</select>
<select id="searchToolApplyDetail" resultType="PlmProjectToolApplyDetailData">
select a.site,a.apply_no,a.seqNo,a.tool_id,a.standard_cost,a.applyQty,a.remark,a.orderRef1,a.orderRef2,a.orderRef3,a.orderRef4,
a.orderRef5,dbo.plm_get_toolDesc(a.site,a.tool_id) toolDesc,a.orderRef6,b.operation_no,b.operation_name
from plm_project_tool_applyDetail a left join plm_routing_component b on a.orderRef1=b.site and a.orderRef6=convert(varchar(20),b.operation_id)
where a.site=#{site} and a.apply_no=#{applyNo} order by seqNo
</select>
<select id="checkToolApplyHeaderData" resultType="PlmProjectToolApplyHeaderData">
select site,apply_no,apply_by,status_code,status,apply_date,applySumQty,applyReason,remark,create_by,create_date,update_by,
update_date,prNo,remark1,poNo,allCost,remark2,supplierName
FROM plm_project_tool_applyHeader where site=#{site} and apply_no=#{applyNo}
</select>
<update id="comfirmToolApply">
update plm_project_tool_applyHeader set status_code='10' , status='下达' where site=#{site} and apply_no=#{applyNo}
</update>
<delete id="deletetoolingApplyHeader">
delete from plm_project_tool_applyHeader where site=#{site} and apply_no=#{applyNo}
</delete>
<delete id="deletetoolingApplyDetail">
delete from plm_project_tool_applyDetail where site=#{site} and apply_no=#{applyNo}
</delete>
<update id="saveHeaderMessage">
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}
</update>
</mapper>

2
src/main/resources/mapper/quotation/QuotationHeaderMapper.xml

@ -129,7 +129,7 @@
</if>
<if test="quotationStatus != null and quotationStatus != ''">
AND quotation_status like #{quotationStatus}
</if>
</if>·
<if test="projectId != null and projectId != ''">
AND project_id like #{projectId}
</if>

Loading…
Cancel
Save