Prechádzať zdrojové kódy

同步产品表时间,更新人

hfy 3 mesiacov pred
rodič
commit
e67d34d89d

+ 5 - 1
src/main/java/com/jeesite/modules/mes/dao/MesProductDao.java

@@ -6,6 +6,7 @@ import com.jeesite.modules.mes.entity.MesProduct;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Update;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -23,4 +24,7 @@ public interface MesProductDao extends CrudDao<MesProduct> {
 	 */
 	@Update("UPDATE mes_product SET update_by = #{updateBy} WHERE sn = #{sn}")
 	int updateUpdateByBySn(@Param("sn") String sn, @Param("updateBy") String updateBy);
-}
+
+	@Update("UPDATE mes_product SET update_date = #{updateDate},update_by = #{userCode} WHERE sn = #{sn} and cate =#{lineSn}")
+	int updateUpdateDateBySn(@Param("sn") String sn, @Param("updateDate") Date updateDate,@Param("userCode") String userCode,@Param("lineSn") String lineSn);
+}

+ 15 - 16
src/main/java/com/jeesite/modules/mes/service/MesProductService.java

@@ -1,23 +1,15 @@
 package com.jeesite.modules.mes.service;
 
-import java.text.SimpleDateFormat;
-import java.util.*;
-
-import com.jeesite.common.lang.ObjectUtils;
-import com.jeesite.common.mybatis.mapper.query.QueryType;
-import com.jeesite.modules.mes.entity.MesProductInsulation;
-import com.jeesite.modules.mes.entity.MesProductQm;
-import com.jeesite.modules.mes.entity.MesProductRecord;
-import com.jeesite.modules.mes.resp.*;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Lazy;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
 import com.jeesite.common.entity.Page;
+import com.jeesite.common.lang.StringUtils;
 import com.jeesite.common.service.CrudService;
-import com.jeesite.modules.mes.entity.MesProduct;
 import com.jeesite.modules.mes.dao.MesProductDao;
+import com.jeesite.modules.mes.entity.MesProduct;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Date;
+import java.util.List;
 
 /**
  * 产品Service
@@ -106,5 +98,12 @@ public class MesProductService extends CrudService<MesProductDao, MesProduct> {
 		return dao.findInfo(m1);
 	}
 
+	public int updateUpdateDateBySn(String sn, Date updateDate,String userCode,String lineSn) {
+		if (StringUtils.isBlank(sn) || updateDate == null||StringUtils.isBlank(userCode)||StringUtils.isBlank(lineSn)) {
+			return 0;
+		}
+		return dao.updateUpdateDateBySn(sn.trim(), updateDate,userCode,lineSn);
+	}
+
 	
-}
+}

+ 17 - 4
src/main/java/com/jeesite/modules/mes/web/MesProductRecordController.java

@@ -4423,8 +4423,7 @@ public class MesProductRecordController extends BaseController {
 		try {
 			if (!craft.equals("100000")){
 				mesProductRecordService.updateRecord(sn,oprno, craft,"",result,userCode,lineSn);
-				//根据上个个工位oprno,sn,lineSn查询时间最近的一条记录,如何不为空且状态等于1修改状态
-				mesPdaScanRecordService.finishPreviousScanRecord(sn, lineSn,oprno);
+
 
 				return renderResult(Global.TRUE, text("操作成功!"));
 			}else {
@@ -4438,7 +4437,16 @@ public class MesProductRecordController extends BaseController {
 				}else{
 					// craft=100000 且质量 OK 成功后,按父工位绑定 FIFO 扣库存
 					if ("OK".equals(result)) {
+						//根据上个个工位oprno,sn,lineSn查询时间最近的一条记录,如何不为空且状态等于1修改状态
+						mesPdaScanRecordService.finishPreviousScanRecord(sn, lineSn,oprno);
+
 						mesProcessConsumeStockService.consumeOnOk(sn, oprno, lineSn, userCode);
+
+						//结果ok则在产品表中同步更新时间
+						int updateProductRows = mesProductService.updateUpdateDateBySn(sn, new Date(),userCode,lineSn);
+						if (updateProductRows == 0) {
+							logger.warn("mes_product update_date update failed, sn:{}", sn);
+						}
 					}
 					return renderResult(Global.TRUE, text("操作成功!"));
 				}
@@ -4895,8 +4903,13 @@ public class MesProductRecordController extends BaseController {
 				mesPdaScanRecord.setOprno(oprno);
 				mesPdaScanRecord.setLineSn(lineSn);
 				mesPdaScanRecord.setUcode(ucode);
-				mesPdaScanRecord.setStatus("1");
-				mesPdaScanRecordService.save(mesPdaScanRecord);
+				mesPdaScanRecord.setStatus("0");
+				long count = mesPdaScanRecordService.findCount(mesPdaScanRecord);
+				//防止点完OK再次扫码
+				if (count==0){
+					mesPdaScanRecord.setStatus("1");
+					mesPdaScanRecordService.save(mesPdaScanRecord);
+				}
 				//查询oprno的上一个工位
 				MesLineProcess previousProcess = mesLineProcessService.findPreviousByOprnoLineSn(oprno, lineSn);
 				//根据上个个工位oprno,sn,lineSn查询时间最近的一条记录,如何不为空且状态等于1修改状态

+ 6 - 6
src/main/resources/config/application.yml

@@ -163,13 +163,13 @@ jdbc:
   # Mysql 数据库配置
   type: mysql
   driver: com.mysql.cj.jdbc.Driver
-#  url: jdbc:mysql://127.0.0.1:3306/mes_liuan?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=CONVERT_TO_NULL&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true
+  url: jdbc:mysql://127.0.0.1:3306/mes_liuan?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=CONVERT_TO_NULL&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true
 #  url: jdbc:mysql://127.0.0.1:3306/mes_cloude_npd?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=CONVERT_TO_NULL&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true
-  url: jdbc:mysql://192.168.9.181:3306/mes_cloud?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=CONVERT_TO_NULL&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true
-  username: mes_cloud
-  password: s2ENj7KaEySTC7dW
- # username: root
- # password: 123456
+ # url: jdbc:mysql://192.168.9.181:3306/mes_cloud?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=CONVERT_TO_NULL&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true
+ # username: mes_cloud
+ # password: s2ENj7KaEySTC7dW
+  username: root
+  password: 123456
   testSql: SELECT 1
 
   #  # Oracle 数据库配置(若使用 12c,请修改 /modules/core/pom.xml 文件,打开 12c 依赖,去掉 11g 依赖)