Browse Source

20211213

master
ruanqi 4 years ago
parent
commit
80f8f9e756
  1. 43
      src/main/java/com/gaotao/modules/base/controller/BaseController.java
  2. 86
      src/main/java/com/gaotao/modules/base/dao/BaseMapper.java
  3. 137
      src/main/java/com/gaotao/modules/base/entity/CopyRoutingData.java
  4. 22
      src/main/java/com/gaotao/modules/base/service/BaseService.java
  5. 86
      src/main/java/com/gaotao/modules/base/service/Impl/BaseServiceImpl.java
  6. 46
      src/main/resources/mapper/base/BaseMapper.xml

43
src/main/java/com/gaotao/modules/base/controller/BaseController.java

@ -1466,4 +1466,47 @@ public class BaseController {
}
return responseData;
}
/**
* @Description 保存复制产品工艺路线
* @Title saveCopyRouting
* @param inData
* @author rq
* @date 2022/1/20 14:10
* @return Object
* @throw
*/
@PostMapping("/saveCopyRouting")
@ResponseBody
public Object saveCopyRouting(@RequestBody CopyRoutingData inData){
ResponseData responseData = new ResponseData();
try {
responseData = baseService.saveCopyRouting(inData);
} catch (Exception e) {
responseData.setMsg(e.getMessage());
responseData.setCode("500");
}
return responseData;
}
/**
* @Description 设为默认
* @Title setDefault
* @param inData
* @author rq
* @date 2022/1/20 14:10
* @return Object
* @throw
*/
@PostMapping("/setDefault")
@ResponseBody
public Object setDefault(@RequestBody RoutingHeaderData inData){
ResponseData responseData = new ResponseData();
try {
responseData = baseService.setDefault(inData);
} catch (Exception e) {
responseData.setMsg(e.getMessage());
responseData.setCode("500");
}
return responseData;
}
}

86
src/main/java/com/gaotao/modules/base/dao/BaseMapper.java

@ -1166,4 +1166,90 @@ public interface BaseMapper {
* @throw
*/
void deleteRoutingChangeCach(@Param("tableName")String tableName);
/**
* @Description 判断工艺路线版本是否存在
* @Title checkRoutingRevNo
* @param inData
* @author rq
* @date 2022/1/20 14:57
* @return int
* @throw
*/
List<RoutingHeaderData> checkRoutingRevNo(CopyRoutingData inData);
/**
* @Description 复制BOM
* @Title copyBom
* @param inData
* @author rq
* @date 2022/1/20 14:57
* @return int
* @throw
*/
void copyBom(CopyRoutingData inData);
/**
* @Description 复制BOM
* @Title copyRoutingDetail
* @param inData
* @author rq
* @date 2022/1/20 14:57
* @return int
* @throw
*/
void copyRoutingDetail(CopyRoutingData inData);
/**
* @Description 复制工具
* @Title copyRoutingTool
* @param
* @author rq
* @date 2022/1/20 15:30
* @return void
* @throw
*/
void copyRoutingTool(CopyRoutingData inData);
/**
* @Description 复制可用机台
* @Title copyAvailableResource
* @param inData
* @author rq
* @date 2022/1/20 15:43
* @return void
* @throw
*/
void copyAvailableResource(CopyRoutingData inData);
/**
* @Description 停用早期版本
* @Title closeOldBom
* @param inData
* @author rq
* @date 2022/1/20 15:50
* @return void
* @throw
*/
void closeOldBom(CopyRoutingData inData);
/**
* @Description
* @Title checkRoutingDefaultFlag
* @param inData
* @author rq
* @date 2022/1/20 16:39
* @return RoutingHeaderData
* @throw
*/
RoutingHeaderData checkRoutingDefaultFlag(RoutingHeaderData inData);
/**
* @Description
* @Title setDefault
* @param inData
* @author rq
* @date 2022/1/20 16:39
* @return RoutingHeaderData
* @throw
*/
void setDefault(RoutingHeaderData inData);
}

137
src/main/java/com/gaotao/modules/base/entity/CopyRoutingData.java

