feat(api): 新增ERP产品管理功能
- 新增ErpProduct实体类,用于接收ERP产品信息 - 在IToErpService接口中增加创建车间入库单和其它出入库单的方法 - 在IToWmsService接口中增加接收、修改、作废物料的方法 - 实现ToErpServiceImpl中的callbackTransferBill方法,定时回调其他出入库单 - 实现ToWmsServiceImpl中对ErpProduct的接收、更新及作废操作 - 修改MydoJobServiceImpl逻辑,优化任务完成后的回调处理流程 - 更新ToErpApiController控制器,调整相关接口路径与实现方式 - 更新ToWmsApiController控制器,新增物料相关的RESTful接口 - 调整代码结构,引入必要的依赖并删除无用的导入包 - 修复部分注释和日志描述不准确的问题
This commit is contained in:
@@ -28,34 +28,12 @@ public class ToErpApiController {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private IToErpService toErpService;
|
private IToErpService toErpService;
|
||||||
|
|
||||||
/**
|
|
||||||
* 接收物料信息
|
|
||||||
*/
|
|
||||||
@GetMapping("/receiveMaterial")
|
|
||||||
public AjaxResult receiveMaterial(@RequestBody BasProduct basProduct) {
|
|
||||||
return toErpService.receiveMaterial(basProduct);
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* 接收客户信息
|
|
||||||
*/
|
|
||||||
@GetMapping("/receiveCustomer")
|
|
||||||
public AjaxResult receiveCustomer(@RequestBody BasCustomer basProduct) {
|
|
||||||
return toErpService.receiveCustomer(basProduct);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 接收供应商信息
|
* 回传其他出入库单
|
||||||
*/
|
|
||||||
@GetMapping("/receiveSupplier")
|
|
||||||
public AjaxResult receiveSupplier(@RequestBody BasSupplier basSupplier) {
|
|
||||||
return toErpService.receiveSupplier(basSupplier);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 生成调拨单
|
|
||||||
*/
|
*/
|
||||||
@Scheduled(fixedDelay = 1500)
|
@Scheduled(fixedDelay = 1500)
|
||||||
public void saveTransferBill() {
|
public void callbackTransferBill() {
|
||||||
toErpService.saveTransferBill();
|
toErpService.callbackTransferBill();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.ruoyi.api.controller;
|
package com.ruoyi.api.controller;
|
||||||
|
|
||||||
import cn.hutool.json.JSONUtil;
|
import cn.hutool.json.JSONUtil;
|
||||||
|
import com.ruoyi.api.domain.ErpProduct;
|
||||||
import com.ruoyi.api.domain.ReMaterialParam;
|
import com.ruoyi.api.domain.ReMaterialParam;
|
||||||
import com.ruoyi.api.domain.RequestEnter;
|
import com.ruoyi.api.domain.RequestEnter;
|
||||||
import com.ruoyi.api.domain.WmsJobRequest;
|
import com.ruoyi.api.domain.WmsJobRequest;
|
||||||
@@ -129,29 +130,33 @@ public class ToWmsApiController {
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改物料管理
|
* 接收物料
|
||||||
*/
|
*/
|
||||||
@Log(title = "物料管理", businessType = BusinessType.UPDATE)
|
@Log(title = "物料管理", businessType = BusinessType.INSERT)
|
||||||
@PutMapping("/updateProduct")
|
@PutMapping("/receiveProduct")
|
||||||
public AjaxResult updateProduct(@RequestBody BasProduct basProduct)
|
public AjaxResult receiveProduct(@RequestBody ErpProduct erpProduct)
|
||||||
{
|
{
|
||||||
if (basProductService.updateBasProduct(basProduct)>0){
|
return toWmsService.receiveProduct(erpProduct);
|
||||||
return AjaxResult.success(basProduct.getProductId());
|
|
||||||
}
|
|
||||||
return AjaxResult.error();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改物料管理
|
* 修改物料管理
|
||||||
*/
|
*/
|
||||||
@Log(title = "物料管理", businessType = BusinessType.UPDATE)
|
@Log(title = "物料管理", businessType = BusinessType.UPDATE)
|
||||||
@PutMapping("/InvalidProduct")
|
@PutMapping("/updateProduct")
|
||||||
public AjaxResult InvalidProduct(@RequestBody BasProduct basProduct)
|
public AjaxResult updateProduct(@RequestBody ErpProduct erpProduct)
|
||||||
{
|
{
|
||||||
if (basProductService.updateBasProduct(basProduct)>0){
|
return toWmsService.updateProduct(erpProduct);
|
||||||
return AjaxResult.success(basProduct.getProductId());
|
}
|
||||||
}
|
|
||||||
return AjaxResult.error();
|
/**
|
||||||
|
* 作废物料
|
||||||
|
*/
|
||||||
|
@Log(title = "物料管理", businessType = BusinessType.UPDATE)
|
||||||
|
@PutMapping("/InvalidProduct")
|
||||||
|
public AjaxResult InvalidProduct(@RequestBody ErpProduct erpProduct)
|
||||||
|
{
|
||||||
|
return toWmsService.InvalidProduct(erpProduct);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,20 @@
|
|||||||
|
package com.ruoyi.api.domain;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class ErpProduct {
|
||||||
|
private String sys_MainId;
|
||||||
|
private String ITEM_CODE;
|
||||||
|
private String ITEM_NAME;
|
||||||
|
private String ITEM_SPECIFICATION;
|
||||||
|
private String LENTH;
|
||||||
|
private String WIDTH;
|
||||||
|
private String HEIGTH;
|
||||||
|
private String UNIT_CODE;
|
||||||
|
private String UNIT_NAME;
|
||||||
|
}
|
||||||
@@ -13,13 +13,16 @@ import java.util.Map;
|
|||||||
public interface IToErpService {
|
public interface IToErpService {
|
||||||
|
|
||||||
|
|
||||||
Map<String,String> saveTransferBill();
|
void callbackTransferBill();
|
||||||
|
|
||||||
Map<String,String> billCompletedCallBack();
|
|
||||||
|
|
||||||
AjaxResult receiveMaterial(BasProduct basProduct);
|
AjaxResult receiveMaterial(BasProduct basProduct);
|
||||||
|
|
||||||
AjaxResult receiveCustomer(BasCustomer basProduct);
|
AjaxResult receiveCustomer(BasCustomer basProduct);
|
||||||
|
|
||||||
AjaxResult receiveSupplier(BasSupplier basSupplier);
|
AjaxResult receiveSupplier(BasSupplier basSupplier);
|
||||||
|
|
||||||
|
AjaxResult createWorkshopInboundOrder();
|
||||||
|
|
||||||
|
AjaxResult createOtherInOutboundOrder();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.ruoyi.api.service;
|
package com.ruoyi.api.service;
|
||||||
|
|
||||||
|
import com.ruoyi.api.domain.ErpProduct;
|
||||||
import com.ruoyi.api.domain.ReMaterialParam;
|
import com.ruoyi.api.domain.ReMaterialParam;
|
||||||
import com.ruoyi.api.domain.RequestEnter;
|
import com.ruoyi.api.domain.RequestEnter;
|
||||||
import com.ruoyi.api.domain.WmsJobRequest;
|
import com.ruoyi.api.domain.WmsJobRequest;
|
||||||
@@ -43,4 +44,19 @@ public interface IToWmsService {
|
|||||||
* 获取入库作业
|
* 获取入库作业
|
||||||
*/
|
*/
|
||||||
AjaxResult requestEnterByTrayCodeAndEntranceId(RequestEnter requestEnter);
|
AjaxResult requestEnterByTrayCodeAndEntranceId(RequestEnter requestEnter);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 接收物料
|
||||||
|
*/
|
||||||
|
AjaxResult receiveProduct(ErpProduct erpProduct);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改物料
|
||||||
|
*/
|
||||||
|
AjaxResult updateProduct(ErpProduct erpProduct);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 作废物料
|
||||||
|
*/
|
||||||
|
AjaxResult InvalidProduct(ErpProduct erpProduct);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.ruoyi.api.service.impl;
|
package com.ruoyi.api.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.util.ObjUtil;
|
import cn.hutool.core.util.ObjUtil;
|
||||||
import cn.hutool.http.HttpUtil;
|
import cn.hutool.http.HttpUtil;
|
||||||
import com.ruoyi.api.mapper.JobStatisticsMapper;
|
import com.ruoyi.api.mapper.JobStatisticsMapper;
|
||||||
@@ -14,15 +15,14 @@ import com.ruoyi.bas.BasSupplier.service.IBasSupplierService;
|
|||||||
import com.ruoyi.bas.cargoSpace.mapper.BasCargoSpaceMapper;
|
import com.ruoyi.bas.cargoSpace.mapper.BasCargoSpaceMapper;
|
||||||
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
import com.ruoyi.common.utils.DateUtils;
|
import com.ruoyi.common.utils.DateUtils;
|
||||||
|
import com.ruoyi.in.erp.domain.TransferBillCallback;
|
||||||
|
import com.ruoyi.in.erp.service.ITransferBillCallbackService;
|
||||||
import com.ruoyi.job.mydojob.domain.MydoJob;
|
import com.ruoyi.job.mydojob.domain.MydoJob;
|
||||||
import com.ruoyi.job.mydojob.mapper.MydoJobMapper;
|
import com.ruoyi.job.mydojob.mapper.MydoJobMapper;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 作业统计 Service 实现
|
* 作业统计 Service 实现
|
||||||
@@ -38,20 +38,24 @@ public class ToErpServiceImpl implements IToErpService {
|
|||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IBasCustomerService basCustomerService;
|
private IBasCustomerService basCustomerService;
|
||||||
|
@Autowired
|
||||||
|
private ITransferBillCallbackService transferBillCallbackService;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<String, String> saveTransferBill() {
|
public void callbackTransferBill() {
|
||||||
HashMap<String, String> map = new HashMap<>();
|
TransferBillCallback param = new TransferBillCallback();
|
||||||
map.put("code","200");
|
param.setStatus("0");
|
||||||
return map;
|
List<TransferBillCallback> list = transferBillCallbackService.selectTransferBillCallbackList(param);
|
||||||
}
|
for (TransferBillCallback transferBillCallback : list) {
|
||||||
|
//todo 请求其他出入库单回传接口
|
||||||
@Override
|
AjaxResult otherInOutboundOrder = createOtherInOutboundOrder();
|
||||||
public Map<String, String> billCompletedCallBack() {
|
if (otherInOutboundOrder.isSuccess()){
|
||||||
HashMap<String, String> map = new HashMap<>();
|
transferBillCallback.setStatus("1");
|
||||||
map.put("code","200");
|
transferBillCallback.setFinishTime(DateUtil.formatDateTime(new Date()));
|
||||||
return map;
|
transferBillCallbackService.updateTransferBillCallback(transferBillCallback);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -89,4 +93,14 @@ public class ToErpServiceImpl implements IToErpService {
|
|||||||
}
|
}
|
||||||
return AjaxResult.success();
|
return AjaxResult.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public AjaxResult createWorkshopInboundOrder() {
|
||||||
|
return AjaxResult.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public AjaxResult createOtherInOutboundOrder() {
|
||||||
|
return AjaxResult.success();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,10 +5,7 @@ import cn.hutool.core.convert.Convert;
|
|||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.util.ObjUtil;
|
import cn.hutool.core.util.ObjUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.ruoyi.api.domain.ReMaterialParam;
|
import com.ruoyi.api.domain.*;
|
||||||
import com.ruoyi.api.domain.RequestEnter;
|
|
||||||
import com.ruoyi.api.domain.RequestEnterResponse;
|
|
||||||
import com.ruoyi.api.domain.WmsJobRequest;
|
|
||||||
import com.ruoyi.api.service.IToErpService;
|
import com.ruoyi.api.service.IToErpService;
|
||||||
import com.ruoyi.api.service.IToWmsService;
|
import com.ruoyi.api.service.IToWmsService;
|
||||||
import com.ruoyi.bas.BasProduct.domain.BasProduct;
|
import com.ruoyi.bas.BasProduct.domain.BasProduct;
|
||||||
@@ -135,7 +132,7 @@ public class ToWmsServiceImpl implements IToWmsService {
|
|||||||
|
|
||||||
BasProduct basProduct = basProducts.get(0);
|
BasProduct basProduct = basProducts.get(0);
|
||||||
|
|
||||||
//根据包装方式 主要包装方式 描述 长 宽 高 包装材积
|
//todo 根据包装方式 主要包装方式 描述 长 宽 高 包装材积
|
||||||
int size = getSize(basProduct);
|
int size = getSize(basProduct);
|
||||||
|
|
||||||
//超大托盘不处理 直接返回
|
//超大托盘不处理 直接返回
|
||||||
@@ -152,6 +149,8 @@ public class ToWmsServiceImpl implements IToWmsService {
|
|||||||
String inOrOutType = null;
|
String inOrOutType = null;
|
||||||
String inStockId = null;
|
String inStockId = null;
|
||||||
String inStockDetailId = null;
|
String inStockDetailId = null;
|
||||||
|
//创建作业标准
|
||||||
|
boolean flag = false;
|
||||||
if ("1".equals(requestEnter.getFloor())) {
|
if ("1".equals(requestEnter.getFloor())) {
|
||||||
//一楼入库 其它入库 和 退料入库 存在单据,需要修改单据数量
|
//一楼入库 其它入库 和 退料入库 存在单据,需要修改单据数量
|
||||||
InStockin inStockinParam = new InStockin();
|
InStockin inStockinParam = new InStockin();
|
||||||
@@ -179,100 +178,95 @@ public class ToWmsServiceImpl implements IToWmsService {
|
|||||||
inStockinDetail.setScanNum(Convert.toStr(Convert.toBigDecimal(inStockinDetail.getScanNum()).add(Convert.toBigDecimal(1))));
|
inStockinDetail.setScanNum(Convert.toStr(Convert.toBigDecimal(inStockinDetail.getScanNum()).add(Convert.toBigDecimal(1))));
|
||||||
inStockinDetailService.updateInStockinDetail(inStockinDetail);
|
inStockinDetailService.updateInStockinDetail(inStockinDetail);
|
||||||
|
|
||||||
} else {
|
flag = true;
|
||||||
|
} else if ("2".equals(requestEnter.getFloor())){
|
||||||
|
|
||||||
inOrOutType = "1";
|
inOrOutType = "1";
|
||||||
}
|
//todo 创建工艺入库单
|
||||||
|
AjaxResult workshopInboundOrder = toErpService.createWorkshopInboundOrder();
|
||||||
|
if (workshopInboundOrder.isSuccess()){
|
||||||
//生成作业
|
flag = true;
|
||||||
MydoJob mydoJob = new MydoJob();
|
|
||||||
mydoJob.setStatus("1");
|
|
||||||
mydoJob.setInOrOut(inOrOutType);
|
|
||||||
mydoJob.setExecutionPhase("1");
|
|
||||||
mydoJob.setTrayCode(basJobIdService.getJobId("TP"));
|
|
||||||
mydoJob.setWarehouseId("01");
|
|
||||||
mydoJob.setRoadwayId(getRoadway(size));
|
|
||||||
mydoJob.setLineId(erpBill);
|
|
||||||
BasRoadway basRoadway = basRoadwayService.selectBasRoadwayById(mydoJob.getRoadwayId());
|
|
||||||
if ("1".equals(requestEnter.getFloor())) {
|
|
||||||
if ("Y".equals(basRoadway.getInLocked())) {
|
|
||||||
return new AjaxResult(6, "巷道已锁");
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if ("Y".equals(basRoadway.getInLocked2())) {
|
|
||||||
return new AjaxResult(6, "巷道已锁");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//根据巷道查找货位
|
if (flag){
|
||||||
BasCargoSpace basCargoSpaceParam = new BasCargoSpace();
|
//生成作业
|
||||||
basCargoSpaceParam.setWarehouseId(mydoJob.getWarehouseId());
|
MydoJob mydoJob = new MydoJob();
|
||||||
basCargoSpaceParam.setRoadwayId(mydoJob.getRoadwayId());
|
mydoJob.setStatus("1");
|
||||||
BasCargoSpace basCargoSpace = basCargoSpaceService.selectEmptyCargoSpaceByWarehouseId(basCargoSpaceParam);
|
mydoJob.setInOrOut(inOrOutType);
|
||||||
if (ObjUtil.isNull(basCargoSpace)) {
|
mydoJob.setExecutionPhase("1");
|
||||||
return new AjaxResult(5, "没有货位");
|
mydoJob.setTrayCode(basJobIdService.getJobId("TP"));
|
||||||
}
|
mydoJob.setWarehouseId("01");
|
||||||
mydoJob.setCargoSpaceId(basCargoSpace.getCargoSpaceId());
|
mydoJob.setRoadwayId(getRoadway(size));
|
||||||
mydoJob.setEntranceId(requestEnter.getEntranceId());
|
mydoJob.setLineId(erpBill);
|
||||||
mydoJobService.insertMydoJob(mydoJob);
|
BasRoadway basRoadway = basRoadwayService.selectBasRoadwayById(mydoJob.getRoadwayId());
|
||||||
|
if ("1".equals(requestEnter.getFloor())) {
|
||||||
//生成子作业
|
if ("Y".equals(basRoadway.getInLocked())) {
|
||||||
MydoJobDetail mydoJobDetail = new MydoJobDetail();
|
return new AjaxResult(6, "巷道已锁");
|
||||||
mydoJobDetail.setJobDetailId(mydoJob.getJobId() + "-1");
|
}
|
||||||
mydoJobDetail.setJobId(mydoJob.getJobId());
|
} else {
|
||||||
mydoJobDetail.setCreateTime(new Date());
|
if ("Y".equals(basRoadway.getInLocked2())) {
|
||||||
mydoJobDetail.setProductGuid(basProduct.getProductGuid());
|
return new AjaxResult(6, "巷道已锁");
|
||||||
mydoJobDetail.setProductId(basProduct.getProductId());
|
}
|
||||||
mydoJobDetail.setInQuantity("1");
|
|
||||||
mydoJobDetail.setSpare1(xh);
|
|
||||||
mydoJobDetail.setSpare2(nw);
|
|
||||||
mydoJobDetail.setSpare3(color);
|
|
||||||
mydoJobDetail.setSpare4(xlh);
|
|
||||||
mydoJobDetail.setSpare5(v);
|
|
||||||
mydoJobDetail.setSpare6(hz);
|
|
||||||
mydoJobDetail.setSpare7(ph);
|
|
||||||
mydoJobDetail.setSpare8(gw);
|
|
||||||
mydoJobDetail.setSpare9(fx);
|
|
||||||
mydoJobDetail.setUnit(jx);
|
|
||||||
mydoJobDetail.setSpec(basProduct.getSpec());
|
|
||||||
mydoJobDetail.setInOrOutId(inStockId);
|
|
||||||
mydoJobDetail.setInOrOutDId(inStockDetailId);
|
|
||||||
mydoJobDetail.setStockinId(inStockId);
|
|
||||||
mydoJobDetailService.insertMydoJobDetail(mydoJobDetail);
|
|
||||||
|
|
||||||
//修改货位状态
|
|
||||||
basCargoSpace.setStatus("3");
|
|
||||||
basCargoSpaceService.updateBasCargoSpace(basCargoSpace);
|
|
||||||
//type=1是手持机调用
|
|
||||||
if (!"1".equals(requestEnter.getType())) {
|
|
||||||
mydoJob.setStatus("3");
|
|
||||||
mydoJobService.updateMydoJob(mydoJob);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ("1".equals(mydoJob.getInOrOut())) {
|
|
||||||
//生成调拨单
|
|
||||||
Map<String, String> saveTransferBill = toErpService.saveTransferBill();
|
|
||||||
if (!"200".equals(saveTransferBill.get("code"))) {
|
|
||||||
return AjaxResult.error("生成调拨单失败");
|
|
||||||
}
|
}
|
||||||
log.info("生成调拨单{}", saveTransferBill);
|
|
||||||
//存入调拨单数据 已生成
|
|
||||||
TransferBillCallback transferBillCallback = new TransferBillCallback();
|
|
||||||
transferBillCallback.setJobId(mydoJob.getJobId());
|
|
||||||
transferBillCallback.setErpBill(erpBill);
|
|
||||||
transferBillCallback.setType("1");
|
|
||||||
transferBillCallback.setStatus("0");
|
|
||||||
transferBillCallbackService.insertTransferBillCallback(transferBillCallback);
|
|
||||||
}
|
|
||||||
//修改作业状态为正执行
|
|
||||||
result.put("jobId", mydoJob.getJobId());
|
|
||||||
result.put("taskNo", mydoJob.getTaskNo());
|
|
||||||
result.put("cargoSpaceId", mydoJob.getCargoSpaceId());
|
|
||||||
result.put("roadwayId", mydoJob.getRoadwayId());
|
|
||||||
result.put("entranceId", mydoJob.getEntranceId());
|
|
||||||
result.put("inOrOut", mydoJob.getInOrOut());
|
|
||||||
|
|
||||||
return AjaxResult.success(result);
|
//根据巷道查找货位
|
||||||
|
BasCargoSpace basCargoSpaceParam = new BasCargoSpace();
|
||||||
|
basCargoSpaceParam.setWarehouseId(mydoJob.getWarehouseId());
|
||||||
|
basCargoSpaceParam.setRoadwayId(mydoJob.getRoadwayId());
|
||||||
|
BasCargoSpace basCargoSpace = basCargoSpaceService.selectEmptyCargoSpaceByWarehouseId(basCargoSpaceParam);
|
||||||
|
if (ObjUtil.isNull(basCargoSpace)) {
|
||||||
|
return new AjaxResult(5, "没有货位");
|
||||||
|
}
|
||||||
|
mydoJob.setCargoSpaceId(basCargoSpace.getCargoSpaceId());
|
||||||
|
mydoJob.setEntranceId(requestEnter.getEntranceId());
|
||||||
|
mydoJob.setClassId(requestEnter.getFloor());
|
||||||
|
mydoJobService.insertMydoJob(mydoJob);
|
||||||
|
|
||||||
|
//生成子作业
|
||||||
|
MydoJobDetail mydoJobDetail = new MydoJobDetail();
|
||||||
|
mydoJobDetail.setJobDetailId(mydoJob.getJobId() + "-1");
|
||||||
|
mydoJobDetail.setJobId(mydoJob.getJobId());
|
||||||
|
mydoJobDetail.setCreateTime(new Date());
|
||||||
|
mydoJobDetail.setProductGuid(basProduct.getProductGuid());
|
||||||
|
mydoJobDetail.setProductId(basProduct.getProductId());
|
||||||
|
mydoJobDetail.setInQuantity("1");
|
||||||
|
mydoJobDetail.setSpare1(xh);
|
||||||
|
mydoJobDetail.setSpare2(nw);
|
||||||
|
mydoJobDetail.setSpare3(color);
|
||||||
|
mydoJobDetail.setSpare4(xlh);
|
||||||
|
mydoJobDetail.setSpare5(v);
|
||||||
|
mydoJobDetail.setSpare6(hz);
|
||||||
|
mydoJobDetail.setSpare7(ph);
|
||||||
|
mydoJobDetail.setSpare8(gw);
|
||||||
|
mydoJobDetail.setSpare9(fx);
|
||||||
|
mydoJobDetail.setUnit(jx);
|
||||||
|
mydoJobDetail.setSpec(basProduct.getSpec());
|
||||||
|
mydoJobDetail.setInOrOutId(inStockId);
|
||||||
|
mydoJobDetail.setInOrOutDId(inStockDetailId);
|
||||||
|
mydoJobDetail.setStockinId(inStockId);
|
||||||
|
mydoJobDetailService.insertMydoJobDetail(mydoJobDetail);
|
||||||
|
|
||||||
|
//修改货位状态
|
||||||
|
basCargoSpace.setStatus("3");
|
||||||
|
basCargoSpaceService.updateBasCargoSpace(basCargoSpace);
|
||||||
|
//type=1是手持机调用
|
||||||
|
if (!"1".equals(requestEnter.getType())) {
|
||||||
|
mydoJob.setStatus("3");
|
||||||
|
mydoJobService.updateMydoJob(mydoJob);
|
||||||
|
}
|
||||||
|
//修改作业状态为正执行
|
||||||
|
result.put("jobId", mydoJob.getJobId());
|
||||||
|
result.put("taskNo", mydoJob.getTaskNo());
|
||||||
|
result.put("cargoSpaceId", mydoJob.getCargoSpaceId());
|
||||||
|
result.put("roadwayId", mydoJob.getRoadwayId());
|
||||||
|
result.put("entranceId", mydoJob.getEntranceId());
|
||||||
|
result.put("inOrOut", mydoJob.getInOrOut());
|
||||||
|
|
||||||
|
return AjaxResult.success(result);
|
||||||
|
}else {
|
||||||
|
return new AjaxResult(7,"生成工艺单失败");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getRoadway(int size) {
|
private String getRoadway(int size) {
|
||||||
@@ -284,7 +278,7 @@ public class ToWmsServiceImpl implements IToWmsService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* todo 根据包装方式 主要包装方式 描述 长 宽 高 包装材积获取大小
|
* 根据包装方式 主要包装方式 描述 长 宽 高 包装材积获取大小
|
||||||
*/
|
*/
|
||||||
private int getSize(BasProduct basProduct) {
|
private int getSize(BasProduct basProduct) {
|
||||||
String remark = basProduct.getRemark();
|
String remark = basProduct.getRemark();
|
||||||
@@ -376,7 +370,7 @@ public class ToWmsServiceImpl implements IToWmsService {
|
|||||||
|
|
||||||
default:
|
default:
|
||||||
log.error("作业类型错误");
|
log.error("作业类型错误");
|
||||||
return AjaxResult.error(MessageUtils.message("error.message12"));
|
return AjaxResult.error("作业类型错误");
|
||||||
}
|
}
|
||||||
return AjaxResult.success();
|
return AjaxResult.success();
|
||||||
}
|
}
|
||||||
@@ -503,5 +497,58 @@ public class ToWmsServiceImpl implements IToWmsService {
|
|||||||
return AjaxResult.success(result);
|
return AjaxResult.success(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public AjaxResult receiveProduct(ErpProduct erpProduct) {
|
||||||
|
BasProduct basProduct = getBasProductByErpProduct(erpProduct);
|
||||||
|
BasProduct oldProduct = basProductService.selectBasProductByProductGuid(basProduct.getProductGuid());
|
||||||
|
if (ObjUtil.isNull(oldProduct)){
|
||||||
|
basProductService.insertBasProduct(basProduct);
|
||||||
|
return AjaxResult.success();
|
||||||
|
}
|
||||||
|
return AjaxResult.error(basProduct.getProductGuid()+"物料已存在");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取物料信息
|
||||||
|
* @param erpProduct
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private BasProduct getBasProductByErpProduct(ErpProduct erpProduct) {
|
||||||
|
BasProduct basProduct = new BasProduct();
|
||||||
|
basProduct.setProductGuid(erpProduct.getSys_MainId());
|
||||||
|
basProduct.setProductId(erpProduct.getSys_MainId());
|
||||||
|
basProduct.setParentId(erpProduct.getITEM_CODE());
|
||||||
|
basProduct.setProductName(erpProduct.getITEM_NAME());
|
||||||
|
basProduct.setSpec(erpProduct.getITEM_SPECIFICATION());
|
||||||
|
basProduct.setSpare36(erpProduct.getLENTH());
|
||||||
|
basProduct.setSpare37(erpProduct.getWIDTH());
|
||||||
|
basProduct.setSpare38(erpProduct.getHEIGTH());
|
||||||
|
return basProduct;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public AjaxResult updateProduct(ErpProduct erpProduct) {
|
||||||
|
BasProduct basProduct = getBasProductByErpProduct(erpProduct);
|
||||||
|
BasProduct oldProduct = basProductService.selectBasProductByProductGuid(basProduct.getProductGuid());
|
||||||
|
if (ObjUtil.isNotNull(oldProduct)){
|
||||||
|
basProductService.updateBasProduct(basProduct);
|
||||||
|
return AjaxResult.success();
|
||||||
|
}
|
||||||
|
return AjaxResult.error(basProduct.getProductGuid()+"物料不存在");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public AjaxResult InvalidProduct(ErpProduct erpProduct) {
|
||||||
|
BasProduct oldProduct = basProductService.selectBasProductByProductGuid(erpProduct.getSys_MainId());
|
||||||
|
if (ObjUtil.isNotNull(oldProduct)) {
|
||||||
|
BasProduct basProduct = new BasProduct();
|
||||||
|
basProduct.setProductGuid(oldProduct.getProductGuid());
|
||||||
|
basProduct.setSpare21(oldProduct.getProductId());
|
||||||
|
basProductService.updateBasProduct(oldProduct);
|
||||||
|
return AjaxResult.success();
|
||||||
|
}
|
||||||
|
return AjaxResult.error(erpProduct.getSys_MainId()+"物料不存在");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -342,19 +342,13 @@ public class MydoJobServiceImpl implements IMydoJobService {
|
|||||||
// 插入任务历史表 删除任务
|
// 插入任务历史表 删除任务
|
||||||
insertHistory(mydoJob.getJobId());
|
insertHistory(mydoJob.getJobId());
|
||||||
|
|
||||||
//修改回传单据表状态
|
//其他出入库单据回传
|
||||||
if ("1".equals(mydoJob.getInOrOut())){
|
TransferBillCallback transferBillCallback = new TransferBillCallback();
|
||||||
//调拨单
|
transferBillCallback.setJobId(mydoJob.getJobId());
|
||||||
TransferBillCallback transferBillCallbackParam = new TransferBillCallback();
|
transferBillCallback.setErpBill(mydoJob.getLineId());
|
||||||
transferBillCallbackParam.setJobId(mydoJob.getJobId());
|
transferBillCallback.setType("1");
|
||||||
List<TransferBillCallback> transferBillCallbacks = transferBillCallbackService.selectTransferBillCallbackList(transferBillCallbackParam);
|
transferBillCallback.setStatus("0");
|
||||||
if (CollUtil.isNotEmpty(transferBillCallbacks)){
|
transferBillCallbackService.insertTransferBillCallback(transferBillCallback);
|
||||||
for (TransferBillCallback transferBillCallback : transferBillCallbacks) {
|
|
||||||
transferBillCallback.setStatus("2");
|
|
||||||
transferBillCallbackService.updateTransferBillCallback(transferBillCallback);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return AjaxResult.success();
|
return AjaxResult.success();
|
||||||
} else {
|
} else {
|
||||||
return AjaxResult.warn("不存在子作业");
|
return AjaxResult.warn("不存在子作业");
|
||||||
|
|||||||
Reference in New Issue
Block a user