plp
chenshuichuan 2 years ago
parent df390d909a
commit 67b0b7c7d7

@ -0,0 +1,54 @@
package cn.iocoder.yudao.module.mes.controller.admin.app;
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.module.erp.controller.admin.product.vo.product.ErpProductRespVO;
import cn.iocoder.yudao.module.erp.dal.dataobject.product.ErpProductUnitDO;
import cn.iocoder.yudao.module.erp.framework.bean.ProductTypeEnum;
import cn.iocoder.yudao.module.erp.service.product.ErpProductService;
import cn.iocoder.yudao.module.erp.service.product.ErpProductUnitService;
import cn.iocoder.yudao.module.mes.controller.admin.app.service.AppService;
import cn.iocoder.yudao.module.mes.controller.admin.app.vo.AppProductVo;
import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList;
@Tag(name = "app - 工位安排")
@RestController
@RequestMapping("/mes/app/product")
@Validated
public class AppProductController {
@Resource
private AdminUserApi adminUserApi;
@Resource
private AppService appService;
@Resource
private ErpProductService erpProductService;
@Resource
private ErpProductUnitService erpProductUnitService;
@GetMapping("/getItemList")
@Operation(summary = "获得原料列表")
public CommonResult<List<AppProductVo>> getItemList() {
List<ErpProductRespVO> list = erpProductService.getProductVOListByCategory(ProductTypeEnum.ITEM.getTypeId());
return success(convertList(list, item -> new AppProductVo().setValue(item.getId()).setText(item.getName())));
}
@GetMapping("/getUnitList")
@Operation(summary = "获得单位列表")
public CommonResult<List<AppProductVo>> getUnitList() {
List<ErpProductUnitDO> list = erpProductUnitService.getProductUnitListByStatus(CommonStatusEnum.ENABLE.getStatus());
return success(convertList(list, unit -> new AppProductVo().setValue(unit.getId()).setText(unit.getName())));
}
}

@ -69,6 +69,10 @@ public class FeedingRecordController {
@Operation(summary = "更新投料记录")
@PreAuthorize("@ss.hasPermission('mes:feeding-record:update')")
public CommonResult<Boolean> updateFeedingRecord(@Valid @RequestBody FeedingRecordSaveReqVO updateReqVO) {
Long userId = getLoginUserId();
updateReqVO.setUserId(userId);
if(updateReqVO.getFeedingTime()==null)
updateReqVO.setFeedingTime(LocalDateTime.now());
feedingRecordService.updateFeedingRecord(updateReqVO);
return success(true);
}

@ -71,4 +71,6 @@ public class PlanPageReqVO extends PageParam {
@Schema(description = "制浆线")
private String feedingPipeline;
@Schema(description = "组别", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
private Integer groupType;
}

@ -107,4 +107,9 @@ public class PlanRespVO {
*/
@Schema(description = "优先级")
private Long priorityNum;
@Schema(description = "组别", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
@ExcelProperty(value = "组别", converter = DictConvert.class)
@DictFormat("mes_group_type")
private Integer groupType;
}

@ -71,4 +71,7 @@ public class PlanSaveReqVO {
*/
@Schema(description = "优先级")
private Long priorityNum;
@Schema(description = "组别", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
private Integer groupType;
}

@ -103,4 +103,7 @@ public class PlanDO extends BaseDO {
*
*/
private Long priorityNum;
//@Schema(description = "组别", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
private Integer groupType;
}

@ -86,7 +86,7 @@ public class FeedingRecordServiceImpl implements FeedingRecordService {
if (createReqVO.getFeedingType().equals(FeedingTypeEnum..getValue())) {
transfer(createReqVO.getFeedingRecordDetails());
// 插入子表
createFeedingRecordDetailList(feedingRecord.getId(), createReqVO.getFeedingRecordDetails());
createFeedingRecordDetailList(feedingRecord, createReqVO.getFeedingRecordDetails());
}
// 返回
@ -104,7 +104,7 @@ public class FeedingRecordServiceImpl implements FeedingRecordService {
if (updateReqVO.getFeedingType().equals(FeedingTypeEnum..getValue())) {
transfer(updateReqVO.getFeedingRecordDetails());
// 更新子表
updateFeedingRecordDetailList(updateReqVO.getId(), updateReqVO.getFeedingRecordDetails());
updateFeedingRecordDetailList(updateObj, updateReqVO.getFeedingRecordDetails());
}
}
@ -180,17 +180,20 @@ public class FeedingRecordServiceImpl implements FeedingRecordService {
return feedingRecordDetailMapper.selectListByRecordId(recordId);
}
private void createFeedingRecordDetailList(Long recordId, List<FeedingRecordDetailDO> list) {
private void createFeedingRecordDetailList( FeedingRecordDO feedingRecord, List<FeedingRecordDetailDO> list) {
if (list != null && list.size() > 0) {
list.forEach(o -> o.setRecordId(recordId));
list.forEach(o -> o.setId(null).setRecordId(feedingRecord.getId())
.setUserId(feedingRecord.getUserId())
.setFeedingTime(feedingRecord.getFeedingTime())
);
feedingRecordDetailMapper.insertBatch(list);
}
}
private void updateFeedingRecordDetailList(Long recordId, List<FeedingRecordDetailDO> list) {
deleteFeedingRecordDetailByRecordId(recordId);
private void updateFeedingRecordDetailList(FeedingRecordDO updateObj, List<FeedingRecordDetailDO> list) {
deleteFeedingRecordDetailByRecordId(updateObj.getId());
list.forEach(o -> o.setId(null).setUpdater(null).setUpdateTime(null)); // 解决更新情况下1id 冲突2updateTime 不更新
createFeedingRecordDetailList(recordId, list);
createFeedingRecordDetailList(updateObj, list);
}
private void deleteFeedingRecordDetailByRecordId(Long recordId) {

@ -17,6 +17,7 @@ import cn.iocoder.yudao.module.mes.controller.admin.task.vo.TaskStatusEnum;
import cn.iocoder.yudao.module.mes.dal.dataobject.itemrequisition.ItemRequisitionDetailDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.plan.PlanDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.task.TaskDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.task.TaskDetailDO;
import cn.iocoder.yudao.module.mes.dal.mysql.plan.PlanMapper;
import cn.iocoder.yudao.module.mes.dal.mysql.stockindetail.StockInDetailMapper;
import cn.iocoder.yudao.module.mes.dal.redis.no.MesNoRedisDAO;
@ -69,6 +70,10 @@ public class PlanServiceImpl implements PlanService {
}
plan.setCode(no);
}
if(plan.getProductId()==null && plan.getTaskDetailId()!=null){
TaskDetailDO taskDetailDO = taskService.getTaskDetail(plan.getTaskDetailId());
plan.setProductId(taskDetailDO.getProductId());
}
if (plan.getIsEnable() == null) plan.setIsEnable(true);
if(plan.getPriorityNum()==null) plan.setPriorityNum(1L);
planMapper.insert(plan);
@ -88,6 +93,10 @@ public class PlanServiceImpl implements PlanService {
// 更新
PlanDO updateObj = BeanUtils.toBean(updateReqVO, PlanDO.class);
if (updateObj.getIsEnable() == null) updateObj.setIsEnable(true);
if(updateObj.getProductId()==null && updateObj.getTaskDetailId()!=null){
TaskDetailDO taskDetailDO = taskService.getTaskDetail(updateObj.getTaskDetailId());
updateObj.setProductId(taskDetailDO.getProductId());
}
planMapper.updateById(updateObj);
}

Loading…
Cancel
Save