change - 生产计划加进度字段、ERP页面同步订单、同步计划接口

maser
yinq 1 month ago
parent 8da4050a3e
commit 1dd3247ae4

@ -64,4 +64,8 @@ public class MesConstants
public static final String MES_PLAN_STATUS_CANCEL = "3";
public static final String MES_PLAN_STATUS_WAIT = "4";
/**
* ERP
*/
public static final String MES_PLAN_ERP_STATUS_FINISH = "已完成";
}

@ -24,15 +24,12 @@ import com.os.mes.prod.service.IProdOrderInfoService;
import com.os.mes.prod.service.IProdPlanErpInfoService;
import com.os.mes.prod.service.IProdPlanExecuteUserService;
import com.os.mes.prod.service.IProdPlanInfoService;
import com.os.mes.prod.service.impl.ProdOrderInfoServiceImpl;
import com.os.mes.record.domain.RecordStaffSalary;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.*;

@ -1,8 +1,10 @@
package com.os.mes.prod.controller;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletResponse;
import com.os.mes.api.domain.ERPParamDto;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
@ -108,4 +110,24 @@ public class ProdOrderInfoController extends BaseController {
return success(prodOrderInfoService.generateWorkOrder(prodOrderInfo));
}
/**
*
* @param objIds
* @return
*/
@GetMapping("/getERPProductionPlan/{objIds}")
public AjaxResult getERPProductionPlan(@PathVariable Long[] objIds) {
return AjaxResult.success(prodOrderInfoService.getERPProductionPlan(objIds));
}
/**
* ERP
* @param orderCode
* @return
*/
@GetMapping("/getERPWorkOrder/{orderCode}")
public AjaxResult getERPWorkOrder(@PathVariable String orderCode) {
return AjaxResult.success(prodOrderInfoService.getERPWorkOrder(orderCode));
}
}

@ -24,6 +24,11 @@ public class ProdPlanErpInfo extends BaseEntity
/** 主键标识 */
private Long objId;
/** 任务进度 */
@Excel(name = "任务进度")
private String taskProgress;
@Excel(name = "工作量")
private BigDecimal workload;
@ -304,6 +309,14 @@ public class ProdPlanErpInfo extends BaseEntity
private String processCode;
private String stationCode;
public String getTaskProgress() {
return taskProgress;
}
public void setTaskProgress(String taskProgress) {
this.taskProgress = taskProgress;
}
public BigDecimal getWorkload() {
return workload;
}

@ -76,4 +76,18 @@ public interface IProdOrderInfoService {
*/
HashMap<String, Object> generateWorkOrder(ProdOrderInfo prodOrderInfo);
/**
*
* @param objIds
* @return
*/
public int getERPProductionPlan(Long[] objIds);
/**
* ERP
* @param orderCode
* @return
*/
public int getERPWorkOrder(String orderCode);
}

@ -9,12 +9,13 @@ import java.util.List;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
import com.os.common.exception.ServiceException;
import com.os.common.utils.DateUtils;
import com.os.common.utils.StringUtils;
import com.os.common.utils.uuid.PlanCodeUtils;
import com.os.mes.api.domain.Material;
import com.os.mes.api.domain.RecordData;
import com.os.mes.api.domain.ResponseData;
import com.os.mes.api.domain.UpperLowerGlue;
import com.os.mes.api.domain.*;
import com.os.mes.api.service.IERPPortService;
import com.os.mes.api.utils.ERPConstants;
import com.os.mes.prod.domain.ProdOrderDetail;
import com.os.mes.prod.domain.ProdPlanInfo;
import com.os.mes.prod.service.IProdOrderDetailService;
@ -25,6 +26,7 @@ import org.springframework.stereotype.Service;
import com.os.mes.prod.mapper.ProdOrderInfoMapper;
import com.os.mes.prod.domain.ProdOrderInfo;
import com.os.mes.prod.service.IProdOrderInfoService;
import org.springframework.transaction.annotation.Transactional;
/**
* Service
@ -43,6 +45,9 @@ public class ProdOrderInfoServiceImpl implements IProdOrderInfoService {
@Autowired
private IProdOrderDetailService prodOrderDetailService;
@Autowired
private IERPPortService portService;
/**
*
*
@ -298,4 +303,43 @@ public class ProdOrderInfoServiceImpl implements IProdOrderInfoService {
result.put("planInfoList", planInfoList);
return result;
}
/**
*
* @param objIds
* @return
*/
@Override
@Transactional(rollbackFor = Exception.class)
public int getERPProductionPlan(Long[] objIds) {
for (Long objId : objIds) {
ProdOrderInfo prodOrderInfo = prodOrderInfoMapper.selectProdOrderInfoByObjId(objId);
ERPParamDto paramDto = new ERPParamDto();
paramDto.setTaskCode(prodOrderInfo.getOrderCode());
portService.getERPProductionPlan(paramDto);
}
return 1;
}
/**
* ERP
* @param orderCode
* @return
*/
@Override
@Transactional(rollbackFor = Exception.class)
public int getERPWorkOrder(String orderCode) {
if (StringUtils.isEmpty(orderCode)) {
throw new ServiceException("请输出订单编号");
}
ERPParamDto paramDto = new ERPParamDto();
paramDto.setAppCode(ERPConstants.orderAppCode);
paramDto.setController(ERPConstants.orderController);
paramDto.setActionName(ERPConstants.orderActionName);
for (String orderCodeStr : orderCode.split(",")) {
paramDto.setSeqNo(orderCodeStr);
portService.getERPOrderData(paramDto);
}
return 1;
}
}