@ -0,0 +1,137 @@
package com.gaotao.modules.base.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
public class CopyRoutingData {
private String site;
private String partNo;
private String revNo;
private String partNo1;
private String revNo1;
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date phaseInDate1;
private String repairFlag1;
private boolean oldFlag;
private boolean toolFlag;
private boolean resourceFlag;
private String user;
private String oldFlag1;
private String toolFlag1;
private String resourceFlag1;
public String getSite() {
return site;
}
public void setSite(String site) {
this.site = site;
}
public String getPartNo() {
return partNo;
}
public void setPartNo(String partNo) {
this.partNo = partNo;
}
public String getRevNo() {
return revNo;
}
public void setRevNo(String revNo) {
this.revNo = revNo;
}
public String getPartNo1() {
return partNo1;
}
public void setPartNo1(String partNo1) {
this.partNo1 = partNo1;
}
public String getRevNo1() {
return revNo1;
}
public void setRevNo1(String revNo1) {
this.revNo1 = revNo1;
}
public Date getPhaseInDate1() {
return phaseInDate1;
}
public void setPhaseInDate1(Date phaseInDate1) {
this.phaseInDate1 = phaseInDate1;
}
public String getRepairFlag1() {
return repairFlag1;
}
public void setRepairFlag1(String repairFlag1) {
this.repairFlag1 = repairFlag1;
}
public boolean isOldFlag() {
return oldFlag;
}
public void setOldFlag(boolean oldFlag) {
this.oldFlag = oldFlag;
}
public boolean isToolFlag() {
return toolFlag;
}
public void setToolFlag(boolean toolFlag) {
this.toolFlag = toolFlag;
}
public boolean isResourceFlag() {
return resourceFlag;
}
public void setResourceFlag(boolean resourceFlag) {
this.resourceFlag = resourceFlag;
}
public String getUser() {
return user;
}
public void setUser(String user) {
this.user = user;
}
public String getOldFlag1() {
return oldFlag1;
}
public void setOldFlag1(String oldFlag1) {
this.oldFlag1 = oldFlag1;
}
public String getToolFlag1() {
return toolFlag1;
}
public void setToolFlag1(String toolFlag1) {
this.toolFlag1 = toolFlag1;
}
public String getResourceFlag1() {
return resourceFlag1;
}
public void setResourceFlag1(String resourceFlag1) {
this.resourceFlag1 = resourceFlag1;
}
}

22
src/main/java/com/gaotao/modules/base/service/BaseService.java

@ -701,4 +701,26 @@ public interface BaseService {
* @throw
*/
ResponseData changeOrderRouting(RoutingHeaderData inData);
/**
* @Description 保存复制产品工艺路线
* @Title saveCopyRouting
* @param inData
* @author rq
* @date 2022/1/20 14:11
* @return ResponseData
* @throw
*/
ResponseData saveCopyRouting(CopyRoutingData inData);
/**
* @Description 设为默认
* @Title setDefault
* @param inData
* @author rq
* @date 2022/1/20 14:11
* @return ResponseData
* @throw
*/
ResponseData setDefault(RoutingHeaderData inData);
}

86
src/main/java/com/gaotao/modules/base/service/Impl/BaseServiceImpl.java

