From 68449ba857ad578f78a0576f3d78ce8be975e534 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=AC=E9=9B=AA=E4=BC=9F?= Date: Mon, 25 Nov 2024 16:32:30 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E7=BB=B4=E4=BF=AE=E6=A8=A1?= =?UTF-8?q?=E5=9D=97=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DmsBillsFaultInstanceController.java | 26 +++++++-- .../hw/dms/domain/DmsBillsFaultInstance.java | 1 + .../hw/dms/domain/DmsFaultCompentsParts.java | 1 + .../dms/domain/DmsFaultInstanceActivity.java | 1 + .../mapper/DmsBillsFaultInstanceMapper.java | 4 ++ .../IDmsBillsFaultInstanceService.java | 5 ++ .../DmsBillsFaultInstanceServiceImpl.java | 25 +++++++-- .../DmsFaultInstanceActivityServiceImpl.java | 26 +++++---- .../dms/DmsBillsFaultInstanceMapper.xml | 51 +++++++++++++++++- .../hw-dms/src/main/resources/weixiu.xlsx | Bin 11370 -> 12525 bytes hw-ui/src/api/dms/devicetype.js | 29 ++++++++++ hw-ui/src/api/dms/dmsBillsFaultInstance.js | 14 +++++ 12 files changed, 163 insertions(+), 20 deletions(-) diff --git a/hw-modules/hw-dms/src/main/java/com/hw/dms/controller/DmsBillsFaultInstanceController.java b/hw-modules/hw-dms/src/main/java/com/hw/dms/controller/DmsBillsFaultInstanceController.java index 68df1c88..97dbafe9 100644 --- a/hw-modules/hw-dms/src/main/java/com/hw/dms/controller/DmsBillsFaultInstanceController.java +++ b/hw-modules/hw-dms/src/main/java/com/hw/dms/controller/DmsBillsFaultInstanceController.java @@ -3,9 +3,10 @@ package com.hw.dms.controller; import java.text.SimpleDateFormat; import java.util.HashMap; import java.util.List; -import java.io.IOException; import java.util.Map; import javax.servlet.http.HttpServletResponse; + +import com.hw.dms.domain.DmsFaultCompentsParts; import com.hw.dms.domain.DmsFaultInstanceActivity; import com.hw.dms.utils.TemplateExcelUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -51,6 +52,21 @@ public class DmsBillsFaultInstanceController extends BaseController List list = dmsBillsFaultInstanceService.selectDmsBillsFaultInstanceList(dmsBillsFaultInstance); return getDataTable(list); } + @GetMapping("/getDmsPartsList") + public TableDataInfo getDmsPartsList(DmsBillsFaultInstance dmsBillsFaultInstance) + { + startPage(); + List list = dmsBillsFaultInstanceService.getDmsPartsList(dmsBillsFaultInstance.getRepairInstanceId()); + return getDataTable(list); + } + + @GetMapping("/list/completed") + public TableDataInfo completed(DmsBillsFaultInstance dmsBillsFaultInstance) + { + startPage(); + List list = dmsBillsFaultInstanceService.selectDmsBillsFaultInstanceCompletedList(dmsBillsFaultInstance); + return getDataTable(list); + } /** * 导出检修工单列表 @@ -124,8 +140,8 @@ public class DmsBillsFaultInstanceController extends BaseController if (faulsts.getRealEndTime()!=null){ beanParams.put("realBeginTime",format.format(faulsts.getRealBeginTime())); } - if (faulsts.getConfirmTime()!=null){ - beanParams.put("confirmTime",format.format(faulsts.getConfirmTime())); + if (faulsts.getUpdateTime()!=null){ + beanParams.put("confirmTime",format.format(faulsts.getUpdateTime())); } // beanParams.put("realEndTime",format.format(faulsts.getRealEndTime())); beanParams.put("faultDescription",faulsts.getFaultDescription()); @@ -134,8 +150,8 @@ public class DmsBillsFaultInstanceController extends BaseController beanParams.put("protectedMethod",faulsts.getProtectedMethod()); beanParams.put("repairer",faulsts.getRepairer()); String repairConfirm; - if (faulsts.getRepairConfirm()==2){ - repairConfirm = "确认完成"; + if (faulsts.getConfirmer()!=null){ + repairConfirm = faulsts.getConfirmer(); }else { repairConfirm = "未完成"; } diff --git a/hw-modules/hw-dms/src/main/java/com/hw/dms/domain/DmsBillsFaultInstance.java b/hw-modules/hw-dms/src/main/java/com/hw/dms/domain/DmsBillsFaultInstance.java index e851019b..0ac7a2f9 100644 --- a/hw-modules/hw-dms/src/main/java/com/hw/dms/domain/DmsBillsFaultInstance.java +++ b/hw-modules/hw-dms/src/main/java/com/hw/dms/domain/DmsBillsFaultInstance.java @@ -28,6 +28,7 @@ public class DmsBillsFaultInstance extends BaseEntity /** 报修来源类型(1检修,2点检,3巡检,9其他) */ @Excel(name = "报修来源类型(1检修,2点检,3巡检,9其他)") private String faultSourceType; + private String confirmer; /** 报修来源ID,根据报修来源类型关联来源主键 */ @Excel(name = "报修来源ID,根据报修来源类型关联来源主键") diff --git a/hw-modules/hw-dms/src/main/java/com/hw/dms/domain/DmsFaultCompentsParts.java b/hw-modules/hw-dms/src/main/java/com/hw/dms/domain/DmsFaultCompentsParts.java index 3ca7f024..cf9a08c1 100644 --- a/hw-modules/hw-dms/src/main/java/com/hw/dms/domain/DmsFaultCompentsParts.java +++ b/hw-modules/hw-dms/src/main/java/com/hw/dms/domain/DmsFaultCompentsParts.java @@ -9,4 +9,5 @@ public class DmsFaultCompentsParts { private String partName; private String partSpecifications; private Integer amount; + private String billsFaultCode; } diff --git a/hw-modules/hw-dms/src/main/java/com/hw/dms/domain/DmsFaultInstanceActivity.java b/hw-modules/hw-dms/src/main/java/com/hw/dms/domain/DmsFaultInstanceActivity.java index 70c27237..d5be58b2 100644 --- a/hw-modules/hw-dms/src/main/java/com/hw/dms/domain/DmsFaultInstanceActivity.java +++ b/hw-modules/hw-dms/src/main/java/com/hw/dms/domain/DmsFaultInstanceActivity.java @@ -86,6 +86,7 @@ public class DmsFaultInstanceActivity extends BaseEntity /** 处理人 */ @Excel(name = "处理人") private String handleBy; + private String confirmer; /** 处理时间 */ @JsonFormat(pattern = "yyyy-MM-dd") diff --git a/hw-modules/hw-dms/src/main/java/com/hw/dms/mapper/DmsBillsFaultInstanceMapper.java b/hw-modules/hw-dms/src/main/java/com/hw/dms/mapper/DmsBillsFaultInstanceMapper.java index e6cc542e..73a3bba5 100644 --- a/hw-modules/hw-dms/src/main/java/com/hw/dms/mapper/DmsBillsFaultInstanceMapper.java +++ b/hw-modules/hw-dms/src/main/java/com/hw/dms/mapper/DmsBillsFaultInstanceMapper.java @@ -105,6 +105,10 @@ public interface DmsBillsFaultInstanceMapper List selectFaults(@Param("repairInstanceId") Long repairInstanceId); List selectParts(@Param("repairInstanceId")Long repairInstanceId); + + List selectDmsBillsFaultInstanceCompletedList(DmsBillsFaultInstance dmsBillsFaultInstance); + + List getDmsPartsList(@Param("repairInstanceId") Long repairInstanceId); } diff --git a/hw-modules/hw-dms/src/main/java/com/hw/dms/service/IDmsBillsFaultInstanceService.java b/hw-modules/hw-dms/src/main/java/com/hw/dms/service/IDmsBillsFaultInstanceService.java index bdf3dc39..a155dfb3 100644 --- a/hw-modules/hw-dms/src/main/java/com/hw/dms/service/IDmsBillsFaultInstanceService.java +++ b/hw-modules/hw-dms/src/main/java/com/hw/dms/service/IDmsBillsFaultInstanceService.java @@ -2,6 +2,7 @@ package com.hw.dms.service; import java.util.List; import com.hw.dms.domain.DmsBillsFaultInstance; +import com.hw.dms.domain.DmsFaultCompentsParts; import com.hw.dms.domain.DmsFaultInstanceActivity; import com.hw.dms.domain.vo.DmsBillsFaultInstanceScanVo; import org.springframework.transaction.annotation.Transactional; @@ -111,4 +112,8 @@ public interface IDmsBillsFaultInstanceService public int completeRepair(DmsFaultInstanceActivity dmsFaultInstanceActivity); DmsFaultInstanceActivity selectFaults(Long repairInstanceId); + + List selectDmsBillsFaultInstanceCompletedList(DmsBillsFaultInstance dmsBillsFaultInstance); + + List getDmsPartsList(Long repairInstanceId); } diff --git a/hw-modules/hw-dms/src/main/java/com/hw/dms/service/impl/DmsBillsFaultInstanceServiceImpl.java b/hw-modules/hw-dms/src/main/java/com/hw/dms/service/impl/DmsBillsFaultInstanceServiceImpl.java index acb4661a..79cfcb4e 100644 --- a/hw-modules/hw-dms/src/main/java/com/hw/dms/service/impl/DmsBillsFaultInstanceServiceImpl.java +++ b/hw-modules/hw-dms/src/main/java/com/hw/dms/service/impl/DmsBillsFaultInstanceServiceImpl.java @@ -139,7 +139,10 @@ public class DmsBillsFaultInstanceServiceImpl implements IDmsBillsFaultInstanceS */ @Override public int updateDmsBillsFaultInstance(DmsBillsFaultInstance dmsBillsFaultInstance) { - + String username = SecurityUtils.getUsername(); + if (dmsBillsFaultInstance.getRepairConfirm()!=null){ + dmsBillsFaultInstance.setConfirmer(username); + } dmsBillsFaultInstance.setUpdateTime(DateUtils.getNowDate()); dmsInstanceFileMapper.deleteDmsInstanceFileByUpdate(dmsBillsFaultInstance.getRepairInstanceId()); int i = dmsBillsFaultInstanceMapper.updateDmsBillsFaultInstance(dmsBillsFaultInstance); @@ -253,13 +256,14 @@ public class DmsBillsFaultInstanceServiceImpl implements IDmsBillsFaultInstanceS DmsInstanceFile queryInstanceFile = new DmsInstanceFile(); // queryInstanceFile.setTargetType(DmsConstants.DMS_INSTANCE_FILE_TARGET_TYPE_FAULT_INSTANCE_ACTIVITY); - queryInstanceFile.setTargetId(firstStepActivity.getInstanceActivityId()); + queryInstanceFile.setTargetId(dmsBillsFaultInstanceActivityList.get(0).getInstanceActivityId()); queryInstanceFile.setTargetType("1"); List dmsInstanceFiles = dmsInstanceFileMapper.selectDmsInstanceFileList(queryInstanceFile); - queryInstanceFile.setTargetType("2"); - List dmsInstanceFiles1 = dmsInstanceFileMapper.selectDmsInstanceFileList(queryInstanceFile); +// queryInstanceFile.setTargetId(dmsBillsFaultInstanceActivityList.get(1).getInstanceActivityId()); +// queryInstanceFile.setTargetType("2"); +// List dmsInstanceFiles1 = dmsInstanceFileMapper.selectDmsInstanceFileList(queryInstanceFile); dmsBillsFaultInstance.setDmsInstanceFiles(dmsInstanceFiles); - dmsBillsFaultInstance.setDmsInstanceFiles1(dmsInstanceFiles1); +// dmsBillsFaultInstance.setDmsInstanceFiles1(dmsInstanceFiles1); return dmsBillsFaultInstance; } @@ -358,6 +362,16 @@ public class DmsBillsFaultInstanceServiceImpl implements IDmsBillsFaultInstanceS } + @Override + public List getDmsPartsList(Long repairInstanceId) { + return dmsBillsFaultInstanceMapper.getDmsPartsList(repairInstanceId); + } + + @Override + public List selectDmsBillsFaultInstanceCompletedList(DmsBillsFaultInstance dmsBillsFaultInstance) { + return dmsBillsFaultInstanceMapper.selectDmsBillsFaultInstanceCompletedList(dmsBillsFaultInstance); + } + @Override public DmsFaultInstanceActivity selectFaults(Long repairInstanceId) { List list = dmsBillsFaultInstanceMapper.selectFaults(repairInstanceId); @@ -409,6 +423,7 @@ public class DmsBillsFaultInstanceServiceImpl implements IDmsBillsFaultInstanceS dmsFaultInstanceActivity.setProcessHandleStatus(DmsConstants.DMS_BILLS_FAULT_INSTANCE_ACTIVITY_HANDLE_STATUS_FINISH); dmsFaultInstanceActivity.setEndTime(currentDate); + dmsFaultInstanceActivity.setRepairer(userName); dmsFaultInstanceActivityMapper.updateDmsFaultInstanceActivity(dmsFaultInstanceActivity); diff --git a/hw-modules/hw-dms/src/main/java/com/hw/dms/service/impl/DmsFaultInstanceActivityServiceImpl.java b/hw-modules/hw-dms/src/main/java/com/hw/dms/service/impl/DmsFaultInstanceActivityServiceImpl.java index 7ce62c46..22b92f0c 100644 --- a/hw-modules/hw-dms/src/main/java/com/hw/dms/service/impl/DmsFaultInstanceActivityServiceImpl.java +++ b/hw-modules/hw-dms/src/main/java/com/hw/dms/service/impl/DmsFaultInstanceActivityServiceImpl.java @@ -1,5 +1,6 @@ package com.hw.dms.service.impl; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -53,15 +54,22 @@ public class DmsFaultInstanceActivityServiceImpl implements IDmsFaultInstanceAct public List selectDmsFaultInstanceActivityList(DmsFaultInstanceActivity dmsFaultInstanceActivity) { List dmsFaultInstanceActivities = dmsFaultInstanceActivityMapper.selectDmsFaultInstanceActivityList(dmsFaultInstanceActivity); - for(DmsFaultInstanceActivity dfia:dmsFaultInstanceActivities){ - DmsInstanceFile queryInstanceFile = new DmsInstanceFile(); - queryInstanceFile.setTargetType(DmsConstants.DMS_INSTANCE_FILE_TARGET_TYPE_FAULT_INSTANCE_ACTIVITY); - queryInstanceFile.setTargetId(dfia.getInstanceActivityId()); - List dmsInstanceFiles = dmsInstanceFileMapper.selectDmsInstanceFileConvertList(queryInstanceFile); - dfia.setDmsInstanceFileList(dmsInstanceFiles); - } - - return dmsFaultInstanceActivities; + DmsFaultInstanceActivity dmsFaultInstanceActivity1 = dmsFaultInstanceActivities.get(0); + DmsInstanceFile queryInstanceFile = new DmsInstanceFile(); + queryInstanceFile.setTargetType(DmsConstants.DMS_INSTANCE_FILE_TARGET_TYPE_FAULT_INSTANCE_ACTIVITY); + queryInstanceFile.setTargetId(dmsFaultInstanceActivity1.getInstanceActivityId()); + List dmsInstanceFiles = dmsInstanceFileMapper.selectDmsInstanceFileConvertList(queryInstanceFile); + dmsFaultInstanceActivity1.setDmsInstanceFileList(dmsInstanceFiles); + DmsFaultInstanceActivity dmsFaultInstanceActivity2 = dmsFaultInstanceActivities.get(1); + DmsInstanceFile queryInstanceFile1 = new DmsInstanceFile(); + queryInstanceFile1.setTargetType("2"); + queryInstanceFile1.setTargetId(dmsFaultInstanceActivity2.getInstanceActivityId()); + List dmsInstanceFiles2 = dmsInstanceFileMapper.selectDmsInstanceFileConvertList(queryInstanceFile1); + dmsFaultInstanceActivity2.setDmsInstanceFileList(dmsInstanceFiles2); + List dmsFaultInstanceActivities1 = new ArrayList<>(); + dmsFaultInstanceActivities1.add(dmsFaultInstanceActivity1); + dmsFaultInstanceActivities1.add(dmsFaultInstanceActivity2); + return dmsFaultInstanceActivities1; } /** diff --git a/hw-modules/hw-dms/src/main/resources/mapper/dms/DmsBillsFaultInstanceMapper.xml b/hw-modules/hw-dms/src/main/resources/mapper/dms/DmsBillsFaultInstanceMapper.xml index c7f9d9aa..8b71355b 100644 --- a/hw-modules/hw-dms/src/main/resources/mapper/dms/DmsBillsFaultInstanceMapper.xml +++ b/hw-modules/hw-dms/src/main/resources/mapper/dms/DmsBillsFaultInstanceMapper.xml @@ -93,6 +93,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and is_flag = #{isFlag} and device_id = #{deviceId} + order by create_time desc select - x.*,a.device_name ,a.device_code,a.device_location ,b.apply_user ,b.apply_time ,b.real_begin_time ,b.real_end_time + x.fault_description , + x.checked_fault , + x.repair_content , + x.protected_method , + x.repairer , + a.device_name , + a.device_code, + a.device_location , + b.apply_user , + b.apply_time , + b.real_begin_time , + b.real_end_time, + b.repair_confirm, + b.update_time, + b.confirmer from `hwjy-cloud`.dms_fault_instance_activity x left join dms_base_device_ledger a on x.device_id = a.device_id left join dms_bills_fault_instance b on x.repair_instance_id = b.repair_instance_id where x.repair_instance_id = #{repairInstanceId} @@ -276,6 +293,38 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" parameterType="java.lang.Long"> SELECT x.* FROM `hwjy-cloud`.dms_fault_compents_parts x where x.fault_id = #{repairInstanceId} + + + diff --git a/hw-modules/hw-dms/src/main/resources/weixiu.xlsx b/hw-modules/hw-dms/src/main/resources/weixiu.xlsx index a61e6fadc629eb67de928b464795d0245608bdea..0ff66d0779b0575176b9231c016dca912abf1e0b 100644 GIT binary patch literal 12525 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 literal 11370 zcmeHtgP0pzG+ibD8uI@C+JEs1l&bdIbg^NyzS|QLZ&UxA6;xb| zK-@&EO|=W3=p3yK2U7REv%CJj6n<0M zMtPm1-aWtXcx0$rrsC8Wr$&p-2;{RQ;2D^!FR$z~^MIBKSm6rs(HY;w{lb4u-tTjc}@&0gWg3vIalYwJI1?>?7n9W{>65o_8pe?0ki;%6xpP&&vLiFtE2?n6_7d5R_W1~EWa8C~M6d9tX zdJZO5KvtIDuK!cd|6-l|)6`3&-l@@nt`-3rx7RcZ6r4afp|+FJ0@w z{5W+nb(th3<3jhbHG-j}p)gCfe}z)=`-ylJ#wg1>LPYF5;y_%%Bpps;QXqnO7R7JG`QB z(KEK{I1^84$9`~UR!Hqrrr^T5<`|XgrOv$Y(yHM)8BBBO;X&*!={xTC4IwLBhIp*M zD~ZqR*n~64iZnr#gb;uL3P0F#L%RxF)hmqV;kslG~D~~iW_Ym2K%Cu zu`n15))m|8i2s@G@Yyg7g5g0Ksjt*CY%K8Je#rqcS~3v3@pW_`Q#uas_B9j`0gY*<8`ORCBkXTy{Wv*h-GKaEy@;gi7aU`x1f6<=tWSU6qy%&G;k|Bsafr4 z4J3LuK;OP_$~1U>WV+ekJGBD&(toGSskA`38H6r3umAu$q4+473S;bM%t6cd(#v&?5bf^t*Xg7z2>F2l(T3*{I8F6Xc<9Z6NLAME4;6-7J-Mu zV0TuD<1m83+5rsGZ*=;>d%h*sfo+Rz=!$RkN!~ug)T%-e9%RWK4hxj&}V&Bb0q4=iu=LlM-m zW>ObOYU?(U3rh(0<6W%tb~Ui_WyI-JHow30p1h!?@WAzf7Ae)nU96%IQ$cVXOmAhA z_ZYW>DsUE1FvQtvFV!GG@V?UFHN~+9D>K4#2qNBBM1y7%;^1I>i7so`0)39&C%MBZ zimH66Vq7oIWTy}d0X<~3nts%+&6<>;ytO7jm?vzyoUVWp;R)>Ok80Y?bM(q$&3Ye= zV7yy&c_&2O|Dnz4h}ZJK_Q4$=eALJQO3A`7!Vm1-F<2m3KI>8=kdf@idHrL>L*HGS z&yG6jvRqt>pea8{Zi%pP1U%}A!6uiWSJ9F|$3`C%*2rM@u4hfFQ>I*FEd^FMJe#&K zs8z|KfkUS;hz}*nmPkfCp_8(g?x?zzXb7H{L=5TUNyNsDwEIi6jV&{*aK+K+V~~JM*Wd|-rh-Cz$kx}*-X{{$-MaJR zrxPYd!^JXk5WH6zk@|ZK%gYN&d~j3>eJ0pQW#4c7plo~ zJ{)Z-IGaF9VG;3akeo7m<(C%F28$A%pLkH9gc3?AITG&18St%4(s~*-7u-bX+?8sa zg}JdPVV#wD%bN)YxxN-D+C1e25v2li|3vdbcbdP7v=XRk3KZY&i^y4}osSY3RtPRy%724Pi^n4ZEeGdp>^p@j zCh!E_1!b!`j6Q9kqtAEG6g()TB-AY~rt{9XzDBQaV_9}`aZE{QQ{3(h+48KQ8yGfd z<03$|K<02Hl3!+w_&95>Xc<^r5FTBF;FjCl0j)Hfe8BCkffy1>1UKn5bsdY{OY83R zp|YJtQtd=kUbRhzT?*-HbR_ph3g2Vd-sNk(I`aYOUI$0U1P;Z1MA)4r;tJa*6IA-- zT=91b*a0%DT=rvFUn5S-@$v3V{dhcGUy^R0`8gG|iG6JQB%_#Lmc>+KZDbulu``9j zJ2)#IO-xc|h$>je)z{)egLozxZ%>xTmLy{MdY^p!gRo3jXea55V!qjQk*MXN>2yku z{sNhO6EU#!_s`@UMDaBhC~}&!foN`~l&G}!tH=zRyPuHcpYoHR^^YDQ#-2ZBER?(Q zUXR%k)!sCQ*pMeSK9Hq(768YWQd_)4HHRsr!HE;!P?qV1_)d5t*VzF- z2W%SQnN=RU%`>-)RPpXD;vg~$L>hc&X-kGtP>}iD8>#Uexhmi-)dPOFXU|+!IAT%c z>+Lz|&n|5JHz7o0rNtK3r+V-;tO~V9Oq(9>{9XwvYd(U*J;(%Xa@t4UoR0cS^F`{v z&VIw!CvkAUXjO-i1L?u%^c463a*u%SzRVii(QiHq!spS=H7^j4tudI2QWiH*LvK+P;MRubCMAH9oOyEn{XgljRdtZ;-c9dPGo= zuZ6_xO$d3~-x*?Bn~18~L~?J!-O|Pk!hQ>SE=Zd}T1tcJ%T`$X?v~qoz)`1tx#Gf- z(Sy)il2XImBBZSP{SP>TX+RzsNt4^f`&z3t)Q2hVl!dI@+GE1lJ@n~gKM}kZvo&tI zuR)gAmEXbVRu6=+>z0<+u0>18d-0yA!F1ASGh=y`>IW?EntkQ)m+ZSz4A=_aacuD+ zeKCmBwFpL(-OSes8Mpoh4^R>grjizDOk6`G6yb2fq=rv*ZZ;+qSszyFf<;MS$P+0- zdYZD$6#DTgn>iH4+yqa9VmdHZFdg5XBZm2j!|VdJZ$m0V;qb}X;i(`7T}YtuN%v*F zx=H^*rm@Aq!^K5`m)D8U)egGe?X73T1 z(EVnFEh%qJJ>M&~H8CusHQleh%c!{B&?J`|Fpq{<-3XYn&=Q#oSxu~z$j**Fg~&6V zb;!2%`UH5#6Zdr{`<^{J(Y&T@SYL7NBG~5*7Jqm%TCj9?ce`*nDvs>X9Kwl8l{Yri zRY5OijC#NSENjBk6`wRiFGH2Q4lAqZ(Tm3ZvGmYGl&SqN3iE@neD2ljlUJX3bvdZu z)hV__`KbaMm~`Mo3z=8IOQ)|wo79)OrCwsyJ% z3x=sa%YmEMF_dv!W|BaiSBb4+lbk(J)I{ALA^MDqqcpxL!sYqWF204f+l!ckvWatd z_9C&x)g{Ed-PvO!FDAX=OE=Y}$sTd#6LTr)AMDlmH zf3=kiAdz&q;xTU}CEo`tk9MV1AlrOBa=F9@4=%7av5LU8SE69t0q;yd6>^KDvx&hz z3kh$sSQ-e(5wI50*~}f5CJ;V)b|{PK*i0avM{mW5PSnUQ=+$y_;2;lL~+th{ol_eX^ew3#+CLGva}@aw~*MZ zpFelrx?GiL-3k(!7YQ^aj@>bOUQml}?Pp033T%qFZba zvmUco94gm1ake$%J8z6-jg4esM%!e23=n^xGe;+-dEgTM+jIpopEZ?oJI|7@dZeXP zbHrV(WML7lFt2uaFmg3CSQ+8NKYNGxIqVIy`=nGpkJ`F%+S4B}n`sH2;EN5Xd=;Yf zF+0&Xy^H&E`Ovr`BN@KpTykgDK8rwNG0bJ0;?f7QsR1CI`SyqWuMB&WpqL-~{F|sH zr(%;|81if$6qp^#Em<1Tu%=vO1U4o;!eKhum@|er;lWeQ*KBj9T1#ap1ftJIaoEv0mx#}i3!-GSRk zSxt!f+6Abf^|+)wi`EoZsZGb-lv=e_fn?fIOjw_+r#Q+%XX3VrBCCh8e6e9KP@p zqYZDDAECwa!f3D-Ra%6&!UsUFq+c&wQ6oMlPN$r?88aj&nb_FB*xI{Afr5ckS~VdOeBV{lNf1N%bN& zMRx2|aWh$&bE?Pt>Pl5@NtS7UI%JJw4pGaz;G&J#{^ZRD0qkdM$JE#yy-4{ETd@ID zyv!H*seEnw;i<$b;V41o>BQYsy{B9GmDo{u8spR^s@9h8`vziuoIS_GVkHnRYav%C z9Uzi!k5ghLLFhN9kf7&qgp(tQGT|Z*(x4sb>6Gq8oLvr!!Q(Br#fj*avs2UhJZtwn z3(#OW_B}zTWgYne(cKqCjX1udjB!Z+tC#{YjW41(J=@D&tqQwTY_XHW9iAi48(kF> z-U2I2^#|7l!a=N5Q(n|S*RqeA)!YU8!mYbzW@Wp1`4&BQfun9cPY?U(UiX(9?O)Mt zu-a*h;yA`9pQ0p}{VXQymky%KotCWYO5`*XV;R6J2s~e$|2;M&NXN8 zVc)d$>Mi*Z|LI#{7ci-97hyCfd8qEL-6PF{NpSh0n(2vrTi+BA!JOCIam_j?GJbf> zI4G%y+!XW`*p(HDU1XL$8UUN$GkM71=e{?{IdSJ3

eCHiw9zFk{ub(k0PZr>M<6 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 diff --git a/hw-ui/src/api/dms/devicetype.js b/hw-ui/src/api/dms/devicetype.js index e1576d3d..98718d13 100644 --- a/hw-ui/src/api/dms/devicetype.js +++ b/hw-ui/src/api/dms/devicetype.js @@ -9,6 +9,14 @@ export function listDevicetype(query) { }) } +export function listQualification(query) { + return request({ + url: '/mes/mesProductionQualified', + method: 'get', + params: query + }) +} + // 查询设备类型信息详细 export function getDevicetype(deviceTypeId) { return request({ @@ -16,6 +24,13 @@ export function getDevicetype(deviceTypeId) { method: 'get' }) } +// 查询设备类型信息详细 +export function getQualifiedById(qualifiedId) { + return request({ + url: '/mes/mesProductionQualified/' + qualifiedId, + method: 'get' + }) +} // 新增设备类型信息 export function addDevicetype(data) { @@ -25,6 +40,13 @@ export function addDevicetype(data) { data: data }) } +export function addQualification(data) { + return request({ + url: '/mes/mesProductionQualified', + method: 'post', + data: data + }) +} // 修改设备类型信息 export function updateDevicetype(data) { @@ -34,6 +56,13 @@ export function updateDevicetype(data) { data: data }) } +export function updateQualification(data) { + return request({ + url: '/mes/mesProductionQualified', + method: 'put', + data: data + }) +} // 删除设备类型信息 export function delDevicetype(deviceTypeId) { diff --git a/hw-ui/src/api/dms/dmsBillsFaultInstance.js b/hw-ui/src/api/dms/dmsBillsFaultInstance.js index 6438fe0b..af9e79c7 100644 --- a/hw-ui/src/api/dms/dmsBillsFaultInstance.js +++ b/hw-ui/src/api/dms/dmsBillsFaultInstance.js @@ -8,6 +8,20 @@ export function listDmsBillsFaultInstance(query) { params: query }) } +export function getDmsPartsList(query) { + return request({ + url: '/dms/dmsBillsFaultInstance/getDmsPartsList', + method: 'get', + params: query + }) +} +export function listDmsBillsFaultInstancecompleted(query) { + return request({ + url: '/dms/dmsBillsFaultInstance/list/completed', + method: 'get', + params: query + }) +} // // 检修工单记录导出 // export function handleFaultExport(repairInstanceId) { // return request({