opt:优化
This commit is contained in:
@@ -64,13 +64,6 @@ public class MaterialbaseController {
|
|||||||
return new ResponseEntity<>(HttpStatus.OK);
|
return new ResponseEntity<>(HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/materialSync")
|
|
||||||
@Log("物料同步")
|
|
||||||
public ResponseEntity<Object> materialSync(@RequestBody JSONObject whereJson) {
|
|
||||||
iMdMeMaterialbaseService.materialSync(whereJson);
|
|
||||||
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
|
|
||||||
}
|
|
||||||
@Log("查询物料操作类型")
|
|
||||||
@PostMapping("/getMaterOptType")
|
@PostMapping("/getMaterOptType")
|
||||||
public ResponseEntity<Object> getMaterOptType(@RequestBody Map map) {
|
public ResponseEntity<Object> getMaterOptType(@RequestBody Map map) {
|
||||||
String materOpt_code = MapUtil.getStr(map, "materOpt_code");
|
String materOpt_code = MapUtil.getStr(map, "materOpt_code");
|
||||||
|
|||||||
@@ -44,14 +44,6 @@ public interface IMdMeMaterialbaseService extends IService<MdMeMaterialbase> {
|
|||||||
*/
|
*/
|
||||||
void delete(Set<String> ids);
|
void delete(Set<String> ids);
|
||||||
|
|
||||||
/**
|
|
||||||
* 物料同步
|
|
||||||
* @param whereJson {
|
|
||||||
* --
|
|
||||||
* }
|
|
||||||
*/
|
|
||||||
void materialSync(JSONObject whereJson);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据编码获取物料
|
* 根据编码获取物料
|
||||||
* @param material_code 物料编码
|
* @param material_code 物料编码
|
||||||
|
|||||||
@@ -105,45 +105,6 @@ public class MdMeMaterialbaseServiceImpl extends ServiceImpl<MdMeMaterialbaseMap
|
|||||||
this.baseMapper.deleteBatchIds(ids);
|
this.baseMapper.deleteBatchIds(ids);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
@Transactional
|
|
||||||
public void materialSync(JSONObject whereJson) {
|
|
||||||
JSONObject resultJson = wmsToErpService.materialSync(whereJson);
|
|
||||||
List<JSONObject> dataList = resultJson.getJSONArray("data").toJavaList(JSONObject.class);
|
|
||||||
// 查询是否有相同物料
|
|
||||||
List<MdMeMaterialbase> likeMaterList = this.list(
|
|
||||||
new QueryWrapper<MdMeMaterialbase>().lambda()
|
|
||||||
.in(MdMeMaterialbase::getMaterial_code, dataList.stream()
|
|
||||||
.map(row -> row.getString("mater_code"))
|
|
||||||
.collect(Collectors.toList())
|
|
||||||
)
|
|
||||||
);
|
|
||||||
// 需插入的物料集合
|
|
||||||
List<MdMeMaterialbase> materDaoList = new ArrayList<>();
|
|
||||||
for (JSONObject json : dataList) {
|
|
||||||
boolean is_like = likeMaterList.stream()
|
|
||||||
.anyMatch(row -> row.getMaterial_code().equals(json.getString("mater_code")));
|
|
||||||
if (is_like) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
// 组织数据
|
|
||||||
MdMeMaterialbase dao = new MdMeMaterialbase();
|
|
||||||
dao.setMaterial_id(IdUtil.getStringId());
|
|
||||||
dao.setMaterial_code(json.getString("mater_code"));
|
|
||||||
dao.setMaterial_name(json.getString("mater_name"));
|
|
||||||
dao.setMaterial_spec(json.getString("spec_dtl"));
|
|
||||||
dao.setNet_weight(json.getBigDecimal("mater_height"));
|
|
||||||
dao.setCreate_id(SecurityUtils.getCurrentUserId());
|
|
||||||
dao.setCreate_name(SecurityUtils.getCurrentNickName());
|
|
||||||
dao.setCreate_time(DateUtil.now());
|
|
||||||
dao.setUpdate_optid(SecurityUtils.getCurrentUserId());
|
|
||||||
dao.setUpdate_optname(SecurityUtils.getCurrentNickName());
|
|
||||||
dao.setUpdate_time(DateUtil.now());
|
|
||||||
materDaoList.add(dao);
|
|
||||||
}
|
|
||||||
this.saveBatch(materDaoList);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public MdMeMaterialbase getByCode(String materialCode) {
|
public MdMeMaterialbase getByCode(String materialCode) {
|
||||||
MdMeMaterialbase one = this.getOne(
|
MdMeMaterialbase one = this.getOne(
|
||||||
|
|||||||
@@ -32,17 +32,17 @@ public class ErpToWmsController {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private ErpToWmsService erpToWmsService;
|
private ErpToWmsService erpToWmsService;
|
||||||
|
|
||||||
@PostMapping("/inventory")
|
|
||||||
@Log("erp查询库存")
|
|
||||||
@SaIgnore
|
|
||||||
public ResponseEntity<Object> confirm(@RequestBody JSONObject whereJson) {
|
|
||||||
return new ResponseEntity<>(erpToWmsService.erpQueryIvt(whereJson),HttpStatus.OK);
|
|
||||||
}
|
|
||||||
|
|
||||||
@PostMapping("/groupinfo")
|
@PostMapping("/groupinfo")
|
||||||
@Log("下发组盘信息")
|
@Log("下发组盘信息")
|
||||||
@SaIgnore
|
@SaIgnore
|
||||||
public ResponseEntity<Object> sendGroupplate(@RequestBody JSONObject whereJson) {
|
public ResponseEntity<Object> sendGroupplate(@RequestBody JSONObject whereJson) {
|
||||||
return new ResponseEntity<>(erpToWmsService.sendGroupplate(whereJson),HttpStatus.OK);
|
return new ResponseEntity<>(erpToWmsService.sendGroupplate(whereJson),HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PostMapping("/usematerinfo")
|
||||||
|
@Log("下发用料信息")
|
||||||
|
@SaIgnore
|
||||||
|
public ResponseEntity<Object> usematerinfo(@RequestBody JSONObject whereJson) {
|
||||||
|
return new ResponseEntity<>(erpToWmsService.usematerinfo(whereJson),HttpStatus.OK);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,14 +8,24 @@ package org.nl.wms.ext_manage.enums;
|
|||||||
public class EXTConstant {
|
public class EXTConstant {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 回传ERP接口地址
|
* 入库反馈
|
||||||
*/
|
*/
|
||||||
public final static String UPLOAD_ERP_API = "CamstarApi/MomRollBakeInBound";
|
public final static String IN_STOR_INFO = "api/toerp/instorinfo";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 物料同步ERP接口地址
|
* 出库反馈
|
||||||
*/
|
*/
|
||||||
public final static String MATERIAL_SYNC_ERP_API = "CamstarApi/MomRollBakeInBound";
|
public final static String OUT_STOR_INFO = "api/toerp/outstorinfo";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 出库反馈
|
||||||
|
*/
|
||||||
|
public final static String SUCCESS = "S";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 出库反馈
|
||||||
|
*/
|
||||||
|
public final static String ERROR = "E";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ACS下发任务接口地址
|
* ACS下发任务接口地址
|
||||||
|
|||||||
@@ -13,16 +13,6 @@ import org.nl.wms.ext_manage.service.util.ErpResponse;
|
|||||||
*/
|
*/
|
||||||
public interface ErpToWmsService {
|
public interface ErpToWmsService {
|
||||||
|
|
||||||
/**
|
|
||||||
* erp查询库存
|
|
||||||
* @param whereJson {
|
|
||||||
* mater_code: 物料编码(可为空)
|
|
||||||
* stor_code: 仓库编码(可为空)
|
|
||||||
* point_code: 货位编码(可为空)
|
|
||||||
* }
|
|
||||||
* @return ErpResponse
|
|
||||||
*/
|
|
||||||
ErpResponse erpQueryIvt(JSONObject whereJson);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 下发组盘单据
|
* 下发组盘单据
|
||||||
@@ -30,16 +20,36 @@ public interface ErpToWmsService {
|
|||||||
* data : [
|
* data : [
|
||||||
* {
|
* {
|
||||||
* mater_code:物料编码
|
* mater_code:物料编码
|
||||||
* vehicle_code:托盘号
|
* mater_name:物料名称
|
||||||
* vehicle_code2:料框号
|
* pallet_sn:托盘号
|
||||||
* quantity:数量
|
* mater_frame:料框号
|
||||||
|
* qty:数量
|
||||||
* unit_code:计量单位
|
* unit_code:计量单位
|
||||||
* ext_code:单据号
|
* order_code:单据号
|
||||||
* ext_type:单据类型
|
* order_type:单据类型
|
||||||
* }
|
* }
|
||||||
* ]
|
* ]
|
||||||
* }
|
* }
|
||||||
* @return ErpResponse
|
* @return ErpResponse
|
||||||
*/
|
*/
|
||||||
ErpResponse sendGroupplate(JSONObject whereJson);
|
ErpResponse sendGroupplate(JSONObject whereJson);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 下发用料信息
|
||||||
|
* @param whereJson: {
|
||||||
|
* data : [
|
||||||
|
* {
|
||||||
|
* mater_code:物料编码
|
||||||
|
* mater_name:物料名称
|
||||||
|
* out_code:车间编号
|
||||||
|
* qty:数量
|
||||||
|
* unit_code:计量单位
|
||||||
|
* order_code:单据号
|
||||||
|
* order_type:单据类型
|
||||||
|
* }
|
||||||
|
* ]
|
||||||
|
* }
|
||||||
|
* @return ErpResponse
|
||||||
|
*/
|
||||||
|
ErpResponse usematerinfo(JSONObject whereJson);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,32 +15,37 @@ public interface WmsToErpService {
|
|||||||
/**
|
/**
|
||||||
* 出入库单据回传
|
* 出入库单据回传
|
||||||
* @param whereJson {
|
* @param whereJson {
|
||||||
* data: []
|
* {
|
||||||
|
* "order_code": "3000000056",
|
||||||
|
* "order_type": "03",
|
||||||
|
* "pallet_sn": "zp0000000003",
|
||||||
|
* "instor_time": "2025-07-21 23:23:01",
|
||||||
|
* "qty": "120.00"
|
||||||
|
* }
|
||||||
* }
|
* }
|
||||||
* @return JSONObject {
|
* @return JSONObject {
|
||||||
* status: 200 / !=200
|
* status: 200 / !=200
|
||||||
* message: 信息
|
* message: 信息
|
||||||
* }
|
* }
|
||||||
*/
|
*/
|
||||||
JSONObject uploadErp(JSONObject whereJson);
|
JSONObject instorinfoToErp(JSONObject whereJson);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 物料同步
|
* 物料同步
|
||||||
* @param whereJson {
|
* @param whereJson {
|
||||||
* --
|
*
|
||||||
|
* "order_code": "3000000056",
|
||||||
|
* "order_type": "03",
|
||||||
|
* "pallet_sn": "zp0000000003",
|
||||||
|
* "outstor_time": "2025-07-21 23:23:01",
|
||||||
|
* "qty": "120.00",
|
||||||
|
* "out_code": "s0001"
|
||||||
|
*
|
||||||
* }
|
* }
|
||||||
* @return JSONObject:{
|
* @return JSONObject:{
|
||||||
* status:状态码
|
* status:状态码
|
||||||
* message:错误信息
|
* message:错误信息
|
||||||
* data: [
|
|
||||||
* mater_code:物料编码
|
|
||||||
* mater_name:物料名称
|
|
||||||
* type_code:物料类型编码
|
|
||||||
* type_name:物料类型名称
|
|
||||||
* spec_dtl:物料规格
|
|
||||||
* mater_height:物料单重
|
|
||||||
* ]
|
|
||||||
* }
|
* }
|
||||||
*/
|
*/
|
||||||
JSONObject materialSync(JSONObject whereJson);
|
JSONObject outstorinfoToErp(JSONObject whereJson);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ import org.nl.wms.sch_manage.service.dao.SchBaseTask;
|
|||||||
import org.nl.wms.sch_manage.service.util.AbstractTask;
|
import org.nl.wms.sch_manage.service.util.AbstractTask;
|
||||||
import org.nl.wms.sch_manage.service.util.TaskFactory;
|
import org.nl.wms.sch_manage.service.util.TaskFactory;
|
||||||
import org.nl.wms.warehouse_manage.enums.IOSEnum;
|
import org.nl.wms.warehouse_manage.enums.IOSEnum;
|
||||||
|
import org.nl.wms.warehouse_manage.service.IRawAssistIStorService;
|
||||||
import org.nl.wms.warehouse_manage.service.dao.GroupPlate;
|
import org.nl.wms.warehouse_manage.service.dao.GroupPlate;
|
||||||
import org.nl.wms.warehouse_manage.service.dao.mapper.MdPbGroupplateMapper;
|
import org.nl.wms.warehouse_manage.service.dao.mapper.MdPbGroupplateMapper;
|
||||||
import org.redisson.api.RLock;
|
import org.redisson.api.RLock;
|
||||||
@@ -55,6 +56,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private ISchBaseTaskService iSchBaseTaskService;
|
private ISchBaseTaskService iSchBaseTaskService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IRawAssistIStorService iRawAssistIStorService;
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private PmFormDataMapper pmFormDataMapper;
|
private PmFormDataMapper pmFormDataMapper;
|
||||||
/**
|
/**
|
||||||
@@ -122,7 +126,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
param.put("user_id", "3");
|
param.put("user_id", "3");
|
||||||
param.put("person_name","ACS");
|
param.put("person_name","ACS");
|
||||||
try {
|
try {
|
||||||
result = this.applyInTask(param);
|
this.applyInTask(param);
|
||||||
|
result.put("status", HttpStatus.OK.value());
|
||||||
|
result.put("message", "申请任务成功!");
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("ACS请求LMS出现错误: {}{}", e,e.getMessage());
|
log.error("ACS请求LMS出现错误: {}{}", e,e.getMessage());
|
||||||
result.put("status", HttpStatus.BAD_REQUEST.value());
|
result.put("status", HttpStatus.BAD_REQUEST.value());
|
||||||
@@ -137,7 +143,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
* @param param
|
* @param param
|
||||||
* @throws BadRequestException
|
* @throws BadRequestException
|
||||||
*/
|
*/
|
||||||
public JSONObject applyInTask(JSONObject param) throws BadRequestException {
|
public void applyInTask(JSONObject param) throws BadRequestException {
|
||||||
JSONObject result = new JSONObject();
|
JSONObject result = new JSONObject();
|
||||||
log.info("ACS请求apply参数: {}", param);
|
log.info("ACS请求apply参数: {}", param);
|
||||||
// 申请任务
|
// 申请任务
|
||||||
@@ -170,9 +176,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
|
|
||||||
|
|
||||||
//todo 查询组盘数据,生成入库单,自动分配,生成任务
|
//todo 查询组盘数据,生成入库单,自动分配,生成任务
|
||||||
//String task_code =taskService.create(task);
|
iRawAssistIStorService.AutoCreateBill(param);
|
||||||
//result.put("task_code",task_code);
|
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,14 +12,12 @@ import org.nl.wms.basedata_manage.service.IMdPbMeasureunitService;
|
|||||||
import org.nl.wms.basedata_manage.service.dao.BsrealStorattr;
|
import org.nl.wms.basedata_manage.service.dao.BsrealStorattr;
|
||||||
import org.nl.wms.basedata_manage.service.dao.MdMeMaterialbase;
|
import org.nl.wms.basedata_manage.service.dao.MdMeMaterialbase;
|
||||||
import org.nl.wms.basedata_manage.service.dao.MdPbMeasureunit;
|
import org.nl.wms.basedata_manage.service.dao.MdPbMeasureunit;
|
||||||
import org.nl.wms.basedata_manage.service.dao.mapper.MdPbStoragevehicleextMapper;
|
|
||||||
import org.nl.wms.ext_manage.service.ErpToWmsService;
|
import org.nl.wms.ext_manage.service.ErpToWmsService;
|
||||||
import org.nl.wms.ext_manage.service.util.ErpResponse;
|
import org.nl.wms.ext_manage.service.util.ErpResponse;
|
||||||
import org.nl.wms.pm_manage.service.IPmFormDataService;
|
import org.nl.wms.pm_manage.service.IPmFormDataService;
|
||||||
import org.nl.wms.pm_manage.service.dao.PmFormData;
|
import org.nl.wms.pm_manage.service.dao.PmFormData;
|
||||||
import org.nl.wms.warehouse_manage.enums.IOSEnum;
|
import org.nl.wms.warehouse_manage.enums.IOSEnum;
|
||||||
import org.nl.wms.warehouse_manage.service.IMdPbGroupplateService;
|
import org.nl.wms.warehouse_manage.service.IMdPbGroupplateService;
|
||||||
import org.nl.wms.warehouse_manage.service.IOutBillService;
|
|
||||||
import org.nl.wms.warehouse_manage.service.dao.GroupPlate;
|
import org.nl.wms.warehouse_manage.service.dao.GroupPlate;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@@ -64,25 +62,6 @@ public class ErpToWmsServiceImpl implements ErpToWmsService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private IMdPbMeasureunitService iMdPbMeasureunitService;
|
private IMdPbMeasureunitService iMdPbMeasureunitService;
|
||||||
|
|
||||||
/**
|
|
||||||
* 载具扩展属性mapper
|
|
||||||
*/
|
|
||||||
@Autowired
|
|
||||||
private MdPbStoragevehicleextMapper mdPbStoragevehicleextMapper;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 出库服务
|
|
||||||
*/
|
|
||||||
@Autowired
|
|
||||||
private IOutBillService iOutBillService;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public ErpResponse erpQueryIvt(JSONObject whereJson) {
|
|
||||||
log.info("erpQueryIvt查询物料接口输入参数为:-------------------" + whereJson.toString());
|
|
||||||
ErpResponse erpResponse = ErpResponse.requestParamOk(mdPbStoragevehicleextMapper.erpQueryIvt(whereJson));
|
|
||||||
log.info("erpQueryIvt查询物料接口输出参数为:-------------------" + erpResponse.toString());
|
|
||||||
return erpResponse;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ErpResponse sendGroupplate(JSONObject whereJson) {
|
public ErpResponse sendGroupplate(JSONObject whereJson) {
|
||||||
@@ -174,4 +153,77 @@ public class ErpToWmsServiceImpl implements ErpToWmsService {
|
|||||||
log.info("sendGroupplate下发组盘接口输出参数为:-------------------" + ErpResponse.requestOk().toString());
|
log.info("sendGroupplate下发组盘接口输出参数为:-------------------" + ErpResponse.requestOk().toString());
|
||||||
return ErpResponse.requestOk();
|
return ErpResponse.requestOk();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ErpResponse usematerinfo(JSONObject whereJson) {
|
||||||
|
/**
|
||||||
|
* data : [
|
||||||
|
* {
|
||||||
|
* mater_code:物料编码
|
||||||
|
* mater_name:物料名称
|
||||||
|
* out_code:车间编号
|
||||||
|
* qty:数量
|
||||||
|
* unit_code:计量单位
|
||||||
|
* order_code:单据号
|
||||||
|
* order_type:单据类型
|
||||||
|
* }
|
||||||
|
* ]
|
||||||
|
*/
|
||||||
|
log.info("usematerinfo接口输入参数为:-------------------" + whereJson.toString());
|
||||||
|
// 查询仓库
|
||||||
|
BsrealStorattr storDao = iBsrealStorattrService.findByCode("GW");
|
||||||
|
if (storDao == null) {
|
||||||
|
throw new BadRequestException("仓库不存在");
|
||||||
|
}
|
||||||
|
// 组织明细
|
||||||
|
List<JSONObject> dataList = whereJson.getJSONArray("data").toJavaList(JSONObject.class);
|
||||||
|
// 查询所有物料
|
||||||
|
List<MdMeMaterialbase> materDaoList = iMdMeMaterialbaseService.list(
|
||||||
|
new QueryWrapper<MdMeMaterialbase>().lambda()
|
||||||
|
.in(MdMeMaterialbase::getMaterial_code, dataList.stream()
|
||||||
|
.map(row -> row.getString("mater_code"))
|
||||||
|
.collect(Collectors.toList())
|
||||||
|
)
|
||||||
|
);
|
||||||
|
// 查询所有计量单位
|
||||||
|
List<MdPbMeasureunit> unitDaoList = iMdPbMeasureunitService.list(
|
||||||
|
new QueryWrapper<MdPbMeasureunit>().lambda()
|
||||||
|
.in(MdPbMeasureunit::getUnit_code, dataList.stream()
|
||||||
|
.map(row -> row.getString("unit_code"))
|
||||||
|
.collect(Collectors.toList()))
|
||||||
|
);
|
||||||
|
// 明细集合
|
||||||
|
List<PmFormData> dtlArr = new ArrayList<>();
|
||||||
|
for (JSONObject json : dataList) {
|
||||||
|
PmFormData jsonDtl = new PmFormData();
|
||||||
|
MdMeMaterialbase materDao = materDaoList.stream()
|
||||||
|
.filter(row -> row.getMaterial_code().equals(json.getString("mater_code")))
|
||||||
|
.findFirst().orElse(null);
|
||||||
|
jsonDtl.setId(IdUtil.getStringId());
|
||||||
|
jsonDtl.setCode(json.getString("order_code"));
|
||||||
|
jsonDtl.setStatus(IOSEnum.BILL_STATUS.code("生成"));
|
||||||
|
jsonDtl.setStor_id(storDao.getStor_id());
|
||||||
|
jsonDtl.setStor_name(storDao.getStor_name());
|
||||||
|
jsonDtl.setForm_type(json.getString("order_type"));
|
||||||
|
jsonDtl.setSource_form_date(DateUtil.today());
|
||||||
|
jsonDtl.setMaterial_code(json.getString("mater_code"));
|
||||||
|
jsonDtl.setMaterial_id(materDao.getMaterial_id());
|
||||||
|
jsonDtl.setQty(BigDecimal.valueOf(json.getDoubleValue("qty")));
|
||||||
|
jsonDtl.setPlan_qty(BigDecimal.valueOf(json.getDoubleValue("qty")));
|
||||||
|
MdPbMeasureunit unitDao = unitDaoList.stream()
|
||||||
|
.filter(row -> row.getUnit_code().equals(json.getString("unit_code")))
|
||||||
|
.findFirst().orElse(null);
|
||||||
|
jsonDtl.setUnit_id(unitDao.getMeasure_unit_id());
|
||||||
|
jsonDtl.setUnit_name(unitDao.getUnit_name());
|
||||||
|
jsonDtl.setCreate_name("ERP");
|
||||||
|
jsonDtl.setCreate_time(DateUtil.now());
|
||||||
|
jsonDtl.setOut_code(json.getString("out_code"));
|
||||||
|
dtlArr.add(jsonDtl);
|
||||||
|
}
|
||||||
|
//保存单据表
|
||||||
|
iPmFormDataService.saveBatch(dtlArr);
|
||||||
|
|
||||||
|
log.info("usematerinfo输出参数为:-------------------" + ErpResponse.requestOk().toString());
|
||||||
|
return ErpResponse.requestOk();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,39 +9,32 @@ import org.nl.wms.system_manage.enums.SysParamConstant;
|
|||||||
import org.nl.wms.system_manage.service.param.impl.SysParamServiceImpl;
|
import org.nl.wms.system_manage.service.param.impl.SysParamServiceImpl;
|
||||||
import org.nl.wms.ext_manage.enums.EXTConstant;
|
import org.nl.wms.ext_manage.enums.EXTConstant;
|
||||||
import org.nl.wms.ext_manage.service.WmsToErpService;
|
import org.nl.wms.ext_manage.service.WmsToErpService;
|
||||||
import org.springframework.http.HttpStatus;
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
/**
|
|
||||||
* <p>
|
|
||||||
* WMS调用ERP 实现类
|
|
||||||
* </p>
|
|
||||||
*
|
|
||||||
* @author Liuxy
|
|
||||||
* @since 2025-06-03
|
|
||||||
*/
|
|
||||||
@Service
|
@Service
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class WmsToErpServiceImpl implements WmsToErpService {
|
public class WmsToErpServiceImpl implements WmsToErpService {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public JSONObject uploadErp(JSONObject whereJson) {
|
public JSONObject instorinfoToErp(JSONObject whereJson) {
|
||||||
log.info("uploadErp回传接口输入参数为:-------------------" + whereJson.toString());
|
log.info("instorinfoToErp回传接口输入参数为:-------------------" + whereJson.toString());
|
||||||
JSONObject result = new JSONObject();
|
JSONObject result = new JSONObject();
|
||||||
|
|
||||||
String url = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode(SysParamConstant.ERP_URL).getValue();
|
String url = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode(SysParamConstant.ERP_URL).getValue();
|
||||||
url = url + EXTConstant.UPLOAD_ERP_API;
|
url = url + EXTConstant.IN_STOR_INFO;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
String resultMsg = HttpRequest.post(url)
|
String resultMsg = HttpRequest.post(url)
|
||||||
.body(String.valueOf(whereJson))
|
.body(String.valueOf(whereJson))
|
||||||
.execute().body();
|
.execute().body();
|
||||||
result = JSONObject.parseObject(resultMsg);
|
result = JSONObject.parseObject(resultMsg);
|
||||||
log.info("uploadErp回传接口输出参数为:-------------------" + result.toString());
|
log.info("instorinfoToErp回传接口输出参数为:-------------------" + result.toString());
|
||||||
|
|
||||||
|
|
||||||
Integer status = result.getInteger("status");
|
|
||||||
if (status != HttpStatus.OK.value()) {
|
String status = result.getString("status");
|
||||||
|
if (!EXTConstant.ERROR.equals(status)) {
|
||||||
throw new BadRequestException(result.getString("message"));
|
throw new BadRequestException(result.getString("message"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -53,23 +46,24 @@ public class WmsToErpServiceImpl implements WmsToErpService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public JSONObject materialSync(JSONObject whereJson) {
|
public JSONObject outstorinfoToErp(JSONObject whereJson) {
|
||||||
log.info("materialSync物料同步接口输入参数为:-------------------" + whereJson.toString());
|
log.info("outstorinfoToErp回传接口输入参数为:-------------------" + whereJson.toString());
|
||||||
JSONObject result = new JSONObject();
|
JSONObject result = new JSONObject();
|
||||||
|
|
||||||
String url = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode(SysParamConstant.ERP_URL).getValue();
|
String url = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode(SysParamConstant.ERP_URL).getValue();
|
||||||
url = url + EXTConstant.MATERIAL_SYNC_ERP_API;
|
url = url + EXTConstant.OUT_STOR_INFO;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
String resultMsg = HttpRequest.post(url)
|
String resultMsg = HttpRequest.post(url)
|
||||||
.body(String.valueOf(whereJson))
|
.body(String.valueOf(whereJson))
|
||||||
.execute().body();
|
.execute().body();
|
||||||
result = JSONObject.parseObject(resultMsg);
|
result = JSONObject.parseObject(resultMsg);
|
||||||
log.info("materialSync物料同步输出参数为:-------------------" + result.toString());
|
log.info("outstorinfoToErp回传接口输出参数为:-------------------" + result.toString());
|
||||||
|
|
||||||
|
|
||||||
Integer status = result.getInteger("status");
|
|
||||||
if (status != HttpStatus.OK.value()) {
|
String status = result.getString("status");
|
||||||
|
if (!EXTConstant.ERROR.equals(status)) {
|
||||||
throw new BadRequestException(result.getString("message"));
|
throw new BadRequestException(result.getString("message"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -77,5 +71,6 @@ public class WmsToErpServiceImpl implements WmsToErpService {
|
|||||||
throw new BadRequestException("ERP提示错误:" + e.getMessage());
|
throw new BadRequestException("ERP提示错误:" + e.getMessage());
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ public class ErpResponse {
|
|||||||
/**
|
/**
|
||||||
* 状态码
|
* 状态码
|
||||||
*/
|
*/
|
||||||
private Integer status;
|
private String status;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 信息
|
* 信息
|
||||||
@@ -40,7 +40,7 @@ public class ErpResponse {
|
|||||||
*/
|
*/
|
||||||
public static ErpResponse requestOk() {
|
public static ErpResponse requestOk() {
|
||||||
return ErpResponse.builder()
|
return ErpResponse.builder()
|
||||||
.status(HttpStatus.HTTP_OK)
|
.status("S")
|
||||||
.message("请求成功!")
|
.message("请求成功!")
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
@@ -51,7 +51,7 @@ public class ErpResponse {
|
|||||||
*/
|
*/
|
||||||
public static ErpResponse requestParamOk(List<JSONObject> list) {
|
public static ErpResponse requestParamOk(List<JSONObject> list) {
|
||||||
return ErpResponse.builder()
|
return ErpResponse.builder()
|
||||||
.status(HttpStatus.HTTP_OK)
|
.status("S")
|
||||||
.message("请求成功!")
|
.message("请求成功!")
|
||||||
.data(list)
|
.data(list)
|
||||||
.build();
|
.build();
|
||||||
@@ -63,7 +63,7 @@ public class ErpResponse {
|
|||||||
*/
|
*/
|
||||||
public static ErpResponse requestError(String message) {
|
public static ErpResponse requestError(String message) {
|
||||||
return ErpResponse.builder()
|
return ErpResponse.builder()
|
||||||
.status(HttpStatus.HTTP_BAD_REQUEST)
|
.status("E")
|
||||||
.message(message)
|
.message(message)
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,52 @@
|
|||||||
|
package org.nl.wms.pda_manage.ios_manage.controller;
|
||||||
|
|
||||||
|
|
||||||
|
import cn.dev33.satoken.annotation.SaIgnore;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.nl.common.logging.annotation.Log;
|
||||||
|
import org.nl.wms.pda_manage.ios_manage.service.PdaMoveStorService;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.http.HttpStatus;
|
||||||
|
import org.springframework.http.ResponseEntity;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import static org.nl.common.utils.ValidationUtil.assertNotBlankJson;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 手持入库管理
|
||||||
|
*
|
||||||
|
* @author Liuxy
|
||||||
|
* @since 2025-06-06
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
@RequestMapping("/api/pda/movestor")
|
||||||
|
@Slf4j
|
||||||
|
@SaIgnore
|
||||||
|
public class PdaMoveStorController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private PdaMoveStorService pdaMoveStorService;
|
||||||
|
|
||||||
|
|
||||||
|
@PostMapping("/move")
|
||||||
|
@Log("移库确认")
|
||||||
|
public ResponseEntity<Object> move(@RequestBody JSONObject whereJson) {
|
||||||
|
return new ResponseEntity<>(pdaMoveStorService.move(whereJson),HttpStatus.OK);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 组盘入库获取物料明细
|
||||||
|
*/
|
||||||
|
@PostMapping("/querydtl")
|
||||||
|
@Log("组盘入库获取物料明细")
|
||||||
|
public ResponseEntity<Object> querydtl(@RequestBody JSONObject whereJson) {
|
||||||
|
return new ResponseEntity<>(pdaMoveStorService.querydtl(whereJson),HttpStatus.OK);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
package org.nl.wms.pda_manage.ios_manage.service;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import org.nl.wms.pda_manage.util.PdaResponse;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 手持IOS 服务类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author Liuxy
|
||||||
|
* @since 2025-06-05
|
||||||
|
*/
|
||||||
|
public interface PdaMoveStorService {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 组盘确认
|
||||||
|
* @return PdaResponse
|
||||||
|
*/
|
||||||
|
PdaResponse move(JSONObject whereJson);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询组盘物料明细
|
||||||
|
*
|
||||||
|
* @return PdaResponse
|
||||||
|
*/
|
||||||
|
List<JSONObject> querydtl(JSONObject whereJson);
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
package org.nl.wms.pda_manage.ios_manage.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import org.nl.wms.pda_manage.ios_manage.service.PdaMoveStorService;
|
||||||
|
import org.nl.wms.pda_manage.util.PdaResponse;
|
||||||
|
import org.nl.wms.warehouse_manage.service.dao.mapper.MdPbGroupplateMapper;
|
||||||
|
import org.nl.wms.warehouse_manage.service.dao.mapper.StIvtMoveinvdtlMapper;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class PdaMoveStorServiceImpl implements PdaMoveStorService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private StIvtMoveinvdtlMapper stIvtMoveinvdtlMapper;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PdaResponse move(JSONObject whereJson) {
|
||||||
|
// 移出货位编码
|
||||||
|
String struct_code = whereJson.getString("struct_code");
|
||||||
|
// 载具号
|
||||||
|
String vehicle_code = whereJson.getString("vehicle_code");
|
||||||
|
// 移入货位
|
||||||
|
String move_struct_code = whereJson.getString("move_struct_code");
|
||||||
|
|
||||||
|
return PdaResponse.requestOk();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<JSONObject> querydtl(JSONObject whereJson) {
|
||||||
|
return stIvtMoveinvdtlMapper.querydtl(whereJson);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -170,6 +170,8 @@ public class PmFormData implements Serializable {
|
|||||||
|
|
||||||
private String new_merge_flag;
|
private String new_merge_flag;
|
||||||
|
|
||||||
|
private String out_code;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -149,6 +149,8 @@ public class PmFormDataDto implements Serializable {
|
|||||||
|
|
||||||
private String new_merge_flag;
|
private String new_merge_flag;
|
||||||
|
|
||||||
|
private String out_code;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 关联上级表单id
|
* 关联上级表单id
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -57,4 +57,9 @@ public interface IRawAssistIStorService extends IService<IOStorInv> {
|
|||||||
List<IOStorInvDisDto> getInBillTaskDtl(Map whereJson);
|
List<IOStorInvDisDto> getInBillTaskDtl(Map whereJson);
|
||||||
|
|
||||||
Structattr getStructattr(JSONObject param);
|
Structattr getStructattr(JSONObject param);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 扫码入库自动生成入库单
|
||||||
|
*/
|
||||||
|
void AutoCreateBill(JSONObject param);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,6 +22,8 @@ public interface IOStorInvMapper extends BaseMapper<IOStorInv> {
|
|||||||
|
|
||||||
IPage<GroupPlateDto> getGroupPlate (IPage<GroupPlateDto> page, @Param("params") Map whereJson);
|
IPage<GroupPlateDto> getGroupPlate (IPage<GroupPlateDto> page, @Param("params") Map whereJson);
|
||||||
|
|
||||||
|
List<GroupPlateDto> getGroupByPlate (@Param("params") Map whereJson);
|
||||||
|
|
||||||
List<IOStorInvDtlDto> getIODtl (@Param("params") Map whereJson);
|
List<IOStorInvDtlDto> getIODtl (@Param("params") Map whereJson);
|
||||||
|
|
||||||
IPage<IOStorInv> queryOutBillPage (IPage<IOStorInv> page,@Param("params") Map whereJson);
|
IPage<IOStorInv> queryOutBillPage (IPage<IOStorInv> page,@Param("params") Map whereJson);
|
||||||
|
|||||||
@@ -48,20 +48,23 @@
|
|||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="getGroupPlate" resultType="org.nl.wms.warehouse_manage.service.dto.GroupPlateDto">
|
<select id="getGroupPlate" resultType="org.nl.wms.warehouse_manage.service.dto.GroupPlateDto">
|
||||||
SELECT group_id,
|
SELECT
|
||||||
storagevehicle_code,
|
gp.group_id,
|
||||||
gp.material_id,pcsn,
|
gp.storagevehicle_code,
|
||||||
qty_unit_id,
|
gp.material_id,
|
||||||
qty_unit_name,qty,
|
gp.qty_unit_id,
|
||||||
frozen_qty,remark,
|
gp.qty_unit_name,
|
||||||
status,ext_code,
|
gp.qty,
|
||||||
ext_type,
|
gp.frozen_qty,
|
||||||
mater.material_name,
|
gp.remark,
|
||||||
mater.material_spec,
|
gp.STATUS,
|
||||||
mater.material_code,
|
mater.material_name,
|
||||||
|
mater.material_spec,
|
||||||
|
mater.material_code,
|
||||||
gp.ext_code,
|
gp.ext_code,
|
||||||
gp.ext_type
|
gp.ext_type
|
||||||
FROM md_pb_groupplate gp
|
FROM
|
||||||
|
md_pb_groupplate gp
|
||||||
LEFT JOIN md_me_materialbase mater ON mater.material_id = gp.material_id
|
LEFT JOIN md_me_materialbase mater ON mater.material_id = gp.material_id
|
||||||
<where>
|
<where>
|
||||||
gp.status = '01' and frozen_qty = 0
|
gp.status = '01' and frozen_qty = 0
|
||||||
@@ -88,6 +91,34 @@
|
|||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="getGroupByPlate" resultType="org.nl.wms.warehouse_manage.service.dto.GroupPlateDto">
|
||||||
|
SELECT
|
||||||
|
gp.group_id,
|
||||||
|
gp.storagevehicle_code,
|
||||||
|
gp.material_id,
|
||||||
|
gp.qty_unit_id,
|
||||||
|
gp.qty_unit_name,
|
||||||
|
gp.qty,
|
||||||
|
gp.frozen_qty,
|
||||||
|
gp.remark,
|
||||||
|
gp.STATUS,
|
||||||
|
mater.material_name,
|
||||||
|
mater.material_spec,
|
||||||
|
mater.material_code,
|
||||||
|
gp.ext_code,
|
||||||
|
gp.ext_type
|
||||||
|
FROM
|
||||||
|
md_pb_groupplate gp
|
||||||
|
LEFT JOIN md_me_materialbase mater ON mater.material_id = gp.material_id
|
||||||
|
<where>
|
||||||
|
gp.status = '01' and frozen_qty = 0
|
||||||
|
<if test="params.vehicle_code != null">
|
||||||
|
AND
|
||||||
|
gp.storagevehicle_code = #{params.vehicle_code}
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
</select>
|
||||||
|
|
||||||
<select id="getIODtl" resultType="org.nl.wms.warehouse_manage.service.dto.IOStorInvDtlDto">
|
<select id="getIODtl" resultType="org.nl.wms.warehouse_manage.service.dto.IOStorInvDtlDto">
|
||||||
SELECT DISTINCT
|
SELECT DISTINCT
|
||||||
dtl.*,
|
dtl.*,
|
||||||
|
|||||||
@@ -26,4 +26,13 @@ public interface StIvtMoveinvdtlMapper extends BaseMapper<StIvtMoveinvdtl> {
|
|||||||
* @return List<JSONObject>
|
* @return List<JSONObject>
|
||||||
*/
|
*/
|
||||||
List<JSONObject> getMoveDtl(@Param("param") Map whereJson);
|
List<JSONObject> getMoveDtl(@Param("param") Map whereJson);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询移库单明细
|
||||||
|
* @param whereJson {
|
||||||
|
* moveinv_id 移库单标识
|
||||||
|
* }
|
||||||
|
* @return List<JSONObject>
|
||||||
|
*/
|
||||||
|
List<JSONObject> querydtl(@Param("param") Map whereJson);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,4 +35,28 @@
|
|||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="querydtl" resultType="com.alibaba.fastjson.JSONObject">
|
||||||
|
SELECT
|
||||||
|
plate.group_id,
|
||||||
|
plate.qty_unit_name AS unit_code,
|
||||||
|
plate.qty,
|
||||||
|
plate.frozen_qty,
|
||||||
|
mater.material_code,
|
||||||
|
mater.material_name
|
||||||
|
FROM
|
||||||
|
md_pb_groupplate plate
|
||||||
|
LEFT JOIN md_me_materialbase mater ON mater.material_id = plate.material_id
|
||||||
|
LEFT JOIN st_ivt_structattr struct ON struct.storagevehicle_code = plate.storagevehicle_code
|
||||||
|
WHERE
|
||||||
|
1 =1
|
||||||
|
<if test="param.struct_code != null and param.struct_code != ''">
|
||||||
|
AND
|
||||||
|
struct.struct_code = #{param.struct_code}
|
||||||
|
</if>
|
||||||
|
<if test="param.vehicle_code != null and param.vehicle_code != ''">
|
||||||
|
AND
|
||||||
|
plate.storagevehicle_code = #{param.vehicle_code}
|
||||||
|
</if>
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
@@ -748,4 +748,36 @@ public class RawAssistIStorServiceImpl extends ServiceImpl<IOStorInvMapper, IOSt
|
|||||||
String iostorinvdtl_id = (String) whereJson.get("iostorinvdtl_id");
|
String iostorinvdtl_id = (String) whereJson.get("iostorinvdtl_id");
|
||||||
return ioStorInvDisMapper.getBillTaskDtl(iostorinvdtl_id);
|
return ioStorInvDisMapper.getBillTaskDtl(iostorinvdtl_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void AutoCreateBill(JSONObject param){
|
||||||
|
String device_code = param.getString("device_code"); // 请求点
|
||||||
|
String vehicle_code = param.getString("vehicle_code");//子托盘
|
||||||
|
List<GroupPlateDto> list = ioStorInvMapper.getGroupByPlate(param);
|
||||||
|
|
||||||
|
JSONObject form = new JSONObject();
|
||||||
|
// 查询仓库
|
||||||
|
BsrealStorattr storDao = iBsrealStorattrService.findByCode("GW");
|
||||||
|
form.put("stor_id",storDao.getStor_id());
|
||||||
|
form.put("bill_type",IOSEnum.BILL_TYPE.code("生产入库"));
|
||||||
|
form.put("biz_date",DateUtil.now());
|
||||||
|
|
||||||
|
form.put("remark","");
|
||||||
|
form.put("bill_status",IOSEnum.BILL_STATUS.code("生成"));
|
||||||
|
form.put("tableData",list);
|
||||||
|
//新增入库单
|
||||||
|
String iostorinv_id = this.insertDtl(form);
|
||||||
|
//根据分配明细分配仓位
|
||||||
|
IOStorInvDis dis = ioStorInvDisMapper.selectOne(new LambdaQueryWrapper<>(IOStorInvDis.class)
|
||||||
|
.eq(IOStorInvDis::getIostorinv_id,iostorinv_id));
|
||||||
|
JSONObject dis_form = new JSONObject();
|
||||||
|
dis_form.put("tableMater",dis);
|
||||||
|
dis_form.put("stor_code",storDao.getStor_code());
|
||||||
|
dis_form.put("sect_code","");
|
||||||
|
//分配货位
|
||||||
|
this.divStruct(dis_form);
|
||||||
|
dis_form.put("point_code",device_code);
|
||||||
|
//生成任务
|
||||||
|
this.divPoint(dis_form);;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -160,7 +160,7 @@ public class RetrunServiceImpl extends ServiceImpl<IOStorInvMapper, IOStorInv> i
|
|||||||
}
|
}
|
||||||
JSONObject jsonParam = new JSONObject();
|
JSONObject jsonParam = new JSONObject();
|
||||||
jsonParam.put("data", paramList);
|
jsonParam.put("data", paramList);
|
||||||
wmsToErpService.uploadErp(jsonParam);
|
wmsToErpService.instorinfoToErp(jsonParam);
|
||||||
|
|
||||||
// 更新主表
|
// 更新主表
|
||||||
this.update(
|
this.update(
|
||||||
|
|||||||
@@ -189,7 +189,7 @@
|
|||||||
import CRUD, { crud } from '@crud/crud'
|
import CRUD, { crud } from '@crud/crud'
|
||||||
import crudSectattr from '@/views/wms/basedata/sectattr/sectattr'
|
import crudSectattr from '@/views/wms/basedata/sectattr/sectattr'
|
||||||
import StructDiv from '@/views/wms/pub/StructDialog'
|
import StructDiv from '@/views/wms/pub/StructDialog'
|
||||||
import crudRawAssist, { allDivStruct } from '@/views/wms/st/inbill/rawassist'
|
import crudRawAssist from '@/views/wms/st/inbill/rawassist'
|
||||||
import crudPoint from '@/views/wms/sch/point/schBasePoint'
|
import crudPoint from '@/views/wms/sch/point/schBasePoint'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@@ -291,27 +291,6 @@ export default {
|
|||||||
tableRowClassName({ row, rowIndex }) {
|
tableRowClassName({ row, rowIndex }) {
|
||||||
row.index = rowIndex
|
row.index = rowIndex
|
||||||
},
|
},
|
||||||
deleteRow(index, rows) {
|
|
||||||
// 如果桶状态不是生成调后台逻辑
|
|
||||||
if (rows[index].status !== '01') {
|
|
||||||
crudRawAssist.deleteDisDtl(rows[index]).then(res => {
|
|
||||||
crudRawAssist.getIODtl({ 'bill_code': this.form.dtl_row.bill_code, 'open_flag': '1' }).then(res => {
|
|
||||||
this.openParam = res
|
|
||||||
})
|
|
||||||
crudRawAssist.getDisDtl(this.form.dtl_row).then(res => {
|
|
||||||
this.form.tableMater = res
|
|
||||||
})
|
|
||||||
rows[index].pop = false
|
|
||||||
}).catch(err => {
|
|
||||||
rows[index].pop = false
|
|
||||||
return
|
|
||||||
})
|
|
||||||
}
|
|
||||||
this.form.dtl_row.assign_qty = parseFloat(this.form.dtl_row.assign_qty) - parseFloat(rows[index].storage_qty)
|
|
||||||
this.form.dtl_row.unassign_qty = parseFloat(this.form.dtl_row.unassign_qty) + parseFloat(rows[index].storage_qty)
|
|
||||||
this.openParam.splice(this.form.dtl_row.index, 1, this.form.dtl_row)
|
|
||||||
rows.splice(index, 1)
|
|
||||||
},
|
|
||||||
sectQueryChange(val) {
|
sectQueryChange(val) {
|
||||||
this.sectProp = val
|
this.sectProp = val
|
||||||
if (val.length === 1) {
|
if (val.length === 1) {
|
||||||
|
|||||||
@@ -27,13 +27,13 @@
|
|||||||
size="mini"
|
size="mini"
|
||||||
placeholder="全部"
|
placeholder="全部"
|
||||||
class="filter-item"
|
class="filter-item"
|
||||||
@change="crud.toQuery"
|
@change="hand2"
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in storlist"
|
v-for="item in storlist"
|
||||||
:key="item.stor_id"
|
:key="item.stor_id"
|
||||||
:label="item.stor_name"
|
:label="item.stor_name"
|
||||||
:value="item.stor_id"
|
:value="item"
|
||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -280,6 +280,10 @@ export default {
|
|||||||
create_modeFormat(row) {
|
create_modeFormat(row) {
|
||||||
return this.dict.label.ST_CREATE_MODE[row.create_mode]
|
return this.dict.label.ST_CREATE_MODE[row.create_mode]
|
||||||
},
|
},
|
||||||
|
hand2(value) {
|
||||||
|
debugger
|
||||||
|
this.crud.notify(value, CRUD.NOTIFICATION_TYPE.SUCCESS)
|
||||||
|
},
|
||||||
handleSelectionChange(val, row) {
|
handleSelectionChange(val, row) {
|
||||||
if (val.length > 1) {
|
if (val.length > 1) {
|
||||||
this.$refs.table.clearSelection()
|
this.$refs.table.clearSelection()
|
||||||
|
|||||||
Reference in New Issue
Block a user