禅道438,395Bug修改,未排单查询条件补全

This commit is contained in:
liuzhaotian
2024-09-03 15:27:04 +08:00
parent d7af73a305
commit 954ad9b75a
11 changed files with 235 additions and 183 deletions
@@ -480,7 +480,7 @@ public class PlanServiceImpl implements PlanService {
} }
planDOPageResult.setList(plan); planDOPageResult.setList(plan);
planDOPageResult.setTotal(1L);
}else { }else {
@@ -626,18 +626,44 @@ public class PlanServiceImpl implements PlanService {
.eq("og.deleted",false) .eq("og.deleted",false)
// .isNull("opi.item_id") // .isNull("opi.item_id")
// todo 修改排单数据筛选,目前只解决了非混单的情况,混单情况待解决 // todo 修改排单数据筛选,目前只解决了非混单的情况,混单情况待解决
.inIfPresent("op.goods_id",goodsDOS.isEmpty() ? null :goodsDOS.stream().map(GoodsDO::getId).toList()) .inIfPresent("og.id",goodsDOS.isEmpty() ? null :goodsDOS.stream().map(GoodsDO::getId).toList())
.inIfPresent("o.id",pageReqVO.getOrderIds()) .inIfPresent("o.id",pageReqVO.getOrderIds())
.likeIfPresent("o.id", pageReqVO.getOrderId() != null ? pageReqVO.getOrderId().toString() : null) .likeIfPresent("o.id", pageReqVO.getOrderId() != null ? pageReqVO.getOrderId().toString() : null)
.inIfPresent("op.goods_id",pageReqVO.getIds()) .inIfPresent("og.id",pageReqVO.getIds())
.likeIfPresent("o.customer", pageReqVO.getConsignee()) .likeIfPresent("o.customer", pageReqVO.getConsignee())
.likeIfPresent("o.custom_order_no", pageReqVO.getDefaultId()) .likeIfPresent("o.custom_order_no", pageReqVO.getDefaultId())
.likeIfPresent("o.address", pageReqVO.getConsigneeAddress()) .likeIfPresent("o.address", pageReqVO.getConsigneeAddress())
.betweenIfPresent("o.order_date", pageReqVO.getCreateTime()) .betweenIfPresent("o.order_date", pageReqVO.getCreateTime())
.eqIfPresent("op.is_special_shaped", pageReqVO.getRectangle() != null ? false: null)
.eqIfPresent("op.is_special_shaped", pageReqVO.getSpecialShaped())
.eqIfPresent("op.is_sculpt", pageReqVO.getSculpt())
.eqIfPresent("op.is_door", pageReqVO.getIsDoor())
.betweenIfPresent("op.height", new BigDecimal[]{pageReqVO.getLongMinRang(), pageReqVO.getLongMaxRang()})
.betweenIfPresent("op.width", new BigDecimal[]{pageReqVO.getWidthMinRang(), pageReqVO.getWidthMaxRang()})
.groupBy("o.id", " o.order_date", "o.delivery_date", "o.customer", "o.address", "o.custom_order_no","o.status") .groupBy("o.id", " o.order_date", "o.delivery_date", "o.customer", "o.address", "o.custom_order_no","o.status")
.having("count(op.id) != 0") .having("count(op.id) != 0")
.orderByDesc("o.order_date"); .orderByDesc("o.order_date");
String filterTypes = "";
if (Objects.nonNull(pageReqVO.getHoleThrough()) && pageReqVO.getHoleThrough()) {
filterTypes += PlanFilterTypeEnum.DIGGINGTHROUGHTHESHAPE.getType().toString();
}
if (Objects.nonNull(pageReqVO.getBurrow()) && pageReqVO.getBurrow()) {
filterTypes += PlanFilterTypeEnum.THEREAREPERFORATEDHOLES.getType().toString();
}
if (Objects.nonNull(pageReqVO.getTwoDimensionalToolPath()) && pageReqVO.getTwoDimensionalToolPath()) {
filterTypes += PlanFilterTypeEnum.TWODIMENSIONALCUTTINGPATH.getType().toString();
}
queryWrapperX.likeIfPresent("op.filter_type", insertSeparator(filterTypes));
// todo 目前修改一半,速度无法再进行特别的优化,需等后面修改表结构再进行优化 // todo 目前修改一半,速度无法再进行特别的优化,需等后面修改表结构再进行优化
IPage<OrderRespVOCopy> orderRespVOCopies = orderMapper.selectOrderPage(page,queryWrapperX); IPage<OrderRespVOCopy> orderRespVOCopies = orderMapper.selectOrderPage(page,queryWrapperX);
@@ -807,11 +833,15 @@ public class PlanServiceImpl implements PlanService {
.inIfPresent("og.order_id", pageReqVO.getOrderIds()) .inIfPresent("og.order_id", pageReqVO.getOrderIds())
.inIfPresent("og.id", pageReqVO.getIds()) .inIfPresent("og.id", pageReqVO.getIds())
// .isNull("opi.item_id")
// .isNotNull("og.id")
// todo 修改排单数据筛选,目前只解决了非混单的情况,混单情况待解决 // todo 修改排单数据筛选,目前只解决了非混单的情况,混单情况待解决
.eqIfPresent("og.goods_id",pageReqVO.getGoodsId()) .eqIfPresent("og.goods_id",pageReqVO.getGoodsId())
.likeIfPresent("o.id", pageReqVO.getOrderId() != null ? pageReqVO.getOrderId().toString() : null)
.likeIfPresent("o.customer", pageReqVO.getConsignee())
.likeIfPresent("o.custom_order_no", pageReqVO.getDefaultId())
.likeIfPresent("o.address", pageReqVO.getConsigneeAddress())
.betweenIfPresent("o.order_date", pageReqVO.getCreateTime())
.eqIfPresent("op.is_special_shaped", pageReqVO.getRectangle() != null ? false: null) .eqIfPresent("op.is_special_shaped", pageReqVO.getRectangle() != null ? false: null)
.eqIfPresent("op.is_special_shaped", pageReqVO.getSpecialShaped()) .eqIfPresent("op.is_special_shaped", pageReqVO.getSpecialShaped())
.eqIfPresent("op.is_sculpt", pageReqVO.getSculpt()) .eqIfPresent("op.is_sculpt", pageReqVO.getSculpt())
@@ -5,8 +5,6 @@ import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.ToString; import lombok.ToString;
import java.util.List;
@Data @Data
@ToString(callSuper = true) @ToString(callSuper = true)
@Builder @Builder
@@ -22,7 +20,7 @@ public class PackPlateList {
// 板材ID // 板材ID
private Long plateId; private Long plateId;
// 包裹编号 // 板材编号
private String plateNo; private String plateNo;
@@ -845,10 +845,10 @@ public class PackServiceImpl implements PackService {
.status(OrderPackageStatusEnum.PACKAGED.getStatus()) .status(OrderPackageStatusEnum.PACKAGED.getStatus())
.build()); .build());
prePackOptimizeInfo.getList().forEach(plate ->{ prePackOptimizeInfo.getList().forEach(plate ->{
List<String> list = plate.getList().stream().map(PrePackOptimizeInfo.PrerPlateData::getPlateNo).toList(); List<String> list = plate.getList().stream().map(PrePackOptimizeInfo.PrerPlateData::getPlateId).toList();
list.forEach(a -> packPlateNoLists.add(PackPlateList.builder() list.forEach(a -> packPlateNoLists.add(PackPlateList.builder()
.packNo(packageNo) .packNo(packageNo)
.plateNo(a) .plateId(Long.valueOf(a))
.build())); .build()));
}); });
@@ -878,14 +878,24 @@ public class PackServiceImpl implements PackService {
List<OrderItemDO> orderItemDOS = orderItemMapper.selectPackPlateList(reqVO.getOrderId(), getUserOrganId()); List<OrderItemDO> orderItemDOS = orderItemMapper.selectPackPlateList(reqVO.getOrderId(), getUserOrganId());
List<String> plateNo = packPlateNoLists.stream().map(PackPlateList::getPlateNo).toList(); // List<String> plateNo = packPlateNoLists.stream().map(PackPlateList::getPlateNo).toList();
//
//
// List<OrderPlateDO> orderPlateDOS = orderPlateMapper.selectPlateList(plateNo, getUserOrganId());
//
// if(orderPlateDOS.isEmpty()){
// System.out.println("当前板材数据为空");
//
// }
//
// orderPlateDOS.forEach(a->
// packPlateNoLists.stream().filter(f->Objects.equals(f.getPlateNo(), a.getPlateNo()))
// .forEach(f -> f.setPlateId(a.getId())));
//
//
// System.out.println("啊哈哈哈哈哈哈1 "+packPlateNoLists);
List<OrderPlateDO> orderPlateDOS = orderPlateMapper.selectPlateList(plateNo, getUserOrganId());
orderPlateDOS.forEach(a->
packPlateNoLists.stream().filter(f->Objects.equals(f.getPlateNo(), a.getPlateNo()))
.forEach(f -> f.setPlateId(a.getId())));
packPlateNoLists.forEach(a-> packPlateNoLists.forEach(a->
orderItemDOS.stream().filter(f->Objects.equals(f.getPlateId(), a.getPlateId())) orderItemDOS.stream().filter(f->Objects.equals(f.getPlateId(), a.getPlateId()))
@@ -217,7 +217,9 @@ public interface ErrorCodeConstants {
ErrorCode THE_CURRENT_BRAND_OF_THE_MACHINE_EXISTS = new ErrorCode(1_002_029_008, "当前机台配置的模板中,该品牌已存在,请重新输入品牌名称"); ErrorCode THE_CURRENT_BRAND_OF_THE_MACHINE_EXISTS = new ErrorCode(1_002_029_008, "当前机台配置的模板中,该品牌已存在,请重新输入品牌名称");
ErrorCode THE_MODEL_OF_THE_MACHINE_DOES_NOT_EXIST = new ErrorCode(1_002_029_009, "该型号的机台不存在,请进行配置"); ErrorCode THE_MODEL_OF_THE_MACHINE_DOES_NOT_EXIST = new ErrorCode(1_002_029_009, "该型号的机台不存在,请进行配置");
ErrorCode THE_CURRENT_BRAND = new ErrorCode(1_002_029_010, "品牌ID错误,或品牌不存在"); ErrorCode THE_CURRENT_BRAND = new ErrorCode(1_002_029_010, "品牌ID错误,或品牌不存在");
ErrorCode MACHINE_NUM_ERROR = new ErrorCode(1_002_029_011, "当前模板创建的机台数量已达到最大,无法继续创建"); ErrorCode MACHINE_NUM_ERROR = new ErrorCode(1_002_029_011, "当前模板创建的机台数量已达到最大,无法继续创建");
ErrorCode MACHINE_NAME_ERROR = new ErrorCode(1_002_029_012, "当前机台名称已存在,请重新输入机台名称");
ErrorCode MACHINETEMPLATE_NAME_ERROR = new ErrorCode(1_002_029_013, "当前机台模板的名称已存在,请重新输入机台模板名称");
// ========== 标签模板 1-002-300-000 ========== // ========== 标签模板 1-002-300-000 ==========
ErrorCode LABEL_TEMPLATE_NOT_EXISTS = new ErrorCode(1_002_300_000, "标签模板不存在"); ErrorCode LABEL_TEMPLATE_NOT_EXISTS = new ErrorCode(1_002_300_000, "标签模板不存在");
@@ -1,5 +1,8 @@
package com.cf.imes.module.system.controller.admin.machine; package com.cf.imes.module.system.controller.admin.machine;
import com.cf.imes.framework.common.pojo.CommonResult;
import com.cf.imes.framework.common.pojo.PageResult;
import com.cf.imes.framework.common.util.object.BeanUtils;
import com.cf.imes.framework.es.core.valid.CreateGroup; import com.cf.imes.framework.es.core.valid.CreateGroup;
import com.cf.imes.framework.es.core.valid.UpdateGroup; import com.cf.imes.framework.es.core.valid.UpdateGroup;
import com.cf.imes.framework.operatelog.core.annotations.OperateLog; import com.cf.imes.framework.operatelog.core.annotations.OperateLog;
@@ -8,21 +11,14 @@ import com.cf.imes.module.system.controller.admin.machine.vo.*;
import com.cf.imes.module.system.dal.dataobject.machine.MachineDO; import com.cf.imes.module.system.dal.dataobject.machine.MachineDO;
import com.cf.imes.module.system.service.machine.MachineService; import com.cf.imes.module.system.service.machine.MachineService;
import com.cf.imes.module.system.service.machine.MachineTemplateService; import com.cf.imes.module.system.service.machine.MachineTemplateService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.validation.Valid;
import org.springframework.validation.annotation.Validated;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import javax.validation.*;
import com.cf.imes.framework.common.pojo.PageResult;
import com.cf.imes.framework.common.pojo.CommonResult;
import com.cf.imes.framework.common.util.object.BeanUtils;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@@ -128,6 +124,12 @@ public class MachineController {
} }
@GetMapping("getMachineModelAll")
@Operation(summary = "获得机台类型下所有机台的型号")
//@PreAuthorize("@ss.hasPermission('machine::query')")
public CommonResult<List<MachineSimpleRespVO>> getMachineModelAll(@RequestParam Integer type) {
return success(machineService.getMachineModelAll(type));
}
} }
@@ -1,16 +1,14 @@
package com.cf.imes.module.system.dal.mysql.machine; package com.cf.imes.module.system.dal.mysql.machine;
import java.util.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.cf.imes.framework.common.pojo.PageResult; import com.cf.imes.framework.common.pojo.PageResult;
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
import com.cf.imes.module.system.controller.admin.machine.vo.*; import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.cf.imes.module.system.controller.admin.machine.vo.MachinePageReqVO;
import com.cf.imes.module.system.dal.dataobject.machine.MachineDO; import com.cf.imes.module.system.dal.dataobject.machine.MachineDO;
import com.cf.imes.module.system.dal.dataobject.machinetemplate.MachineTemplateDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.Collection;
import java.util.List;
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId; import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId;
@@ -31,11 +29,6 @@ public interface MachineMapper extends BaseMapperX<MachineDO> {
.orderByDesc(MachineDO::getCreateTime)); .orderByDesc(MachineDO::getCreateTime));
} }
Page<OrganMachineResp> selectOrganMachinePage(@Param("page") Page<OrganMachineResp> respPage, @Param("vo") OrganMachinePage page);
List<OrganMachineVO> selectOrganMachineList(Map<String, Object> map);
OrganMachineResp selectOrganMachine(Long organId);
default PageResult<MachineDO> selectPage(MachinePageReqVO pageParam, Collection<Long> ids) { default PageResult<MachineDO> selectPage(MachinePageReqVO pageParam, Collection<Long> ids) {
return selectPage(pageParam, new LambdaQueryWrapperX<MachineDO>() return selectPage(pageParam, new LambdaQueryWrapperX<MachineDO>()
@@ -44,4 +37,40 @@ public interface MachineMapper extends BaseMapperX<MachineDO> {
.betweenIfPresent(MachineDO::getCreateTime, pageParam.getCreateTime()) .betweenIfPresent(MachineDO::getCreateTime, pageParam.getCreateTime())
.orderByDesc(MachineDO::getCreateTime)); .orderByDesc(MachineDO::getCreateTime));
}; };
default List<MachineDO> selectByOrganId(Integer machineType,Long organId) {
return selectList(new LambdaQueryWrapperX<MachineDO>()
.eq(MachineDO::getOrganId,organId)
.eq(MachineDO::getDeleted,false)
.eq(MachineDO::getMachineType,machineType)
.select(MachineDO::getId));
}
default MachineDO selectMachine(String name,Integer machineType,Long organId) {
return selectOne(new LambdaQueryWrapperX<MachineDO>()
.eq(MachineDO::getOrganId,organId)
.eq(MachineDO::getDeleted,false)
.eq(MachineDO::getMachineType,machineType)
.eq(MachineDO::getName,name));
}
default List<MachineDO> selectMachineList(Integer machineType,Long organId) {
return selectList(new LambdaQueryWrapperX<MachineDO>()
.eq(MachineDO::getOrganId,organId)
.eq(MachineDO::getDeleted,false)
.eq(MachineDO::getMachineType,machineType)
.select(MachineDO::getId,MachineDO::getName,MachineDO::getMachineType));
}
} }
@@ -64,8 +64,10 @@ public interface MachineTemplateMapper extends BaseMapperX<MachineTemplateDO> {
default List<MachineTemplateDO> selectMachineTemplate(String templateName) { default MachineTemplateDO selectMachineTemplate(String name,Integer machineType) {
return selectList(new LambdaQueryWrapperX<MachineTemplateDO>() return selectOne(new LambdaQueryWrapperX<MachineTemplateDO>()
.likeIfPresent(MachineTemplateDO::getName,templateName)); .eq(MachineTemplateDO::getDeleted,false)
.eq(MachineTemplateDO::getMachineType,machineType)
.eq(MachineTemplateDO::getName,name));
} }
} }
@@ -64,6 +64,8 @@ public interface MachineService {
List<MachineDO> list(Collection<Long> ids); List<MachineDO> list(Collection<Long> ids);
List<MachineSimpleRespVO> getMachineModelAll(Integer type);
Map<Integer, List<MachineVO>> getMachineTree(Long type); Map<Integer, List<MachineVO>> getMachineTree(Long type);
Boolean auth(MachineOrgAuthReq vo); Boolean auth(MachineOrgAuthReq vo);
@@ -90,12 +90,23 @@ public class MachineServiceImpl implements MachineService {
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser(); LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
assert loginUser != null; assert loginUser != null;
if(createReqVO.getId() != null){ // 校验机台名称是否重复
MachineDO machine = machineMapper.selectMachine(createReqVO.getName(),createReqVO.getMachineType(), getUserOrganId());
if(machine != null){
throw exception(MACHINE_NAME_ERROR);
}
validateMachineNum(createReqVO.getMachineType(), loginUser.getOrganId());
MachineDO machineDO;
MachineTemplateDO machineTemplateDO;
if (createReqVO.getId() != null) {
MachineDO copyMachineDO = machineMapper.selectById(createReqVO.getId()); MachineDO copyMachineDO = machineMapper.selectById(createReqVO.getId());
// 插入 // 插入
MachineDO machineDO = MachineConvert.convert(createReqVO); machineDO = MachineConvert.convert(createReqVO);
machineDO.setSetting(copyMachineDO.getSetting()); machineDO.setSetting(copyMachineDO.getSetting());
@@ -108,87 +119,85 @@ public class MachineServiceImpl implements MachineService {
} }
MachineTemplateDO machineTemplateDO = machineTemplateMapper.selectMachine(createReqVO.getBrandId(), createReqVO.getMachineId()); machineTemplateDO = machineTemplateMapper.selectMachine(createReqVO.getBrandId(), createReqVO.getMachineId());
if(machineTemplateDO == null){ if (machineTemplateDO == null) {
throw exception(THE_MODEL_OF_THE_MACHINE_DOES_NOT_EXIST); throw exception(THE_MODEL_OF_THE_MACHINE_DOES_NOT_EXIST);
} }
// 插入 // 创建新的机器对象
MachineDO machineDO = MachineConvert.convert(createReqVO); machineDO = MachineConvert.convert(createReqVO);
machineDO.setSetting(machineTemplateDO.getSetting()); machineDO.setSetting(machineTemplateDO.getSetting());
machineMapper.insert(machineDO); machineMapper.insert(machineDO);
// 处理不同机台类型的配置
handleMachineSpecificConfiguration(machineDO, machineTemplateDO);
// 返回新机器的ID
return machineDO.getId();
}
if(machineTemplateDO.getMachineType().equals(MachineTypeEnum.CUTTING.getType())) {
// 将配置进行解压,判断该类型的机台的贴标配置是否开启 // 判断机台的模板是否是钻孔机或封边机
private void handleMachineSpecificConfiguration(MachineDO machineDO, MachineTemplateDO machineTemplateDO) {
Integer machineType = machineTemplateDO.getMachineType();
if (MachineTypeEnum.CUTTING.getType().equals(machineType)) {
handleCuttingMachineConfiguration(machineDO, machineTemplateDO);
} else if (MachineTypeEnum.BANDING.getType().equals(machineType)) {
handleBandingMachineConfiguration(machineDO, machineTemplateDO);
}
}
// 创建贴标机
private void handleCuttingMachineConfiguration(MachineDO machineDO, MachineTemplateDO machineTemplateDO) {
JsonNode cuttingSetting = JsonUtils.parseTree(unzipString(machineTemplateDO.getSetting())); JsonNode cuttingSetting = JsonUtils.parseTree(unzipString(machineTemplateDO.getSetting()));
JsonNode advancedConfigsRef = cuttingSetting.get("advancedConfigsRef"); JsonNode advancedConfigsRef = cuttingSetting.get("advancedConfigsRef");
boolean isAutoLabelEnabled = advancedConfigsRef.get("isAutoLabelEnabled").asBoolean(); boolean isAutoLabelEnabled = advancedConfigsRef.get("isAutoLabelEnabled").asBoolean();
if (isAutoLabelEnabled && advancedConfigsRef.has("autoLabelModel")) {
if(isAutoLabelEnabled && advancedConfigsRef.get("autoLabelBrand") != null && advancedConfigsRef.get("autoLabelModel") != null){
// Integer autoLabelBrand = advancedConfigsRef.get("autoLabelBrand").asInt();
Integer autoLabelModel = advancedConfigsRef.get("autoLabelModel").asInt(); Integer autoLabelModel = advancedConfigsRef.get("autoLabelModel").asInt();
createAndInsertMachine(autoLabelModel, machineDO, "开料" + machineDO.getName() + "-贴标机");
// 根据型号ID查询贴标的配置信息
MachineTemplateDO labelingMachineTemplateDO = machineTemplateMapper.selectById(autoLabelModel);
MachineDO labelingMachineDO = MachineDO.builder()
.labelId(machineDO.getLabelId())
.machineType(labelingMachineTemplateDO.getMachineType())
.brandId(labelingMachineTemplateDO.getBrandId())
.setting(labelingMachineTemplateDO.getSetting())
.name("开料"+machineDO.getName()+ "-贴标机")
.build();
machineMapper.insert(labelingMachineDO);
} }
} }
if(machineTemplateDO.getMachineType().equals(MachineTypeEnum.BANDING.getType())) { // 创建钻孔机
private void handleBandingMachineConfiguration(MachineDO machineDO, MachineTemplateDO machineTemplateDO) {
// 将配置进行解压,判断该类型的机台的钻孔配置是否开启
JsonNode drillSetting = JsonUtils.parseTree(unzipString(machineTemplateDO.getSetting())); JsonNode drillSetting = JsonUtils.parseTree(unzipString(machineTemplateDO.getSetting()));
JsonNode cuttingModuleRef = drillSetting.get("cuttingModuleRef"); JsonNode cuttingModuleRef = drillSetting.get("cuttingModuleRef");
boolean isDrillEnabled = cuttingModuleRef.get("isDrillEnabled").asBoolean(); boolean isDrillEnabled = cuttingModuleRef.get("isDrillEnabled").asBoolean();
if (isDrillEnabled && cuttingModuleRef.has("drillModel")) {
Integer drillModel = cuttingModuleRef.get("drillModel").asInt();
createAndInsertMachine(drillModel, machineDO, "开料" + machineDO.getName() + "钻孔机");
}
}
if(isDrillEnabled && cuttingModuleRef.get("drillBrand") != null && cuttingModuleRef.get("drillModel") != null){
// Integer drillBrand = cuttingModuleRef.get("drillBrand").asInt(); private void createAndInsertMachine(Integer modelId, MachineDO parentMachine, String machineName) {
MachineTemplateDO template = machineTemplateMapper.selectById(modelId);
Integer autoLabelModel = cuttingModuleRef.get("drillModel").asInt(); if (template != null) {
MachineDO newMachine = MachineDO.builder()
// 根据型号ID查询钻孔机的配置信息 .labelId(parentMachine.getLabelId())
MachineTemplateDO drillMachineTemplateDO = machineTemplateMapper.selectById(autoLabelModel); .machineType(template.getMachineType())
.brandId(template.getBrandId())
MachineDO drillMachineDO = MachineDO.builder() .setting(template.getSetting())
.labelId(machineDO.getLabelId()) .name(machineName)
.machineType(drillMachineTemplateDO.getMachineType())
.brandId(drillMachineTemplateDO.getBrandId())
.setting(drillMachineTemplateDO.getSetting())
.name("开料"+machineDO.getName()+"钻孔机")
.build(); .build();
machineMapper.insert(drillMachineDO); machineMapper.insert(newMachine);
}
} }
}
@@ -208,9 +217,10 @@ public class MachineServiceImpl implements MachineService {
} }
@Override @Override
@Transactional(rollbackFor = Exception.class)
public void updateCutting(CuttingSaveReqVO updateReqVO) { public void updateCutting(CuttingSaveReqVO updateReqVO) {
// 校验存在 // 校验存在和判断机台名称是否重复
validateExists(updateReqVO.getId()); validateExists(updateReqVO.getId(),updateReqVO.getName(),updateReqVO.getMachineType());
// 更新 // 更新
MachineDO updateObj = MachineConvert.convert(updateReqVO); MachineDO updateObj = MachineConvert.convert(updateReqVO);
//MachineDO updateObj = BeanUtils.toBean(updateReqVO, MachineDO.class); //MachineDO updateObj = BeanUtils.toBean(updateReqVO, MachineDO.class);
@@ -356,6 +366,17 @@ public class MachineServiceImpl implements MachineService {
return machineMapper.selectPage(pageParam, new ArrayList<>()); return machineMapper.selectPage(pageParam, new ArrayList<>());
} }
@Override
public List<MachineSimpleRespVO> getMachineModelAll(Integer type) {
List<MachineDO> machineDOS = machineMapper.selectMachineList(type, getUserOrganId());
return BeanUtils.toBean(machineDOS,MachineSimpleRespVO.class);
}
@Override @Override
@OrganIgnore @OrganIgnore
public List<MachineSimpleRespVO> simpleList(Long organId,Long type) { public List<MachineSimpleRespVO> simpleList(Long organId,Long type) {
@@ -398,10 +419,17 @@ public class MachineServiceImpl implements MachineService {
private void validateExists(Long id) { // 校验机台是否存在和机台名称是否重复
if (machineMapper.selectById(id) == null) { private void validateExists(Long id,String name,Integer machineType) {
MachineDO machineDO = machineMapper.selectById(id);
if (machineDO == null) {
throw exception(MACHINE_NOT_EXISTS); throw exception(MACHINE_NOT_EXISTS);
} }
MachineDO machine = machineMapper.selectMachine(name, machineType, getUserOrganId());
if(machine != null){
throw exception(MACHINE_NAME_ERROR);
}
} }
private Boolean validateBrandAndModel(String brand, String model){ private Boolean validateBrandAndModel(String brand, String model){
@@ -29,7 +29,6 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@@ -83,6 +82,8 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
throw exception(THE_CURRENT_BRAND); throw exception(THE_CURRENT_BRAND);
} }
validateMachineTemplate(reqVO.getName(),reqVO.getMachineType());
MachineTemplateDO templateDO = MachineTemplateConvert.convert(reqVO); MachineTemplateDO templateDO = MachineTemplateConvert.convert(reqVO);
@@ -121,6 +122,13 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
throw exception(THE_CURRENT_BRAND); throw exception(THE_CURRENT_BRAND);
} }
MachineTemplateDO machineTemplateDO = machineTemplateMapper.selectById(reqVO.getId());
if(machineTemplateDO == null){
throw exception(MACHINE_TEMPLATE_NOT_EXISTS);
}
validateMachineTemplate(reqVO.getName(),reqVO.getMachineType());
MachineTemplateDO templateDO = MachineTemplateConvert.convert(reqVO); MachineTemplateDO templateDO = MachineTemplateConvert.convert(reqVO);
@@ -534,4 +542,15 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
private void validateMachineTemplate(String name,Integer machineType) {
MachineTemplateDO machineTemplateDO = machineTemplateMapper.selectMachineTemplate(name, machineType);
if(machineTemplateDO != null){
throw exception(MACHINETEMPLATE_NAME_ERROR);
}
}
} }
@@ -2,76 +2,6 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.cf.imes.module.system.dal.mysql.machine.MachineMapper"> <mapper namespace="com.cf.imes.module.system.dal.mysql.machine.MachineMapper">
<resultMap id="xxMap" type="com.cf.imes.module.system.controller.admin.machine.vo.OrganMachineResp">
<result property="organId" column="organId"/>
<result property="organName" column="organName"/>
<result property="updateTime" column="updateTime"/>
<collection property="authMachineList" javaType="java.util.List" ofType="com.cf.imes.module.system.controller.admin.machine.vo.OrganTemplateVO"
select="selectOrganMachineList" column="{organId=organId, machineName = machineName}" notNullColumn="machineName" >
</collection>
</resultMap>
<resultMap id="orgMap" type="com.cf.imes.module.system.controller.admin.machine.vo.OrganMachineResp">
<result property="organId" column="organId"/>
<result property="organName" column="organName"/>
<result property="updateTime" column="updateTime"/>
<collection property="authMachineList" javaType="java.util.List" ofType="com.cf.imes.module.system.controller.admin.machine.vo.OrganMachineVO"
select="selectOrganMachineList" column="{organId=organId}" >
</collection>
</resultMap>
<select id="selectOrganMachinePage" resultMap="xxMap">
select * from (
select a.id as organId, a.name as organName, max(b.create_time) as updateTime,
case when ('${vo.machineName}' != '') then '${vo.machineName}' else '' end as machineName
from system_organization a, system_machine_limit b
<where>
a.id = b.organ_id
<if test="vo.organId !=null">
and a.id = #{vo.organId}
</if>
</where>
GROUP BY organId
) t1
LEFT JOIN (
select b.organ_id t2_organId
from system_machine_limit b inner join system_machine c on b.machine_id = c.id and c.deleted = 0
<where>
<if test="vo.machineName !=null and vo.machineName !='' " >
c.name like concat('%',#{vo.machineName},'%')
</if>
</where>
) t2 on t1.organId = t2.t2_organId
where t2.t2_organId is not null
GROUP BY organId
order by updateTime desc
</select>
<select id="selectOrganMachineList"
resultType="com.cf.imes.module.system.controller.admin.machine.vo.OrganMachineVO">
select b.organ_id organId, b.show_prior_facing, b.show_dual_workstation, b.show_auto_note_printer,
c.name AS machineName, c.id AS machineId, c.machine_type
from system_machine_limit b
inner join system_machine c on b.machine_id = c.id and c.deleted = 0
<where>
b.organ_id = #{organId}
<if test="machineName != null and machineName != ''">
and c.name like concat('%',#{machineName},'%')
</if>
</where>
</select>
<select id="selectOrganMachine" resultMap="orgMap">
select a.id as organId, a.name as organName, max(b.create_time) as updateTime
from system_organization a, system_machine_limit b
<where>
a.id = b.organ_id
and a.id = #{vo.organId}
</where>
GROUP BY organId
</select>
</mapper> </mapper>