@ -1,5 +1,6 @@
package com.os.mes.prod.service.impl;
import java.math.BigDecimal;
import java.util.List;
import com.os.common.constant.MesConstants;
@ -108,11 +109,12 @@ public class ProdPlanErpInfoServiceImpl implements IProdPlanErpInfoService {
* @return
*/
@Override
@Transactional
@Transactional(rollbackFor = Exception.class)
public void insertOrUpdateProdPlanErpInfoList(List<ProdPlanErpInfo> dataList) {
for (ProdPlanErpInfo planErpInfo : dataList) {
String equipmentNo = planErpInfo.getEquipmentNo();
String processStage = planErpInfo.getProcessStage();
String taskProgress = planErpInfo.getTaskProgress();
if (StringUtils.isNotEmpty(equipmentNo)) {
BaseDeviceLedger deviceLedger = deviceLedgerService.selectBaseDeviceLedgerByDeviceCode(equipmentNo, processStage);
if (StringUtils.isNotNull(deviceLedger)) {
@ -144,6 +146,11 @@ public class ProdPlanErpInfoServiceImpl implements IProdPlanErpInfoService {
planInfo.setStationCode(planErpInfo.getStationCode());
planInfo.setTeamCode(planErpInfo.getTeamNo());
planInfo.setMaterialName(planErpInfo.getConveyorLengthSpecification());
BigDecimal completeAmount = planInfo.getCompleteAmount();
if (MesConstants.MES_PLAN_ERP_STATUS_FINISH.equals(taskProgress) &&
completeAmount != null && completeAmount.compareTo(BigDecimal.ZERO) == 0) {
planInfo.setPlanStatus(MesConstants.MES_PLAN_STATUS_CANCEL);
}
prodPlanInfoService.updateProdPlanInfo(planInfo);
ProdPlanErpInfo prodPlanErpInfo = infoList.get(0);
planErpInfo.setObjId(prodPlanErpInfo.getObjId());
@ -160,7 +167,11 @@ public class ProdPlanErpInfoServiceImpl implements IProdPlanErpInfoService {
planInfo.setPlanEndTime(planErpInfo.getPlanEndTime());
planInfo.setTeamCode(planErpInfo.getTeamNo());
planInfo.setMaterialName(planErpInfo.getConveyorLengthSpecification());
planInfo.setPlanStatus("4");
if (MesConstants.MES_PLAN_ERP_STATUS_FINISH.equals(taskProgress)){
planInfo.setPlanStatus(MesConstants.MES_PLAN_STATUS_CANCEL);
} else {
planInfo.setPlanStatus(MesConstants.MES_PLAN_STATUS_WAIT);
}
planInfo.setImportFlag("1");
prodPlanInfoService.insertProdPlanInfo(planInfo);
this.insertProdPlanErpInfo(planErpInfo);

@ -77,6 +77,7 @@
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
<result property="workload" column="workload"/>
<result property="taskProgress" column="taskProgress"/>
</resultMap>
<sql id="selectProdPlanErpInfoVo">
@ -148,6 +149,7 @@
teamName,
groupLeader,
workload,
taskProgress,
create_by,
create_time,
update_by,
@ -175,6 +177,7 @@
#{workingEfficiency}
</if>
<if test="equipmentNo != null and equipmentNo != ''">and equipmentNo = #{equipmentNo}</if>
<if test="taskProgress != null and taskProgress != ''">and taskProgress = #{taskProgress}</if>
<if test="preparationDuration != null ">and preparationDuration = #{preparationDuration}</if>
<if test="windUpDuration != null ">and windUpDuration = #{windUpDuration}</if>
<if test="clothMinimumSpeed != null ">and clothMinimumSpeed = #{clothMinimumSpeed}</if>
@ -330,6 +333,7 @@
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="workload != null">workload,</if>
<if test="taskProgress != null">taskProgress,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="hardware != null">#{hardware},</if>
@ -403,6 +407,7 @@
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="workload != null">#{workload},</if>
<if test="taskProgress != null">#{taskProgress},</if>
</trim>
</insert>
@ -487,6 +492,7 @@
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="workload != null">workload = #{workload},</if>
<if test="taskProgress != null">taskProgress = #{taskProgress},</if>
</trim>
where obj_id = #{objId}
</update>

Loading…
Cancel
Save