排产开发-sjx

liweidong
sunjianxi 4 weeks ago
parent 4e52c52eb5
commit 6c35e3b815
  1. 2
      blade-service-api/blade-scheduling-api/src/main/java/org/springblade/scheduling/feign/IWorkOrderClient.java
  2. 8
      blade-service-api/blade-scheduling-api/src/main/java/org/springblade/scheduling/feign/IWorkOrderClientFallback.java
  3. 7
      blade-service-api/blade-wms-api/src/main/java/org/springblade/wms/feign/StGlassCakeOutClient.java
  4. 6
      blade-service/blade-scheduling/pom.xml
  5. 12
      blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/controller/WorkOrderController.java
  6. 14
      blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/feign/WorkOrderClient.java
  7. 3
      blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/WorkOrderMapper.java
  8. 18
      blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/WorkOrderMapper.xml
  9. 8
      blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/IWorkOrderService.java
  10. 33
      blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/WorkOrderServiceImpl.java

@ -50,8 +50,6 @@ public interface IWorkOrderClient {
@GetMapping(INIT_RESOURCE)
R<Void> initResource();
@GetMapping(GLASS_CAKE_ORDER)
R<IPage<WorkOrderVO>> selectGlassCakeOrderPage(GlassCakeOrderPageQuery glassCakeOrderPageQuery);
@PostMapping(GLASS_CAKE_QUALITY)
R<QualityGradeEntity> getById(@RequestBody Long id);

@ -25,12 +25,8 @@
*/
package org.springblade.scheduling.feign;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.scheduling.pojo.entity.QualityGradeEntity;
import org.springblade.scheduling.pojo.vo.GlassCakeOrderPageQuery;
import org.springblade.scheduling.pojo.vo.WorkOrderVO;
import org.springframework.stereotype.Component;
import java.util.List;
@ -53,10 +49,6 @@ public class IWorkOrderClientFallback implements IWorkOrderClient {
return R.fail("初始化资源失败");
}
@Override
public R<IPage<WorkOrderVO>> selectGlassCakeOrderPage(GlassCakeOrderPageQuery glassCakeOrderPageQuery) {
return R.fail("获取玻璃饼订单失败");
}
@Override
public R<QualityGradeEntity> getById(Long id) {

@ -6,6 +6,7 @@ import org.springblade.wms.pojo.entity.StGlassCakeOut;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
import java.util.Map;
@ -29,9 +30,9 @@ public interface StGlassCakeOutClient {
String GLASS_OUT_ORDER = API_PREFIX + "/generateOrder";
String GLASS_BATCH_OUT_ORDER = API_PREFIX + "/batchGenerateOrder";
@PostMapping("GLASS_OUT_ORDER")
@PostMapping(GLASS_OUT_ORDER)
R<List<StGlassCakeOut>> callGeneratePreOutOrder(@SpringQueryMap StGlassCakeOutDTO dto);
@PostMapping("GLASS_BATCH_OUT_ORDER")
R<Map<String, Object>> batchGeneratePreOutOrder(@SpringQueryMap List<StGlassCakeOutDTO> dtoList);
@PostMapping(GLASS_BATCH_OUT_ORDER)
R<Map<String, Object>> batchGeneratePreOutOrder(@RequestBody List<StGlassCakeOutDTO> dtoList);
}

@ -45,6 +45,12 @@
<artifactId>hutool-all</artifactId>
<version>5.8.16</version>
</dependency>
<dependency>
<groupId>org.springblade</groupId>
<artifactId>blade-wms-api</artifactId>
<version>4.6.0.RELEASE</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>

@ -319,4 +319,16 @@ public class WorkOrderController extends BladeController {
return R.data(pages);
}
/**
* 工序执行分析明细 自定义分页
*/
@GetMapping("/test")
@ApiOperationSupport(order = 3)
@Operation(summary = "分页", description = "传入WorkOrder")
public R test(WorkPlanVO workPlan, Query query) {
workOrderService.test();
return R.success();
}
}

@ -27,20 +27,14 @@ package org.springblade.scheduling.scheduling.feign;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.v3.oas.annotations.Hidden;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.time.DateFormatUtils;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tenant.annotation.NonDS;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.scheduling.feign.IWorkOrderClient;
import org.springblade.scheduling.pojo.entity.QualityGradeEntity;
import org.springblade.scheduling.pojo.vo.GlassCakeOrderPageQuery;
import org.springblade.scheduling.pojo.vo.WorkOrderVO;
import org.springblade.scheduling.scheduling.service.IEquipResourceService;
import org.springblade.scheduling.scheduling.service.IPersonResourceService;
import org.springblade.scheduling.scheduling.service.IQualityGradeService;
@ -87,14 +81,6 @@ public class WorkOrderClient implements IWorkOrderClient {
return R.success();
}
@Override
public R<IPage<WorkOrderVO>> selectGlassCakeOrderPage(GlassCakeOrderPageQuery glassCakeOrderPageQuery) {
Query query = new Query();
query.setCurrent(glassCakeOrderPageQuery.getCurrent());
query.setSize(glassCakeOrderPageQuery.getSize());
WorkOrderVO workOrder = new WorkOrderVO();
return R.data(workOrderService.selectGlassCakeOrderPage(Condition.getPage(query), workOrder));
}
@Override
public R<QualityGradeEntity> getById(Long id) {

@ -80,9 +80,6 @@ public interface WorkOrderMapper extends BaseMapper<WorkOrderEntity> {
List<String> selectTeamMember(@Param("teamId") Long teamId,@Param("certificateId") Long certificateId);
List<WorkOrderVO> selectGlassCakeOrderPage(IPage page, WorkOrderVO workOrder);
List<WorkPlanVO> selectQuaExecuteAnalysisPage(IPage page, WorkPlanVO workPlan);
List<WorkPlanVO> selectCenterExecuteList(WorkPlanVO workPlan);

@ -299,23 +299,7 @@
AND ct.id = #{certificateId}
</select>
<select id="selectGlassCakeOrderPage" resultType="org.springblade.scheduling.pojo.vo.WorkOrderVO">
SELECT
a.WO_CODE as "woCode",
a.part_code as "partCode",
c.part_name as "partName",
b.batch_no as "batchNo",
b.card_no as "cardNo",
a.make_qty as "makeQty",
c.is_print as "isPrint",
c.POWDER_WEIGHT as "powderWeight"
FROM
MES_WORK_ORDER a
LEFT JOIN MES_YIELD_ORDER b ON a.YO_ID = b.ID
LEFT JOIN DS_PART c ON a.part_code = c.part_code
WHERE
b.YIELD_TYPE = 12003
</select>
<select id="selectQuaExecuteAnalysisPage" resultType="org.springblade.scheduling.scheduling.vo.WorkPlanVO">
SELECT

@ -28,12 +28,11 @@ package org.springblade.scheduling.scheduling.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import org.springblade.desk.produce.pojo.entity.WorkPlan;
import org.springblade.scheduling.scheduling.dto.WorkOrderDto;
import org.springblade.scheduling.pojo.entity.WorkOrderEntity;
import org.springblade.scheduling.pojo.vo.WorkOrderVO;
import org.springblade.scheduling.scheduling.dto.WorkOrderDto;
import org.springblade.scheduling.scheduling.excel.SchedulingBoardExcel;
import org.springblade.scheduling.scheduling.excel.WorkOrderExcel;
import org.springblade.scheduling.pojo.vo.WorkOrderVO;
import org.springblade.scheduling.scheduling.vo.WorkPlanVO;
import java.util.List;
@ -98,7 +97,6 @@ public interface IWorkOrderService extends BaseService<WorkOrderEntity> {
*/
void receiveDispatcherFromOldMes(Long id, Long userId);
IPage<WorkOrderVO> selectGlassCakeOrderPage(IPage<WorkOrderVO> page, WorkOrderVO workOrder);
/**
@ -118,4 +116,6 @@ public interface IWorkOrderService extends BaseService<WorkOrderEntity> {
IPage<WorkPlanVO> selectProcessExecuteDetailPage(IPage<WorkPlanVO> page, WorkPlanVO workPlan);
void test();
}

@ -57,6 +57,8 @@ import org.springblade.scheduling.scheduling.service.*;
import org.springblade.scheduling.scheduling.vo.PersonAbilityVO;
import org.springblade.scheduling.scheduling.vo.SameTroughVO;
import org.springblade.scheduling.scheduling.vo.WorkPlanVO;
import org.springblade.wms.feign.StGlassCakeOutClient;
import org.springblade.wms.pojo.dto.StGlassCakeOutDTO;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -103,6 +105,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
private final ICraftAbilityService craftAbilityService;
private final IPartVersionService partVersionService;
private final IPartRelationService partRelationService;
private final StGlassCakeOutClient glassCakeOutClient;
@Value("${business.oldMes.url}")
private String oldMesUrl;
@ -408,6 +411,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
Map<Long, List<SintTempCurveEntity>> sintMap,
Map<Long, String> workCenterMap,
Map<Long, String> craftAbilityMap) {
List<StGlassCakeOutDTO> glassCakeOutList = new ArrayList<>();
List<WorkOrderEntity> workOrderList = new ArrayList<>();
list = mergeYieldOrderList(list);
LocalDateTime localDateTime = LocalDateTime.now();
@ -875,6 +879,15 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
order.setErrorInfo(null);
yieldOrderService.updateById(order);
workOrderList.add(workOrder);
if(order.getYieldType() == YieldOrderEnum.YIELD_TYPE_3.getCode()){
StGlassCakeOutDTO glassDto = new StGlassCakeOutDTO();
glassDto.setPrintMark("1".equals(part.getIsPrint()) ? false : true);
glassDto.setPowderWeight(part.getPowderWeight().toString());
glassDto.setMaterialNo(part.getMaterial());
glassDto.setThickness(part.getFormingThickness().toString());
glassCakeOutList.add(glassDto);
}
}
} catch (Exception e) {
log.error("报错订单是:" + order.getId() + ",报错信息是:" + e.getMessage());
@ -882,6 +895,9 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
}
}
if(CollectionUtils.isNotEmpty(glassCakeOutList)){
glassCakeOutClient.batchGeneratePreOutOrder(glassCakeOutList);
}
if (CollectionUtils.isNotEmpty(workOrderList)) {
this.sendWorkOrderToOldMes(workOrderList);
}
@ -1596,11 +1612,6 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
return map;
}
@Override
public IPage<WorkOrderVO> selectGlassCakeOrderPage(IPage<WorkOrderVO> page, WorkOrderVO workOrder) {
return page.setRecords(baseMapper.selectGlassCakeOrderPage(page, workOrder));
}
@Override
public void saveWorkOrderFromBak(String cardNo) {
@ -1709,6 +1720,18 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
return page.setRecords(list);
}
@Override
public void test() {
List<StGlassCakeOutDTO> list = new ArrayList<>();
StGlassCakeOutDTO glassDto = new StGlassCakeOutDTO();
glassDto.setPrintMark(false);
glassDto.setPowderWeight("1");
glassDto.setMaterialNo("2");
glassDto.setThickness("3");
list.add(glassDto);
glassCakeOutClient.batchGeneratePreOutOrder(list);
}
public Double calPersonHours(YieldOrderEntity order,YieldOrderCraftEntity craft,PartEntity part){
Double personTime = 0.0;
List<PersonAbilityEntity> personAbilityList = personAbilityService.list(Wrappers.<PersonAbilityEntity>lambdaQuery()

Loading…
Cancel
Save