新增模具需求的接口

liweidong
liweidong-hj 4 days ago
parent 84267e50e4
commit 2e1f70e904
  1. 12
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/feign/IMoldDemandClient.java
  2. 1
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/MoldDemandController.java
  3. 5
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/feign/MoldDemandClient.java
  4. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/MoldDemandMapper.java
  5. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/MoldDemandMapper.xml
  6. 7
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IMoldDemandService.java
  7. 44
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/MoldDemandServiceImpl.java
  8. 1
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderServiceImpl.java

@ -4,6 +4,7 @@ import org.springblade.core.launch.constant.AppConstant;
import org.springblade.desk.order.pojo.entity.MoldDemand; import org.springblade.desk.order.pojo.entity.MoldDemand;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
/** /**
* 模具计划接口声明 * 模具计划接口声明
@ -18,6 +19,7 @@ public interface IMoldDemandClient {
String API_PREFIX = "/feign/moldDemand/"; String API_PREFIX = "/feign/moldDemand/";
String SAVE = API_PREFIX + "/save"; String SAVE = API_PREFIX + "/save";
String SAVE_MOLD_DEMAND = API_PREFIX + "/saveMoldDemand";
/** /**
@ -29,4 +31,14 @@ public interface IMoldDemandClient {
@GetMapping(SAVE) @GetMapping(SAVE)
Boolean save(MoldDemand moldDemand); Boolean save(MoldDemand moldDemand);
/**
* 新增模具需求
*
* @param toolCode
* @return
*/
@GetMapping(SAVE_MOLD_DEMAND)
Boolean saveMoldDemand(@RequestParam("toolCode") String toolCode);
} }

@ -84,4 +84,5 @@ public class MoldDemandController extends BladeController {
Boolean result = moldDemandService.closeBatch(Func.toLongList(ids)); Boolean result = moldDemandService.closeBatch(Func.toLongList(ids));
return R.status(result); return R.status(result);
} }
} }

@ -26,4 +26,9 @@ public class MoldDemandClient implements IMoldDemandClient {
public Boolean save(MoldDemand moldDemand) { public Boolean save(MoldDemand moldDemand) {
return moldDemandService.save(moldDemand); return moldDemandService.save(moldDemand);
} }
@Override
public Boolean saveMoldDemand(String toolCode) {
return moldDemandService.saveMoldDemand(toolCode);
}
} }

@ -36,4 +36,6 @@ public interface MoldDemandMapper extends BaseMapper<MoldDemand> {
MoldDemand getDetailById(String id); MoldDemand getDetailById(String id);
String getMaxMdCodeByDate(@Param("today")String today); String getMaxMdCodeByDate(@Param("today")String today);
List<MoldDemand> selectByToolCodee(@Param("toolCode") String toolCode);
} }

@ -191,5 +191,8 @@
<select id="getMaxMdCodeByDate" resultType="java.lang.String"> <select id="getMaxMdCodeByDate" resultType="java.lang.String">
SELECT MAX(md_code) FROM MES_MOLD_DEMAND WHERE md_code LIKE #{today} || '%' SELECT MAX(md_code) FROM MES_MOLD_DEMAND WHERE md_code LIKE #{today} || '%'
</select> </select>
<select id="selectByToolCodee" resultType="org.springblade.desk.order.pojo.entity.MoldDemand">
select * from MES_MOLD_DEMAND where IS_DELETED = 0 and TOOL_CODE = #{toolCode}
</select>
</mapper> </mapper>

@ -47,4 +47,11 @@ public interface IMoldDemandService extends BaseService<MoldDemand> {
* @return * @return
*/ */
Boolean closeBatch(List<Long> toLongList); Boolean closeBatch(List<Long> toLongList);
/**
* 新增物料
* @param toolCode
* @return
*/
boolean saveMoldDemand(String toolCode);
} }

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springblade.core.log.exception.ServiceException; import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.base.BaseEntity; import org.springblade.core.mp.base.BaseEntity;
@ -35,6 +36,7 @@ import java.util.stream.Collectors;
* *
* @author BladeX * @author BladeX
*/ */
@Slf4j
@RequiredArgsConstructor @RequiredArgsConstructor
@Service @Service
public class MoldDemandServiceImpl extends BaseServiceImpl<MoldDemandMapper, MoldDemand> implements IMoldDemandService { public class MoldDemandServiceImpl extends BaseServiceImpl<MoldDemandMapper, MoldDemand> implements IMoldDemandService {
@ -165,4 +167,46 @@ public class MoldDemandServiceImpl extends BaseServiceImpl<MoldDemandMapper, Mol
// 5. 批量更新 // 5. 批量更新
return this.updateBatchById(moldDemandList); return this.updateBatchById(moldDemandList);
} }
@Override
public boolean saveMoldDemand(String toolCode) {
// 1. 参数校验
if (toolCode == null || toolCode.trim().isEmpty()) {
throw new IllegalArgumentException("模具编码不能为空");
}
// 2. 检查是否已存在未完成的模具需求(避免重复创建)
List<MoldDemand> moldDemandList = baseMapper.selectByToolCodee(toolCode);
if (!CollectionUtils.isEmpty(moldDemandList)) {
return true;
}
// 3. 生成需求单号(建议增加异常处理)
String code;
try {
code = orderService.generateMdCode();
if (code == null || code.isEmpty()) {
throw new RuntimeException("生成模具需求单号失败");
}
} catch (Exception e) {
log.error("生成模具需求单号异常, toolCode: {}", toolCode, e);
throw new RuntimeException("生成模具需求单号失败", e);
}
// 4. 构建并保存实体
MoldDemand moldDemand = new MoldDemand();
moldDemand.setToolCode(toolCode);
moldDemand.setMdCode(code);
moldDemand.setMafStatus(MoldDemandEnum.MAF_STATUS_CREATE.getCode());
moldDemand.setMafType(MoldDemandEnum.MAF_TYPE_STORE.getCode());
boolean saveResult = this.save(moldDemand);
if (!saveResult) {
log.error("保存模具需求失败, toolCode: {}, mdCode: {}", toolCode, code);
throw new RuntimeException("保存模具需求失败");
}
log.info("模具需求创建成功, toolCode: {}, mdCode: {}", toolCode, code);
return true;
}
} }

@ -485,6 +485,7 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
yieldOrder.setProductType(part.getProductType()); yieldOrder.setProductType(part.getProductType());
yieldOrder.setPartName(part.getPartName()); yieldOrder.setPartName(part.getPartName());
yieldOrder.setPrimaryCraft(part.getCraftWay()); yieldOrder.setPrimaryCraft(part.getCraftWay());
//todo 涂色标 涂色带 涂箭头
DsPartVersionEntity partVersionEntity = partVersionService.selectByPartId(part.getId()); DsPartVersionEntity partVersionEntity = partVersionService.selectByPartId(part.getId());
if(null != partVersionEntity){ if(null != partVersionEntity){
yieldOrder.setPartVersion(partVersionEntity.getPartVersion()); yieldOrder.setPartVersion(partVersionEntity.getPartVersion());

Loading…
Cancel
Save