diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/sch_manage/controller/PdaJBController.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/sch_manage/controller/PdaJBController.java index b6292a1..92f2ab5 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/sch_manage/controller/PdaJBController.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/sch_manage/controller/PdaJBController.java @@ -104,4 +104,16 @@ public class PdaJBController { public ResponseEntity outRegion(@RequestBody JSONObject whereJson) { return new ResponseEntity<>(pdaJBService.outRegion(whereJson), HttpStatus.OK); } + @PostMapping("/combination") + @Log("组盘") + @SaIgnore + public ResponseEntity combination(@RequestBody JSONObject whereJson) { + return new ResponseEntity<>(pdaJBService.combination(whereJson), HttpStatus.OK); + } + @PostMapping("/suppList") + @Log("组盘") + @SaIgnore + public ResponseEntity suppList(@RequestBody JSONObject whereJson) { + return new ResponseEntity<>(pdaJBService.suppList(whereJson), HttpStatus.OK); + } } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/sch_manage/service/PdaJBService.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/sch_manage/service/PdaJBService.java index 7819db0..b702244 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/sch_manage/service/PdaJBService.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/sch_manage/service/PdaJBService.java @@ -58,4 +58,8 @@ public interface PdaJBService { PdaResponse intoRegion(JSONObject param); PdaResponse outRegion(JSONObject param); + + PdaResponse combination(JSONObject param); + + PdaResponse suppList(JSONObject param); } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/sch_manage/service/impl/PdaJBServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/sch_manage/service/impl/PdaJBServiceImpl.java index 4a8ca62..0a4246b 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/sch_manage/service/impl/PdaJBServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/sch_manage/service/impl/PdaJBServiceImpl.java @@ -9,19 +9,14 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; +import org.nl.common.domain.vo.SelectItemVo; import org.nl.common.exception.BadRequestException; import org.nl.common.utils.CodeUtil; import org.nl.common.utils.IdUtil; import org.nl.common.utils.SecurityUtils; import org.nl.wms.basedata_manage.enums.BaseDataEnum; -import org.nl.wms.basedata_manage.service.IMdMeMaterialbaseService; -import org.nl.wms.basedata_manage.service.IMdPbStoragevehicleinfoService; -import org.nl.wms.basedata_manage.service.ISectattrService; -import org.nl.wms.basedata_manage.service.IStructattrService; -import org.nl.wms.basedata_manage.service.dao.MdMeMaterialbase; -import org.nl.wms.basedata_manage.service.dao.MdPbStoragevehicleinfo; -import org.nl.wms.basedata_manage.service.dao.Sectattr; -import org.nl.wms.basedata_manage.service.dao.Structattr; +import org.nl.wms.basedata_manage.service.*; +import org.nl.wms.basedata_manage.service.dao.*; import org.nl.wms.pda_manage.sch_manage.service.GroupInfoPdaVo; import org.nl.wms.pda_manage.sch_manage.service.PdaJBService; import org.nl.wms.pda_manage.sch_manage.service.mapper.PdaJBMapper; @@ -30,11 +25,13 @@ import org.nl.wms.pm_manage.service.IPdmBdWorkorderService; import org.nl.wms.pm_manage.service.dao.PdmBdWorkorder; import org.nl.wms.record_manage.service.IMdPbRegionMemberService; import org.nl.wms.record_manage.service.dao.MdPbRegionMember; +import org.nl.wms.sch_manage.enums.TaskFinishedTypeEnum; import org.nl.wms.sch_manage.enums.TaskStatus; import org.nl.wms.sch_manage.service.ISchBasePointService; import org.nl.wms.sch_manage.service.ISchBaseTaskService; import org.nl.wms.sch_manage.service.dao.SchBasePoint; import org.nl.wms.sch_manage.service.dao.SchBaseTask; +import org.nl.wms.sch_manage.service.util.TaskUtils; import org.nl.wms.sch_manage.service.util.tasks.jb.JbUpAgvTask; import org.nl.wms.system_manage.enums.TagNameEnum; import org.nl.wms.system_manage.service.dict.ISysDictService; @@ -64,6 +61,7 @@ import java.math.BigDecimal; import java.util.*; import java.util.concurrent.TimeUnit; import java.util.function.Consumer; +import java.util.stream.Collectors; /** * @Author: lyd @@ -114,6 +112,8 @@ public class PdaJBServiceImpl implements PdaJBService { private RedissonClient redissonClient; @Resource private ISchBaseTaskService taskService; + @Resource + private IMdCsSupplierbaseService supplierbaseService; @Override public PdaResponse getOrderList(JSONObject whereJson) { String flag = whereJson.getString("flag"); @@ -418,20 +418,27 @@ public class PdaJBServiceImpl implements PdaJBService { if ("2".equals(res.getString("flag"))) { throw new BadRequestException(res.getString("message")); } - // 获取组盘信息 - GroupPlate groupPlate = groupplateService.getOne(new LambdaQueryWrapper() - .eq(GroupPlate::getStoragevehicle_code, vehicleCode) - .eq(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("组盘"))); - if (ObjectUtil.isEmpty(groupPlate)) { - throw new BadRequestException("料桶:" + vehicleCode + " 未组盘,请先组盘!"); + + MdPbStoragevehicleinfo vehicleInfo = storagevehicleinfoService.getByCode(vehicleCode); + if (ObjectUtil.isEmpty(vehicleInfo)) { + throw new BadRequestException("载具:" + vehicleCode + " 号不存在,请到LMS的载具维护中进行维护!"); + } Structattr structattr = structattrService.getByCode(pointCode); if (ObjectUtil.isEmpty(structattr)) { throw new BadRequestException("仓位:" + pointCode + " 不存在!"); } - MdPbStoragevehicleinfo vehicleInfo = storagevehicleinfoService.getByCode(vehicleCode); - if (ObjectUtil.isEmpty(vehicleInfo)) { - throw new BadRequestException("载具:" + vehicleCode + " 的信息不存在!"); + // 获取组盘信息 + GroupPlate groupPlate = groupplateService.getOne(new LambdaQueryWrapper() + .eq(GroupPlate::getStoragevehicle_code, vehicleCode) + .eq(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("组盘"))); + if (ObjectUtil.isEmpty(groupPlate)) { + structattr.setStoragevehicle_code(vehicleCode); + structattr.setStoragevehicle_type(vehicleInfo.getStoragevehicle_type()); + structattr.setOccupancy_state(2); + TaskUtils.setUpdateByType(structattr, TaskFinishedTypeEnum.MANUAL_PDA); + structattrService.updateById(structattr); + return PdaResponse.requestOk("空桶进入设置成功!"); } MdMeMaterialbase materialbase = materialbaseService.getById(groupPlate.getMaterial_id()); if (ObjectUtil.isEmpty(materialbase)) { @@ -538,6 +545,9 @@ public class PdaJBServiceImpl implements PdaJBService { throw new BadRequestException("设备:" + pointCode + " 不存在!"); } MdPbStoragevehicleinfo vehicleInfo = storagevehicleinfoService.getByCode(tpCode); + if (ObjectUtil.isEmpty(vehicleInfo)) { + throw new BadRequestException("载具信息不存在!"); + } MdMeMaterialbase materialbase = materialbaseService.getById(workOrder.getMaterial_id()); if (ObjectUtil.isEmpty(materialbase)) { throw new BadRequestException("物料【" + workOrder.getMaterial_id() + "】不存在!"); @@ -637,11 +647,16 @@ public class PdaJBServiceImpl implements PdaJBService { @Override public PdaResponse jbGetLtInfo(JSONObject param) { String vehicleCode = param.getString("vehicle_code"); + String struct_code = param.getString("struct_code"); List groups = pdaJBMapper.getGroupInfoByVehicle(vehicleCode, "01"); if (groups.size() > 1) { throw new BadRequestException("组盘信息错误!"); } - return PdaResponse.requestParamOk(groups.size() > 0 ? groups.get(0) : null); + Structattr struct = structattrService.findByCode(struct_code); + String message = "当前位置是" + (1 == struct.getOccupancy_state() + ? "空位" : 2 == struct.getOccupancy_state() ? "空载具" + : "有料,但是找不到对应的组盘信息"); + return PdaResponse.requestParamOk(groups.size() > 0 ? groups.get(0) : message); } @Override @@ -681,7 +696,7 @@ public class PdaJBServiceImpl implements PdaJBService { @Override public PdaResponse intoRegion(JSONObject param) { String regionCode = param.getString("region_code"); - String nickname = param.getString("nickname"); + String nickname = SecurityUtils.getCurrentNickName(); MdPbRegionMember pbRegionMember = regionMemberService.getOne(new LambdaQueryWrapper() .eq(MdPbRegionMember::getRegion_code, regionCode) .eq(MdPbRegionMember::getInto_member, nickname) @@ -703,7 +718,7 @@ public class PdaJBServiceImpl implements PdaJBService { public PdaResponse outRegion(JSONObject param) { // region_code、nickname、rows String regionCode = param.getString("region_code"); - String nickname = param.getString("nickname"); + String nickname = SecurityUtils.getCurrentNickName(); JSONArray rows = param.getJSONArray("rows"); List memberRecords; if (rows.size() > 0) { @@ -726,6 +741,58 @@ public class PdaJBServiceImpl implements PdaJBService { return PdaResponse.requestOk(); } + @Override + public PdaResponse combination(JSONObject param) { + // vehicle_code、material_id、pcsn、supp_code、supp_name、single_weight + String currentUserId = SecurityUtils.getCurrentUserId(); + String nickName = SecurityUtils.getCurrentNickName(); + String now = DateUtil.now(); + String tpCode = param.getString("vehicle_code"); + String pcsn = param.getString("pcsn"); + String material_id = param.getString("material_id"); + String supp_code = param.getString("supp_code"); + String supp_name = param.getString("supp_name"); + String single_weight = param.getString("single_weight"); + MdPbStoragevehicleinfo vehicleInfo = storagevehicleinfoService.getByCode(tpCode); + if (ObjectUtil.isEmpty(vehicleInfo)) { + throw new BadRequestException("载具信息不存在!"); + } + MdMeMaterialbase materialbase = materialbaseService.getById(material_id); + if (ObjectUtil.isEmpty(materialbase)) { + throw new BadRequestException("物料不存在!"); + } + GroupPlate groupPlate = new GroupPlate(); + groupPlate.setGroup_id(IdUtil.getStringId()); + groupPlate.setStoragevehicle_code(tpCode); + // 料桶类型根据工单,工单是根据点位 + groupPlate.setStoragevehicle_type(vehicleInfo.getStoragevehicle_type()); + groupPlate.setMaterial_id(material_id); + groupPlate.setQty_unit_id("11"); + groupPlate.setQty_unit_name("kg"); + groupPlate.setFrozen_qty(BigDecimal.ZERO); + groupPlate.setStatus(IOSEnum.GROUP_PLATE_STATUS.code("组盘")); + groupPlate.setCreate_id(currentUserId); + groupPlate.setCreate_name(nickName); + groupPlate.setCreate_time(now); + groupPlate.setPcsn(pcsn); + groupPlate.setQty(new BigDecimal(single_weight)); + groupPlate.setSupp_code(supp_code); + groupPlate.setSupp_name(supp_name); + groupplateService.save(groupPlate); + return PdaResponse.requestOk(); + } + + @Override + public PdaResponse suppList(JSONObject param) { + List list = supplierbaseService.list(); + List collect = list.stream().map(p -> SelectItemVo + .builder() + .text(p.getSupp_name()) + .value(p.getSupp_code()) + .build()).collect(Collectors.toList()); + return PdaResponse.requestParamOk(collect); + } + private Map buildTaskData(String pointCode, String workorderId, String invId) { Map jsonMst = new HashMap<>(); // ru库点 diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/util/PdaResponse.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/util/PdaResponse.java index c92f9e5..da583b7 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/util/PdaResponse.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/util/PdaResponse.java @@ -40,6 +40,17 @@ public class PdaResponse { .build(); } + /** + * 带数据反馈 + * @return ErpResponse + */ + public static PdaResponse requestOk(String message) { + return PdaResponse.builder() + .code("200") + .message(message) + .build(); + } + /** * 带数据反馈 * @return ErpResponse diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/controller/PdmBdWorkorderController.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/controller/PdmBdWorkorderController.java index e141464..a1a73ba 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/controller/PdmBdWorkorderController.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/controller/PdmBdWorkorderController.java @@ -59,7 +59,18 @@ public class PdmBdWorkorderController { pdmBdWorkorderService.deleteAll(ids); return new ResponseEntity<>(HttpStatus.OK); } - + @PostMapping("/submits") + @Log("开工") + public ResponseEntity submits(@RequestBody PdmBdWorkorder entity) { + pdmBdWorkorderService.submits(entity); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + @PostMapping("/loadComplete") + @Log("上料完成") + public ResponseEntity loadComplete(@RequestBody PdmBdWorkorder entity) { + pdmBdWorkorderService.loadComplete(entity); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } @PostMapping("/forceFinish") @Log("强制完工") public ResponseEntity forceFinish(@RequestBody PdmBdWorkorder entity) { diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/enums/WorkOrderStatusEnum.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/enums/WorkOrderStatusEnum.java index f068dc2..8b1c4dd 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/enums/WorkOrderStatusEnum.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/enums/WorkOrderStatusEnum.java @@ -26,7 +26,7 @@ public enum WorkOrderStatusEnum { /** * 暂停 x */ - STOP("4", "暂停"), + STOP("4", "等待下料"), /** * 完成 */ diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/service/IPdmBdWorkorderService.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/service/IPdmBdWorkorderService.java index db5a0a2..2ac49bc 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/service/IPdmBdWorkorderService.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/service/IPdmBdWorkorderService.java @@ -78,4 +78,12 @@ public interface IPdmBdWorkorderService extends IService { * @return */ IPage getStockMaterial(PdmBdWorkorderQuery entity, PageQuery pageQuery); + + /** + * 开工 + * @param entity + */ + void submits(PdmBdWorkorder entity); + + void loadComplete(PdmBdWorkorder entity); } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/service/impl/PdmBdWorkorderServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/service/impl/PdmBdWorkorderServiceImpl.java index 2bfb1c0..c141127 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/service/impl/PdmBdWorkorderServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/service/impl/PdmBdWorkorderServiceImpl.java @@ -17,14 +17,17 @@ import org.nl.common.exception.BadRequestException; import org.nl.common.utils.CodeUtil; import org.nl.common.utils.CommonUtils; import org.nl.common.utils.SecurityUtils; +import org.nl.wms.pda_manage.sch_manage.service.PdaJBService; import org.nl.wms.pm_manage.enums.WorkOrderStatusEnum; import org.nl.wms.pm_manage.service.IPdmBdWorkorderService; import org.nl.wms.pm_manage.service.dao.PdmBdWorkorder; import org.nl.wms.pm_manage.service.dao.mapper.PdmBdWorkorderMapper; import org.nl.wms.pm_manage.service.dto.PdmBdWorkorderQuery; +import org.nl.wms.sch_manage.enums.TaskFinishedTypeEnum; import org.nl.wms.sch_manage.service.ISchBasePointService; import org.nl.wms.sch_manage.service.ISchBaseTaskService; import org.nl.wms.sch_manage.service.dao.SchBasePoint; +import org.nl.wms.sch_manage.service.util.TaskUtils; import org.nl.wms.system_manage.service.notice.ISysNoticeService; import org.nl.wms.warehouse_manage.service.IMdPbGroupplateService; import org.nl.wms.warehouse_manage.service.dao.GroupPlate; @@ -56,6 +59,8 @@ public class PdmBdWorkorderServiceImpl extends ServiceImpl queryAll(PdmBdWorkorderQuery query, PageQuery page) { @@ -166,6 +171,31 @@ public class PdmBdWorkorderServiceImpl extends ServiceImpl - - - - - - - - - - - + + 开工 + + + 上料完毕 + @@ -658,17 +669,28 @@ export default { this.crud.toQuery() }, // 下发 - // submits(row) { - // this.fullscreenLoading = true - // crudPdmBdWorkorder.submits(row).then(res => { - // this.crud.notify('下发成功', CRUD.NOTIFICATION_TYPE.SUCCESS) - // this.crud.toQuery() - // }).catch(() => { - // this.fullscreenLoading = false - // }).finally(() => { - // this.fullscreenLoading = false - // }) - // }, + submits(row) { + this.fullscreenLoading = true + crudPdmBdWorkorder.submits(row).then(res => { + this.crud.notify('开工成功', CRUD.NOTIFICATION_TYPE.SUCCESS) + this.crud.toQuery() + }).catch(() => { + this.fullscreenLoading = false + }).finally(() => { + this.fullscreenLoading = false + }) + }, + loadComplete(row) { + this.fullscreenLoading = true + crudPdmBdWorkorder.loadComplete(row).then(res => { + this.crud.notify('上料完成', CRUD.NOTIFICATION_TYPE.SUCCESS) + this.crud.toQuery() + }).catch(() => { + this.fullscreenLoading = false + }).finally(() => { + this.fullscreenLoading = false + }) + }, // synchronize() { // this.fullscreenLoading = true // crudPdmBdWorkorder.orderSynchronize(this.crud.query).then(res => { diff --git a/lms/nladmin-ui/src/views/wms/pm_manage/workerorder/pdmBdWorkorder.js b/lms/nladmin-ui/src/views/wms/pm_manage/workerorder/pdmBdWorkorder.js index ccd1e0e..d0d225f 100644 --- a/lms/nladmin-ui/src/views/wms/pm_manage/workerorder/pdmBdWorkorder.js +++ b/lms/nladmin-ui/src/views/wms/pm_manage/workerorder/pdmBdWorkorder.js @@ -31,6 +31,14 @@ export function submits(param) { data: param }) } + +export function loadComplete(param) { + return request({ + url: 'api/pdmBdWorkorder/loadComplete', + method: 'post', + data: param + }) +} export function forceFinish(param) { return request({ url: 'api/pdmBdWorkorder/forceFinish', @@ -61,4 +69,4 @@ export function getCuster() { }) } -export default { add, edit, del, submits, forceFinish, orderSynchronize, queryMaterials, getCuster } +export default { add, edit, del, submits, loadComplete, forceFinish, orderSynchronize, queryMaterials, getCuster }