@ -866,7 +866,7 @@ public class BaseServiceImpl implements BaseService {
PartData part1=new PartData();
part1.setPartNo(inData.getPartNo());
part1.setSite(inData.getSite());
List<PartData> partR1 =getPartNoDetail(part1);
List<PartData> partR1 =baseMapper.getPartNoDetail(part1);
if (partR1.size()==0){
responseData.setMsg("该物料编码不存在或者不可用!");
responseData.setCode("500");
@ -1432,4 +1432,88 @@ public class BaseServiceImpl implements BaseService {
return responseData;
}
@Override
@Transactional
public ResponseData saveCopyRouting(CopyRoutingData inData){
ResponseData responseData = new ResponseData();
if(inData.isResourceFlag()){
inData.setResourceFlag1("Y");
}else {
inData.setResourceFlag1("N");
}
if(inData.isOldFlag()){
inData.setOldFlag1("Y");
}else {
inData.setOldFlag1("N");
}
if(inData.isToolFlag()){
inData.setToolFlag1("Y");
}else {
inData.setToolFlag1("N");
}
PartData part1=new PartData();
part1.setPartNo(inData.getPartNo1());
part1.setSite(inData.getSite());
List<PartData> partR1 =baseMapper.getPartNoDetail(part1);
if (partR1.size()==0){
responseData.setMsg("该物料编码不存在或者不可用!");
responseData.setCode("500");
return responseData;
}
String partTypeDb =partR1.get(0).getPartTypeDb();
if((!"F".equals(partTypeDb))&&(!"W".equals(partTypeDb))&&(!"T".equals(partTypeDb))){
responseData.setMsg("该物料编码不是\"产成品\"或者\"半成品\"或者\"贸易商品\"!");
responseData.setCode("500");
return responseData;
}
//如果新老物料号不同那么需要判断新的物料是否是虚拟件
if((!inData.getPartNo().equals(inData.getPartNo1()))&&"Y".equals(inData.getRepairFlag1())&&"V".equals(partR1.get(0).getmRPCode())){
responseData.setMsg("该物料是虚拟物料(MRP编码=V),因此不能有修复版本!");
responseData.setCode("500");
return responseData;
}
//判断该版本是否存在
List<RoutingHeaderData> checkRevNo=baseMapper.checkRoutingRevNo(inData);
if(checkRevNo.size()>0){
responseData.setMsg("该版本已经存在,请重新输入!");
responseData.setCode("500");
return responseData;
}
//复制BOM
baseMapper.copyBom(inData);
baseMapper.copyRoutingDetail(inData);
if(inData.isToolFlag()){
//如果选中该标识那么复制工具
baseMapper.copyRoutingTool(inData);
}
if(inData.isResourceFlag()){
//复制可用机台
baseMapper.copyAvailableResource(inData);
}
if(inData.isOldFlag()){
//如果要自动停用早期版本
baseMapper.closeOldBom(inData);
}
responseData.setCode("200");
responseData.setSuccess(true);
responseData.setMsg("操作成功!");
return responseData;
}
@Override
public ResponseData setDefault(RoutingHeaderData inData){
ResponseData responseData = new ResponseData();
RoutingHeaderData checkRoutingDefaultFlag=baseMapper.checkRoutingDefaultFlag(inData);
if("Y".equals(checkRoutingDefaultFlag.getDefaultflag())){
responseData.setMsg("该版本已为默认,不需要设置!");
responseData.setCode("500");
return responseData;
}
baseMapper.setDefault(inData);
responseData.setCode("200");
responseData.setSuccess(true);
responseData.setMsg("操作成功!");
return responseData;
}
}

46
src/main/resources/mapper/base/BaseMapper.xml

@ -445,7 +445,7 @@
</select>
<select id="getPartNoDetail" resultType="com.gaotao.modules.base.entity.PartData" >
select partDescription,umid,spec from Part Where Site=#{site} and PartNo=#{partNo} and Active='Y'
select partDescription,umid,spec,PartType_DB,MRPCode from Part Where Site=#{site} and PartNo=#{partNo} and Active='Y'
</select>
<select id="getSupplierDetail" resultType="com.gaotao.modules.base.entity.SupplierData" >
@ -842,4 +842,48 @@ dbo.Get_Part_DescSpec(site,WX_PartNo) as wxSpec,dbo.Get_WorkCenter_Type(Site,Wor
<delete id="deleteRoutingChangeCach">
Drop table ${tableName}
</delete>
<select id="checkRoutingRevNo" parameterType="com.gaotao.modules.base.entity.RoutingHeaderData" resultType="com.gaotao.modules.base.entity.RoutingHeaderData">
Select Site ,PartNo from RoutingHeader where Site=#{site} and PartNo=#{partNo1} and RevNo=#{revNo1}
</select>
<insert id="copyBom" parameterType="com.gaotao.modules.base.entity.CopyRoutingData">
Insert into RoutingHeader(Site,PartNo,RevNo,PhaseInDate,PhaseOutDate,RoutingType_DB,RoutingType,Status,Status_DB,Remark,Defaultflag,RepairFlag)
Select Site ,#{partNo1},#{revNo1},#{phaseInDate1},null,RoutingType_DB,RoutingType,'试验','T','',#{oldFlag1},
#{repairFlag1} FROM RoutingHeader where Site=#{site} and PartNo=#{partNo} and RevNo=#{revNo}
</insert>
<insert id="copyRoutingDetail" parameterType="com.gaotao.modules.base.entity.CopyRoutingData">
Insert into RoutingDetail(Site,PartNo,RevNo,ItemNo,OperationDesc,WorkCenterNo,MachSetupTime,MachRunFactor,FactorUnit_DB,FactorUnit,Efficiency,Crewsize,Remark,WX_PartNo,WX_UnitCost)
Select Site,#{partNo1},#{revNo1},ItemNo,OperationDesc,WorkCenterNo,MachSetupTime,MachRunFactor,FactorUnit_DB,FactorUnit,Efficiency,Crewsize,Remark,WX_PartNo,WX_UnitCost
from RoutingDetail where Site=#{site} and PartNo=#{partNo} and RevNo=#{revNo}
</insert>
<insert id="copyRoutingTool" parameterType="com.gaotao.modules.base.entity.CopyRoutingData">
Insert into RoutingTool(Site,PartNo,RevNo,ItemNo,ToolID,ToolQty,Remark,CreateDate,CreatedBy)
Select Site,#{partNo1},#{revNo1},ItemNo,ToolID,ToolQty,Remark,getdate(),#{user}
from RoutingTool where Site=#{site} and PartNo=#{partNo} and RevNo=#{revNo}
</insert>
<insert id="copyAvailableResource" parameterType="com.gaotao.modules.base.entity.CopyRoutingData">
Insert into RoutingDetail_AvailableResource(Site,PartNo,RevNo,ItemNo,ResourceID)
Select Site,#{partNo1},#{revNo1},ItemNo,ResourceID from RoutingDetail_AvailableResource as T
where T.Site=#{site} and T.PartNo=#{partNo} and T.RevNo=#{revNo}
</insert>
<update id="closeOldBom" parameterType="com.gaotao.modules.base.entity.CopyRoutingData">
Update RoutingHeader
Set PhaseOutDate=(Case when Status_DB!='S' then #{phaseInDate1} else PhaseOutDate end),Status_DB='S',Status='停用',DefaultFlag='N'
where Site=#{site} and PartNo=#{partNo} and RevNo=#{revNo}
</update>
<select id="checkRoutingDefaultFlag" resultType="com.gaotao.modules.base.entity.RoutingHeaderData">
SELECT top 1 Defaultflag
FROM RoutingHeader where Site=#{site} and PartNo=#{partNo} and RevNo=#{revNo}
</select>
<update id="setDefault">
update RoutingHeader set Defaultflag = case when RevNo=#{revNo} then 'Y' else 'N' end
where Site=#{site} and PartNo=#{partNo}
</update>
</mapper>
Loading…
Cancel
Save