|
|
|
|
@ -1,25 +1,33 @@ |
|
|
|
|
package org.springblade.desk.order.service.impl; |
|
|
|
|
|
|
|
|
|
import cn.hutool.http.HttpUtil; |
|
|
|
|
import com.alibaba.fastjson.JSON; |
|
|
|
|
import com.alibaba.fastjson.JSONArray; |
|
|
|
|
import com.alibaba.fastjson.JSONObject; |
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
|
|
|
|
import lombok.RequiredArgsConstructor; |
|
|
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
|
|
import org.springblade.common.constant.YieldOrderConst; |
|
|
|
|
import org.springblade.common.exception.BusinessException; |
|
|
|
|
import org.springblade.common.utils.StringPrefixUtils; |
|
|
|
|
import org.springblade.core.mp.base.BaseServiceImpl; |
|
|
|
|
import org.springblade.core.tool.utils.BeanUtil; |
|
|
|
|
import org.springblade.core.tool.utils.DateUtil; |
|
|
|
|
import org.springblade.core.tool.utils.ObjectUtil; |
|
|
|
|
import org.springblade.core.tool.utils.StringPool; |
|
|
|
|
import org.springblade.desk.dashboard.constant.DsPartConst; |
|
|
|
|
import org.springblade.desk.dashboard.pojo.entity.DsCraftEntity; |
|
|
|
|
import org.springblade.desk.dashboard.pojo.entity.DsPartEntity; |
|
|
|
|
import org.springblade.desk.dashboard.service.IDsCraftService; |
|
|
|
|
import org.springblade.desk.dashboard.service.IDsPartService; |
|
|
|
|
import org.springblade.common.constant.YieldOrderConst; |
|
|
|
|
import org.springblade.desk.order.entity.YieldOrder; |
|
|
|
|
import org.springblade.desk.order.entity.YieldOrderCraft; |
|
|
|
|
import org.springblade.desk.order.mapper.YieldOrderMapper; |
|
|
|
|
import org.springblade.desk.order.service.IYieldOrderCraftService; |
|
|
|
|
import org.springblade.desk.order.service.IYieldOrderService; |
|
|
|
|
import org.springframework.beans.factory.annotation.Value; |
|
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
|
|
import java.text.MessageFormat; |
|
|
|
|
@ -36,10 +44,19 @@ import java.util.Random; |
|
|
|
|
@Service |
|
|
|
|
public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, YieldOrder> implements IYieldOrderService { |
|
|
|
|
|
|
|
|
|
private final IYieldOrderCraftService yieldOrderCraftService; |
|
|
|
|
|
|
|
|
|
private final IDsPartService dsPartService; |
|
|
|
|
|
|
|
|
|
private final IDsCraftService dsCraftService; |
|
|
|
|
|
|
|
|
|
@Value("${business.oldMes.url}") |
|
|
|
|
private String oldMesUrl; |
|
|
|
|
@Value("${business.oldMes.syncOrderList}") |
|
|
|
|
private String addrSyncOrderList; |
|
|
|
|
@Value("${business.oldMes.pushSyncResult}") |
|
|
|
|
private String addrPushSyncResult; |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public IPage<YieldOrder> selectPage(IPage<YieldOrder> page, YieldOrder entity) { |
|
|
|
|
List<YieldOrder> dataList = baseMapper.selectPage(page, entity); |
|
|
|
|
@ -220,6 +237,83 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie |
|
|
|
|
return subYieldOrderList; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public List<String> syncYieldOrderFromOldMes() { |
|
|
|
|
List<String> cardNoList = new ArrayList<>(); |
|
|
|
|
|
|
|
|
|
String url = oldMesUrl + addrSyncOrderList; |
|
|
|
|
String syncResult = HttpUtil.post(url, StringPool.EMPTY); |
|
|
|
|
JSONObject jsonObject = JSON.parseObject(syncResult); |
|
|
|
|
if (jsonObject.getInteger("code") == 0) { |
|
|
|
|
JSONArray dataList = jsonObject.getJSONArray("data"); |
|
|
|
|
if (ObjectUtil.isEmpty(dataList)) { |
|
|
|
|
return cardNoList; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
for (Object dataItem : dataList) { |
|
|
|
|
JSONObject jsonItem = JSON.parseObject(JSON.toJSONString(dataItem)); |
|
|
|
|
|
|
|
|
|
// 构建生产订单信息并保存
|
|
|
|
|
JSONObject yieldJson = jsonItem.getJSONObject("order"); |
|
|
|
|
YieldOrder yieldOrder = JSON.parseObject(JSON.toJSONString(yieldJson), YieldOrder.class); |
|
|
|
|
yieldOrder.setYpCode(yieldJson.getString("poCode")); |
|
|
|
|
yieldOrder.setYpArea(yieldJson.getDouble("poArea")); |
|
|
|
|
yieldOrder.setYpQty(yieldJson.getLong("poQty")); |
|
|
|
|
yieldOrder.setYpProductLine(yieldJson.getString("poProdLine")); |
|
|
|
|
yieldOrder.setYpMemo(yieldJson.getString("poMemo")); |
|
|
|
|
yieldOrder.setProductIdent(yieldJson.getString("prodIdent")); |
|
|
|
|
yieldOrder.setRoamNoNext(yieldJson.getString("nextRoam")); |
|
|
|
|
yieldOrder.setPriorityErp(yieldJson.getInteger("priority")); |
|
|
|
|
if (YieldOrderConst.PRIORITY_ERP_NORMAL.equals(yieldOrder.getPriorityErp())) { |
|
|
|
|
yieldOrder.setPriorityAps(YieldOrderConst.PRIORITY_APS_NORMAL); |
|
|
|
|
} else { |
|
|
|
|
yieldOrder.setPriorityAps(YieldOrderConst.PRIORITY_APS_LOW); |
|
|
|
|
} |
|
|
|
|
yieldOrder.setNewLevFlag(yieldJson.getString("newlevFlag")); |
|
|
|
|
yieldOrder.setUseDeptCode(yieldJson.getString("useDeptcode")); |
|
|
|
|
yieldOrder.setReceiveStatus(YieldOrderConst.RECEIVE_STATUS_YES); |
|
|
|
|
yieldOrder.setReceiveUser(yieldJson.getLong("failureMan")); |
|
|
|
|
yieldOrder.setReceiveTime(yieldJson.getDate("failureTime")); |
|
|
|
|
yieldOrder.setStatus(YieldOrderConst.STATUS_APS); |
|
|
|
|
this.save(yieldOrder); |
|
|
|
|
|
|
|
|
|
// 构建生产订单工艺信息并保存
|
|
|
|
|
JSONArray craftArray = jsonItem.getJSONArray("craftList"); |
|
|
|
|
System.out.println(craftArray); |
|
|
|
|
List<YieldOrderCraft> craftList = new ArrayList<>(); |
|
|
|
|
for (Object craftItem : craftArray) { |
|
|
|
|
JSONObject craftJson = JSON.parseObject(JSON.toJSONString(craftItem)); |
|
|
|
|
YieldOrderCraft craft = new YieldOrderCraft(); |
|
|
|
|
craft.setYoId(yieldOrder.getId()); |
|
|
|
|
craft.setCraftNo(craftJson.getString("craftNo")); |
|
|
|
|
craft.setProcessNo(craftJson.getString("processNo")); |
|
|
|
|
craft.setStartTime(craftJson.getDate("startTime")); |
|
|
|
|
craft.setEndTime(craftJson.getDate("endTime")); |
|
|
|
|
craft.setHourQuota(craftJson.getDouble("hourQuota")); |
|
|
|
|
craft.setMakeMemo(craftJson.getString("makeMemo")); |
|
|
|
|
craft.setPid(craftJson.getLong("pid")); |
|
|
|
|
craft.setRpId(craftJson.getLong("rpId")); |
|
|
|
|
craft.setPpsId(craftJson.getLong("ppsId")); |
|
|
|
|
craft.setMakeTeam(craftJson.getLong("makeTeam")); |
|
|
|
|
craft.setWorkCenter(craftJson.getLong("wcId")); |
|
|
|
|
craft.setOcId(craftJson.getLong("ocId")); |
|
|
|
|
craft.setCaId(craftJson.getLong("caId")); |
|
|
|
|
craftList.add(craft); |
|
|
|
|
} |
|
|
|
|
yieldOrderCraftService.saveBatch(craftList); |
|
|
|
|
|
|
|
|
|
cardNoList.add(yieldOrder.getCardNo()); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
return cardNoList; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public void syncYieldOrderResultToOldMes(List<String> cardNoList) { |
|
|
|
|
String url = oldMesUrl + addrPushSyncResult; |
|
|
|
|
HttpUtil.post(url, JSON.toJSONString(cardNoList)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 验证零件子件信息 |
|
|
|
|
* |
|
|
|
|
|