plp
chenshuichuan 2 years ago
parent 8b6d6bea45
commit 37fee69315

@ -9,6 +9,7 @@ import cn.iocoder.yudao.module.mes.controller.admin.app.vo.AppOrgWorkerVO;
import cn.iocoder.yudao.module.mes.controller.admin.app.vo.AppProductVo;
import cn.iocoder.yudao.module.mes.controller.admin.app.vo.AppReportReqVO;
import cn.iocoder.yudao.module.mes.controller.admin.app.vo.AppReportSaveReqVO;
import cn.iocoder.yudao.module.mes.controller.admin.organization.vo.ProcessTypeEnum;
import cn.iocoder.yudao.module.mes.controller.admin.orgworker.vo.OrgWorkerPageReqVO;
import cn.iocoder.yudao.module.mes.controller.admin.plan.vo.PlanStatusEnum;
import cn.iocoder.yudao.module.mes.controller.admin.producereport.vo.ProduceReportSaveReqVO;
@ -23,6 +24,7 @@ import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.apache.commons.lang3.StringUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@ -106,6 +108,7 @@ public class AppOrgWorkerController {
@GetMapping("/getPlanProductList")
@Operation(summary = "获得正在开工生产的产品以及工序的需求")
public CommonResult<List<AppProductVo>> getPlanProductList(String orgType) {
if(StringUtils.isEmpty(orgType))orgType= ProcessTypeEnum..getValue();
return success(appService.getPlanProductList(orgType));
}

@ -101,8 +101,7 @@ public class AppServiceImpl implements AppService {
Long finish = produceReportDetailService.sumByPlanAndOrgType(plan.getId(), orgType);
AppProductVo appProductVo = new AppProductVo().setValue(plan.getId())
.setProductId(plan.getProductId()).setProductName(map.get(plan.getProductId()).getName());
StringBuilder builder = new StringBuilder().append("[").append(plan.getCode()).append("]");
builder.append(map.get(plan.getProductId()).getName()).append("-");
StringBuilder builder = new StringBuilder().append(map.get(plan.getProductId()).getName()).append("-");
if(orgType.equals(ProcessTypeEnum..getValue())){
if(plan.getReyaNumber() - finish > 0)
builder.append("需:").append(plan.getReyaNumber() - finish);
@ -113,6 +112,7 @@ public class AppServiceImpl implements AppService {
builder.append("需:").append(plan.getPlanNumber() - finish);
else builder.append("超:").append(finish - plan.getPlanNumber());
}
builder.append(" [").append(plan.getCode()).append("]");
appProductVo.setText(builder.toString());
appProductVoList.add(appProductVo);
}

@ -41,6 +41,7 @@ import java.util.Map;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import static cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils.getLoginUserId;
import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.FEEDING_RECORD_NOT_EXISTS;
@Tag(name = "管理后台 - 投料记录")
@ -56,6 +57,8 @@ public class FeedingRecordController {
@Operation(summary = "创建投料记录")
@PreAuthorize("@ss.hasPermission('mes:feeding-record:create')")
public CommonResult<Long> createFeedingRecord(@Valid @RequestBody FeedingRecordSaveReqVO createReqVO) {
Long userId = getLoginUserId();
createReqVO.setUserId(userId);
return success(feedingRecordService.createFeedingRecord(createReqVO));
}

@ -168,7 +168,7 @@ public class FeedingRecordServiceImpl implements FeedingRecordService {
return BeanUtils.toBean(list, FeedingRecordRespVO.class, item -> {
MapUtils.findAndThen(map, item.getProductId(),
product -> item.setProductName(product.getName()));
MapUtils.findAndThen(userMap, Long.valueOf(item.getCreator()),
MapUtils.findAndThen(userMap, item.getUserId(),
user -> item.setUserName(user.getNickname()));
});
}

@ -66,4 +66,7 @@ public interface ProduceReportDetailService {
void updateStatus2( ProduceReportDetailDO reportDetailDO, Integer status);
Long sumByPlanAndOrgType(Long planId,String orgType);
//报工明细分配固定单个计划
void updateStatus3( ProduceReportDetailDO reportDetailDO, Integer status);
}

@ -272,4 +272,20 @@ public class ProduceReportDetailServiceImpl implements ProduceReportDetailServic
public Long sumByPlanAndOrgType(Long planId,String orgType){
return produceReportDetailMapper.sumByPlanAndOrgType(planId, orgType);
}
//报工明细固定对应分配计划
@Override
@Transactional
public void updateStatus3( ProduceReportDetailDO reportDetailDO, Integer status) {
reportDetailDO.setReportStatus(status);
produceReportDetailMapper.updateById(reportDetailDO);
//分配给开工中的计划
WorkReportPlanSaveReqVO saveReqVO = new WorkReportPlanSaveReqVO()
.setReportId(reportDetailDO.getId()).setPlanId(reportDetailDO.getPlanId())
.setProductId(reportDetailDO.getProductId())
.setQualityNumberPlan(reportDetailDO.getQualityNumber())
.setWasteNumberPlan(reportDetailDO.getWasteNumber());
workReportPlanService.createWorkReportPlan(saveReqVO);
}
}

@ -7,6 +7,7 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.mes.controller.admin.changerecord.vo.ChangeTypeEnum;
import cn.iocoder.yudao.module.mes.controller.admin.producereport.vo.*;
import cn.iocoder.yudao.module.mes.dal.dataobject.organization.OrganizationDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.plan.PlanDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.producereport.ProduceReportDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.producereport.ProduceReportDetailDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.producereport.ViewReportUserDateSummary;
@ -16,6 +17,7 @@ import cn.iocoder.yudao.module.mes.dal.mysql.producereport.ViewReportUserDateMap
import cn.iocoder.yudao.module.mes.dal.redis.no.MesNoRedisDAO;
import cn.iocoder.yudao.module.mes.service.changerecord.ProduceReportChangeRecordService;
import cn.iocoder.yudao.module.mes.service.organization.OrganizationService;
import cn.iocoder.yudao.module.mes.service.plan.PlanService;
import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
import org.apache.commons.lang3.StringUtils;
@ -55,6 +57,8 @@ public class ProduceReportServiceImpl implements ProduceReportService {
@Resource
private ProduceReportDetailService produceReportDetailService;
@Resource
private PlanService planService;
@Resource
private MesNoRedisDAO noRedisDAO;
@Override
@ -71,8 +75,9 @@ public class ProduceReportServiceImpl implements ProduceReportService {
produceReportMapper.insert(produceReport);
// 插入子表
if( createReqVO.getProduceReportDetails()!=null&& createReqVO.getProduceReportDetails().size()>0)
if( createReqVO.getProduceReportDetails()!=null&& createReqVO.getProduceReportDetails().size()>0){
createProduceReportDetailList( produceReport, createReqVO.getProduceReportDetails());
}
// 返回
return produceReport.getId();
}
@ -154,10 +159,16 @@ public class ProduceReportServiceImpl implements ProduceReportService {
return produceReportDetailService.buildVOList(list);
}
private void createProduceReportDetailList(ProduceReportDO reportDO, List<ProduceReportDetailDO> list) {
Map<Long, PlanDO> map = planService.getPlanMap(convertSet(list, ProduceReportDetailDO::getPlanId));
list.forEach(o -> o.setId(null).setReportId(reportDO.getId()).setReportStatus(reportDO.getReportStatus())
.setReportDate(reportDO.getReportDate()).setGroupType(reportDO.getGroupType())
.setOrgId(reportDO.getOrgId()).setOrgType(reportDO.getOrgType())
.setUserId(reportDO.getUserId())
.setUserId(reportDO.getUserId()).setReportType(reportDO.getReportType())
.setProductId(map.get(o.getPlanId()).getProductId())
.setQualityNumber(o.getQualityNumber()==null?BigDecimal.ZERO: o.getQualityNumber())
.setWasteNumber(o.getWasteNumber()==null?BigDecimal.ZERO: o.getWasteNumber())
.setTotalNumber(o.getQualityNumber().add(o.getWasteNumber()))
);
produceReportDetailMapper.insertBatch(list);
}
@ -165,13 +176,9 @@ public class ProduceReportServiceImpl implements ProduceReportService {
private void updateProduceReportDetailList(ProduceReportDO reportDO, List<ProduceReportDetailDO> list) {
deleteProduceReportDetailByReportId(reportDO.getId());
if(list==null ||list.size()==0)return;
list.forEach(o -> o.setId(null).setReportStatus(reportDO.getReportStatus())
.setReportDate(reportDO.getReportDate()).setGroupType(reportDO.getGroupType())
.setOrgId(reportDO.getOrgId()).setOrgType(reportDO.getOrgType())
.setUserId(reportDO.getUserId())
.setReportId(reportDO.getId())
.setUpdater(null).setUpdateTime(null)
); // 解决更新情况下1id 冲突2updateTime 不更新
// list.forEach(o -> o.setId(null)
// .setUpdater(null).setUpdateTime(null)
// ); // 解决更新情况下1id 冲突2updateTime 不更新
createProduceReportDetailList(reportDO, list);
}
@ -192,7 +199,8 @@ public class ProduceReportServiceImpl implements ProduceReportService {
produceReportChangeRecordService.saveChange(id, "", "", ChangeTypeEnum..getValue());
List<ProduceReportDetailDO> list = getProduceReportDetailListByReportId(id);
for (ProduceReportDetailDO detail: list) {
produceReportDetailService.updateStatus2(detail,status);
//明细固定分配单个计划
produceReportDetailService.updateStatus3(detail,status);
}
}
}

Loading…
Cancel
Save