north-glass-erp/northglass-erp/src/components/sd/order/OrderNumberReportTransfer.vue
@@ -12,7 +12,7 @@ const orderNumberTransferSubmit = () => { request.post('/reportingWork/reportingWorkTransfer',props.transferData).then(res => { if(res.code === '200' && res.data.data===true){ ElMessage.success(t('basicData.saveSuccess')) ElMessage.success(t('basicData.msg.saveSuccess')) emits('orderNumberTransfer') }else{ ElMessage.warning(res.data.msg) north-glass-erp/northglass-erp/src/stores/sd/companySet/Ìì½ò±±²£.js
@@ -3,6 +3,7 @@ export default defineStore('companyInfo', { state: () => ({ timeOut:false,//éåtrueï¼å ¶ä»falseï¼æ¯å¦å¼å¯è¶ æ¶æ¹åå¤éæ¡ç¶æ connectMes:false,//常å·trueï¼å ¶ä»falseï¼æ¾ç¤ºè®¢åæ¥å·¥è½¬ç§»æ¯å¦å¯ç¨ companyName: '天津åç»ç»çå·¥ä¸ææ¯æéå ¬å¸ï¼TJBB-QR7.1-01ï¼', address:'天津å®å»åºèè½ç¯ä¿å·¥ä¸åºå¤©å ´è·¯è¥¿ä¾§å®ä¸éåä¾§', north-glass-erp/northglass-erp/src/stores/sd/companySet/³£ÖݼªÀû.js
@@ -3,6 +3,7 @@ export default defineStore('companyInfo', { state: () => ({ timeOut:false,//éåtrueï¼å ¶ä»falseï¼æ¯å¦å¼å¯è¶ æ¶æ¹åå¤éæ¡ç¶æ connectMes:true,//常å·trueï¼å ¶ä»falseï¼æ¾ç¤ºè®¢åæ¥å·¥è½¬ç§»æ¯å¦å¯ç¨ companyName: '常å·å¸åå©ç»çæéå ¬å¸', address:'常å·å¸å¤©å®åºééé大æåè·¯8å·', north-glass-erp/northglass-erp/src/stores/sd/companySet/н®ºãöÎ.js
@@ -3,6 +3,7 @@ export default defineStore('companyInfo', { state: () => ({ timeOut:false,//éåtrueï¼å ¶ä»falseï¼æ¯å¦å¼å¯è¶ æ¶æ¹åå¤éæ¡ç¶æ connectMes:false,//常å·trueï¼å ¶ä»falseï¼æ¾ç¤ºè®¢åæ¥å·¥è½¬ç§»æ¯å¦å¯ç¨ companyName: 'æ°çæé«ç»çç§ææéå ¬å¸', address:'æ°çäºå®¶æ¸ å·¥ä¸åå µå¢æ°å建æå·¥ä¸ååºå·¥ä¸è·¯11å·é1å·', north-glass-erp/northglass-erp/src/stores/sd/companySet/½ð»ªÌì³É.js
@@ -3,6 +3,7 @@ export default defineStore('companyInfo', { state: () => ({ timeOut:true,//éåtrueï¼å ¶ä»falseï¼æ¯å¦å¼å¯è¶ æ¶æ¹åå¤éæ¡ç¶æ connectMes:false,//常å·trueï¼å ¶ä»falseï¼æ¾ç¤ºè®¢åæ¥å·¥è½¬ç§»æ¯å¦å¯ç¨ companyName: 'éåç¦å天æç»çæéå ¬å¸', address:'æµæ±çéåå¸éä¸åºæ¹å® éå·¥ä¸åè½åºé¹¤å²©è¡28å·2å·', north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue
@@ -339,6 +339,13 @@ }, {field: 'completed', width: 90, title:t('reportingWorks.completed'),}, {field: 'onceBroken', width: 90, title: t('reportingWorks.onceBroken'),}, { field: 'reviewed_state', title: t('processCard.reviewedState'), filters: [{data: ''}], slots: {filter: 'num1_filter'}, filterMethod: filterChanged }, ], //表åéªè¯ @@ -1150,7 +1157,20 @@ //ç»å®ä¸æ¹è¡¨æ ¼ detail.value = res.data.Detail xGrid.value.reloadData(detail.value) // 使ç¨mapæ¹æ³æ¥å¤çæ¯ä¸ªå¯¹è±¡ let modifiedCollection = detail.value.map(item => { if (item.reviewed_state === 1) { return { ...item, reviewed_state: "å·²å®¡æ ¸" }; } else if (item.reviewed_state === 0) { return { ...item, reviewed_state: "æªå®¡æ ¸" }; } else { // å ¶ä»æ åµä¿æä¸å return item; } }); xGrid.value.reloadData(modifiedCollection) } else { ElMessage.warning(res.msg) } north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue
@@ -598,6 +598,12 @@ } } //订åè·ç¦»å°äºä¸å¤©åæ¹åcheckbox class æ¹åé¢è² const timeOutChangeColor =(row)=>{ if(company.timeOut){ return row.timeOut } } </script> @@ -643,12 +649,14 @@ <template #state="{ row,column}"> <el-checkbox :class="timeOutChangeColor(row)" v-if="row[column.field] === 2" @click.native.prevent :indeterminate="row[column.field]===1" :checked="true"/> <el-checkbox v-else :class="timeOutChangeColor(row)" @click.native.prevent :indeterminate="row[column.field]===1" :checked="false"/> @@ -794,7 +802,10 @@ height: 100%; } :deep(.timeOut.is-checked .el-checkbox__inner) { background-color: orangered; border-color: orangered; } </style> north-glass-erp/src/main/java/com/example/erp/entity/sd/Order.java
@@ -101,6 +101,8 @@ private LocalDate updateTime; @TableField(select = false,exist = false) private Integer goodsQuantity; @TableField(select = false,exist = false) private String timeOut; @TableField(value = "customer_id") private Customer customer; north-glass-erp/src/main/java/com/example/erp/mapper/pp/ReworkMapper.java
@@ -1,5 +1,6 @@ package com.example.erp.mapper.pp; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.example.erp.dto.pp.ReworkDTO; import com.example.erp.entity.mm.FinishedGoodsInventory; import com.example.erp.entity.pp.FlowCard; @@ -12,7 +13,7 @@ import java.util.Map; @Mapper public interface ReworkMapper { public interface ReworkMapper extends BaseMapper<Rework> { List<ReworkDTO> SelectRework(@Param("offset") Integer offset, @Param("pageSize") Integer pageSiz, String startDate, String endDate,@Param("rework") ReworkDTO rework); north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java
@@ -67,6 +67,8 @@ private final SysErrorService sysErrorService; private final FinishedOperateLogMapper finishedOperateLogMapper; private final RestTemplate restTemplate; private final PatchLogMapper patchLogMapper; private final ReworkMapper reworkMapper; /*public ReportingWorkService(ReportingWorkMapper reportingWorkMapper, BasicDateProduceMapper basicDateProduceMapper, DamageDetailsMapper damageDetailsMapper, ReportingWorkDetailMapper reportingWorkDetailMapper, OrderProcessDetailMapper orderProcessDetailMapper, OrderProcessDetailService orderProcessDetailService, OrderMapper orderMapper, FlowCardMapper flowCardMapper, LogService logService, LogMapper logMapper, OrderGlassDetailMapper orderGlassDetailMapper, SysErrorService sysErrorService, OrderDetailMapper orderDetailMapper, FinishedOperateLogMapper finishedOperateLogMapper, ReportingWorkTransferMapper reportingWorkTransferMapper) { @@ -153,7 +155,7 @@ if (retrievedData!=null){ Integer reviewedState = retrievedData.getReviewedState(); //æ ¹æ®å®¡æ ¸ç¶ææ¥è¯¢æªå®¡æ ¸æ°æ® if (reviewedState==1){//å·²å®¡æ ¸ // if (reviewedState==1){//å·²å®¡æ ¸ //䏿¯ç¬¬ä¸éå·¥åºï¼æ¥è¯¢æ¥å·¥æ°æ® List<Map<String,String>> details = reportingWorkMapper.SelectReworlDetailMp(processIdStr, technologyStr, process,previousProcess,laminating); if(process.equals("ä¸ç©º")){ @@ -171,24 +173,24 @@ }); } map.put("Detail",details ); }else { //䏿¯ç¬¬ä¸éå·¥åºï¼æ¥è¯¢æ¥å·¥æ°æ® List<Map<String,String>> details = reportingWorkMapper.SelectReworlDetailMpReview(processIdStr, technologyStr, process,previousProcess,laminating); if(process.equals("ä¸ç©º")){ String orderId = reportingWorkMapper.selectOrderid(processIdStr); details.forEach( detail -> { Integer glassId = orderGlassDetailMapper. getMinIdByGroup(orderId, String.valueOf(detail.get("order_number")), String.valueOf(detail.get("group"))); int listGlassId = Integer.parseInt(String.valueOf(detail.get("glassId"))); if(listGlassId !=glassId){ detail.put("rowClass","latter"); } }); } map.put("Detail",details ); } // }else { // //䏿¯ç¬¬ä¸éå·¥åºï¼æ¥è¯¢æ¥å·¥æ°æ® // List<Map<String,String>> details = reportingWorkMapper.SelectReworlDetailMpReview(processIdStr, technologyStr, process,previousProcess,laminating); // if(process.equals("ä¸ç©º")){ // String orderId = reportingWorkMapper.selectOrderid(processIdStr); // details.forEach( detail -> { // Integer glassId = orderGlassDetailMapper. // getMinIdByGroup(orderId, // String.valueOf(detail.get("order_number")), // String.valueOf(detail.get("group"))); // int listGlassId = Integer.parseInt(String.valueOf(detail.get("glassId"))); // if(listGlassId !=glassId){ // detail.put("rowClass","latter"); // } // }); // } // map.put("Detail",details ); // } } } @@ -934,6 +936,17 @@ result.put("data",false); return result; } List<ReportingWorkTransfer> reportingWorkTransferList = reportingWorkTransferMapper .selectList(new QueryWrapper<ReportingWorkTransfer>() .eq("old_order", reportingWork.get("newOrderId")) .eq("old_order_number", reportingWork.get("newOrderNumber")) ); if(!reportingWorkTransferList.isEmpty()){ result.put("msg","æ°è®¢ååºå·ä¹åå·²è½¬åºæ¥å·¥æ°æ®ï¼æ æ³è¿è¡è½¬å ¥"); result.put("data",false); return result; } //è·åæ§è®¢åæ¥å·¥æ°æ®æ±æ» List<OrderProcessDetail> oldOrderProcessDetailForReport = orderProcessDetailMapper .selectList(new QueryWrapper<OrderProcessDetail>() @@ -941,6 +954,51 @@ .eq("order_number", reportingWork.get("oldOrderNumber")) .gt("reporting_work_num",0) ); if (oldOrderProcessDetailForReport.isEmpty()){ result.put("msg","æ§è®¢å没æå¯è½¬åºçæ¥å·¥æ°æ®"); result.put("data",false); return result; } List<String> oldOrderProcessIdList = new ArrayList<>(); oldOrderProcessDetailList.forEach(oldOrderProcessDetail -> oldOrderProcessIdList.add(oldOrderProcessDetail.getProcessId())); //è·åæ§æ°æ®ç ´æè¡¨æ¯å¦åå¨ç ´æ List<DamageDetails> damageDetails = damageDetailsMapper.selectList( new QueryWrapper<DamageDetails>() .in("process_id",oldOrderProcessIdList) .eq("order_number", reportingWork.get("oldOrderNumber")) .eq("quantity",0) ); if(!damageDetails.isEmpty()){ result.put("msg","æ§è®¢åå卿¥å·¥æªå¤çç ´ææ°æ®"); result.put("data",false); return result; } //è·åè¡¥ç表æ¯å¦åå¨è¡¥çæªå®¡æ ¸ç¶æ List<PatchLog> patchLogs = patchLogMapper.selectList( new QueryWrapper<PatchLog>() .eq("order_id", reportingWork.get("oldOrderId")) .eq("order_sort", reportingWork.get("oldOrderNumber")) .eq("review_status",0) ); if (patchLogs.isEmpty()){ result.put("msg","æ§è®¢ååå¨è¡¥çæªå®¡æ ¸æ°æ®"); result.put("data",false); return result; } List<Rework> reworks = reworkMapper.selectList( new QueryWrapper<Rework>() .eq("order_id", reportingWork.get("oldOrderId")) .eq("order_sort", reportingWork.get("oldOrderNumber")) .eq("review_status",0) ); if (patchLogs.isEmpty()){ result.put("msg","æ§è®¢ååå¨è¿å·¥æªå®¡æ ¸æ°æ®ï¼è¯·å å®¡æ ¸æ¥å·¥ååè¿è¡è½¬åº"); result.put("data",false); return result; } Map<String,Object> log = new HashMap<>(); log.put("oldOrderBeforeChange",oldOrderProcessDetailForReport); @@ -956,6 +1014,7 @@ reportingWorkMapper.update(null,new UpdateWrapper<ReportingWork>() .set("reviewed_state",3) .eq("process_id",oldOrderProcessDetail.getProcessId()) .gt("reviewed_state",0) ); @@ -1033,7 +1092,6 @@ orderNumberTransferList.add(orderNumberTransfer); } } } }); @@ -1061,20 +1119,20 @@ //restTemplate.postForObject("http://localhost:8086/order/test",orderNumberTransferList,String.class); //åmesåéhttpè¯·æ± ResponseEntity<String> response =restTemplate.exchange( ResponseEntity<OrderNumberTransferDTO> response =restTemplate.exchange( "http://localhost:88/api/loadGlass/order/order/orderChange", HttpMethod.POST, new HttpEntity<>(orderNumberTransferList), String.class); OrderNumberTransferDTO.class); if(response.getStatusCode() == HttpStatus.OK){ OrderNumberTransferDTO responseBody = response.getBody(); result.put("data",true); return result; }else{ result.put("msg","è¿æ¥mesååºè¶ æ¶"); result.put("data",false); return result; } return result; } } north-glass-erp/src/main/resources/mapper/pp/ReportingWork.xml
@@ -208,7 +208,7 @@ ogd.`group`, if(fc.quantity -odpd.reporting_work_num = 0 ,true,false) as saveFlag, -- 夿æ¯å¦å·²ç»å®æï¼å·²ç»å®æä¸åºå·åååºå·æ°éç¸åæè½æäº¤ od.other_columns, ogd.id as 'glassId' ogd.id as 'glassId',IFNULL(rws.reviewed_state,0) as reviewed_state FROM sd.order_detail AS od @@ -223,7 +223,6 @@ and POSITION(technology_number in #{technologyStr}) limit 1) </if> LEFT JOIN flow_card AS fc ON fc.order_id = ogd.order_id @@ -254,13 +253,24 @@ on c.process_id = fc.process_id and c.order_sort = fc.order_number and c.technology_number = fc.technology_number left join (select reviewed_state as reviewed_state , process_id,a.reporting_work_id,b.technology_number,b.order_number from reporting_work as a left join reporting_work_detail as b on a.reporting_work_id = b.reporting_work_id where this_process=#{previousProcess} and process_id= #{processIdStr} <if test="laminating != 'laminating'"> AND POSITION(b.technology_number in #{technologyStr}) </if> GROUP BY b.order_number,b.technology_number ) as rws on rws.process_id = fc.process_id and rws.order_number=fc.order_number and rws.technology_number=fc.technology_number WHERE fc.process_id = #{processIdStr} AND odpd.process = #{process} <if test="laminating != 'laminating'"> AND POSITION(fc.technology_number in #{technologyStr}) </if> AND odpd.process = #{process} order by fc.order_number </select> north-glass-erp/src/main/resources/mapper/sd/OrderMapper.xml
@@ -104,7 +104,8 @@ <select id="getOrderList"> select * from (select o.*, ifnull(sum(fgi.quantity_available),0) as goodsQuantity ifnull(sum(fgi.quantity_available),0) as goodsQuantity, if(DATEDIFF(o.delivery_date, CURDATE()) < 3 and o.delivery < 2, 'timeOut','' ) as timeOut from sd.`order` as o left join mm.finished_goods_inventory as fgi