add:平板移库
This commit is contained in:
@@ -42,4 +42,11 @@ public class AcsToWmsController {
|
|||||||
return new ResponseEntity<>(acsToWmsService.resultCar(whereJson), HttpStatus.OK);
|
return new ResponseEntity<>(acsToWmsService.resultCar(whereJson), HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PostMapping("/resultWeigh")
|
||||||
|
@Log(value = "ACS给WMS反馈称重重量")
|
||||||
|
@SaIgnore
|
||||||
|
public ResponseEntity<Object> resultWeigh(@RequestBody JSONObject whereJson) {
|
||||||
|
return new ResponseEntity<>(acsToWmsService.resultWeigh(whereJson), HttpStatus.OK);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,4 +35,16 @@ public interface AcsToWmsService {
|
|||||||
* @return BaseResponse
|
* @return BaseResponse
|
||||||
*/
|
*/
|
||||||
BaseResponse resultCar(JSONObject whereJson);
|
BaseResponse resultCar(JSONObject whereJson);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ACS客户端--->WMS服务端
|
||||||
|
* ACS给WMS反馈称重重量
|
||||||
|
* @param whereJson {
|
||||||
|
* task_id: 任务标识
|
||||||
|
* task_code: 任务编码
|
||||||
|
* weigh_qty: 称重重量
|
||||||
|
* }
|
||||||
|
* @return BaseResponse
|
||||||
|
*/
|
||||||
|
BaseResponse resultWeigh(JSONObject whereJson);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -127,4 +127,10 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
}
|
}
|
||||||
return BaseResponse.responseOk();
|
return BaseResponse.responseOk();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public BaseResponse resultWeigh(JSONObject whereJson) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,11 +2,14 @@ package org.nl.wms.pda.large_material_box.service.impl;
|
|||||||
|
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.lang.Assert;
|
import cn.hutool.core.lang.Assert;
|
||||||
|
import cn.hutool.core.util.NumberUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||||
import org.nl.common.exception.BadRequestException;
|
import org.nl.common.exception.BadRequestException;
|
||||||
import org.nl.common.utils.IdUtil;
|
import org.nl.common.utils.IdUtil;
|
||||||
import org.nl.common.utils.SecurityUtils;
|
import org.nl.common.utils.SecurityUtils;
|
||||||
@@ -19,18 +22,15 @@ import org.nl.wms.pdm_manage.service.IPdmBomCallMaterialDtlService;
|
|||||||
import org.nl.wms.pdm_manage.service.IPdmBomCallMaterialService;
|
import org.nl.wms.pdm_manage.service.IPdmBomCallMaterialService;
|
||||||
import org.nl.wms.pdm_manage.service.dao.PdmBomCallMaterial;
|
import org.nl.wms.pdm_manage.service.dao.PdmBomCallMaterial;
|
||||||
import org.nl.wms.pdm_manage.service.dao.PdmBomCallMaterialDtl;
|
import org.nl.wms.pdm_manage.service.dao.PdmBomCallMaterialDtl;
|
||||||
|
import org.nl.wms.warehouse_management.enums.IOSConstant;
|
||||||
import org.nl.wms.warehouse_management.enums.IOSEnum;
|
import org.nl.wms.warehouse_management.enums.IOSEnum;
|
||||||
import org.nl.wms.warehouse_management.service.IMdPbGroupplateService;
|
import org.nl.wms.warehouse_management.service.*;
|
||||||
import org.nl.wms.warehouse_management.service.IOutBillService;
|
import org.nl.wms.warehouse_management.service.dao.*;
|
||||||
import org.nl.wms.warehouse_management.service.IRawAssistIStorService;
|
|
||||||
import org.nl.wms.warehouse_management.service.dao.GroupPlate;
|
|
||||||
import org.nl.wms.warehouse_management.service.dao.IOStorInv;
|
|
||||||
import org.nl.wms.warehouse_management.service.dao.IOStorInvDis;
|
|
||||||
import org.nl.wms.warehouse_management.service.dao.IOStorInvDtl;
|
|
||||||
import org.nl.wms.warehouse_management.service.dao.mapper.IOStorInvDisMapper;
|
import org.nl.wms.warehouse_management.service.dao.mapper.IOStorInvDisMapper;
|
||||||
import org.nl.wms.warehouse_management.service.dao.mapper.IOStorInvDtlMapper;
|
import org.nl.wms.warehouse_management.service.dao.mapper.IOStorInvDtlMapper;
|
||||||
import org.nl.wms.warehouse_management.service.dao.mapper.StIvtCheckdtlMapper;
|
import org.nl.wms.warehouse_management.service.dao.mapper.StIvtCheckdtlMapper;
|
||||||
import org.nl.wms.warehouse_management.service.dao.mapper.StIvtMoveinvdtlMapper;
|
import org.nl.wms.warehouse_management.service.dao.mapper.StIvtMoveinvdtlMapper;
|
||||||
|
import org.nl.wms.warehouse_management.service.dto.MoveInsertDto;
|
||||||
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 org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
@@ -78,6 +78,14 @@ public class PadLargeMaterialBoxServiceImpl implements PdaLargeMaterialBoxServic
|
|||||||
private IRawAssistIStorService rawAssistIStorService;
|
private IRawAssistIStorService rawAssistIStorService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IPdmBomCallMaterialDtlService pdmBomCallMaterialDtlService;
|
private IPdmBomCallMaterialDtlService pdmBomCallMaterialDtlService;
|
||||||
|
@Autowired
|
||||||
|
private IMdPbStoragevehicleextService iMdPbStoragevehicleextService;
|
||||||
|
@Autowired
|
||||||
|
private IStIvtMoveinvdtlService iStIvtMoveinvdtlService;
|
||||||
|
@Autowired
|
||||||
|
private IStIvtMoveinvService iStIvtMoveinvService;
|
||||||
|
@Autowired
|
||||||
|
private IMdPbMeasureunitService iMdPbMeasureunitService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
@@ -412,9 +420,158 @@ public class PadLargeMaterialBoxServiceImpl implements PdaLargeMaterialBoxServic
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PdaResponse materialBoxMoveConfirm(JSONObject reqParam) {
|
public PdaResponse materialBoxMoveConfirm(JSONObject reqParam) {
|
||||||
|
JSONObject jsonOut = reqParam.getJSONArray("rows_out").toJavaList(JSONObject.class).get(0);
|
||||||
|
JSONObject jsonIn = reqParam.getJSONArray("rows_in").toJavaList(JSONObject.class).get(0);
|
||||||
|
|
||||||
|
// 判断移出货位是库存物料
|
||||||
|
if (ObjectUtil.isEmpty(jsonOut.getString("qty"))) {
|
||||||
|
throw new BadRequestException("请选择库内库存物料!");
|
||||||
|
}
|
||||||
|
// 判断是否有单据
|
||||||
|
if (ObjectUtil.isNotEmpty(jsonOut.getString("moveinv_id"))) {
|
||||||
|
// 查询移入货位
|
||||||
|
Structattr attrIn = structattrService.getByCode(jsonIn.getString("struct_code"));
|
||||||
|
// 调用移库单确认
|
||||||
|
StIvtMoveinvdtl dtlDao = iStIvtMoveinvdtlService.getById(jsonOut.getString("moveinvdtl_id"));
|
||||||
|
|
||||||
|
// 判断移入货位是否是空载具
|
||||||
|
if (!attrIn.getIs_emptyvehicle().equals(IOSConstant.ONE) && ObjectUtil.isNotEmpty(attrIn.getStoragevehicle_code())) {
|
||||||
|
// 更新移入库存信息
|
||||||
|
iMdPbStoragevehicleextService.update(
|
||||||
|
new UpdateWrapper<MdPbStoragevehicleext>().lambda()
|
||||||
|
.set(MdPbStoragevehicleext::getCanuse_qty, NumberUtil.add(jsonOut.getBigDecimal("qty"),jsonIn.getBigDecimal("qty")))
|
||||||
|
.eq(MdPbStoragevehicleext::getStoragevehicle_code, jsonIn.getString("storagevehicle_code"))
|
||||||
|
.eq(MdPbStoragevehicleext::getMaterial_id, jsonIn.getString("material_id"))
|
||||||
|
.eq(MdPbStoragevehicleext::getPcsn, jsonIn.getString("pcsn"))
|
||||||
|
);
|
||||||
|
|
||||||
|
// 更新组盘信息
|
||||||
|
mdPbGroupplateService.update(
|
||||||
|
new UpdateWrapper<GroupPlate>().lambda()
|
||||||
|
.set(GroupPlate::getQty, NumberUtil.add(jsonOut.getBigDecimal("qty"),jsonIn.getBigDecimal("qty")))
|
||||||
|
.eq(GroupPlate::getGroup_id, jsonIn.getString("group_id"))
|
||||||
|
);
|
||||||
|
|
||||||
|
// 删除移出货位组盘信息
|
||||||
|
mdPbGroupplateService.removeById(jsonOut.getString("group_id"));
|
||||||
|
|
||||||
|
// 删除库存信息
|
||||||
|
iMdPbStoragevehicleextService.remove(
|
||||||
|
new QueryWrapper<MdPbStoragevehicleext>().lambda()
|
||||||
|
.eq(MdPbStoragevehicleext::getStoragevehicle_code, jsonOut.getString("storagevehicle_code"))
|
||||||
|
);
|
||||||
|
|
||||||
|
// 更新移出仓位为空载具
|
||||||
|
Structattr attrOutNew = structattrService.getByCode(jsonOut.getString("struct_code"));
|
||||||
|
attrOutNew.setIs_emptyvehicle(IOSConstant.ONE);
|
||||||
|
structattrService.updateById(attrOutNew);
|
||||||
|
|
||||||
|
dtlDao.setIs_update_point(IOSConstant.ZERO);
|
||||||
|
}
|
||||||
|
iStIvtMoveinvService.confirmTask(dtlDao);
|
||||||
|
} else {
|
||||||
|
// 创建移库单据并确认
|
||||||
|
createPdaMove(jsonOut,jsonIn);
|
||||||
|
}
|
||||||
|
|
||||||
return PdaResponse.requestOk();
|
return PdaResponse.requestOk();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建移库单据
|
||||||
|
* @param jsonOut 移出数据
|
||||||
|
* @param jsonIn 移入数据
|
||||||
|
*/
|
||||||
|
private void createPdaMove(JSONObject jsonOut, JSONObject jsonIn) {
|
||||||
|
// 查询移出货位
|
||||||
|
Structattr attrOut = structattrService.getByCode(jsonOut.getString("struct_code"));
|
||||||
|
if (!attrOut.getLock_type().equals(IOSEnum.LOCK_TYPE.code("未锁定"))) {
|
||||||
|
throw new BadRequestException("当前移出货位被锁定!");
|
||||||
|
}
|
||||||
|
// 查询移入货位
|
||||||
|
Structattr attrIn = structattrService.getByCode(jsonIn.getString("struct_code"));
|
||||||
|
if (!attrIn.getLock_type().equals(IOSEnum.LOCK_TYPE.code("未锁定"))) {
|
||||||
|
throw new BadRequestException("当前移入货位被锁定!");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 组织主表
|
||||||
|
MoveInsertDto moveInsertDto = new MoveInsertDto();
|
||||||
|
moveInsertDto.setBill_type(IOSEnum.MOVE_BILL_TYPE.code("库内移库"));
|
||||||
|
moveInsertDto.setBiz_date(DateUtil.today());
|
||||||
|
moveInsertDto.setStor_id(attrOut.getStor_id());
|
||||||
|
moveInsertDto.setTotal_qty(jsonOut.getBigDecimal("qty"));
|
||||||
|
moveInsertDto.setDetail_count(BigDecimal.ONE);
|
||||||
|
moveInsertDto.setBill_status(IOSEnum.MOVE_MST_STATUS.code("生成"));
|
||||||
|
moveInsertDto.setRemark("由平板移库创建!");
|
||||||
|
|
||||||
|
// 组织明细
|
||||||
|
List<JSONObject> dtlList = new ArrayList<>();
|
||||||
|
JSONObject jsonDtl = new JSONObject();
|
||||||
|
jsonDtl.put("turnout_sect_code", attrOut.getSect_code());
|
||||||
|
jsonDtl.put("turnout_struct_code", attrOut.getStruct_code());
|
||||||
|
MdMeMaterialbase materDao = mdMeMaterialbaseService.getById(jsonOut.getString("material_id"));
|
||||||
|
jsonDtl.put("material_code", materDao.getMaterial_code());
|
||||||
|
jsonDtl.put("material_id", materDao.getMaterial_id());
|
||||||
|
jsonDtl.put("pcsn", jsonOut.getString("pcsn"));
|
||||||
|
MdPbMeasureunit unitDao = iMdPbMeasureunitService.getByCode("KG");
|
||||||
|
jsonDtl.put("qty_unit_id", unitDao.getMeasure_unit_id());
|
||||||
|
jsonDtl.put("qty_unit_name", unitDao.getUnit_name());
|
||||||
|
jsonDtl.put("qty", jsonOut.getBigDecimal("qty"));
|
||||||
|
jsonDtl.put("turnin_sect_code", attrIn.getSect_code());
|
||||||
|
jsonDtl.put("turnin_struct_code", attrIn.getStruct_code());
|
||||||
|
jsonDtl.put("work_status", IOSEnum.MOVE_DTL_STATUS.code("生成"));
|
||||||
|
jsonDtl.put("storagevehicle_code", attrOut.getStoragevehicle_code());
|
||||||
|
jsonDtl.put("storagevehicle_code2", attrIn.getStoragevehicle_code());
|
||||||
|
dtlList.add(jsonDtl);
|
||||||
|
moveInsertDto.setTableData(dtlList);
|
||||||
|
// 调用移库单新增
|
||||||
|
String move_id = iStIvtMoveinvService.create(moveInsertDto);
|
||||||
|
|
||||||
|
StIvtMoveinvdtl paramDtl = iStIvtMoveinvdtlService.list(
|
||||||
|
new QueryWrapper<StIvtMoveinvdtl>().lambda()
|
||||||
|
.eq(StIvtMoveinvdtl::getMoveinv_id, move_id)
|
||||||
|
).get(0);
|
||||||
|
|
||||||
|
// 判断移入货位是否是空载具
|
||||||
|
if (!attrIn.getIs_emptyvehicle().equals(IOSConstant.ONE) && ObjectUtil.isNotEmpty(attrIn.getStoragevehicle_code())) {
|
||||||
|
// 更新移入库存信息
|
||||||
|
iMdPbStoragevehicleextService.update(
|
||||||
|
new UpdateWrapper<MdPbStoragevehicleext>().lambda()
|
||||||
|
.set(MdPbStoragevehicleext::getCanuse_qty, NumberUtil.add(jsonOut.getBigDecimal("qty"),jsonIn.getBigDecimal("qty")))
|
||||||
|
.eq(MdPbStoragevehicleext::getStoragevehicle_code, jsonIn.getString("storagevehicle_code"))
|
||||||
|
.eq(MdPbStoragevehicleext::getMaterial_id, jsonIn.getString("material_id"))
|
||||||
|
.eq(MdPbStoragevehicleext::getPcsn, jsonIn.getString("pcsn"))
|
||||||
|
);
|
||||||
|
|
||||||
|
// 更新组盘信息
|
||||||
|
mdPbGroupplateService.update(
|
||||||
|
new UpdateWrapper<GroupPlate>().lambda()
|
||||||
|
.set(GroupPlate::getQty, NumberUtil.add(jsonOut.getBigDecimal("qty"),jsonIn.getBigDecimal("qty")))
|
||||||
|
.eq(GroupPlate::getGroup_id, jsonIn.getString("group_id"))
|
||||||
|
);
|
||||||
|
|
||||||
|
// 删除库存信息
|
||||||
|
iMdPbStoragevehicleextService.remove(
|
||||||
|
new QueryWrapper<MdPbStoragevehicleext>().lambda()
|
||||||
|
.eq(MdPbStoragevehicleext::getStoragevehicle_code, jsonOut.getString("storagevehicle_code"))
|
||||||
|
);
|
||||||
|
|
||||||
|
// 删除移出货位组盘信息
|
||||||
|
mdPbGroupplateService.removeById(jsonOut.getString("group_id"));
|
||||||
|
|
||||||
|
// 更新移出仓位为空载具
|
||||||
|
Structattr attrOutNew = structattrService.getByCode(jsonOut.getString("struct_code"));
|
||||||
|
attrOutNew.setIs_emptyvehicle(IOSConstant.ONE);
|
||||||
|
structattrService.updateById(attrOutNew);
|
||||||
|
|
||||||
|
paramDtl.setIs_update_point(IOSConstant.ZERO);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 确认移库单据
|
||||||
|
iStIvtMoveinvService.confirmTask(paramDtl);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PdaResponse materialBoxInventoryConfirm(JSONObject reqParam) {
|
public PdaResponse materialBoxInventoryConfirm(JSONObject reqParam) {
|
||||||
return PdaResponse.requestOk();
|
return PdaResponse.requestOk();
|
||||||
@@ -600,9 +757,15 @@ public class PadLargeMaterialBoxServiceImpl implements PdaLargeMaterialBoxServic
|
|||||||
String type = reqParam.getString("type");
|
String type = reqParam.getString("type");
|
||||||
Assert.notBlank(type, "移库类型不能为空!");
|
Assert.notBlank(type, "移库类型不能为空!");
|
||||||
String vehicleStructCode = reqParam.getString("vehicleStructCode");
|
String vehicleStructCode = reqParam.getString("vehicleStructCode");
|
||||||
Assert.notBlank(vehicleStructCode, "载具编码或点位编码不能为空!");
|
if(ObjectUtil.isEmpty(vehicleStructCode)) {
|
||||||
|
if (ObjectUtil.isEmpty(reqParam.getString("moveinvdtl_id"))) {
|
||||||
|
throw new BadRequestException("载具编码或点位编码不能为空!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
JSONObject param = new JSONObject();
|
JSONObject param = new JSONObject();
|
||||||
param.put("vehicleStructCode", vehicleStructCode);
|
param.put("vehicleStructCode", vehicleStructCode);
|
||||||
|
param.put("moveinvdtl_id", reqParam.getString("moveinvdtl_id"));
|
||||||
List<Map<String, Object>> mapList = new ArrayList<>();
|
List<Map<String, Object>> mapList = new ArrayList<>();
|
||||||
if (StrUtil.equals("1", type)) {
|
if (StrUtil.equals("1", type)) {
|
||||||
mapList = stIvtMoveinvdtlMapper.getOutMoveDtlByVehicleStructCode(param);
|
mapList = stIvtMoveinvdtlMapper.getOutMoveDtlByVehicleStructCode(param);
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package org.nl.wms.warehouse_management.service.dao;
|
package org.nl.wms.warehouse_management.service.dao;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@@ -119,5 +120,11 @@ public class StIvtMoveinvdtl implements Serializable {
|
|||||||
*/
|
*/
|
||||||
private String remark;
|
private String remark;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否更新点位
|
||||||
|
*/
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String is_update_point;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -41,30 +41,31 @@
|
|||||||
|
|
||||||
<select id="getOutMoveDtlByVehicleStructCode" resultType="java.util.Map">
|
<select id="getOutMoveDtlByVehicleStructCode" resultType="java.util.Map">
|
||||||
SELECT
|
SELECT
|
||||||
dtl.moveinvdtl_id,
|
attr.struct_code,
|
||||||
|
attr.storagevehicle_code,
|
||||||
dtl.moveinv_id,
|
dtl.moveinv_id,
|
||||||
dtl.turnout_struct_code as struct_code,
|
dtl.moveinvdtl_id,
|
||||||
dtl.storagevehicle_code as storagevehicle_code,
|
gp.pcsn,
|
||||||
dtl.pcsn,
|
gp.qty,
|
||||||
dtl.qty,
|
|
||||||
mb.material_id,
|
mb.material_id,
|
||||||
mb.material_code,
|
mb.material_code,
|
||||||
mb.material_name,
|
mb.material_name,
|
||||||
gp.group_id,
|
|
||||||
gp.produce_time,
|
gp.produce_time,
|
||||||
gp.bake_num,
|
gp.bake_num,
|
||||||
|
gp.group_id,
|
||||||
sb.supp_code,
|
sb.supp_code,
|
||||||
sb.supp_name
|
sb.supp_name
|
||||||
FROM st_ivt_moveinvdtl dtl
|
FROM st_ivt_structattr attr
|
||||||
LEFT JOIN md_pb_groupplate gp ON dtl.storagevehicle_code = gp.storagevehicle_code
|
LEFT JOIN st_ivt_moveinvdtl dtl ON dtl.storagevehicle_code = attr.storagevehicle_code AND dtl.work_status = '10'
|
||||||
LEFT JOIN md_me_materialbase mb ON mb.material_code = dtl.material_code
|
LEFT JOIN md_pb_groupplate gp ON attr.storagevehicle_code = gp.storagevehicle_code AND gp.status = '2'
|
||||||
|
LEFT JOIN md_me_materialbase mb ON mb.material_id = gp.material_id
|
||||||
LEFT JOIN md_cs_supplierbase sb ON sb.supp_code = gp.supp_code
|
LEFT JOIN md_cs_supplierbase sb ON sb.supp_code = gp.supp_code
|
||||||
<where>
|
<where>
|
||||||
dtl.work_status = '10' AND gp.is_delete = '0' AND gp.status = '2'
|
1 = 1
|
||||||
<if test="param.vehicleStructCode != null and param.vehicleStructCode != ''">
|
<if test="param.vehicleStructCode != null and param.vehicleStructCode != ''">
|
||||||
AND (
|
AND (
|
||||||
dtl.storagevehicle_code = #{param.vehicleStructCode}
|
attr.storagevehicle_code = #{param.vehicleStructCode}
|
||||||
OR dtl.turnout_struct_code = #{param.vehicleStructCode}
|
OR attr.struct_code = #{param.vehicleStructCode}
|
||||||
)
|
)
|
||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
@@ -72,28 +73,38 @@
|
|||||||
|
|
||||||
<select id="getInMoveDtlByVehicleStructCode" resultType="java.util.Map">
|
<select id="getInMoveDtlByVehicleStructCode" resultType="java.util.Map">
|
||||||
SELECT
|
SELECT
|
||||||
dtl.turnin_struct_code as struct_code,
|
attr.struct_code,
|
||||||
dtl.storagevehicle_code2 as storagevehicle_code,
|
attr.storagevehicle_code,
|
||||||
dtl.pcsn,
|
dtl.moveinv_id,
|
||||||
dtl.qty,
|
dtl.moveinvdtl_id,
|
||||||
|
gp.pcsn,
|
||||||
|
gp.qty,
|
||||||
|
mb.material_id,
|
||||||
mb.material_code,
|
mb.material_code,
|
||||||
mb.material_name,
|
mb.material_name,
|
||||||
gp.produce_time,
|
gp.produce_time,
|
||||||
gp.bake_num,
|
gp.bake_num,
|
||||||
|
gp.group_id,
|
||||||
sb.supp_code,
|
sb.supp_code,
|
||||||
sb.supp_name
|
sb.supp_name
|
||||||
FROM st_ivt_moveinvdtl dtl
|
FROM st_ivt_structattr attr
|
||||||
LEFT JOIN md_pb_groupplate gp ON dtl.storagevehicle_code2 = gp.storagevehicle_code
|
LEFT JOIN st_ivt_moveinvdtl dtl ON dtl.storagevehicle_code2 = attr.storagevehicle_code AND dtl.work_status = '10'
|
||||||
LEFT JOIN md_me_materialbase mb ON mb.material_code = dtl.material_code
|
LEFT JOIN md_pb_groupplate gp ON attr.storagevehicle_code = gp.storagevehicle_code
|
||||||
|
LEFT JOIN md_me_materialbase mb ON mb.material_id = gp.material_id
|
||||||
LEFT JOIN md_cs_supplierbase sb ON sb.supp_code = gp.supp_code
|
LEFT JOIN md_cs_supplierbase sb ON sb.supp_code = gp.supp_code
|
||||||
<where>
|
<where>
|
||||||
dtl.work_status = '10' AND gp.is_delete = '0' AND gp.status = '2'
|
1 = 1
|
||||||
<if test="param.vehicleStructCode != null and param.vehicleStructCode != ''">
|
<if test="param.vehicleStructCode != null and param.vehicleStructCode != ''">
|
||||||
AND (
|
AND (
|
||||||
dtl.storagevehicle_code2 = #{param.vehicleStructCode}
|
attr.storagevehicle_code = #{param.vehicleStructCode}
|
||||||
OR dtl.turnin_struct_code = #{param.vehicleStructCode}
|
OR attr.struct_code = #{param.vehicleStructCode}
|
||||||
)
|
)
|
||||||
</if>
|
</if>
|
||||||
|
|
||||||
|
<if test="param.moveinvdtl_id != null and param.moveinvdtl_id != ''">
|
||||||
|
AND
|
||||||
|
dtl.moveinvdtl_id = #{param.moveinvdtl_id}
|
||||||
|
</if>
|
||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
@@ -200,6 +200,7 @@ public class StIvtMoveinvServiceImpl extends ServiceImpl<StIvtMoveinvMapper, StI
|
|||||||
Structattr inStruct = iStructattrService.getByCode(dtlDao.getTurnin_struct_code());
|
Structattr inStruct = iStructattrService.getByCode(dtlDao.getTurnin_struct_code());
|
||||||
// 查询移出货位
|
// 查询移出货位
|
||||||
Structattr outStruct = iStructattrService.getByCode(dtlDao.getTurnout_struct_code());
|
Structattr outStruct = iStructattrService.getByCode(dtlDao.getTurnout_struct_code());
|
||||||
|
if (ObjectUtil.isEmpty(dtlDao.getIs_update_point()) || !dtlDao.getIs_update_point().equals(IOSConstant.ZERO)) {
|
||||||
// 更新起点
|
// 更新起点
|
||||||
iStructattrService.update(
|
iStructattrService.update(
|
||||||
new UpdateWrapper<Structattr>().lambda()
|
new UpdateWrapper<Structattr>().lambda()
|
||||||
@@ -223,6 +224,23 @@ public class StIvtMoveinvServiceImpl extends ServiceImpl<StIvtMoveinvMapper, StI
|
|||||||
: IOSConstant.IS_DELETE_NO
|
: IOSConstant.IS_DELETE_NO
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
} else {
|
||||||
|
// 更新起点
|
||||||
|
iStructattrService.update(
|
||||||
|
new UpdateWrapper<Structattr>().lambda()
|
||||||
|
.eq(Structattr::getStruct_code, dtlDao.getTurnout_struct_code())
|
||||||
|
.set(Structattr::getLock_type, IOSEnum.LOCK_TYPE.code("未锁定"))
|
||||||
|
.set(Structattr::getIs_emptyvehicle, IOSConstant.IS_DELETE_YES)
|
||||||
|
);
|
||||||
|
|
||||||
|
// 更新终点
|
||||||
|
iStructattrService.update(
|
||||||
|
new UpdateWrapper<Structattr>().lambda()
|
||||||
|
.eq(Structattr::getStruct_code, dtlDao.getTurnin_struct_code())
|
||||||
|
.set(Structattr::getLock_type, IOSEnum.LOCK_TYPE.code("未锁定"))
|
||||||
|
.set(Structattr::getIs_emptyvehicle,IOSConstant.IS_DELETE_NO)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
// 更新明细状态
|
// 更新明细状态
|
||||||
dtlDao.setWork_status(IOSEnum.MOVE_DTL_STATUS.code("完成"));
|
dtlDao.setWork_status(IOSEnum.MOVE_DTL_STATUS.code("完成"));
|
||||||
|
|||||||
Reference in New Issue
Block a user