diff --git a/op-modules/op-plan/src/main/java/com/op/plan/mapper/ProOrderWorkorderMapper.java b/op-modules/op-plan/src/main/java/com/op/plan/mapper/ProOrderWorkorderMapper.java index 1d5d6203a..6539c9b56 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/mapper/ProOrderWorkorderMapper.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/mapper/ProOrderWorkorderMapper.java @@ -4,6 +4,7 @@ import com.op.plan.domain.ProOrder; import com.op.plan.domain.ProOrderWorkorder; import com.op.system.api.domain.dto.BaseBomComponentDTO; import com.op.system.api.domain.dto.MesPrepareDTO; +import com.op.system.api.domain.dto.MesPrepareDetailDTO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -25,7 +26,7 @@ public interface ProOrderWorkorderMapper { * @return 生产工单 */ public ProOrderWorkorder selectProOrderWorkorderByWorkorderId(String workorderId); - + public ProOrderWorkorder selectWhiteOrderWorkorderById(ProOrderWorkorder proOrderWorkorder); /** * 查询生产工单列表 * @@ -129,7 +130,7 @@ public interface ProOrderWorkorderMapper { List getBomComponents(@Param("order") ProOrder order, @Param("list") List cumsDtos); - void createPrepareDetails(@Param("list") List allChildren,@Param("wo") ProOrderWorkorder wo); + void createPrepareDetails(@Param("list") List list); List selectProOrderWorkerderByWorkerIds(String[] ids); } diff --git a/op-modules/op-plan/src/main/java/com/op/plan/mapper/ProWetMaterialPlanDetailMapper.java b/op-modules/op-plan/src/main/java/com/op/plan/mapper/ProWetMaterialPlanDetailMapper.java index 36683ee0f..8a6991ff8 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/mapper/ProWetMaterialPlanDetailMapper.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/mapper/ProWetMaterialPlanDetailMapper.java @@ -93,4 +93,6 @@ public interface ProWetMaterialPlanDetailMapper { * @return */ List selectWetPlanList(ProWetMaterialPlan proWetMaterialPlan); + + ProWetMaterialPlanDetail getWetInfo(String workorderId); } diff --git a/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderWorkorderServiceImpl.java b/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderWorkorderServiceImpl.java index 5892426c8..07d8f1559 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderWorkorderServiceImpl.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderWorkorderServiceImpl.java @@ -6,11 +6,15 @@ import com.op.common.core.utils.DateUtils; import com.op.common.core.utils.bean.BeanUtils; import com.op.common.core.utils.uuid.IdUtils; import com.op.common.core.web.domain.AjaxResult; +import com.op.common.security.utils.SecurityUtils; import com.op.plan.domain.*; import com.op.plan.domain.dto.ProOrderDTO; import com.op.plan.domain.dto.SplitOrderDTO; import com.op.plan.mapper.*; import com.op.plan.service.IProOrderWorkorderService; +import com.op.system.api.domain.dto.MesPrepareDTO; +import com.op.system.api.domain.dto.MesPrepareDetailDTO; +import net.bytebuddy.matcher.FilterableList; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -191,34 +195,38 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService { } } } -// //生成备料单 -// for(String workorderId:workorderIds){ -// ProOrderWorkorder orderWorkorder = proOrderWorkorderMapper.selectProOrderWorkorderByWorkorderId(workorderId); -// //备(领)料主单 -// MesPrepare mesPrepare = new MesPrepare(); -// BeanUtils.copyBeanProp(mesPrepare,orderWorkorder); -// mesPrepare.setPrepareId(orderWorkorder.getWorkorderCode()+"L");//领料单号 -// mesPrepare.setWorkorderCode(orderWorkorder.getWorkorderCode()); -// mesPrepare.setCreateBy(SecurityUtils.getUsername()); -// mesPrepare.setCreateTime(DateUtils.getNowDate()); -// mesPrepare.setStatus("L0");//待确认 -// proOrderWorkorderMapper.createPrepare(mesPrepare); -// //备(领)料明细 -// orderWorkorder.setPrepareId(mesPrepare.getPrepareId()); -// List boms = this.getBomDtos(workorderId); -// List allChildren = new ArrayList<>(); -// BaseBomComponentDTO bc = new BaseBomComponentDTO(); -// bc.setComponent(orderWorkorder.getProductCode()); -// getLastChildren(boms, allChildren, bc); -// allChildren.forEach((entity) ->{ -// entity.setCreateTime(DateUtils.getNowDate()); -// entity.setCreateBy(SecurityUtils.getUsername()); -// entity.setId(IdUtils.fastSimpleUUID()); -// -// }); -// proOrderWorkorderMapper.createPrepareDetails(allChildren,orderWorkorder); -// -// } + //如果是白坯生成备料单 + for(String workorderId:workorderIds){ + ProOrderWorkorder whiteOrder = proOrderWorkorderMapper.selectProOrderWorkorderByWorkorderId(workorderId); + if(whiteOrder!=null){//是白坯订单,自主生成领料单; + //备(领)料主单 + MesPrepareDTO mesPrepare = new MesPrepareDTO(); + BeanUtils.copyBeanProp(mesPrepare,whiteOrder); + mesPrepare.setPrepareId(whiteOrder.getWorkorderCode()+"L");//领料单号 + mesPrepare.setWorkorderCode(whiteOrder.getWorkorderCode()); + mesPrepare.setCreateBy(SecurityUtils.getUsername()); + mesPrepare.setCreateTime(DateUtils.getNowDate()); + mesPrepare.setStatus("L0");//待确认 + proOrderWorkorderMapper.createPrepare(mesPrepare); + //备(领)料明细 + ProWetMaterialPlanDetail planDetail= proWetMaterialPlanDetailMapper.getWetInfo(workorderId); + List details = new ArrayList<>(); + MesPrepareDetailDTO detail = new MesPrepareDetailDTO(); + detail.setCreateTime(DateUtils.getNowDate()); + detail.setCreateBy(SecurityUtils.getUsername()); + detail.setRecordId(IdUtils.fastSimpleUUID()); + if(planDetail != null){ + detail.setMaterailName(planDetail.getMaterialName()); + detail.setMaterialCode(planDetail.getMaterialCode()); + detail.setProductDate(planDetail.getProductDate()); + detail.setShiftId(planDetail.getShiftId()+""); + detail.setProdType("white"); + detail.setFactoryCode(planDetail.getFactoryCode()); + } + details.add(detail); + proOrderWorkorderMapper.createPrepareDetails(details); + } + } //下达工单 return proOrderWorkorderMapper.downProOrderWorkorderByWorkorderIds(workorderIds); } diff --git a/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderWorkorderMapper.xml b/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderWorkorderMapper.xml index cd17ff6d5..7f8d01aeb 100644 --- a/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderWorkorderMapper.xml +++ b/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderWorkorderMapper.xml @@ -83,7 +83,10 @@ where workorder_id = #{workorderId} - + + insert into pro_wet_material_plan_detail