质检项目

plp
kkk-ops 3 weeks ago
parent ff8e320ff6
commit 5756c7e07c

@ -1,5 +1,7 @@
package cn.iocoder.yudao.module.erp.controller.admin.mold;
import cn.hutool.core.collection.CollUtil;
import cn.iocoder.yudao.framework.common.util.collection.MapUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
@ -20,6 +22,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.erp.controller.admin.mold.vo.*;
import cn.iocoder.yudao.module.erp.dal.dataobject.mold.MoldDO;
@ -38,6 +41,7 @@ public class MoldController {
@Resource
private MoldService moldService;
@PostMapping("/create")
@Operation(summary = "创建模具")
@PreAuthorize("@ss.hasPermission('erp:mold:create')")

@ -26,9 +26,12 @@ public class MoldPageReqVO extends PageParam {
@Schema(description = "单位ID", example = "19527")
private Long unitId;
@Schema(description = "机台ID", example = "24428")
@Schema(description = "设备ID", example = "24428")
private Long machineId;
@Schema(description = "设备名称", example = "24428")
private String machineName;
@Schema(description = "使用次数/次")
private BigDecimal useTime;
@ -58,8 +61,6 @@ public class MoldPageReqVO extends PageParam {
@Schema(description = "id集合导出用")
private String ids;
@Schema(description = "机台名字")
private String machineName;
@Schema(description = "附件地址")
private String fileUrl;

@ -38,9 +38,12 @@ public class MoldRespVO {
private String unitName;
@Schema(description = "设备ID", example = "24428")
@ExcelProperty("使用设备")
private Long machineId;
@Schema(description = "设备名称", example = "24428")
@ExcelProperty("使用设备")
private String machineName;
@Schema(description = "使用次数/次")
@ExcelProperty("使用次数/次")
private BigDecimal useTime;

@ -42,9 +42,13 @@ public class MoldDO extends BaseDO {
*/
private Long unitId;
/**
* ID
* ID
*/
private Long machineId;
/**
*
*/
private String machineName;
/**
* 使()
*/

@ -65,11 +65,12 @@ public class MoldOperateController {
@PreAuthorize("@ss.hasPermission('mes:mold-operate:create')")
public CommonResult<Long> createMoldOperate(@Valid @RequestBody MoldOperateSaveReqVO createReqVO) {
if (Objects.equals(createReqVO.getOperateType(), "1")) {
DeviceLedgerDO deviceLedger = deviceLedgerService.getDeviceLedger(createReqVO.getDeviceId());
MoldDO moldDO = moldService.getMold(createReqVO.getMoldId());
moldDO.setMachineId(createReqVO.getDeviceId());
moldDO.setMachineName(deviceLedger.getDeviceName());
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 {
@ -77,6 +78,7 @@ public class MoldOperateController {
createReqVO.setMoldId(Long.parseLong(deviceLedger.getMoldId()));
MoldDO moldDO = moldService.getMold(Long.parseLong(deviceLedger.getMoldId()));
moldDO.setMachineId(0L);
moldDO.setMachineName("");
moldDO.setStatus(3); // 在机 0 在库 1
moldService.updateMold(BeanUtils.toBean(moldDO, MoldSaveReqVO.class));
deviceLedger.setMoldId("0");

@ -47,4 +47,7 @@ public class TaskSaveReqVO {
@Schema(description = "任务单类型", example = "你猜")
private String taskType;
@Schema(description = "是否采用自动编码", example = "你猜")
private Boolean isCode;
}

@ -1,5 +1,11 @@
package cn.iocoder.yudao.module.mes.controller.admin.zjitem;
import cn.hutool.core.collection.CollUtil;
import cn.iocoder.yudao.framework.common.util.collection.MapUtils;
import cn.iocoder.yudao.module.mes.controller.admin.plan.vo.PlanRespVO;
import cn.iocoder.yudao.module.mes.dal.dataobject.organization.OrganizationDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.zjtype.ZjTypeDO;
import cn.iocoder.yudao.module.mes.service.zjtype.ZjTypeService;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
@ -24,6 +30,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.zjitem.vo.*;
import cn.iocoder.yudao.module.mes.dal.dataobject.zjitem.ZjItemDO;
@ -37,6 +44,8 @@ public class ZjItemController {
@Resource
private ZjItemService zjItemService;
@Resource
private ZjTypeService zjTypeService;
@PostMapping("/create")
@Operation(summary = "创建质量管理-检验项目")
@ -76,7 +85,17 @@ public class ZjItemController {
@PreAuthorize("@ss.hasPermission('mes:zj-item:query')")
public CommonResult<PageResult<ZjItemRespVO>> getZjItemPage(@Valid ZjItemPageReqVO pageReqVO) {
PageResult<ZjItemDO> pageResult = zjItemService.getZjItemPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, ZjItemRespVO.class));
return success(new PageResult<>(buildVOList(pageResult.getList()), pageResult.getTotal()));
}
private List<ZjItemRespVO> buildVOList(List<ZjItemDO> list) {
if (CollUtil.isEmpty(list)) {
return Collections.emptyList();
}
Map<Long, ZjTypeDO> zjTypeMap = zjTypeService.getZjTypeVOMap(
convertSet(list, ZjItemDO::getZjType));
return BeanUtils.toBean(list, ZjItemRespVO.class, item -> {
MapUtils.findAndThen(zjTypeMap, item.getZjType(), zjType -> item.setZjTypeName(zjType.getName()));
});
}
@GetMapping("/export-excel")

@ -17,9 +17,12 @@ public class ZjItemRespVO {
private Long id;
@Schema(description = "检验类型", example = "1")
@ExcelProperty("检验类型")
private Long zjType;
@Schema(description = "检验类型", example = "1")
@ExcelProperty("检验类型")
private String zjTypeName;
@Schema(description = "名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
@ExcelProperty("名称")
private String name;

@ -108,4 +108,14 @@ public class MesNoRedisDAO {
stringRedisTemplate.expire(key, Duration.ofDays(1L));
return noPrefix + String.format("%02d", no);
}
public String generate(String prefix) {
// 递增序号
String noPrefix = prefix + DateUtil.format(LocalDateTime.now(), DatePattern.PURE_DATE_PATTERN);
String key = RedisKeyConstants.NO + noPrefix;
Long no = stringRedisTemplate.opsForValue().increment(key);
// 设置过期时间
stringRedisTemplate.expire(key, Duration.ofDays(1L));
return noPrefix + String.format("%02d", no);
}
}

@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil;
import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
import cn.iocoder.yudao.framework.common.util.collection.MapUtils;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.erp.controller.admin.autocode.util.AutoCodeUtil;
import cn.iocoder.yudao.module.iot.dal.dataobject.device.DeviceDO;
import cn.iocoder.yudao.module.iot.dal.devicecontactmodel.DeviceContactModelDO;
import cn.iocoder.yudao.module.iot.dal.mysql.device.DeviceMapper;
@ -21,6 +22,7 @@ import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
@ -56,6 +58,9 @@ public class OrganizationServiceImpl implements OrganizationService {
private DeviceContactModelMapper deviceContactModelMapper;
@Resource
private DeviceMapper deviceMapper;
@Autowired
private AutoCodeUtil autoCodeUtil;
@Override
public Long createOrganization(OrganizationSaveReqVO createReqVO) {
// 校验父组织id的有效性
@ -66,14 +71,16 @@ public class OrganizationServiceImpl implements OrganizationService {
OrganizationDO organization = BeanUtils.toBean(createReqVO, OrganizationDO.class);
if (StringUtils.isEmpty(organization.getCode())) {
// 1.4 编码,并校验唯一性
String no = null;
if(organization.getOrgClass().equals(OrgClassEnum..getValue())){
no = noRedisDAO.generate2(MesNoRedisDAO.ORG_WORKPLACE);
if (organizationMapper.selectByNo(no) != null) {
throw exception(PURCHASE_ORDER_NO_EXISTS);
}
organization.setCode(no);
}
// String no = null;
// if(organization.getOrgClass().equals(OrgClassEnum.工位.getValue())){
// no = noRedisDAO.generate2(MesNoRedisDAO.ORG_WORKPLACE);
// if (organizationMapper.selectByNo(no) != null) {
// throw exception(PURCHASE_ORDER_NO_EXISTS);
// }
// organization.setCode(no);
// }
organization.setCode(autoCodeUtil.genSerialCode("ORG_CODE",null));
}
organizationMapper.insert(organization);
// 返回
@ -252,8 +259,7 @@ public class OrganizationServiceImpl implements OrganizationService {
if (CollUtil.isEmpty(ids)) {
return Collections.emptyList();
}
List<OrganizationDO> list = organizationMapper.selectBatchIds(ids);
return list;
return(organizationMapper.selectBatchIds(ids));
}
@Override

@ -5,6 +5,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.collection.MapUtils;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.erp.controller.admin.autocode.util.AutoCodeUtil;
import cn.iocoder.yudao.module.erp.dal.dataobject.product.ErpProductDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.product.ErpProductUnitDO;
import cn.iocoder.yudao.module.erp.service.product.ErpProductService;
@ -24,6 +25,7 @@ import cn.iocoder.yudao.module.mes.dal.mysql.task.TaskMapper;
import cn.iocoder.yudao.module.mes.dal.mysql.task.ViewTaskProductSummaryMapper;
import cn.iocoder.yudao.module.mes.dal.redis.no.MesNoRedisDAO;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
@ -53,6 +55,9 @@ public class TaskServiceImpl implements TaskService {
@Resource
private MesNoRedisDAO noRedisDAO;
@Autowired
private AutoCodeUtil autoCodeUtil;
@Override
@Transactional(rollbackFor = Exception.class)
public Long createTask(TaskSaveReqVO createReqVO) {
@ -61,11 +66,12 @@ public class TaskServiceImpl implements TaskService {
if (StringUtils.isEmpty(task.getCode())) {
// 1.4 生成订单号,并校验唯一性
String no = noRedisDAO.generate2(MesNoRedisDAO.TASK_NO_PREFIX);
if (taskMapper.selectByNo(no) != null) {
throw exception(PURCHASE_ORDER_NO_EXISTS);
}
task.setCode(no);
// String no = noRedisDAO.generate2(MesNoRedisDAO.TASK_NO_PREFIX);
// if (taskMapper.selectByNo(no) != null) {
// throw exception(PURCHASE_ORDER_NO_EXISTS);
// }
// task.setCode(no);
task.setCode(autoCodeUtil.genSerialCode("TASK_CODE",null));
}
createReqVO.setStatus(TaskStatusEnum.稿.getValue());
taskMapper.insert(task);

@ -3,10 +3,13 @@ package cn.iocoder.yudao.module.mes.service.zjitem;
import java.util.*;
import javax.validation.*;
import cn.iocoder.yudao.module.mes.controller.admin.zjitem.vo.*;
import cn.iocoder.yudao.module.mes.dal.dataobject.organization.OrganizationDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.zjitem.ZjItemDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap;
/**
* - Service
*
@ -51,5 +54,4 @@ public interface ZjItemService {
* @return -
*/
PageResult<ZjItemDO> getZjItemPage(ZjItemPageReqVO pageReqVO);
}

@ -1,5 +1,7 @@
package cn.iocoder.yudao.module.mes.service.zjitem;
import cn.hutool.core.collection.CollUtil;
import cn.iocoder.yudao.module.mes.dal.dataobject.organization.OrganizationDO;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
@ -70,5 +72,4 @@ public class ZjItemServiceImpl implements ZjItemService {
public PageResult<ZjItemDO> getZjItemPage(ZjItemPageReqVO pageReqVO) {
return zjItemMapper.selectPage(pageReqVO);
}
}

@ -4,11 +4,15 @@ import java.util.*;
import javax.validation.*;
import cn.iocoder.yudao.module.iot.dal.dataobject.deviceattributetype.DeviceAttributeTypeDO;
import cn.iocoder.yudao.module.mes.controller.admin.zjitem.vo.ZjItemPageReqVO;
import cn.iocoder.yudao.module.mes.controller.admin.zjtype.vo.*;
import cn.iocoder.yudao.module.mes.dal.dataobject.zjitem.ZjItemDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.zjtype.ZjTypeDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap;
/**
* - Service
*
@ -60,4 +64,11 @@ public interface ZjTypeService {
* @return
*/
List<ZjTypeDO> getZjTypeList();
List<ZjTypeDO> getZjTypeVOList(Collection<Long> ids);
default Map<Long, ZjTypeDO> getZjTypeVOMap(Collection<Long> ids) {
if(ids.isEmpty())return new HashMap<>();
return convertMap(getZjTypeVOList(ids), ZjTypeDO::getId);
}
}

@ -1,6 +1,8 @@
package cn.iocoder.yudao.module.mes.service.zjtype;
import cn.hutool.core.collection.CollUtil;
import cn.iocoder.yudao.module.iot.dal.dataobject.deviceattributetype.DeviceAttributeTypeDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.zjitem.ZjItemDO;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
@ -76,4 +78,12 @@ public class ZjTypeServiceImpl implements ZjTypeService {
public List<ZjTypeDO> getZjTypeList() {
return zjTypeMapper.selectList();
}
@Override
public List<ZjTypeDO> getZjTypeVOList(Collection<Long> ids) {
if (CollUtil.isEmpty(ids)) {
return Collections.emptyList();
}
return(zjTypeMapper.selectBatchIds(ids));
}
}
Loading…
Cancel
Save