diff --git a/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/ErrorCodeConstants.java b/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/ErrorCodeConstants.java index 5e1452f..aa32149 100644 --- a/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/ErrorCodeConstants.java +++ b/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/ErrorCodeConstants.java @@ -101,6 +101,8 @@ public interface ErrorCodeConstants { ErrorCode TASK_REPORT_PARAMS_ERRORS = new ErrorCode(1_009_007, "报工数量超出派工数量"); ErrorCode TASK_REPORT_PARAMS_ERRORSZF = new ErrorCode(1_009_008, "已经报工不允许作废"); ErrorCode TASK_REPORT_PARAMS_ERRORBG = new ErrorCode(1_009_009, "开始报工和结束报工操作人员不同,无法报工"); + ErrorCode TASK_REPORT_PARAMS_ERRORJD = new ErrorCode(1_009_010, "报工进度不能超过100%"); + ErrorCode TASK_REPORT_PARAMS_ERRORSJBG = new ErrorCode(1_009_011, "报工进度不能小于上次报工进度"); ErrorCode TASK_DISPATCH_TASK_NOT_EXISTS = new ErrorCode(1_009_004, "任务不存在或已完成"); ErrorCode TASK_DISPATCH_TASK_NO_PERMISSION_FOR_OPERATE = new ErrorCode(1_009_005, "任务不满足操作条件"); ErrorCode TASK_DISPATCH_TASK_REPORT_AMOUNT_EXCESS = new ErrorCode(1_009_006, "无法超额报工"); diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/processdesign/vo/ProcessDesignPageReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/processdesign/vo/ProcessDesignPageReqVO.java index a040949..758c019 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/processdesign/vo/ProcessDesignPageReqVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/processdesign/vo/ProcessDesignPageReqVO.java @@ -88,4 +88,7 @@ public class ProcessDesignPageReqVO extends PageParam { @Schema(description = "未完成设计") private Boolean uncompletedDesign; + @Schema(description = "是否完成") + private Integer pgType; + } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/processdesign/ProcessDesignMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/processdesign/ProcessDesignMapper.java index 47508ac..67bb836 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/processdesign/ProcessDesignMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/processdesign/ProcessDesignMapper.java @@ -74,8 +74,13 @@ public interface ProcessDesignMapper extends BaseMapperX { .or() .apply("u5.id = {0} and t.process_design_type = {1}", reqVO.getOwner(), ProcessDesignTypeEnum.BLUEPRINT_3D.name())); } - if(reqVO.getUncompletedDesign() != null && reqVO.getUncompletedDesign()){ + /*if(reqVO.getUncompletedDesign() != null && reqVO.getUncompletedDesign()){ query.and(QueryWrapper -> QueryWrapper.apply("COALESCE(z.progress, 0) < {0}", 100).ne(PlanDO::getStatus, ProjectPlanStatusEnum.TERMINATE.getCode())); + }*/ + if(reqVO.getPgType()==0){ + query.and(QueryWrapper -> QueryWrapper.apply("z.progress < {0}" , 100).or().apply("z.progress is null")); + }else{ + query.and(QueryWrapper -> QueryWrapper.apply("z.progress >= {0}" , 100)); } return selectPage(reqVO, query); diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/processdesign/ProcessDesignProgressMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/processdesign/ProcessDesignProgressMapper.java index d99ef86..0f2b66d 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/processdesign/ProcessDesignProgressMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/processdesign/ProcessDesignProgressMapper.java @@ -18,9 +18,11 @@ public interface ProcessDesignProgressMapper extends BaseMapperX query = new MPJLambdaWrapper<>(); - query.select("SUM(progress) as progress") - - .eq(ProcessDesignProgressDO::getProcessDesignId, processDesignId); + query.select("progress as progress") + .eq(ProcessDesignProgressDO::getProcessDesignId, processDesignId) + .orderByDesc(ProcessDesignProgressDO::getId) + .last("LIMIT 1") + ; return selectOne(query); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/processdesign/ProcessDesignServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/processdesign/ProcessDesignServiceImpl.java index bd5be9e..110cd18 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/processdesign/ProcessDesignServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/processdesign/ProcessDesignServiceImpl.java @@ -28,8 +28,7 @@ import java.util.Comparator; import java.util.List; import static com.chanko.yunxi.mes.framework.common.exception.util.ServiceExceptionUtil.exception; -import static com.chanko.yunxi.mes.module.heli.enums.ErrorCodeConstants.PROCESS_DESIGN_NOT_EXISTS; - +import static com.chanko.yunxi.mes.module.heli.enums.ErrorCodeConstants.*; /** * 工艺设计 Service 实现类 * @@ -48,31 +47,41 @@ public class ProcessDesignServiceImpl implements ProcessDesignService { public Long updateBaoGong(Long zid, BigDecimal progress, String imageLink){ //先取出主ID下的所有报工百分比判断不能报工不能超过100 ProcessDesignProgressDO processDesignProgressDOS = processDesignProgressMapper.selectSumJinDu(zid); + BigDecimal value1 = progress; + BigDecimal threshold = new BigDecimal("100"); if(processDesignProgressDOS != null){ //相加判断是否大于100,大于时返回前端并给用户提示 - BigDecimal value1 = progress; + BigDecimal value2 = processDesignProgressDOS.getProgress(); BigDecimal sum = value1.add(value2); - BigDecimal threshold = new BigDecimal("100"); - if (sum.compareTo(threshold) > 0) { - //大于100时不执行 + if (value1.compareTo(threshold) > 0) { + //大于100时不执行,并返回给用户,提示设计进度不能超过100 + throw exception(TASK_REPORT_PARAMS_ERRORJD); } else { + if(processDesignProgressDOS.getProgress().compareTo(value1)>0){ + throw exception(TASK_REPORT_PARAMS_ERRORSJBG); + }else{ + //反之插入数据库数据 + ProcessDesignProgressDO processDesignProgressDO = new ProcessDesignProgressDO(); + processDesignProgressDO.setProcessDesignId(zid); + processDesignProgressDO.setProgress(progress); + processDesignProgressDO.setBlueprintLink(imageLink); + processDesignProgressMapper.insert(processDesignProgressDO); + } + } + }else{ + if(value1.compareTo(threshold) > 0){ + throw exception(TASK_REPORT_PARAMS_ERRORJD); + }else{ //反之插入数据库数据 ProcessDesignProgressDO processDesignProgressDO = new ProcessDesignProgressDO(); processDesignProgressDO.setProcessDesignId(zid); processDesignProgressDO.setProgress(progress); processDesignProgressDO.setBlueprintLink(imageLink); processDesignProgressMapper.insert(processDesignProgressDO); - } - }else{ - //反之插入数据库数据 - ProcessDesignProgressDO processDesignProgressDO = new ProcessDesignProgressDO(); - processDesignProgressDO.setProcessDesignId(zid); - processDesignProgressDO.setProgress(progress); - processDesignProgressDO.setBlueprintLink(imageLink); - processDesignProgressMapper.insert(processDesignProgressDO); + } diff --git a/mes-ui/mini-app/src/pages/index/index.vue b/mes-ui/mini-app/src/pages/index/index.vue index c4c029a..67ff559 100644 --- a/mes-ui/mini-app/src/pages/index/index.vue +++ b/mes-ui/mini-app/src/pages/index/index.vue @@ -51,6 +51,13 @@ const categoryList = ref([ imgUrl: "/static/images/zhongjian.png", defaultImgUrl: "/static/images/assembleReport-default.png" }, + { + path: "moJuSheJiReport", + name: "进度上报", + auth: true, + imgUrl: "/static/images/mojusheji.png", + defaultImgUrl: "/static/images/assembleReport-default.png" + }, ]) const loginStore = useLoginStore() const isLogin = computed(() => { diff --git a/mes-ui/mini-app/src/pages/moJuSheJiReport/components/dataItem.vue b/mes-ui/mini-app/src/pages/moJuSheJiReport/components/dataItem.vue new file mode 100644 index 0000000..89c6d0c --- /dev/null +++ b/mes-ui/mini-app/src/pages/moJuSheJiReport/components/dataItem.vue @@ -0,0 +1,493 @@ + + + +import type { stringify } from 'querystring'; diff --git a/mes-ui/mini-app/src/pages/moJuSheJiReport/components/popup.vue b/mes-ui/mini-app/src/pages/moJuSheJiReport/components/popup.vue new file mode 100644 index 0000000..e0e2ffb --- /dev/null +++ b/mes-ui/mini-app/src/pages/moJuSheJiReport/components/popup.vue @@ -0,0 +1,73 @@ + + + + + diff --git a/mes-ui/mini-app/src/pages/moJuSheJiReport/moJuSheJiReport-detail.vue b/mes-ui/mini-app/src/pages/moJuSheJiReport/moJuSheJiReport-detail.vue new file mode 100644 index 0000000..0d05cd8 --- /dev/null +++ b/mes-ui/mini-app/src/pages/moJuSheJiReport/moJuSheJiReport-detail.vue @@ -0,0 +1,592 @@ + + + diff --git a/mes-ui/mini-app/src/pages/moJuSheJiReport/moJuSheJiReport.vue b/mes-ui/mini-app/src/pages/moJuSheJiReport/moJuSheJiReport.vue new file mode 100644 index 0000000..d0c8223 --- /dev/null +++ b/mes-ui/mini-app/src/pages/moJuSheJiReport/moJuSheJiReport.vue @@ -0,0 +1,151 @@ + + + + + diff --git a/mes-ui/mini-app/src/services/moJuSheJiReport.ts b/mes-ui/mini-app/src/services/moJuSheJiReport.ts new file mode 100644 index 0000000..4f9fba7 --- /dev/null +++ b/mes-ui/mini-app/src/services/moJuSheJiReport.ts @@ -0,0 +1,82 @@ +/* + * @Author: 王文杰 + * @Date: 2024-01-04 12:54:56 + * @LastEditors: 王文杰 + * @LastEditTime: 2024-03-29 15:44:53 + * @FilePath: /app-nx-personal/src/services/home.ts + * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE + */ +import { http } from '@/utils/http' +// 获取工序分页 +export const getListAPI = (data: Object) => { + return http({ + method: 'GET', + url: "/heli/process-design/page", + data, + }) +} + +/** + * 操作生产任务(开始/结束/提交/完成) + */ +export const updateBaoGong = (zid: String,progress: String,imageLink:String) => { + const data = { + zid: zid, + progress: progress, + imageLink: imageLink + }; + return http({ + method: 'POST', + url: "/heli/process-design/updateBaoGong", + data, + }) +} + +// 报工记录分页查询 +export const getTaskRepotPageAPI = (data: Object) => { + return http({ + method: 'GET', + url: "/heli/task-report/page", + data, + }) +} +// 派工任务详情 +export const getTaskDetailAPI = (data: Object) => { + return http({ + method: 'GET', + url: "/heli/task-dispatch/task-dispatch-detail/get", + data, + }) +} + +/** + * 操作生产任务(开始) + */ +export const postOperateAPI = (data: Object) => { + return http({ + method: 'POST', + url: "/heli/task-dispatch/task-dispatch-detail/operate", + data, + }) +} +/** + * 操作生产任务(结束) + */ +export const postOperateAPIEnd = (data: Object) => { + return http({ + method: 'POST', + url: '/heli/bg-master-line/endBg', + data, + }) +} + +/** + * 操作生产任务-作废 + */ +export const postOperateAPIZF = (data: Object) => { + return http({ + method: 'POST', + url: '/heli/pg-master/zfPgMaster', + data, + }) +}