Merge branch 'dev-temp-xw-202501150000-44838' into dev

dev-temp-xw-202501150000-44852
xiangwei.zhang 4 months ago
commit 973ff08b91

@ -1,5 +1,6 @@
package cn.estsh.i3plus.ext.mes.api.base;
import cn.estsh.i3plus.ext.mes.pojo.model.WorkOrderMaterialCutModel;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.mes.bean.MesCutSchemeFg;
@ -21,6 +22,10 @@ public interface IMesWorkOrderCutService extends IBaseMesService<MesWorkOrderCut
void doGenerateCutWorkOrder(List<Long> workOrderIds, String cutCode, String remark, String organizeCode,
String userName, Integer editionNumber, boolean isFree, List<MesCutSchemeFg> mesCutSchemeFgs);
@ApiOperation("生成裁片工单")
void generateCutWorkOrderMaterial(WorkOrderMaterialCutModel workOrderMaterialCutModel);
@ApiOperation("分页查询裁片工单明细")
ListPager<MesWorkOrderCutDetail> queryWorkOrderCutDetailByPager(MesWorkOrderCutDetail workOrderCutDetail, Pager pager);

@ -2,6 +2,8 @@ package cn.estsh.i3plus.ext.mes.apiservice.controller.base;
import cn.estsh.i3plus.ext.mes.api.base.IMesWorkOrderCutService;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.ext.mes.pojo.model.WorkOrderCutModel;
import cn.estsh.i3plus.ext.mes.pojo.model.WorkOrderMaterialCutModel;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.mes.bean.MesCutSchemeFg;
@ -15,10 +17,7 @@ import cn.estsh.impp.framework.boot.util.ValidatorBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
import java.util.List;
@ -36,7 +35,7 @@ public class MesWorkOrderCutController extends BaseMesController<MesWorkOrderCut
@PostMapping(value = "/generate")
@ApiOperation(value = "裁片工单生成", notes = "裁片工单生成")
public ResultBean doGenerateCutWorkOrder(Long[] workOrderIds, String cutCode, String remark, Integer editionNumber, boolean isFree, List<MesCutSchemeFg> mesCutSchemeFgs) {
public ResultBean doGenerateCutWorkOrder(Long[] workOrderIds, String cutCode, String remark, Integer editionNumber) {
try {
ValidatorBean.checkNotNull(workOrderIds, "工单不存在");
@ -53,6 +52,43 @@ public class MesWorkOrderCutController extends BaseMesController<MesWorkOrderCut
}
}
@PostMapping(value = "/order/generate")
@ApiOperation(value = "裁片工单生成", notes = "裁片工单生成")
public ResultBean generateCutWorkOrder(@RequestBody WorkOrderCutModel workOrderCutModel) {
try {
ValidatorBean.checkNotNull(workOrderCutModel.getWorkOrderIds(), "工单不存在");
ValidatorBean.checkNotNull(workOrderCutModel.getCutCode(), "裁片方案不存在");
workOrderCutService.doGenerateCutWorkOrder(Arrays.asList(workOrderCutModel.getWorkOrderIds()), workOrderCutModel.getCutCode(), workOrderCutModel.getRemark(),
AuthUtil.getOrganize().getOrganizeCode(), AuthUtil.getSessionUser().getUserName(), workOrderCutModel.getEditionNumber(), workOrderCutModel.isFree(), workOrderCutModel.getMesCutSchemeFgs());
return ResultBean.success("生成成功")
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@PostMapping(value = "/material/generate")
@ApiOperation(value = "原材料生成", notes = "原材料生成")
public ResultBean generateCutWorkOrderMaterial(@RequestBody WorkOrderMaterialCutModel workOrderMaterialCutModel) {
try {
ValidatorBean.checkNotNull(workOrderMaterialCutModel.getCutWorkOrderNo(), "裁片工单号不能为空");
ValidatorBean.checkNotNull(workOrderMaterialCutModel.getMesCutSchemeMaterialList(), "裁片方案原材料不能为空");
workOrderCutService.generateCutWorkOrderMaterial(workOrderMaterialCutModel);
return ResultBean.success("生成成功")
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@GetMapping(value = "/detail/query")
@ApiOperation(value = "分页查询裁片工单明细", notes = "分页查询裁片工单明细")
public ResultBean queryWorkOrderCutDetailByPager(MesWorkOrderCutDetail workOrderCutDetail, Pager pager) {

@ -5,6 +5,7 @@ import cn.estsh.i3plus.ext.mes.api.base.IMesWorkOrderCutService;
import cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.print.IPrintTemplateStrategyService;
import cn.estsh.i3plus.ext.mes.apiservice.utils.MesException;
import cn.estsh.i3plus.ext.mes.pojo.model.MesProduceSnPrintModel;
import cn.estsh.i3plus.ext.mes.pojo.model.WorkOrderMaterialCutModel;
import cn.estsh.i3plus.ext.mes.pojo.util.MesExtConstWords;
import cn.estsh.i3plus.mes.api.iservice.busi.ISyncFuncService;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
@ -20,6 +21,7 @@ import cn.estsh.i3plus.pojo.mes.bean.*;
import cn.estsh.i3plus.pojo.mes.model.GenSerialNoModel;
import cn.estsh.i3plus.pojo.mes.repository.*;
import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.util.SpringContextsUtil;
import cn.hutool.core.stream.CollectorUtil;
import lombok.extern.slf4j.Slf4j;
@ -89,7 +91,6 @@ public class MesWorkOrderCutService extends BaseMesService<MesWorkOrderCut> impl
MesCutScheme cutScheme = getMesCutScheme(cutCode, organizeCode);
List<MesCutSchemeMaterial> cutSchemeMaterialList = getMesCutSchemeMaterials(cutCode, organizeCode);
List<MesCutSchemeFg> cutSchemeFgList = new ArrayList<>();
if (!isFree) {
@ -141,17 +142,20 @@ public class MesWorkOrderCutService extends BaseMesService<MesWorkOrderCut> impl
}
workOrderCut.setPrintStatus(printStatus);
workOrderCuttList.add(workOrderCut);
for (MesCutSchemeMaterial cutSchemeMaterial : cutSchemeMaterialList) {
MesWorkOrderCutMaterial workOrderCutMaterial = new MesWorkOrderCutMaterial();
BeanUtils.copyProperties(cutSchemeMaterial, workOrderCutMaterial, MesExtConstWords.ID);
ConvertBean.serviceModelInitialize(workOrderCutMaterial, userName);
workOrderCutMaterial.setOrganizeCode(organizeCode);
workOrderCutMaterial.setCutWorkOrderNo(workOrderCut.getCutWorkOrderNo());
workOrderCutMaterial.setSystemSyncStatus(CommonEnumUtil.FALSE);
workOrderCutMaterialList.add(workOrderCutMaterial);
}
if (!isFree) {
List<MesCutSchemeMaterial> cutSchemeMaterialList = getMesCutSchemeMaterials(cutCode, organizeCode);
for (MesCutSchemeMaterial cutSchemeMaterial : cutSchemeMaterialList) {
MesWorkOrderCutMaterial workOrderCutMaterial = new MesWorkOrderCutMaterial();
BeanUtils.copyProperties(cutSchemeMaterial, workOrderCutMaterial, MesExtConstWords.ID);
ConvertBean.serviceModelInitialize(workOrderCutMaterial, userName);
workOrderCutMaterial.setOrganizeCode(organizeCode);
workOrderCutMaterial.setCutWorkOrderNo(workOrderCut.getCutWorkOrderNo());
workOrderCutMaterial.setSystemSyncStatus(CommonEnumUtil.FALSE);
workOrderCutMaterialList.add(workOrderCutMaterial);
}
}
for (MesCutSchemeFg cutSchemeFg : cutSchemeFgList) {
List<MesWorkOrder> workOrders = workOrderListMapByPartNo.get(cutSchemeFg.getPartNo());
for (MesWorkOrder workOrder : workOrders) {
@ -168,8 +172,9 @@ public class MesWorkOrderCutService extends BaseMesService<MesWorkOrderCut> impl
}
}
}
workOrderCutMaterialRepository.saveAll(workOrderCutMaterialList);
if (!isFree) {
workOrderCutMaterialRepository.saveAll(workOrderCutMaterialList);
}
workOrderCutDetailRepository.saveAll(workOrderCutDetailtList);
workOrderCutRepository.saveAll(workOrderCuttList);
@ -186,6 +191,37 @@ public class MesWorkOrderCutService extends BaseMesService<MesWorkOrderCut> impl
}
@Override
public void generateCutWorkOrderMaterial(WorkOrderMaterialCutModel workOrderMaterialCutModel) {
String organizeCode = AuthUtil.getOrganizeCode();
String userName = AuthUtil.getSessionUser().getUserName();
List<MesWorkOrderCutMaterial> workOrderCutMaterialList = new ArrayList<>();
for (MesCutSchemeMaterial cutSchemeMaterial : workOrderMaterialCutModel.getMesCutSchemeMaterialList()) {
MesWorkOrderCutMaterial workOrderCutMaterial = new MesWorkOrderCutMaterial();
BeanUtils.copyProperties(cutSchemeMaterial, workOrderCutMaterial, MesExtConstWords.ID);
ConvertBean.serviceModelInitialize(workOrderCutMaterial, userName);
workOrderCutMaterial.setOrganizeCode(organizeCode);
workOrderCutMaterial.setCutWorkOrderNo(workOrderMaterialCutModel.getCutWorkOrderNo());
workOrderCutMaterial.setSystemSyncStatus(CommonEnumUtil.FALSE);
workOrderCutMaterialList.add(workOrderCutMaterial);
}
workOrderCutMaterialRepository.saveAll(workOrderCutMaterialList);
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(workOrderMaterialCutModel.getCutWorkOrderNo(), MesExtConstWords.CUT_WORK_ORDER_NO, packBean);
MesWorkOrderCut workOrderCut = workOrderCutRepository.getByProperty(packBean);
if (workOrderCut == null) MesException.throwMesBusiException("裁片工单不存在", workOrderCut);
workOrderCut.setPrintStatus(MesExtEnumUtil.PRINT_STATUS.UNPRINT.getValue());
workOrderCutRepository.update(workOrderCut);
}
@Override
public ListPager<MesWorkOrderCutDetail> queryWorkOrderCutDetailByPager(MesWorkOrderCutDetail workOrderCutDetail, Pager pager) {
DdlPackBean packBean = DdlPackBean.getDdlPackBean(workOrderCutDetail.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(workOrderCutDetail.getCutWorkOrderNo(), MesExtConstWords.CUT_WORK_ORDER_NO, packBean);

@ -0,0 +1,24 @@
package cn.estsh.i3plus.ext.mes.pojo.model;
import cn.estsh.i3plus.pojo.mes.bean.MesCutSchemeFg;
import lombok.Data;
import java.util.List;
@Data
public class WorkOrderCutModel {
private Long[] workOrderIds;
private String cutCode;
private String remark;
private Integer editionNumber;
private boolean isFree = false ;
private List<MesCutSchemeFg> mesCutSchemeFgs;
}

@ -0,0 +1,17 @@
package cn.estsh.i3plus.ext.mes.pojo.model;
import cn.estsh.i3plus.pojo.mes.bean.MesCutSchemeFg;
import cn.estsh.i3plus.pojo.mes.bean.MesCutSchemeMaterial;
import lombok.Data;
import java.util.List;
@Data
public class WorkOrderMaterialCutModel {
private String cutWorkOrderNo;
private List<MesCutSchemeMaterial> mesCutSchemeMaterialList;
}
Loading…
Cancel
Save