Compare commits
	
		
			5 Commits
		
	
	
		
			cicd
			...
			df44cf308f
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| df44cf308f | |||
| 57b79b4f0e | |||
|  | a8d3147ac9 | ||
|  | 550a2f796b | ||
| 25d21ef884 | 
							
								
								
									
										155
									
								
								ym-admin/src/main/java/com/cnbm/admin/base/BaseSupport.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										155
									
								
								ym-admin/src/main/java/com/cnbm/admin/base/BaseSupport.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,155 @@ | ||||
| /* | ||||
|  * Copyright (c) 2018. | ||||
|  * http://www.ulabcare.com | ||||
|  */ | ||||
|  | ||||
| package com.cnbm.admin.base; | ||||
|  | ||||
| import com.cnbm.admin.entity.LoginUser; | ||||
| import com.cnbm.admin.enums.WhetherEnum; | ||||
| import lombok.Builder; | ||||
| import lombok.Data; | ||||
| import org.apache.commons.lang3.StringUtils; | ||||
| import org.springframework.beans.BeanUtils; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.core.NamedThreadLocal; | ||||
| import org.springframework.security.authentication.AuthenticationManager; | ||||
| import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; | ||||
| import org.springframework.security.core.Authentication; | ||||
| import org.springframework.security.core.context.SecurityContextHolder; | ||||
| import org.springframework.stereotype.Service; | ||||
| import org.springframework.web.context.request.RequestContextHolder; | ||||
| import org.springframework.web.context.request.ServletRequestAttributes; | ||||
|  | ||||
| import javax.servlet.http.HttpServletRequest; | ||||
| import javax.servlet.http.HttpServletResponse; | ||||
| import javax.servlet.http.HttpSession; | ||||
| import java.io.Serializable; | ||||
| import java.time.LocalDateTime; | ||||
| import java.util.HashMap; | ||||
| import java.util.Map; | ||||
| import java.util.Objects; | ||||
| import java.util.concurrent.TimeUnit; | ||||
|  | ||||
| /** | ||||
|  * 接口支持基类 | ||||
|  * | ||||
|  * @author jiff | ||||
|  * @date 2018/11/1 | ||||
|  * @since 1.0 | ||||
|  */ | ||||
| @Service | ||||
| public class BaseSupport { | ||||
|  | ||||
|     /** | ||||
|      * 获取当前登录用户信息 | ||||
|      * | ||||
|      * @return | ||||
|      */ | ||||
|     protected LoginUser getLoginUser() { | ||||
|         UsernamePasswordAuthenticationToken authentication = (UsernamePasswordAuthenticationToken) SecurityContextHolder.getContext().getAuthentication(); | ||||
|  | ||||
|         if (Objects.isNull(authentication)) { | ||||
|             LoginUser loginUser = (LoginUser) authentication.getPrincipal(); | ||||
|             return loginUser; | ||||
|         } | ||||
|         return null; | ||||
|     } | ||||
|  | ||||
|  | ||||
|     /** | ||||
|      * 设置公共字段值,一般用于创建新记录,包含以下字段: | ||||
|      * | ||||
|      * <p> | ||||
|      * {@link CommonField#enabled}<br> | ||||
|      * {@link CommonField#valid}<br> | ||||
|      * {@link CommonField#creatorId}<br> | ||||
|      * {@link CommonField#creatorName}<br> | ||||
|      * {@link CommonField#createTime}<br> | ||||
|      * {@link CommonField#updaterId}<br> | ||||
|      * {@link CommonField#updaterName}<br> | ||||
|      * {@link CommonField#updateTime}<br> | ||||
|      * </p> | ||||
|      * | ||||
|      * @param t                需要设置的对象 | ||||
|      * @param ignoreProperties 忽略的字段 | ||||
|      * @param <T> | ||||
|      */ | ||||
|     public <T extends Serializable> T setCommonField(T t, String... ignoreProperties) { | ||||
|  | ||||
|         CommonField commonField = CommonField.builder() | ||||
|                 .enabled(WhetherEnum.YES.getValue()) | ||||
|                 .valid(WhetherEnum.YES.getValue()) | ||||
|                 .createTime(LocalDateTime.now()) | ||||
|                 .creatorId(getLoginUser().getSysUserEntity().getId()) | ||||
|                 .creatorName(getLoginUser().getUsername()) | ||||
|                 .updateTime(LocalDateTime.now()) | ||||
|                 .updaterId(getLoginUser().getSysUserEntity().getId()) | ||||
|                 .updaterName(getLoginUser().getUsername()) | ||||
|                 .build(); | ||||
|         BeanUtils.copyProperties(commonField, t, ignoreProperties); | ||||
|         return t; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 设置更新的公共字段值,一般用于更新记录,包含以下字段: | ||||
|      * | ||||
|      * <p> | ||||
|      * {@link CommonField#updaterId}<br> | ||||
|      * {@link CommonField#updaterName}<br> | ||||
|      * {@link CommonField#updateTime}<br> | ||||
|      * </p> | ||||
|      * | ||||
|      * @param t   需要设置的对象 | ||||
|      * @param <T> | ||||
|      */ | ||||
|     public <T extends Serializable> T setUpdateCommonField(T t) { | ||||
|         CommonField commonField = CommonField.builder() | ||||
|                 .updaterId(getLoginUser().getSysUserEntity().getId()) | ||||
|                 .updaterName(getLoginUser().getUsername()) | ||||
|                 .updateTime(LocalDateTime.now()) | ||||
|                 .build(); | ||||
|         BeanUtils.copyProperties(commonField, t, "enabled", "valid"); | ||||
|         return t; | ||||
|     } | ||||
|  | ||||
|     @Data | ||||
|     @Builder | ||||
|     private static class CommonField implements Serializable { | ||||
|         /** | ||||
|          * 启用状态:0 、停用,1、启用 | ||||
|          */ | ||||
|         private Integer enabled; | ||||
|         /** | ||||
|          * 删除标志,是否有效:1 可用 0不可用 | ||||
|          */ | ||||
|         private Integer valid; | ||||
|  | ||||
|         /** | ||||
|          * 创建人 | ||||
|          */ | ||||
|         private Long creatorId; | ||||
|         /** | ||||
|          * 创建人 | ||||
|          */ | ||||
|         private String creatorName; | ||||
|         /** | ||||
|          * 创建时间 | ||||
|          */ | ||||
|         private LocalDateTime createTime; | ||||
|  | ||||
|  | ||||
|         /** | ||||
|          * 更新人 | ||||
|          */ | ||||
|         private Long updaterId; | ||||
|         /** | ||||
|          * 更新人 | ||||
|          */ | ||||
|         private String updaterName; | ||||
|         /** | ||||
|          * 更新时间 | ||||
|          */ | ||||
|         private LocalDateTime updateTime; | ||||
|     } | ||||
| } | ||||
| @@ -7,6 +7,10 @@ import com.cnbm.dispatch.enums.kuka.step2.Step2Mes2PlcVar; | ||||
| import com.cnbm.dispatch.enums.kuka.step2.Step2Plc2MesVar; | ||||
| import com.cnbm.dispatch.enums.kuka.step3.Step3Mes2PlcVar; | ||||
| import com.cnbm.dispatch.enums.kuka.step3.Step3Plc2MesVar; | ||||
| import com.cnbm.packing.dto.CamlineExtendArgDTO; | ||||
| import com.cnbm.packing.entity.WoPackagingBox; | ||||
| import com.cnbm.packing.entity.WoPackagingBoxSubstrate; | ||||
| import com.cnbm.packing.entity.WoPowerLevel; | ||||
| import com.cnbm.packing.service.*; | ||||
| import com.cnbm.s7.s7connector.enmuc.S7Client; | ||||
| import com.cnbm.s7.s7connector.type.PlcVar; | ||||
| @@ -18,6 +22,8 @@ import org.springframework.boot.ApplicationRunner; | ||||
| import org.springframework.core.annotation.Order; | ||||
| import org.springframework.stereotype.Component; | ||||
|  | ||||
| import java.time.LocalDateTime; | ||||
| import java.util.Arrays; | ||||
| import java.util.Date; | ||||
| import java.util.concurrent.Executors; | ||||
| import java.util.concurrent.ScheduledExecutorService; | ||||
| @@ -150,199 +156,191 @@ public class KukaJoinThread implements ApplicationRunner { | ||||
|     @Override | ||||
|     public void run(ApplicationArguments args) throws Exception { | ||||
|  | ||||
| //        kukaStep1.scheduleAtFixedRate(new Runnable() { | ||||
| //            @Override | ||||
| //            public void run() { | ||||
|         kukaStep1.scheduleAtFixedRate(new Runnable() { | ||||
|             @Override | ||||
|             public void run() { | ||||
|                 //调度开始 | ||||
| //                logger.info(""); | ||||
| //                logger.info("=================  现在开始执行 过程一 任务   =================="); | ||||
| //            } | ||||
| //        },1,1, TimeUnit.SECONDS); | ||||
|                 Integer subArrived = waitingForTarget(Step1Plc2MesVar.SubArrivedToMes, true); | ||||
|                 if(subArrived != 1){ | ||||
|                     logger.info("失败"+" --- "+" MES监听 Step1Plc2MesVar.SubArrivedToMes 是否 等于 1 失败"); | ||||
|                 } | ||||
|  | ||||
|                 //一. 从plc 中获取 subId 和 lineNum | ||||
|                 String subId = (String) read(S7Client.S7_KUKA,Step1Plc2MesVar.SubIdToMes); | ||||
|                 Integer lineNum = (Integer) read(S7Client.S7_KUKA,Step1Plc2MesVar.LineNum); | ||||
|  | ||||
|  | ||||
|                 //二. MES 业务 | ||||
|                 //===============           MES 业务 开始         ================= | ||||
|                 //1. 从comline数据库中获取 实际pmpp | ||||
|                 float pmppBySubId = service.getPMPPBySubId(subId); | ||||
|                 //2. 匹配和计算补偿功率 | ||||
|                 float actualPMPP = compensationPowerServiceBiz.calculCompensationPMPP(pmppBySubId,lineNum); | ||||
|                 //3. 依据补偿功率,获取工艺参数,并且把这些工艺参数传给kuka | ||||
|                 WoPowerLevel argByPMPP = levelServiceBiz.getArgByPMPP(actualPMPP, lineNum); | ||||
|                 write(S7Client.S7_KUKA,Step1Mes2PlcVar.dLable_Pnom,Integer.valueOf(argByPMPP.getPowerClass())); | ||||
|                 write(S7Client.S7_KUKA,Step1Mes2PlcVar.dLable_Voc,argByPMPP.getLableVoc()); | ||||
|                 write(S7Client.S7_KUKA,Step1Mes2PlcVar.dLable_Isc,argByPMPP.getLableIsc()); | ||||
|                 write(S7Client.S7_KUKA,Step1Mes2PlcVar.dLable_Vmpp,argByPMPP.getLableVmpp()); | ||||
|                 write(S7Client.S7_KUKA,Step1Mes2PlcVar.dLable_Impp,argByPMPP.getLableImpp()); | ||||
|                 logger.info("采集到 基板ID: "+subId+", 线边号:"+lineNum+",dLable_Pnom: "+argByPMPP.getPowerClass() +",dLable_Voc: "+argByPMPP.getLableVoc()+",dLable_Isc: "+argByPMPP.getLableIsc()+",dLable_Vmpp: "+argByPMPP.getLableVmpp()+",dLable_Impp: "+argByPMPP.getLableImpp()); | ||||
|  | ||||
| //        kukaStep1.scheduleAtFixedRate(new Runnable() { | ||||
| //            @Override | ||||
| //            public void run() { | ||||
| //                //调度开始 | ||||
| ////                logger.info(""); | ||||
| ////                logger.info("=================  现在开始执行 过程一 任务   =================="); | ||||
| //                Integer subArrived = waitingForTarget(Step1Plc2MesVar.SubArrivedToMes, true); | ||||
| //                if(subArrived != 1){ | ||||
| //                    logger.info("失败"+" --- "+" MES监听 Step1Plc2MesVar.SubArrivedToMes 是否 等于 1 失败"); | ||||
| //                } | ||||
| // | ||||
| //                //一. 从plc 中获取 subId 和 lineNum | ||||
| //                String subId = (String) read(S7Client.S7_KUKA,Step1Plc2MesVar.SubIdToMes); | ||||
| //                Integer lineNum = (Integer) read(S7Client.S7_KUKA,Step1Plc2MesVar.LineNum); | ||||
| //                logger.info("采集到 基板ID: "+subId+", 线边号:"+lineNum); | ||||
| // | ||||
| //                //二. MES 业务 | ||||
| //                //===============           MES 业务 开始         ================= | ||||
| //                //1. 从comline数据库中获取 实际pmpp | ||||
| //                float pmppBySubId = service.getPMPPBySubId(subId); | ||||
| //                //2. 匹配和计算补偿功率 | ||||
| //                float actualPMPP = compensationPowerServiceBiz.calculCompensationPMPP(pmppBySubId,lineNum); | ||||
| //                //3. 依据补偿功率,获取工艺参数,并且把这些工艺参数传给kuka | ||||
| //                WoPowerLevel argByPMPP = levelServiceBiz.getArgByPMPP(actualPMPP, lineNum); | ||||
| //                write(S7Client.S7_KUKA,Step1Mes2PlcVar.dLable_Pnom,Integer.valueOf(argByPMPP.getPowerClass())); | ||||
| //                write(S7Client.S7_KUKA,Step1Mes2PlcVar.dLable_Voc,argByPMPP.getLableVoc()); | ||||
| //                write(S7Client.S7_KUKA,Step1Mes2PlcVar.dLable_Isc,argByPMPP.getLableIsc()); | ||||
| //                write(S7Client.S7_KUKA,Step1Mes2PlcVar.dLable_Vmpp,argByPMPP.getLableVmpp()); | ||||
| //                write(S7Client.S7_KUKA,Step1Mes2PlcVar.dLable_Impp,argByPMPP.getLableImpp()); | ||||
| // | ||||
| // | ||||
| // | ||||
| //                //4. 把基板录到数据库 | ||||
| //                WoPackagingBoxSubstrate woPackagingBoxSubstrate = new WoPackagingBoxSubstrate(); | ||||
| //                woPackagingBoxSubstrate.setLineBody(lineNum); | ||||
| //                woPackagingBoxSubstrate.setPowerLevel(argByPMPP.getPowerClass()); | ||||
| //                woPackagingBoxSubstrate.setSapMaterial(argByPMPP.getSapMaterialNum()); | ||||
| //                woPackagingBoxSubstrate.setWoSubstrateId(subId); | ||||
| // | ||||
| //                //5. 从camline那里获取可变字段 | ||||
| //                CamlineExtendArgDTO extendArgFromCamline = service.getExtendArgFromCamline(subId); | ||||
| //                woPackagingBoxSubstrate.setLastUpdateTime(extendArgFromCamline.getLastUpdateTime()); | ||||
| //                woPackagingBoxSubstrate.setPmpp(actualPMPP); | ||||
| //                woPackagingBoxSubstrate.setOrderName(extendArgFromCamline.getOrderName()); | ||||
| //                woPackagingBoxSubstrate.setBinclassFl1(extendArgFromCamline.getBinclassFl1()); | ||||
| //                woPackagingBoxSubstrate.setBinclassFl2(extendArgFromCamline.getBinclassFl2()); | ||||
| //                woPackagingBoxSubstrate.setEtaFl1(extendArgFromCamline.getEtaFl1()); | ||||
| //                woPackagingBoxSubstrate.setEtaFl2(extendArgFromCamline.getEtaFl2()); | ||||
| //                woPackagingBoxSubstrate.setFfFl1(extendArgFromCamline.getFfFl1()); | ||||
| //                woPackagingBoxSubstrate.setFfFl2(extendArgFromCamline.getFfFl2()); | ||||
| //                woPackagingBoxSubstrate.setImppFl1(extendArgFromCamline.getImppFl1()); | ||||
| //                woPackagingBoxSubstrate.setImppFl2(extendArgFromCamline.getImppFl2()); | ||||
| //                woPackagingBoxSubstrate.setInsolflashcontrolFl1(extendArgFromCamline.getInsolflashcontrolFl1()); | ||||
| //                woPackagingBoxSubstrate.setInsolflashcontrolFl2(extendArgFromCamline.getInsolflashcontrolFl2()); | ||||
| //                woPackagingBoxSubstrate.setInsolmppFl1(extendArgFromCamline.getInsolmppFl1()); | ||||
| //                woPackagingBoxSubstrate.setInsolmppFl2(extendArgFromCamline.getInsolmppFl2()); | ||||
| //                woPackagingBoxSubstrate.setInsolvocFl1(extendArgFromCamline.getInsolvocFl1()); | ||||
| //                woPackagingBoxSubstrate.setInsolvocFl2(extendArgFromCamline.getInsolvocFl2()); | ||||
| //                woPackagingBoxSubstrate.setInsolFl1(extendArgFromCamline.getInsolFl1()); | ||||
| //                woPackagingBoxSubstrate.setInsolFl2(extendArgFromCamline.getInsolFl2()); | ||||
| //                woPackagingBoxSubstrate.setIscFl1(extendArgFromCamline.getIscFl1()); | ||||
| //                woPackagingBoxSubstrate.setIscFl2(extendArgFromCamline.getIscFl2()); | ||||
| //                woPackagingBoxSubstrate.setMeasTimeFl1(extendArgFromCamline.getMeasTimeFl1()); | ||||
| //                woPackagingBoxSubstrate.setMeasTimeFl2(extendArgFromCamline.getMeasTimeFl2()); | ||||
| //                woPackagingBoxSubstrate.setPmppFl1(extendArgFromCamline.getPmppFl1()); | ||||
| //                woPackagingBoxSubstrate.setPmppFl2(extendArgFromCamline.getPmppFl2()); | ||||
| //                woPackagingBoxSubstrate.setTcellFl1(extendArgFromCamline.getTcellFl1()); | ||||
| //                woPackagingBoxSubstrate.setTcellFl2(extendArgFromCamline.getTcellFl2()); | ||||
| //                woPackagingBoxSubstrate.setTmonicellFl1(extendArgFromCamline.getTmonicellFl1()); | ||||
| //                woPackagingBoxSubstrate.setTmonicellFl2(extendArgFromCamline.getTmonicellFl2()); | ||||
| //                woPackagingBoxSubstrate.setUmppFl1(extendArgFromCamline.getUmppFl1()); | ||||
| //                woPackagingBoxSubstrate.setUmppFl2(extendArgFromCamline.getUmppFl2()); | ||||
| //                woPackagingBoxSubstrate.setUocFl1(extendArgFromCamline.getUocFl1()); | ||||
| //                woPackagingBoxSubstrate.setUocFl1(extendArgFromCamline.getUocFl2()); | ||||
| // | ||||
| //                substrateServiceBiz.insert(woPackagingBoxSubstrate); | ||||
| //                //===============           MES 业务 结束         ================= | ||||
| // | ||||
| //                //三. 当MES完成任务后,把MesToPlc.SubArrivedFinish变量置为true,告诉plc,我操作完成了 | ||||
| //                write(S7Client.S7_KUKA,Step1Mes2PlcVar.SubArrivedFinish,true); | ||||
| // | ||||
| //                //四. mes 监控 到PlcToMes.SubArrived==false,就把MesToPlc.SubArrivedFinish置为false | ||||
| //                Integer subArrived2 = waitingForTarget(Step1Plc2MesVar.SubArrivedToMes, false); | ||||
| //                if(subArrived2 != 1){ | ||||
| //                    logger.info("失败"+" --- "+"MES监听 Step1Plc2MesVar.SubArrivedToMes 是否 等于 1 失败"); | ||||
| //                } | ||||
| //                write(S7Client.S7_KUKA,Step1Mes2PlcVar.SubArrivedFinish,false); | ||||
| //            } | ||||
| //        },1,1, TimeUnit.SECONDS); | ||||
| // | ||||
| // | ||||
| //        kukaStep2.scheduleAtFixedRate(new Runnable() { | ||||
| //            @Override | ||||
| //            public void run() { | ||||
| //                //调度开始 | ||||
| // | ||||
| //                Integer shelfIsFull = waitingForTarget(Step2Plc2MesVar.ShelfIsFull, true); | ||||
| //                if(shelfIsFull != 1){ | ||||
| //                    logger.info("失败"+" --- "+"MES监听 Step2Plc2MesVar.ShelfIsFull 是否 等于 1 失败"); | ||||
| //                } | ||||
| // | ||||
| //                //一. 从plc 中获取 subIdList 和 lineNum | ||||
| //                String[] subIdList = (String[])read(S7Client.S7_KUKA,Step2Plc2MesVar.SubIdList); | ||||
| ////                Integer lineNum = (Integer) read(S7Client.S7_KUKA,Step2Plc2MesVar.LineNum); | ||||
| //                logger.info("获取到基板列表:"+ Arrays.toString(subIdList)); | ||||
| // | ||||
| //                //二. MES 业务 | ||||
| //                //===============           MES 业务 开始         ================= | ||||
| //                //1.MES 生成BoxId | ||||
| //                if(subIdList.length<=0){ | ||||
| //                    logger.info("失败"+" --- "+"从plc里面获取到的基板列表 为空"); | ||||
| //                } | ||||
| //                WoPackagingBoxSubstrate bySubId = substrateServiceBiz.getBySubId(subIdList[0]); | ||||
| //                String boxId = getBoxId(bySubId.getSapMaterial()); | ||||
| //                logger.info("mes 生成的boxId :"+ boxId); | ||||
| //                //2. 依次update 基板表,把boxId 赋予这些基板 | ||||
| //                for(int i=0;i<subIdList.length;i++){ | ||||
| //                    substrateServiceBiz.updatePackagingBoxIdByWoSubstrateId(boxId,subIdList[i]); | ||||
| //                } | ||||
| //                //3.去camline数据库 查询此基板ID 对应的订单 | ||||
| //                String orderNameBySubId = service.getOrderNameBySubId(subIdList[0]); | ||||
| //                //4. box信息录入到box表 | ||||
| //                WoPackagingBox woPackagingBox = new WoPackagingBox(); | ||||
| //                woPackagingBox.setBoxNo(boxId); | ||||
| //                woPackagingBox.setPackagingTime(LocalDateTime.now()); | ||||
| //                woPackagingBox.setPowerLevel(bySubId.getPowerLevel()); | ||||
| //                woPackagingBox.setLineBody(bySubId.getLineBody()); | ||||
| //                woPackagingBox.setSapMaterial(bySubId.getSapMaterial()); | ||||
| //                woPackagingBox.setOrderNum(orderNameBySubId); | ||||
| //                //1-手动模式,2-自动模式 | ||||
| //                woPackagingBox.setModel(2); | ||||
| //                boxServiceBiz.insert(woPackagingBox); | ||||
| //                //===============           MES 业务 结束         ================= | ||||
| // | ||||
| //                //三. 把生成的BoxId 告诉kuka | ||||
| //                write(S7Client.S7_KUKA,Step2Mes2PlcVar.BoxId,boxId); | ||||
| // | ||||
| //                //四. 当MES完成任务后,把MesToPlc.ShelfIsFullFinish变量置为true,告诉plc,我操作完成了 | ||||
| //                write(S7Client.S7_KUKA,Step2Mes2PlcVar.ShelfIsFullFinish,true); | ||||
| // | ||||
| //                //四. mes 监控 到PlcToMes.SubArrived==false,就把MesToPlc.SubArrivedFinish置为false | ||||
| //                Integer subArrived2 = waitingForTarget(Step2Plc2MesVar.ShelfIsFull, false); | ||||
| //                if(subArrived2 != 1){ | ||||
| //                    logger.info("失败"+" --- "+"步骤1.  MES监听 Step1Plc2MesVar.SubArrivedToMes 是否 等于 1 失败"); | ||||
| //                } | ||||
| //                write(S7Client.S7_KUKA,Step2Mes2PlcVar.ShelfIsFullFinish,false); | ||||
| //            } | ||||
| //        },1,1, TimeUnit.SECONDS); | ||||
| // | ||||
| // | ||||
| //        kukaStep3.scheduleAtFixedRate(new Runnable() { | ||||
| //            @Override | ||||
| //            public void run() { | ||||
| //                //调度开始 | ||||
| //                Integer shelfIsFull = waitingForTarget(Step3Plc2MesVar.ShelfIsFullArrived, true); | ||||
| //                if(shelfIsFull != 1){ | ||||
| //                    logger.info("失败"+" --- "+"MES监听 Step3Plc2MesVar.ShelfIsFullArrived 是否 等于 1 失败"); | ||||
| //                } | ||||
| // | ||||
| //                //一. 从plc 中获取 subIdList 和 lineNum | ||||
| //                String boxId = (String)read(S7Client.S7_KUKA,Step3Plc2MesVar.BoxId); | ||||
| //                Integer lineNum = (Integer) read(S7Client.S7_KUKA,Step3Plc2MesVar.LineNum); | ||||
| //                logger.info("到达站台的boxId :"+boxId); | ||||
| // | ||||
| //                //二. MES 业务 | ||||
| //                //===============           MES 业务 开始         ================= | ||||
| //                //1. box信息录入到box表 | ||||
| //                boxServiceBiz.updateIsArrivedByBoxNo(1,boxId); | ||||
| //                //===============           MES 业务 结束         ================= | ||||
| // | ||||
| // | ||||
| //                //四. 当MES完成任务后,把MesToPlc.ShelfIsFullArrivedFinish变量置为true,告诉plc,我操作完成了 | ||||
| //                write(S7Client.S7_KUKA,Step3Mes2PlcVar.ShelfIsFullArrivedFinish,true); | ||||
| // | ||||
| //                //四. mes 监控 到PlcToMes.SubArrived==false,就把MesToPlc.SubArrivedFinish置为false | ||||
| //                Integer subArrived2 = waitingForTarget(Step3Plc2MesVar.ShelfIsFullArrived, false); | ||||
| //                if(subArrived2 != 1){ | ||||
| //                    logger.info("失败"+" --- "+"步骤1.  MES监听 Step3Plc2MesVar.ShelfIsFullArrived 是否 等于 1 失败"); | ||||
| //                } | ||||
| //                write(S7Client.S7_KUKA,Step3Mes2PlcVar.ShelfIsFullArrivedFinish,false); | ||||
| // | ||||
| // | ||||
| //            } | ||||
| //        },1,1, TimeUnit.SECONDS); | ||||
|  | ||||
|                 //4. 把基板录到数据库 | ||||
|                 WoPackagingBoxSubstrate woPackagingBoxSubstrate = new WoPackagingBoxSubstrate(); | ||||
|                 woPackagingBoxSubstrate.setLineBody(lineNum); | ||||
|                 woPackagingBoxSubstrate.setPowerLevel(argByPMPP.getPowerClass()); | ||||
|                 woPackagingBoxSubstrate.setSapMaterial(argByPMPP.getSapMaterialNum()); | ||||
|                 woPackagingBoxSubstrate.setWoSubstrateId(subId); | ||||
|  | ||||
|                 //5. 从camline那里获取可变字段 | ||||
|                 CamlineExtendArgDTO extendArgFromCamline = service.getExtendArgFromCamline(subId); | ||||
|                 woPackagingBoxSubstrate.setLastUpdateTime(extendArgFromCamline.getLastUpdateTime()); | ||||
|                 woPackagingBoxSubstrate.setPmpp(actualPMPP); | ||||
|                 woPackagingBoxSubstrate.setOrderName(extendArgFromCamline.getOrderName()); | ||||
|                 woPackagingBoxSubstrate.setBinclassFl1(extendArgFromCamline.getBinclassFl1()); | ||||
|                 woPackagingBoxSubstrate.setBinclassFl2(extendArgFromCamline.getBinclassFl2()); | ||||
|                 woPackagingBoxSubstrate.setEtaFl1(extendArgFromCamline.getEtaFl1()); | ||||
|                 woPackagingBoxSubstrate.setEtaFl2(extendArgFromCamline.getEtaFl2()); | ||||
|                 woPackagingBoxSubstrate.setFfFl1(extendArgFromCamline.getFfFl1()); | ||||
|                 woPackagingBoxSubstrate.setFfFl2(extendArgFromCamline.getFfFl2()); | ||||
|                 woPackagingBoxSubstrate.setImppFl1(extendArgFromCamline.getImppFl1()); | ||||
|                 woPackagingBoxSubstrate.setImppFl2(extendArgFromCamline.getImppFl2()); | ||||
|                 woPackagingBoxSubstrate.setInsolflashcontrolFl1(extendArgFromCamline.getInsolflashcontrolFl1()); | ||||
|                 woPackagingBoxSubstrate.setInsolflashcontrolFl2(extendArgFromCamline.getInsolflashcontrolFl2()); | ||||
|                 woPackagingBoxSubstrate.setInsolmppFl1(extendArgFromCamline.getInsolmppFl1()); | ||||
|                 woPackagingBoxSubstrate.setInsolmppFl2(extendArgFromCamline.getInsolmppFl2()); | ||||
|                 woPackagingBoxSubstrate.setInsolvocFl1(extendArgFromCamline.getInsolvocFl1()); | ||||
|                 woPackagingBoxSubstrate.setInsolvocFl2(extendArgFromCamline.getInsolvocFl2()); | ||||
|                 woPackagingBoxSubstrate.setInsolFl1(extendArgFromCamline.getInsolFl1()); | ||||
|                 woPackagingBoxSubstrate.setInsolFl2(extendArgFromCamline.getInsolFl2()); | ||||
|                 woPackagingBoxSubstrate.setIscFl1(extendArgFromCamline.getIscFl1()); | ||||
|                 woPackagingBoxSubstrate.setIscFl2(extendArgFromCamline.getIscFl2()); | ||||
|                 woPackagingBoxSubstrate.setMeasTimeFl1(extendArgFromCamline.getMeasTimeFl1()); | ||||
|                 woPackagingBoxSubstrate.setMeasTimeFl2(extendArgFromCamline.getMeasTimeFl2()); | ||||
|                 woPackagingBoxSubstrate.setPmppFl1(extendArgFromCamline.getPmppFl1()); | ||||
|                 woPackagingBoxSubstrate.setPmppFl2(extendArgFromCamline.getPmppFl2()); | ||||
|                 woPackagingBoxSubstrate.setTcellFl1(extendArgFromCamline.getTcellFl1()); | ||||
|                 woPackagingBoxSubstrate.setTcellFl2(extendArgFromCamline.getTcellFl2()); | ||||
|                 woPackagingBoxSubstrate.setTmonicellFl1(extendArgFromCamline.getTmonicellFl1()); | ||||
|                 woPackagingBoxSubstrate.setTmonicellFl2(extendArgFromCamline.getTmonicellFl2()); | ||||
|                 woPackagingBoxSubstrate.setUmppFl1(extendArgFromCamline.getUmppFl1()); | ||||
|                 woPackagingBoxSubstrate.setUmppFl2(extendArgFromCamline.getUmppFl2()); | ||||
|                 woPackagingBoxSubstrate.setUocFl1(extendArgFromCamline.getUocFl1()); | ||||
|                 woPackagingBoxSubstrate.setUocFl1(extendArgFromCamline.getUocFl2()); | ||||
|  | ||||
|                 substrateServiceBiz.insert(woPackagingBoxSubstrate); | ||||
|                 //===============           MES 业务 结束         ================= | ||||
|  | ||||
|                 //三. 当MES完成任务后,把MesToPlc.SubArrivedFinish变量置为true,告诉plc,我操作完成了 | ||||
|                 write(S7Client.S7_KUKA,Step1Mes2PlcVar.SubArrivedFinish,true); | ||||
|  | ||||
|                 //四. mes 监控 到PlcToMes.SubArrived==false,就把MesToPlc.SubArrivedFinish置为false | ||||
|                 Integer subArrived2 = waitingForTarget(Step1Plc2MesVar.SubArrivedToMes, false); | ||||
|                 if(subArrived2 != 1){ | ||||
|                     logger.info("失败"+" --- "+"MES监听 Step1Plc2MesVar.SubArrivedToMes 是否 等于 1 失败"); | ||||
|                 } | ||||
|                 write(S7Client.S7_KUKA,Step1Mes2PlcVar.SubArrivedFinish,false); | ||||
|             } | ||||
|         },1,1, TimeUnit.SECONDS); | ||||
|  | ||||
|  | ||||
|         kukaStep2.scheduleAtFixedRate(new Runnable() { | ||||
|             @Override | ||||
|             public void run() { | ||||
|                 //调度开始 | ||||
|  | ||||
|                 Integer shelfIsFull = waitingForTarget(Step2Plc2MesVar.ShelfIsFull, true); | ||||
|                 if(shelfIsFull != 1){ | ||||
|                     logger.info("失败"+" --- "+"MES监听 Step2Plc2MesVar.ShelfIsFull 是否 等于 1 失败"); | ||||
|                 } | ||||
|  | ||||
|                 //一. 从plc 中获取 subIdList 和 lineNum | ||||
|                 String[] subIdList = (String[])read(S7Client.S7_KUKA,Step2Plc2MesVar.SubIdList); | ||||
| //                Integer lineNum = (Integer) read(S7Client.S7_KUKA,Step2Plc2MesVar.LineNum); | ||||
|                 logger.info("获取到基板列表:"+ Arrays.toString(subIdList)); | ||||
|  | ||||
|                 //二. MES 业务 | ||||
|                 //===============           MES 业务 开始         ================= | ||||
|                 //1.MES 生成BoxId | ||||
|                 if(subIdList.length<=0){ | ||||
|                     logger.info("失败"+" --- "+"从plc里面获取到的基板列表 为空"); | ||||
|                 } | ||||
|                 WoPackagingBoxSubstrate bySubId = substrateServiceBiz.getBySubId(subIdList[0]); | ||||
|                 String boxId = getBoxId(bySubId.getSapMaterial()); | ||||
|                 logger.info("mes 生成的boxId :"+ boxId); | ||||
|                 //2. 依次update 基板表,把boxId 赋予这些基板 | ||||
|                 for(int i=0;i<subIdList.length;i++){ | ||||
|                     substrateServiceBiz.updatePackagingBoxIdByWoSubstrateId(boxId,subIdList[i]); | ||||
|                 } | ||||
|                 //3.去camline数据库 查询此基板ID 对应的订单 | ||||
|                 String orderNameBySubId = service.getOrderNameBySubId(subIdList[0]); | ||||
|                 //4. box信息录入到box表 | ||||
|                 WoPackagingBox woPackagingBox = new WoPackagingBox(); | ||||
|                 woPackagingBox.setBoxNo(boxId); | ||||
|                 woPackagingBox.setPackagingTime(LocalDateTime.now()); | ||||
|                 woPackagingBox.setPowerLevel(bySubId.getPowerLevel()); | ||||
|                 woPackagingBox.setLineBody(bySubId.getLineBody()); | ||||
|                 woPackagingBox.setSapMaterial(bySubId.getSapMaterial()); | ||||
|                 woPackagingBox.setOrderNum(orderNameBySubId); | ||||
|                 //1-手动模式,2-自动模式 | ||||
|                 woPackagingBox.setModel(2); | ||||
|                 woPackagingBox.setCreateTime(LocalDateTime.now()); | ||||
|                 boxServiceBiz.insert(woPackagingBox); | ||||
|                 //===============           MES 业务 结束         ================= | ||||
|  | ||||
|                 //三. 把生成的BoxId 告诉kuka | ||||
|                 write(S7Client.S7_KUKA,Step2Mes2PlcVar.BoxId,boxId); | ||||
|  | ||||
|                 //四. 当MES完成任务后,把MesToPlc.ShelfIsFullFinish变量置为true,告诉plc,我操作完成了 | ||||
|                 write(S7Client.S7_KUKA,Step2Mes2PlcVar.ShelfIsFullFinish,true); | ||||
|  | ||||
|                 //四. mes 监控 到PlcToMes.SubArrived==false,就把MesToPlc.SubArrivedFinish置为false | ||||
|                 Integer subArrived2 = waitingForTarget(Step2Plc2MesVar.ShelfIsFull, false); | ||||
|                 if(subArrived2 != 1){ | ||||
|                     logger.info("失败"+" --- "+"步骤1.  MES监听 Step1Plc2MesVar.SubArrivedToMes 是否 等于 1 失败"); | ||||
|                 } | ||||
|                 write(S7Client.S7_KUKA,Step2Mes2PlcVar.ShelfIsFullFinish,false); | ||||
|             } | ||||
|         },1,1, TimeUnit.SECONDS); | ||||
|  | ||||
|  | ||||
|         kukaStep3.scheduleAtFixedRate(new Runnable() { | ||||
|             @Override | ||||
|             public void run() { | ||||
|                 //调度开始 | ||||
|                 Integer shelfIsFull = waitingForTarget(Step3Plc2MesVar.ShelfIsFullArrived, true); | ||||
|                 if(shelfIsFull != 1){ | ||||
|                     logger.info("失败"+" --- "+"MES监听 Step3Plc2MesVar.ShelfIsFullArrived 是否 等于 1 失败"); | ||||
|                 } | ||||
|  | ||||
|                 //一. 从plc 中获取 subIdList 和 lineNum | ||||
|                 String boxId = (String)read(S7Client.S7_KUKA,Step3Plc2MesVar.BoxId); | ||||
|                 Integer lineNum = (Integer) read(S7Client.S7_KUKA,Step3Plc2MesVar.LineNum); | ||||
|                 logger.info("到达站台的boxId :"+boxId); | ||||
|  | ||||
|                 //二. MES 业务 | ||||
|                 //===============           MES 业务 开始         ================= | ||||
|                 //1. box信息录入到box表 | ||||
|                 boxServiceBiz.updateIsArrivedByBoxNo(1,boxId); | ||||
|                 //===============           MES 业务 结束         ================= | ||||
|  | ||||
|  | ||||
|                 //四. 当MES完成任务后,把MesToPlc.ShelfIsFullArrivedFinish变量置为true,告诉plc,我操作完成了 | ||||
|                 write(S7Client.S7_KUKA,Step3Mes2PlcVar.ShelfIsFullArrivedFinish,true); | ||||
|  | ||||
|                 //四. mes 监控 到PlcToMes.SubArrived==false,就把MesToPlc.SubArrivedFinish置为false | ||||
|                 Integer subArrived2 = waitingForTarget(Step3Plc2MesVar.ShelfIsFullArrived, false); | ||||
|                 if(subArrived2 != 1){ | ||||
|                     logger.info("失败"+" --- "+"步骤1.  MES监听 Step3Plc2MesVar.ShelfIsFullArrived 是否 等于 1 失败"); | ||||
|                 } | ||||
|                 write(S7Client.S7_KUKA,Step3Mes2PlcVar.ShelfIsFullArrivedFinish,false); | ||||
|  | ||||
|  | ||||
|             } | ||||
|         },1,1, TimeUnit.SECONDS); | ||||
|  | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -9,6 +9,7 @@ import com.cnbm.dispatch.enums.kuka.step3.Step3Plc2MesVar; | ||||
| import com.cnbm.packing.service.DynamicDataSourceService; | ||||
| import com.cnbm.s7.entity.R; | ||||
| import com.cnbm.s7.s7connector.enmuc.S7Client; | ||||
| import com.cnbm.s7.s7connector.type.PlcVar; | ||||
| import io.swagger.annotations.Api; | ||||
| import io.swagger.annotations.ApiImplicitParam; | ||||
| import io.swagger.annotations.ApiImplicitParams; | ||||
| @@ -20,6 +21,7 @@ import com.cnbm.common.utils.Result; | ||||
| import springfox.documentation.annotations.ApiIgnore; | ||||
|  | ||||
| import java.io.UnsupportedEncodingException; | ||||
| import java.math.BigDecimal; | ||||
| import java.text.ParseException; | ||||
| import java.util.Map; | ||||
|  | ||||
| @@ -124,6 +126,34 @@ public class TestController { | ||||
|         } | ||||
|         return R.ok(); | ||||
|     } | ||||
|  | ||||
|     public static void main(String[] args) { | ||||
|         BigDecimal voc = new BigDecimal(59.799); | ||||
|         System.out.println(Float.valueOf(voc.toString())); | ||||
|     } | ||||
|  | ||||
|     @PostMapping("/testWrite") | ||||
|     public R testWrite() { | ||||
|         BigDecimal voc = new BigDecimal(59.799); | ||||
|         BigDecimal isc = new BigDecimal(3.799); | ||||
|         BigDecimal vmpp = new BigDecimal(46.799); | ||||
|         BigDecimal impp = new BigDecimal(3.0799); | ||||
|         write(S7Client.S7_KUKA,Step1Mes2PlcVar.dLable_Pnom,new Integer(1)); | ||||
|         write(S7Client.S7_KUKA,Step1Mes2PlcVar.dLable_Voc,voc); | ||||
|         write(S7Client.S7_KUKA,Step1Mes2PlcVar.dLable_Isc,isc); | ||||
|         write(S7Client.S7_KUKA,Step1Mes2PlcVar.dLable_Vmpp,vmpp); | ||||
|         write(S7Client.S7_KUKA,Step1Mes2PlcVar.dLable_Impp,impp); | ||||
|  | ||||
|  | ||||
|         write(S7Client.S7_KUKA,Step2Mes2PlcVar.BoxId,"12345678901111111111"); | ||||
|         write(S7Client.S7_KUKA,Step1Mes2PlcVar.SubArrivedFinish,true); | ||||
|         write(S7Client.S7_KUKA,Step2Mes2PlcVar.ShelfIsFullFinish,false); | ||||
|  | ||||
|         write(S7Client.S7_KUKA,Step3Mes2PlcVar.ShelfIsFullArrivedFinish,true); | ||||
|  | ||||
|  | ||||
|         return R.ok(); | ||||
|     } | ||||
|     @PostMapping("/testlogger") | ||||
|     public R testlogger() { | ||||
|         logger.info("test logger"); | ||||
| @@ -159,4 +189,51 @@ public class TestController { | ||||
|         return new Result<String>().ok(service.getExtendArgFromCamline(subId.toString()).toString()); | ||||
|     } | ||||
|  | ||||
|     private void write(S7Client s7Client, Step1Mes2PlcVar var, Object newValue) { | ||||
|         if(var.getType().equals(PlcVar.STRING_Array)){ | ||||
|             String[] s = (String[])newValue; | ||||
|             String[] ss = (String[])newValue; | ||||
|             if(s.length > var.getLength() ){ | ||||
|                 ss = new String[var.getLength()]; | ||||
|                 for(int i=0;i< var.getLength();i++){ | ||||
|                     ss[i] = s[i]; | ||||
|                 } | ||||
|             } | ||||
|             s7Client.write(var.getArea(), var.getAreaNumber(), var.getByteOffset(), var.getBitOffset(), var.getStrSize(), var.getType(),ss); | ||||
|         }else { | ||||
|             s7Client.write(var.getArea(), var.getAreaNumber(), var.getByteOffset(), var.getBitOffset(), var.getStrSize(), var.getType(),newValue); | ||||
|         } | ||||
|     } | ||||
|     private void write(S7Client s7Client, Step2Mes2PlcVar var, Object newValue) { | ||||
|         if(var.getType().equals(PlcVar.STRING_Array)){ | ||||
|             String[] s = (String[])newValue; | ||||
|             String[] ss = (String[])newValue; | ||||
|             if(s.length > var.getLength() ){ | ||||
|                 ss = new String[var.getLength()]; | ||||
|                 for(int i=0;i< var.getLength();i++){ | ||||
|                     ss[i] = s[i]; | ||||
|                 } | ||||
|             } | ||||
|             s7Client.write(var.getArea(), var.getAreaNumber(), var.getByteOffset(), var.getBitOffset(), var.getStrSize(), var.getType(),ss); | ||||
|         }else { | ||||
|             s7Client.write(var.getArea(), var.getAreaNumber(), var.getByteOffset(), var.getBitOffset(), var.getStrSize(), var.getType(),newValue); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     private void write(S7Client s7Client, Step3Mes2PlcVar var, Object newValue) { | ||||
|         if(var.getType().equals(PlcVar.STRING_Array)){ | ||||
|             String[] s = (String[])newValue; | ||||
|             String[] ss = (String[])newValue; | ||||
|             if(s.length > var.getLength() ){ | ||||
|                 ss = new String[var.getLength()]; | ||||
|                 for(int i=0;i< var.getLength();i++){ | ||||
|                     ss[i] = s[i]; | ||||
|                 } | ||||
|             } | ||||
|             s7Client.write(var.getArea(), var.getAreaNumber(), var.getByteOffset(), var.getBitOffset(), var.getStrSize(), var.getType(),ss); | ||||
|         }else { | ||||
|             s7Client.write(var.getArea(), var.getAreaNumber(), var.getByteOffset(), var.getBitOffset(), var.getStrSize(), var.getType(),newValue); | ||||
|         } | ||||
|     } | ||||
|  | ||||
| } | ||||
|   | ||||
| @@ -210,9 +210,9 @@ public class WoPackagingBoxSubstrateController { | ||||
|     @PostMapping("insertSubstrateManual") | ||||
|     @ApiOperation("手动装箱") | ||||
|     @LogOperation("手动装箱") | ||||
|     public Result insertSubstrateManual(@RequestBody ChangePackingBoxDTO dto){ | ||||
|     public Result insertSubstrateManual(@RequestBody ChangePackingBoxDTO[] dtos){ | ||||
|  | ||||
|         woPackagingBoxSubstrateService.insertSubstrateManual(dto); | ||||
|         woPackagingBoxSubstrateService.insertSubstrateManual(dtos); | ||||
|  | ||||
|         return new Result(); | ||||
|     } | ||||
|   | ||||
| @@ -32,7 +32,7 @@ public interface WoPackagingBoxSubstrateServiceBiz extends CrudService<WoPackagi | ||||
|  | ||||
|     void replaceSubstrate(ChangePackingBoxDTO[] dtos); | ||||
|  | ||||
|     void insertSubstrateManual(ChangePackingBoxDTO dto); | ||||
|     void insertSubstrateManual(ChangePackingBoxDTO[] dtos); | ||||
|  | ||||
|     WoPackagingBoxSubstrate getBySubId(String subId); | ||||
|     int updatePackagingBoxIdByWoSubstrateId(String packagingBoxId,String woSubstrateId); | ||||
|   | ||||
| @@ -3,6 +3,8 @@ package com.cnbm.packing.service.impl; | ||||
| import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | ||||
| import com.baomidou.mybatisplus.core.metadata.IPage; | ||||
| import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; | ||||
| import com.cnbm.admin.base.BaseSupport; | ||||
| import com.cnbm.admin.base.BaseSupport; | ||||
| import com.cnbm.common.page.PageData; | ||||
| import com.cnbm.common.service.impl.CrudServiceImpl; | ||||
| import com.cnbm.common.utils.ConvertUtils; | ||||
| @@ -14,6 +16,7 @@ import com.cnbm.packing.entity.WoPowerLevel; | ||||
| import com.cnbm.packing.mapper.ChangePackagingBoxHistoryMapper; | ||||
| import com.cnbm.packing.service.ChangePackagingBoxHistoryServiceBiz; | ||||
| import org.apache.commons.lang3.StringUtils; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.stereotype.Service; | ||||
| import org.springframework.transaction.annotation.Transactional; | ||||
|  | ||||
| @@ -30,6 +33,9 @@ import java.util.Map; | ||||
| @Service | ||||
| public class ChangePackagingBoxHistoryServiceBizImpl extends CrudServiceImpl<ChangePackagingBoxHistoryMapper, ChangePackagingBoxHistory, ChangePackagingBoxHistoryDTO> implements ChangePackagingBoxHistoryServiceBiz { | ||||
|  | ||||
|     @Autowired | ||||
|     private BaseSupport baseSupport; | ||||
|  | ||||
|     @Override | ||||
|     public QueryWrapper<ChangePackagingBoxHistory> getWrapper(Map<String, Object> params){ | ||||
|         LocalDateTime startTime = (LocalDateTime) params.get("startTime"); | ||||
| @@ -65,6 +71,7 @@ public class ChangePackagingBoxHistoryServiceBizImpl extends CrudServiceImpl<Cha | ||||
|     @Transactional(rollbackFor = Exception.class) | ||||
|     public void save(ChangePackagingBoxHistoryDTO dto) { | ||||
|         ChangePackagingBoxHistory entity = ConvertUtils.sourceToTarget(dto, ChangePackagingBoxHistory.class); | ||||
|         baseSupport.setCommonField(entity); | ||||
|         insert(entity); | ||||
|     } | ||||
|  | ||||
| @@ -72,6 +79,7 @@ public class ChangePackagingBoxHistoryServiceBizImpl extends CrudServiceImpl<Cha | ||||
|     @Transactional(rollbackFor = Exception.class) | ||||
|     public void update(ChangePackagingBoxHistoryDTO dto) { | ||||
|         ChangePackagingBoxHistory entity = ConvertUtils.sourceToTarget(dto, ChangePackagingBoxHistory.class); | ||||
|         baseSupport.setUpdateCommonField(entity); | ||||
|         updateById(entity); | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -3,6 +3,7 @@ package com.cnbm.packing.service.impl; | ||||
| import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | ||||
| import com.baomidou.mybatisplus.core.metadata.IPage; | ||||
| import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; | ||||
| import com.cnbm.admin.base.BaseSupport; | ||||
| import com.cnbm.admin.utils.CodeGeneratorHelper; | ||||
| import com.cnbm.common.page.PageData; | ||||
| import com.cnbm.common.service.impl.CrudServiceImpl; | ||||
| @@ -31,6 +32,8 @@ public class PrintModelServiceBizImpl extends CrudServiceImpl<PrintModelMapper, | ||||
|  | ||||
|     @Autowired | ||||
|     private PrintModelMapper mapper; | ||||
|     @Autowired | ||||
|     private BaseSupport baseSupport; | ||||
|      | ||||
|     @Override | ||||
|     public QueryWrapper<PrintModel> getWrapper(Map<String, Object> params){ | ||||
| @@ -69,6 +72,7 @@ public class PrintModelServiceBizImpl extends CrudServiceImpl<PrintModelMapper, | ||||
|     @Transactional(rollbackFor = Exception.class) | ||||
|     public void save(PrintModelDTO dto) { | ||||
|         PrintModel entity = ConvertUtils.sourceToTarget(dto, PrintModel.class); | ||||
|         baseSupport.setCommonField(entity); | ||||
|         insert(entity); | ||||
|     } | ||||
|  | ||||
| @@ -76,6 +80,7 @@ public class PrintModelServiceBizImpl extends CrudServiceImpl<PrintModelMapper, | ||||
|     @Transactional(rollbackFor = Exception.class) | ||||
|     public void update(PrintModelDTO dto) { | ||||
|         PrintModel entity = ConvertUtils.sourceToTarget(dto, PrintModel.class); | ||||
|         baseSupport.setUpdateCommonField(entity); | ||||
|         updateById(entity); | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -3,6 +3,7 @@ package com.cnbm.packing.service.impl; | ||||
| import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | ||||
| import com.baomidou.mybatisplus.core.metadata.IPage; | ||||
| import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; | ||||
| import com.cnbm.admin.base.BaseSupport; | ||||
| import com.cnbm.common.page.PageData; | ||||
| import com.cnbm.common.service.impl.CrudServiceImpl; | ||||
| import com.cnbm.common.utils.ConvertUtils; | ||||
| @@ -34,6 +35,8 @@ public class WoCompensationPowerServiceBizImpl extends CrudServiceImpl<WoCompens | ||||
|  | ||||
|     @Autowired | ||||
|     private WoCompensationPowerMapper mapper; | ||||
|     @Autowired | ||||
|     private BaseSupport baseSupport; | ||||
|      | ||||
|     @Override | ||||
|     public QueryWrapper<WoCompensationPower> getWrapper(Map<String, Object> params){ | ||||
| @@ -66,6 +69,7 @@ public class WoCompensationPowerServiceBizImpl extends CrudServiceImpl<WoCompens | ||||
|     @Transactional(rollbackFor = Exception.class) | ||||
|     public void save(WoCompensationPowerDTO dto) { | ||||
|         WoCompensationPower entity = ConvertUtils.sourceToTarget(dto, WoCompensationPower.class); | ||||
|         baseSupport.setCommonField(entity); | ||||
|         insert(entity); | ||||
|     } | ||||
|  | ||||
| @@ -73,6 +77,7 @@ public class WoCompensationPowerServiceBizImpl extends CrudServiceImpl<WoCompens | ||||
|     @Transactional(rollbackFor = Exception.class) | ||||
|     public void update(WoCompensationPowerDTO dto) { | ||||
|         WoCompensationPower entity = ConvertUtils.sourceToTarget(dto, WoCompensationPower.class); | ||||
|         baseSupport.setUpdateCommonField(entity); | ||||
|         updateById(entity); | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -3,6 +3,7 @@ package com.cnbm.packing.service.impl; | ||||
| import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | ||||
| import com.baomidou.mybatisplus.core.metadata.IPage; | ||||
| import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; | ||||
| import com.cnbm.admin.base.BaseSupport; | ||||
| import com.cnbm.common.page.PageData; | ||||
| import com.cnbm.common.service.impl.CrudServiceImpl; | ||||
| import com.cnbm.common.utils.ConvertUtils; | ||||
| @@ -36,6 +37,9 @@ public class WoPackagingBoxServiceBizImpl extends CrudServiceImpl<WoPackagingBox | ||||
|     private WoPackagingBoxMapper mapper; | ||||
|     @Autowired | ||||
|     private WoPackagingBoxSubstrateMapper substrateMapper; | ||||
|     @Autowired | ||||
|     private BaseSupport baseSupport; | ||||
|  | ||||
|     @Override | ||||
|     public QueryWrapper<WoPackagingBox> getWrapper(Map<String, Object> params){ | ||||
|  | ||||
| @@ -83,6 +87,7 @@ public class WoPackagingBoxServiceBizImpl extends CrudServiceImpl<WoPackagingBox | ||||
|     public IdVo add(WoPackagingBoxDTO dto) { | ||||
|         WoPackagingBox entity = ConvertUtils.sourceToTarget(dto, WoPackagingBox.class); | ||||
|         insert(entity); | ||||
|         baseSupport.setCommonField(entity); | ||||
|         return IdVo.builder().id(entity.getId()).build(); | ||||
|     } | ||||
|  | ||||
| @@ -90,6 +95,7 @@ public class WoPackagingBoxServiceBizImpl extends CrudServiceImpl<WoPackagingBox | ||||
|     @Transactional(rollbackFor = Exception.class) | ||||
|     public void update(WoPackagingBoxDTO dto) { | ||||
|         WoPackagingBox entity = ConvertUtils.sourceToTarget(dto, WoPackagingBox.class); | ||||
|         baseSupport.setUpdateCommonField(entity); | ||||
|         updateById(entity); | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -3,6 +3,7 @@ package com.cnbm.packing.service.impl; | ||||
| import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | ||||
| import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; | ||||
| import com.baomidou.mybatisplus.core.metadata.IPage; | ||||
| import com.cnbm.admin.base.BaseSupport; | ||||
| import com.cnbm.common.page.PageData; | ||||
| import com.cnbm.common.service.impl.CrudServiceImpl; | ||||
| import com.cnbm.common.utils.ConvertUtils; | ||||
| @@ -41,6 +42,8 @@ public class WoPackagingBoxSubstrateServiceBizImpl extends CrudServiceImpl<WoPac | ||||
|     private ChangePackagingBoxHistoryServiceBiz changePackagingBoxHistoryService; | ||||
|     @Autowired | ||||
|     private WoPackagingBoxSubstrateMapper mapper; | ||||
|     @Autowired | ||||
|     private BaseSupport baseSupport; | ||||
|  | ||||
|     @Override | ||||
|     public QueryWrapper<WoPackagingBoxSubstrate> getWrapper(Map<String, Object> params){ | ||||
| @@ -75,6 +78,7 @@ public class WoPackagingBoxSubstrateServiceBizImpl extends CrudServiceImpl<WoPac | ||||
|     @Transactional(rollbackFor = Exception.class) | ||||
|     public void save(WoPackagingBoxSubstrateDTO dto) { | ||||
|         WoPackagingBoxSubstrate entity = ConvertUtils.sourceToTarget(dto, WoPackagingBoxSubstrate.class); | ||||
|         baseSupport.setCommonField(entity); | ||||
|         insert(entity); | ||||
|     } | ||||
|  | ||||
| @@ -82,6 +86,7 @@ public class WoPackagingBoxSubstrateServiceBizImpl extends CrudServiceImpl<WoPac | ||||
|     @Transactional(rollbackFor = Exception.class) | ||||
|     public void update(WoPackagingBoxSubstrateDTO dto) { | ||||
|         WoPackagingBoxSubstrate entity = ConvertUtils.sourceToTarget(dto, WoPackagingBoxSubstrate.class); | ||||
|         baseSupport.setUpdateCommonField(entity); | ||||
|         updateById(entity); | ||||
|     } | ||||
|  | ||||
| @@ -103,6 +108,7 @@ public class WoPackagingBoxSubstrateServiceBizImpl extends CrudServiceImpl<WoPac | ||||
|         changePackagingBoxHistory.setSourceSlot(entity.getSlot()); | ||||
|         changePackagingBoxHistory.setLeaveTime(LocalDateTime.now()); | ||||
|         changePackagingBoxHistory.setType(2); | ||||
|         baseSupport.setCommonField(changePackagingBoxHistory); | ||||
|         changePackagingBoxHistoryService.insert(changePackagingBoxHistory); | ||||
|         //模组从该包装箱中移出,该模组变为未绑定BoxID的模组 | ||||
|         UpdateWrapper<WoPackagingBoxSubstrate> wrapper = new UpdateWrapper<>(); | ||||
| @@ -126,10 +132,12 @@ public class WoPackagingBoxSubstrateServiceBizImpl extends CrudServiceImpl<WoPac | ||||
|         changePackagingBoxHistory.setTargetSlot(dto.getSlot()); | ||||
|         changePackagingBoxHistory.setInputTime(LocalDateTime.now()); | ||||
|         changePackagingBoxHistory.setType(1); | ||||
|         baseSupport.setCommonField(changePackagingBoxHistory); | ||||
|         changePackagingBoxHistoryService.insert(changePackagingBoxHistory); | ||||
|         //更新 | ||||
|         entity.setPackagingBoxId(dto.getPackagingBoxId()); | ||||
|         entity.setSlot(dto.getSlot()); | ||||
|         baseSupport.setUpdateCommonField(entity); | ||||
|         updateById(entity); | ||||
|     } | ||||
|  | ||||
| @@ -146,34 +154,38 @@ public class WoPackagingBoxSubstrateServiceBizImpl extends CrudServiceImpl<WoPac | ||||
|             changePackagingBoxHistory.setTargetBoxNo(dto.getPackagingBoxId()); | ||||
|             changePackagingBoxHistory.setTargetSlot(dto.getSlot()); | ||||
|             changePackagingBoxHistory.setType(3); | ||||
|             baseSupport.setCommonField(changePackagingBoxHistory); | ||||
|             changePackagingBoxHistoryService.insert(changePackagingBoxHistory); | ||||
|             //更新 | ||||
|             entity.setPackagingBoxId(dto.getPackagingBoxId()); | ||||
|             entity.setSlot(dto.getSlot()); | ||||
|             baseSupport.setUpdateCommonField(entity); | ||||
|             updateById(entity); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     @Transactional(rollbackFor = Exception.class) | ||||
|     public void insertSubstrateManual(ChangePackingBoxDTO dto) { | ||||
|  | ||||
|         QueryWrapper<WoPackagingBoxSubstrate> wrapper = new QueryWrapper<>(); | ||||
|         wrapper.eq(StringUtils.isNotBlank(dto.getWoSubstrateId()),WoPackagingBoxSubstrate.WO_SUBSTRATE_ID,dto.getWoSubstrateId()); | ||||
|         if(mapper.selectCount(wrapper)>0 && StringUtils.isNotBlank(dto.getWoSubstrateId())) { | ||||
|             WoPackagingBoxSubstrate substrate = mapper.selectList(wrapper).get(0); | ||||
|             substrate.setPackagingBoxId(dto.getPackagingBoxId()); | ||||
|             updateById(substrate); | ||||
|         } | ||||
|         else{ | ||||
|             //模组ID有时为空,用户会输入”无码“ | ||||
|             if(dto.getWoSubstrateId()==null) { | ||||
|                 dto.setWoSubstrateId("无码"); | ||||
|     public void insertSubstrateManual(ChangePackingBoxDTO[] dtos) { | ||||
|         for(ChangePackingBoxDTO dto : dtos) { | ||||
|             QueryWrapper<WoPackagingBoxSubstrate> wrapper = new QueryWrapper<>(); | ||||
|             wrapper.eq(StringUtils.isNotBlank(dto.getWoSubstrateId()), WoPackagingBoxSubstrate.WO_SUBSTRATE_ID, dto.getWoSubstrateId()); | ||||
|             if (mapper.selectCount(wrapper) > 0 && StringUtils.isNotBlank(dto.getWoSubstrateId())) { | ||||
|                 WoPackagingBoxSubstrate substrate = mapper.selectList(wrapper).get(0); | ||||
|                 substrate.setPackagingBoxId(dto.getPackagingBoxId()); | ||||
|                 baseSupport.setUpdateCommonField(substrate); | ||||
|                 updateById(substrate); | ||||
|             } else { | ||||
|                 //模组ID有时为空,用户会输入”无码“ | ||||
|                 if (dto.getWoSubstrateId() == null) { | ||||
|                     dto.setWoSubstrateId("无码"); | ||||
|                 } | ||||
|                 //效验数据 | ||||
|                 ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); | ||||
|                 WoPackagingBoxSubstrate entity = ConvertUtils.sourceToTarget(dto, WoPackagingBoxSubstrate.class); | ||||
|                 baseSupport.setCommonField(entity); | ||||
|                 insert(entity); | ||||
|             } | ||||
|             //效验数据 | ||||
|             ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); | ||||
|             WoPackagingBoxSubstrate entity = ConvertUtils.sourceToTarget(dto, WoPackagingBoxSubstrate.class); | ||||
|             insert(entity); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -3,6 +3,7 @@ package com.cnbm.packing.service.impl; | ||||
| import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | ||||
| import com.baomidou.mybatisplus.core.metadata.IPage; | ||||
| import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; | ||||
| import com.cnbm.admin.base.BaseSupport; | ||||
| import com.cnbm.admin.enums.WhetherEnum; | ||||
| import com.cnbm.common.page.PageData; | ||||
| import com.cnbm.common.service.impl.CrudServiceImpl; | ||||
| @@ -42,6 +43,8 @@ public class WoPackagingPrintHistoryServiceBizImpl extends CrudServiceImpl<WoPac | ||||
|  | ||||
|     @Autowired | ||||
|     private WoPackagingPrintHistoryMapper mapper; | ||||
|     @Autowired | ||||
|     private BaseSupport baseSupport; | ||||
|  | ||||
|     @Autowired | ||||
|     private WoPackagingBoxServiceBiz woPackagingBoxServiceBiz; | ||||
| @@ -78,6 +81,7 @@ public class WoPackagingPrintHistoryServiceBizImpl extends CrudServiceImpl<WoPac | ||||
|     @Transactional(rollbackFor = Exception.class) | ||||
|     public void save(WoPackagingPrintHistoryDTO dto) { | ||||
|         WoPackagingPrintHistory entity = ConvertUtils.sourceToTarget(dto, WoPackagingPrintHistory.class); | ||||
|         baseSupport.setCommonField(entity); | ||||
|         insert(entity); | ||||
|     } | ||||
|  | ||||
| @@ -85,6 +89,7 @@ public class WoPackagingPrintHistoryServiceBizImpl extends CrudServiceImpl<WoPac | ||||
|     @Transactional(rollbackFor = Exception.class) | ||||
|     public void update(WoPackagingPrintHistoryDTO dto) { | ||||
|         WoPackagingPrintHistory entity = ConvertUtils.sourceToTarget(dto, WoPackagingPrintHistory.class); | ||||
|         baseSupport.setUpdateCommonField(entity); | ||||
|         updateById(entity); | ||||
|     } | ||||
|  | ||||
| @@ -112,6 +117,7 @@ public class WoPackagingPrintHistoryServiceBizImpl extends CrudServiceImpl<WoPac | ||||
|         BeanUtils.copyProperties(woPackagingBox, woPackagingPrintHistory); | ||||
|         woPackagingPrintHistory.setId(null); | ||||
|         woPackagingPrintHistory.setPrintTime(LocalDateTime.now()); | ||||
|         baseSupport.setCommonField(woPackagingPrintHistory); | ||||
|         insert(woPackagingPrintHistory); | ||||
|         //更新包装箱表中打印状态和时间 | ||||
|         woPackagingBox.setPrintTime(woPackagingPrintHistory.getPrintTime()); | ||||
| @@ -122,6 +128,7 @@ public class WoPackagingPrintHistoryServiceBizImpl extends CrudServiceImpl<WoPac | ||||
|         else{ | ||||
|             woPackagingBox.setPrintCount(woPackagingBox.getPrintCount()+1); | ||||
|         } | ||||
|         baseSupport.setUpdateCommonField(woPackagingBox); | ||||
|         woPackagingBoxServiceBiz.update(woPackagingBox); | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -3,6 +3,7 @@ package com.cnbm.packing.service.impl; | ||||
| import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | ||||
| import com.baomidou.mybatisplus.core.metadata.IPage; | ||||
| import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; | ||||
| import com.cnbm.admin.base.BaseSupport; | ||||
| import com.cnbm.common.page.PageData; | ||||
| import com.cnbm.common.service.impl.CrudServiceImpl; | ||||
| import com.cnbm.common.utils.ConvertUtils; | ||||
| @@ -31,6 +32,8 @@ public class WoPowerLevelServiceBizImpl extends CrudServiceImpl<WoPowerLevelMapp | ||||
|  | ||||
|     @Autowired | ||||
|     private WoPowerLevelMapper mapper; | ||||
|     @Autowired | ||||
|     private BaseSupport baseSupport; | ||||
|  | ||||
|     @Override | ||||
|     public QueryWrapper<WoPowerLevel> getWrapper(Map<String, Object> params){ | ||||
| @@ -64,6 +67,7 @@ public class WoPowerLevelServiceBizImpl extends CrudServiceImpl<WoPowerLevelMapp | ||||
|     @Transactional(rollbackFor = Exception.class) | ||||
|     public void save(WoPowerLevelDTO dto) { | ||||
|         WoPowerLevel entity = ConvertUtils.sourceToTarget(dto, WoPowerLevel.class); | ||||
|         baseSupport.setCommonField(entity); | ||||
|         insert(entity); | ||||
|     } | ||||
|  | ||||
| @@ -71,6 +75,7 @@ public class WoPowerLevelServiceBizImpl extends CrudServiceImpl<WoPowerLevelMapp | ||||
|     @Transactional(rollbackFor = Exception.class) | ||||
|     public void update(WoPowerLevelDTO dto) { | ||||
|         WoPowerLevel entity = ConvertUtils.sourceToTarget(dto, WoPowerLevel.class); | ||||
|         baseSupport.setUpdateCommonField(entity); | ||||
|         updateById(entity); | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -178,7 +178,7 @@ public enum S7Client { | ||||
|                             ); | ||||
|                             return type.toObject(read); | ||||
|                         } | ||||
|                     }catch (Exception e) { | ||||
|                     }catch (Throwable e) { | ||||
|                         throw new S7CheckResultException("read errMsg : "+e.getMessage()); | ||||
|                     } | ||||
|  | ||||
| @@ -293,7 +293,7 @@ public enum S7Client { | ||||
|                            ); | ||||
|                        } | ||||
|                        return null; | ||||
|                    }catch (Exception e) { | ||||
|                    }catch (Throwable e) { | ||||
|                        throw new S7CheckResultException("write errMsg : "+e.getMessage()); | ||||
|                    } | ||||
|                }, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user