条码履历和加工单履历

tags/yfai-pcn-ext-v1.0
微笑着面对明天 10 months ago
parent 74d5cb101b
commit b53ab28e86

@ -1,6 +1,9 @@
package cn.estsh.i3plus.ext.mes.pcn.api.base;
import cn.estsh.i3plus.pojo.mes.bean.MesPojoVersion;
import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn;
import java.util.List;
public interface IMesPojoVersionService {
@ -15,4 +18,12 @@ public interface IMesPojoVersionService {
* @param mesPojoVersion
*/
void recordPojoVersion(MesPojoVersion mesPojoVersion);
void savePojoVersion(Object obj, Class cls);
void insertPojoVersion(Object obj, Class cls);
void savePojoVersionList(List<Object> list, Class cls);
void insertPojoVersionList(List<Object> list, Class cls);
}

@ -28,4 +28,7 @@ public interface IMesProduceSnExtService {
@ApiOperation(value = "根据零件条码ID修改条码状态,工位")
void saveProduceSnList(StationRequestBean reqBean, Integer snStatus, List<Long> idList);
MesProduceSn insert(MesProduceSn item);
void update(MesProduceSn item);
}

@ -1,5 +1,6 @@
package cn.estsh.i3plus.ext.mes.pcn.api.busi;
import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrder;
import io.swagger.annotations.ApiOperation;
@ -13,4 +14,7 @@ public interface IMesWorkOrderExtService {
@ApiOperation(value = "根据生产工单ID查询生产工单信息")
MesWorkOrder getWorkOrder(String organizeCode, Long id);
MesWorkOrder insert(MesWorkOrder item);
void update(MesWorkOrder item);
}

@ -0,0 +1,11 @@
package cn.estsh.i3plus.ext.mes.pcn.apiservice.aspect;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface MonitorLog {
}

@ -0,0 +1,73 @@
package cn.estsh.i3plus.ext.mes.pcn.apiservice.aspect;
import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesPojoVersionService;
import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.After;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
import org.aspectj.lang.reflect.MethodSignature;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
import org.springframework.context.annotation.Configuration;
import java.lang.reflect.Array;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List;
/**
* @Description :
* @Reference :
* @Author : zxw
* @CreateDate :
* @Modify:
**/
@ConditionalOnExpression("'${pcn.aspect.repository:true}' == 'true'")
@Aspect
@Configuration
public class PcnPojoAspect {
@Pointcut("@annotation(cn.estsh.i3plus.ext.mes.pcn.apiservice.aspect.MonitorLog)")
public void controllerPointcut() {}
@Autowired
private IMesPojoVersionService pojoVersionService;
@After("controllerPointcut()")
public void after(JoinPoint joinPoint){
Object[] objs = joinPoint.getArgs();
String methodName = joinPoint.getSignature().getName();
if (methodName.startsWith("save") || methodName.startsWith("update")) {
Object[] args = joinPoint.getArgs();
List<Object> list = new ArrayList<>();
for (Object arg : args) {
if (arg.getClass().isArray()) {
int len = Array.getLength(arg);
for (int i = 0; i < len; ++i) {
Object item = Array.get(arg, i);
if (BaseBean.class.isAssignableFrom(item.getClass())) {
pojoVersionService.savePojoVersion((BaseBean)item, item.getClass());
}
}
} else if (BaseBean.class.isAssignableFrom(arg.getClass())) {
pojoVersionService.savePojoVersion((BaseBean)arg, arg.getClass());
}
}
} else if (methodName.startsWith("insert")) {
Object[] args = joinPoint.getArgs();
if (args.length > 0) {
Object item = args[0];
if (BaseBean.class.isAssignableFrom(item.getClass())) {
pojoVersionService.insertPojoVersion((BaseBean) item, item.getClass());
}
}
}
}
}

@ -0,0 +1,127 @@
package cn.estsh.i3plus.ext.mes.pcn.apiservice.aspect;
import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.After;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
import org.aspectj.lang.reflect.MethodSignature;
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
import org.springframework.context.annotation.Configuration;
import java.lang.reflect.Array;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.List;
/**
* @Description :
* @Reference :
* @Author : zxw
* @CreateDate :
* @Modify:
**/
@ConditionalOnExpression("'${pcn.aspect.repository:true}' == 'true'")
@Aspect
@Configuration
public class PcnRepositoryAspect {
@Before("controllerPointcut()")
public void before(JoinPoint joinPoint){
String methodName = joinPoint.getSignature().getName();
if (methodName.equals("save") || methodName.equals("update")) {
Object[] args = joinPoint.getArgs();
for (Object arg : args) {
if (arg.getClass().isArray()) {
int len = Array.getLength(arg);
for (int i = 0; i < len; ++i) {
Object item = Array.get(arg, i);
if (BaseBean.class.isAssignableFrom(item.getClass())) {
updateBeanSync((BaseBean)item);
}
}
} else if (BaseBean.class.isAssignableFrom(arg.getClass())) {
updateBeanSync((BaseBean)arg);
}
}
} else if (methodName.equals("insert")) {
Object[] args = joinPoint.getArgs();
if (args.length > 0) {
Object item = args[0];
if (BaseBean.class.isAssignableFrom(item.getClass())) {
updateBeanSync((BaseBean)item);
}
}
} else if (methodName.equals("saveAll")) {
Object[] args = joinPoint.getArgs();
if (args.length > 0) {
Object arg = args[0];
if (arg instanceof List) {
List<Object> items = (List<Object>) arg;
for (Object item : items) {
if (BaseBean.class.isAssignableFrom(item.getClass())) {
updateBeanSync((BaseBean)item);
}
}
} else if (BaseBean.class.isAssignableFrom(arg.getClass())) {
updateBeanSync((BaseBean)arg);
}
}
}
}
@Pointcut("execution(* cn.estsh.*..*.repository.*..*(..))")
public void controllerPointcut() {}
@After("controllerPointcut()")
public void after(JoinPoint joinPoint) {
String methodName = joinPoint.getSignature().getName();
if (methodName.startsWith("updateByProperties")) {
try {
Object[] args = joinPoint.getArgs();
Method method = ((MethodSignature)joinPoint.getSignature()).getMethod();
if (args.length == 4) {
if (args[2].getClass().isArray()) {
method.invoke(joinPoint.getTarget(), args[0], args[1], new String[]{"modifyDatetime", "systemSyncStatus"},
new Object[]{TimeTool.getNowTime(true), CommonEnumUtil.FALSE});
} else {
method.invoke(joinPoint.getTarget(), args[0], args[1], "systemSyncStatus", CommonEnumUtil.FALSE);
}
} else if (args.length == 3) {
if (args[0].getClass().isArray()) {
method.invoke(joinPoint.getTarget(), new String[]{ "systemSyncStatus"},
new Object[]{ CommonEnumUtil.FALSE}, args[2]);
} else {
method.invoke(joinPoint.getTarget(), "systemSyncStatus", CommonEnumUtil.FALSE, args[2]);
}
}
} catch (IllegalAccessException | InvocationTargetException e) {
throw new RuntimeException(e);
}
} else if (methodName.equals("updateByHqlWhere")) {
Object[] args = joinPoint.getArgs();
try {
if (args.length == 3) {
Method method = ((MethodSignature)joinPoint.getSignature()).getMethod();
if (args[1].getClass().isArray()) {
method.invoke(joinPoint.getTarget(), args[0], new String[]{"systemSyncStatus"},
new Object[]{ CommonEnumUtil.FALSE});
} else {
method.invoke(joinPoint.getTarget(), TimeTool.getNowTime(true), args[2]);
method.invoke(joinPoint.getTarget(), "systemSyncStatus", CommonEnumUtil.FALSE, args[2]);
}
}
} catch (IllegalAccessException | InvocationTargetException e) {
throw new RuntimeException(e);
}
}
}
private void updateBeanSync(BaseBean bean) {
bean.setSystemSyncStatus(CommonEnumUtil.FALSE);
bean.setModifyDatetime(TimeTool.getNowTime(true));
}
}

@ -8,10 +8,12 @@ import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.codemaker.SnowflakeIdMaker;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.bean.MesPojoVersion;
import cn.estsh.i3plus.pojo.mes.bean.MesPojoVersionDetail;
import cn.estsh.i3plus.pojo.mes.repository.MesPojoVersionDetailRepository;
import cn.estsh.i3plus.pojo.mes.repository.MesPojoVersionRepository;
import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.google.common.collect.MapDifference;
@ -23,8 +25,11 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@Service
public class MesPojoVersionServiceImpl implements IMesPojoVersionService {
@ -46,10 +51,96 @@ public class MesPojoVersionServiceImpl implements IMesPojoVersionService {
@Override
public MesPojoVersion getPojoVersion(MesPojoVersion bean) {
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(bean);
return mesPojoVersionRepository.getByProperty(DdlPackBean.getDdlPackBean(bean));
}
@Override
public void insertPojoVersion(Object obj, Class cls) {
try {
MesPojoVersion version = getMesPojoVersion(obj, cls, "insert");
recordPojoVersion(version);
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void savePojoVersion(Object obj, Class cls) {
try {
MesPojoVersion version = getMesPojoVersion(obj, cls, "update");
recordPojoVersion(version);
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void insertPojoVersionList(List<Object> list, Class cls) {
list.forEach(obj -> {
try {
MesPojoVersion version = getMesPojoVersion(obj, cls, "insert");
recordPojoVersion(version);
} catch (Exception e) {
e.printStackTrace();
}
});
}
@Override
public void savePojoVersionList(List<Object> list, Class cls) {
list.forEach(obj -> {
try {
MesPojoVersion version = getMesPojoVersion(obj, cls, "update");
recordPojoVersion(version);
} catch (Exception e) {
e.printStackTrace();
}
});
}
private MesPojoVersion getMesPojoVersion(Object obj, Class cls, String insert) throws NoSuchMethodException, IllegalAccessException, InvocationTargetException {
Method getIdmethod = cls.getMethod("getId");
Method getCodemethod = cls.getMethod("getOrganizeCode");
Long id = Long.valueOf(getIdmethod.invoke(obj).toString());
String organizeCode = getCodemethod.invoke(obj).toString();
MesPojoVersion version = new MesPojoVersion();
version.setRefId(id);
version.setRefClass(cls.getName());
version.setBean(JsonUtilTool.encode(obj));
version.setCreateUser(version.getCreateUser());
version.setModifyUser(version.getModifyUser());
version.setVersionMethodName(insert);
version.setBusiData(getBusiData(cls, version.getRefClass(),obj));
version.setOrganizeCode(organizeCode);
return version;
}
public String getBusiData(Class cls, String refClass, Object obj){
String busiData = "";
try {
MesExtEnumUtil.BUSI_REFERANCE busiReferance = MesExtEnumUtil.BUSI_REFERANCE.valueOfEnum(refClass);
Method method = null;
switch (busiReferance) {
case MES_PRODUCE_SN:
method = cls.getMethod("getProductSn");
busiData = method.invoke(obj).toString();
break;
case MES_WORK_ORDER:
method = cls.getMethod("getWorkOrderNo");
busiData = method.invoke(obj).toString();
break;
case MES_SHIPPING_ORDER:
method = cls.getMethod("getShippingCode");
busiData = method.invoke(obj).toString();
break;
default:
}
} catch (Exception e) {
e.printStackTrace();
}
return busiData;
}
@Override
public void recordPojoVersion(MesPojoVersion afterMesPojoVersion) {
@ -72,7 +163,7 @@ public class MesPojoVersionServiceImpl implements IMesPojoVersionService {
String userName = StringUtils.isNotBlank(afterMesPojoVersion.getModifyUser()) ? afterMesPojoVersion.getModifyUser() : afterMesPojoVersion.getCreateUser();
Map<String, String> mapPropDesc = afterMesPojoVersion.getPojoPropDesc();
boolean isInsert = true;
if (!"insert".equals(afterMesPojoVersion.getVersionMethodName())) { // 不是新增数据的时候则需要查询历史记录
// 已存在数据封装
afterMesPojoVersion.setOrderByParam("createDatetime");
@ -86,6 +177,7 @@ public class MesPojoVersionServiceImpl implements IMesPojoVersionService {
}
}
operateType = CommonEnumUtil.DAO_OPERATE_TYPE.UPDATE;
isInsert = false;
}
// 不保存字段 数据剔除
for (String key : CommonConstWords.POJO_VERSION_SAVE_ATTR_REMOVE) {
@ -94,10 +186,43 @@ public class MesPojoVersionServiceImpl implements IMesPojoVersionService {
mapDiff = Maps.difference(beforeMap, afterMap).entriesDiffering();
/* mapDiff = Maps.difference(beforeMap, afterMap).entriesOnlyOnLeft();
if (beforeMap.size() == 0 && afterMap.size() > 0) {
mapDiff.putAll(afterMap);
}*/
MesExtEnumUtil.BUSI_REFERANCE busiReferance = MesExtEnumUtil.BUSI_REFERANCE.valueOfEnum(afterMesPojoVersion.getRefClass());
Method method = null;
String statusKey = "";
boolean isSave = false;
List<String> statusList = new ArrayList<>();
switch (busiReferance) {
case MES_PRODUCE_SN:
statusList = Stream.of("snStatus", "qcStatus", "printStatus").collect(Collectors.toList());
for (String status : statusList) {
if (mapDiff.containsKey(status)){
isSave = true;
}
}
break;
case MES_WORK_ORDER:
statusList = Stream.of("workOrderStatus").collect(Collectors.toList());
for (String status : statusList) {
if (mapDiff.containsKey(status)){
isSave = true;
}
}
break;
case MES_SHIPPING_ORDER:
statusList = Stream.of("status").collect(Collectors.toList());
for (String status : statusList) {
if (mapDiff.containsKey(status)){
isSave = true;
}
}
break;
default:
}
if (!isSave && !isInsert) {
LOGGER.info("状态相关字段没有变更,不需要进行记录");
return;
}
// 是否需要落库
if (reqJson.getString(afterMesPojoVersion.getRefClass()) != null) {
List<String> fileds = Arrays.asList(reqJson.getString(afterMesPojoVersion.getRefClass()).split(","));

@ -1,6 +1,7 @@
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProduceSnExtService;
import cn.estsh.i3plus.ext.mes.pcn.apiservice.aspect.MonitorLog;
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
@ -109,5 +110,15 @@ public class MesProduceSnExtService implements IMesProduceSnExtService {
}
@Override
@MonitorLog
public MesProduceSn insert(MesProduceSn item) {
return produceSnRepository.insert(item);
}
@Override
@MonitorLog
public void update(MesProduceSn item) {
produceSnRepository.update(item);
}
}

@ -1,10 +1,12 @@
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesWorkOrderExtService;
import cn.estsh.i3plus.ext.mes.pcn.apiservice.aspect.MonitorLog;
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrder;
import cn.estsh.i3plus.pojo.mes.repository.MesWorkOrderRepository;
import lombok.extern.slf4j.Slf4j;
@ -48,4 +50,16 @@ public class MesWorkOrderExtService implements IMesWorkOrderExtService {
new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), id});
}
@Override
@MonitorLog
public MesWorkOrder insert(MesWorkOrder item) {
return workOrderRepository.insert(item);
}
@Override
@MonitorLog
public void update(MesWorkOrder item) {
workOrderRepository.update(item);
}
}

@ -3,6 +3,7 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi;
import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesPartService;
import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesShiftService;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesConfigService;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesWorkOrderExtService;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesWorkOrderService;
import cn.estsh.i3plus.ext.mes.pcn.apiservice.util.MesPcnException;
import cn.estsh.i3plus.mes.pcn.api.iservice.busi.ISyncFuncService;
@ -55,6 +56,10 @@ public class MesWorkOrderService implements IMesWorkOrderService {
public static final Logger LOGGER = LoggerFactory.getLogger(MesWorkOrderService.class);
@Autowired
private MesWorkOrderRepository workOrderRepository;
@Autowired
private IMesWorkOrderExtService workOrderExtService;
@Autowired
private MesProductVersionRepository mesProductVersionRDao;
@Autowired
@ -221,7 +226,7 @@ public class MesWorkOrderService implements IMesWorkOrderService {
oldMesWorkOrder.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.PROCESS.getValue());
}
ConvertBean.serviceModelUpdate(oldMesWorkOrder,userName);
workOrderRepository.update(oldMesWorkOrder);
workOrderExtService.update(oldMesWorkOrder);
//保存数据
List<MesProductOffLine> mesProductOffLineList = new ArrayList<>();
MesProductOffLine newMesProductOffLine;
@ -325,7 +330,7 @@ public class MesWorkOrderService implements IMesWorkOrderService {
//修改工单,需要重新同步
mesWorkOrder.setSystemSyncStatus(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
ConvertBean.serviceModelUpdate(mesWorkOrder, userName);
workOrderRepository.update(mesWorkOrder);
workOrderExtService.update(mesWorkOrder);
//保存记录
saveMesWorkOrderLog(mesWorkOrder);
}
@ -545,7 +550,7 @@ public class MesWorkOrderService implements IMesWorkOrderService {
}
LOGGER.info("工单报工后数量【{}】", oldMesWorkOrder.getReportedQty());
ConvertBean.serviceModelUpdate(oldMesWorkOrder, userName);
workOrderRepository.saveAndFlush(oldMesWorkOrder);
workOrderExtService.update(oldMesWorkOrder);
//保存数据
List<MesProductOffLine> mesProductOffLineList = new ArrayList<>();
MesProductOffLine newMesProductOffLine;

@ -186,6 +186,10 @@ public class MesAssemblyShowNosortStepService extends BaseStepService {
*/
private StepResult validSuperWorkOrder(StationRequestBean reqBean, List<MesProductionPartContext> productionPartContextList, MesWorkCenter workCenter, StepResult stepResult, StationResultBean resultBean) {
// 验证超工单
//判断是否还存在待匹配的主条码信息, 内部循环匹配成功会标记 foreignKey
Optional<MesProductionPartContext> optional = productionPartContextList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getWorkOrderNo()))).findFirst();
if (null == optional || !optional.isPresent()) return stepResult;
// 对MesProductionPartContext中的工单号经行分组每个工单可能对应多条数据,筛选掉foreignkey为空的数据
Map<String, List<MesProductionPartContext>> productionPartContextMap = productionPartContextList.stream().filter(productionPartContext -> !StringUtils.isEmpty(productionPartContext.getForeignKey()))
.collect(Collectors.groupingBy(MesProductionPartContext::getWorkOrderNo));

@ -150,9 +150,9 @@ public class MesProductSnGenerateStepService extends BaseStepService {
MesProduceSn produceSn;
//进出一致, 不累计工单完成数量 在显示装配件工步中已经验证了 进出一致 进出存在工单则必须一致
if (isSamePart) produceSn = produceSnExtService.getProduceSn(reqBean.getOrganizeCode(), productionPsInContext.getId());
//未知条码
//未知条码
else if (null != productionPsInContext && !StringUtils.isEmpty(productionPsInContext.getRelateId())) produceSn = produceSnExtService.getProduceSn(reqBean.getOrganizeCode(), productionPsInContext.getRelateId());
//生成新条码
//生成新条码
else produceSn = new MesProduceSn();
if (StringUtils.isEmpty(produceSn.getProductSn())) {
@ -196,8 +196,8 @@ public class MesProductSnGenerateStepService extends BaseStepService {
if (StringUtils.isEmpty(produceSn.getInWorkCenterTime())) produceSn.setInWorkCenterTime(produceSn.getModifyDatetime());
produceSn.setLotNo(produceSn.getModifyDatetime().substring(0, 10));
if (StringUtils.isEmpty(produceSn.getId())) produceSn = produceSnRepository.insert(produceSn);
else produceSnRepository.save(produceSn);
if (StringUtils.isEmpty(produceSn.getId())) produceSn = produceSnExtService.insert(produceSn);
else produceSnExtService.update(produceSn);
return new MesProductionPsOutContext().copy(produceSn, prodRuleContext.getForeignKey()).isCalcCompleteQty(!StringUtils.isEmpty(produceSn.getWorkOrderNo()) && !isSamePart);

@ -130,7 +130,8 @@ public class MesProductSnSaveStepService extends BaseStepService {
produceSn.setOutWorkCenterTime(produceSn.getModifyDatetime());
produceSn.setLotNo(produceSn.getModifyDatetime().substring(0, 10));
return produceSnRepository.save(produceSn);
produceSnExtService.update(produceSn);
return produceSn;
}

@ -190,14 +190,15 @@ public class MesWorkOrderSaveStepService extends BaseStepService {
//如果数量都没有修改,不操作数据库
if (!propertyNameList.isEmpty()) {
ConvertBean.serviceModelUpdate(workOrder, reqBean.getUserInfo());
propertyNameList.add("modifyUser");
workOrderExtService.update(workOrder);
/* propertyNameList.add("modifyUser");
propertyValueList.add(reqBean.getUserInfo());
propertyNameList.add("modifyDatetime");
propertyValueList.add(TimeTool.getNowTime(true));
DdlPackBean workOrderPackBean = DdlPackBean.getDdlPackBean(reqBean.getOrganizeCode());
DdlPreparedPack.getNumEqualPack(workOrder.getId(),"id",workOrderPackBean);
workOrderRepository.updateByProperties(propertyNameList.toArray(new String[]{}), propertyValueList.toArray(), workOrderPackBean);
}
*/ }
}
}

Loading…
Cancel
Save