|
|
|
|
@ -1,5 +1,17 @@
|
|
|
|
|
package cn.iocoder.yudao.module.mes.controller.admin.moldoperate;
|
|
|
|
|
|
|
|
|
|
import cn.iocoder.yudao.framework.common.util.collection.MapUtils;
|
|
|
|
|
import cn.iocoder.yudao.module.erp.controller.admin.mold.vo.MoldRespVO;
|
|
|
|
|
import cn.iocoder.yudao.module.erp.controller.admin.mold.vo.MoldSaveReqVO;
|
|
|
|
|
import cn.iocoder.yudao.module.erp.dal.dataobject.mold.MoldDO;
|
|
|
|
|
import cn.iocoder.yudao.module.erp.dal.dataobject.stock.ErpStockInItemDO;
|
|
|
|
|
import cn.iocoder.yudao.module.erp.service.mold.MoldService;
|
|
|
|
|
import cn.iocoder.yudao.module.mes.controller.admin.deviceledger.vo.DeviceLedgerRespVO;
|
|
|
|
|
import cn.iocoder.yudao.module.mes.controller.admin.deviceledger.vo.DeviceLedgerSaveReqVO;
|
|
|
|
|
import cn.iocoder.yudao.module.mes.dal.dataobject.deviceledger.DeviceLedgerDO;
|
|
|
|
|
import cn.iocoder.yudao.module.mes.service.deviceledger.DeviceLedgerService;
|
|
|
|
|
import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
|
|
|
|
|
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
|
|
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
|
import org.springframework.validation.annotation.Validated;
|
|
|
|
|
@ -24,6 +36,7 @@ import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
|
|
|
|
|
|
|
|
|
|
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
|
|
|
|
|
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
|
|
|
|
|
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet;
|
|
|
|
|
|
|
|
|
|
import cn.iocoder.yudao.module.mes.controller.admin.moldoperate.vo.*;
|
|
|
|
|
import cn.iocoder.yudao.module.mes.dal.dataobject.moldoperate.MoldOperateDO;
|
|
|
|
|
@ -38,10 +51,37 @@ public class MoldOperateController {
|
|
|
|
|
@Resource
|
|
|
|
|
private MoldOperateService moldOperateService;
|
|
|
|
|
|
|
|
|
|
@Resource
|
|
|
|
|
private AdminUserApi adminUserApi;
|
|
|
|
|
|
|
|
|
|
@Resource
|
|
|
|
|
private MoldService moldService;
|
|
|
|
|
@Resource
|
|
|
|
|
private DeviceLedgerService deviceLedgerService;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@PostMapping("/create")
|
|
|
|
|
@Operation(summary = "创建模具上下模")
|
|
|
|
|
@PreAuthorize("@ss.hasPermission('mes:mold-operate:create')")
|
|
|
|
|
public CommonResult<Long> createMoldOperate(@Valid @RequestBody MoldOperateSaveReqVO createReqVO) {
|
|
|
|
|
if (Objects.equals(createReqVO.getOperateType(), "1")) {
|
|
|
|
|
MoldDO moldDO = moldService.getMold(createReqVO.getMoldId());
|
|
|
|
|
moldDO.setMachineId(createReqVO.getDeviceId());
|
|
|
|
|
moldDO.setStatus(0); // 在机 0 在库 1
|
|
|
|
|
moldService.updateMold(BeanUtils.toBean(moldDO, MoldSaveReqVO.class));
|
|
|
|
|
DeviceLedgerDO deviceLedger = deviceLedgerService.getDeviceLedger(createReqVO.getDeviceId());
|
|
|
|
|
deviceLedger.setMoldId(Long.toString(createReqVO.getMoldId()));
|
|
|
|
|
deviceLedgerService.updateDeviceLedger(BeanUtils.toBean(deviceLedger, DeviceLedgerSaveReqVO.class));
|
|
|
|
|
} else {
|
|
|
|
|
DeviceLedgerDO deviceLedger = deviceLedgerService.getDeviceLedger(createReqVO.getDeviceId());
|
|
|
|
|
createReqVO.setMoldId(Long.parseLong(deviceLedger.getMoldId()));
|
|
|
|
|
MoldDO moldDO = moldService.getMold(Long.parseLong(deviceLedger.getMoldId()));
|
|
|
|
|
moldDO.setMachineId(0L);
|
|
|
|
|
moldDO.setStatus(3); // 在机 0 在库 1
|
|
|
|
|
moldService.updateMold(BeanUtils.toBean(moldDO, MoldSaveReqVO.class));
|
|
|
|
|
deviceLedger.setMoldId("0");
|
|
|
|
|
deviceLedgerService.updateDeviceLedger(BeanUtils.toBean(deviceLedger, DeviceLedgerSaveReqVO.class));
|
|
|
|
|
}
|
|
|
|
|
return success(moldOperateService.createMoldOperate(createReqVO));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -76,7 +116,21 @@ public class MoldOperateController {
|
|
|
|
|
@PreAuthorize("@ss.hasPermission('mes:mold-operate:query')")
|
|
|
|
|
public CommonResult<PageResult<MoldOperateRespVO>> getMoldOperatePage(@Valid MoldOperatePageReqVO pageReqVO) {
|
|
|
|
|
PageResult<MoldOperateDO> pageResult = moldOperateService.getMoldOperatePage(pageReqVO);
|
|
|
|
|
return success(BeanUtils.toBean(pageResult, MoldOperateRespVO.class));
|
|
|
|
|
// 管理员信息
|
|
|
|
|
Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(
|
|
|
|
|
convertSet(pageResult.getList(), admin -> Long.parseLong(admin.getCreator())));
|
|
|
|
|
// 模具信息
|
|
|
|
|
Map<Long, MoldRespVO> moldMap = moldService.getMoldVOMap(
|
|
|
|
|
convertSet(pageResult.getList(), MoldOperateDO::getMoldId));
|
|
|
|
|
|
|
|
|
|
// 设备台账
|
|
|
|
|
Map<Long, DeviceLedgerRespVO> deviceLedgerMap = deviceLedgerService.getDeviceLedgerVOMap(
|
|
|
|
|
convertSet(pageResult.getList(), MoldOperateDO::getDeviceId));
|
|
|
|
|
return success(BeanUtils.toBean(pageResult, MoldOperateRespVO.class,moldOperate -> {
|
|
|
|
|
MapUtils.findAndThen(userMap, Long.parseLong(moldOperate.getCreator()), user -> moldOperate.setCreatorName(user.getNickname()));
|
|
|
|
|
MapUtils.findAndThen(moldMap, moldOperate.getMoldId(), mold -> moldOperate.setMoldName(mold.getName()));
|
|
|
|
|
MapUtils.findAndThen(deviceLedgerMap, moldOperate.getDeviceId(), deviceLedger -> moldOperate.setDeviceName(deviceLedger.getDeviceName()));
|
|
|
|
|
}));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@GetMapping("/export-excel")
|
|
|
|
|
@ -92,4 +146,18 @@ public class MoldOperateController {
|
|
|
|
|
BeanUtils.toBean(list, MoldOperateRespVO.class));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@GetMapping("/get-mold")
|
|
|
|
|
@Operation(summary = "获得设备是否有模具")
|
|
|
|
|
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
|
|
|
|
@PreAuthorize("@ss.hasPermission('mes:mold-operate:query')")
|
|
|
|
|
public CommonResult<Boolean> getDeviceLedgerLMold(@RequestParam("id") Long id) {
|
|
|
|
|
DeviceLedgerDO deviceLedgerDO = deviceLedgerService.getDeviceLedger(id);
|
|
|
|
|
if (deviceLedgerDO.getMoldId() != null && !deviceLedgerDO.getMoldId().isEmpty() && Integer.parseInt(deviceLedgerDO.getMoldId()) != 0) {
|
|
|
|
|
return success(true);
|
|
|
|
|
} else {
|
|
|
|
|
return success(false);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|