From 23eb9c9a21afc8ed065706f0e6494ee998a217b5 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期三, 04 三月 2026 16:35:27 +0800
Subject: [PATCH] fix:1.班次页面:月度统计时间调整为上月26到本月25;班次支持右键添加批注 2.外购下单:KJNS域订单免检自动更新批次属性;外购下单-全部页新增【更新IFS批次属性】按钮,支持更新已提交订单的批次属性 3.资源要求-设备:设备核查计划:核查负责人回显问题修复;设备使用授权:检验项目导出数据错误问题修复
---
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/IfsSplitOrderRecordServiceImpl.java | 3
cnas-device/src/main/java/com/ruoyi/device/service/DeviceImpowerService.java | 2
cnas-device/src/main/resources/static/word/device-impower.docx | 0
performance-server/src/main/java/com/ruoyi/performance/pojo/PerformanceShift.java | 4
inspect-server/src/main/resources/mapper/IfsPartPropsRecordMapper.xml | 21 +++
inspect-server/src/main/java/com/ruoyi/inspect/service/IfsPartPropsRecordService.java | 3
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/RawMaterialOrderServiceImpl.java | 9 -
inspect-server/src/main/java/com/ruoyi/inspect/mapper/IfsSplitOrderRecordMapper.java | 2
performance-server/src/main/java/com/ruoyi/performance/service/PerformanceShiftService.java | 2
performance-server/src/main/java/com/ruoyi/performance/service/impl/PerformanceShiftServiceImpl.java | 61 +++++----
performance-server/src/main/java/com/ruoyi/performance/mapper/PerformanceShiftMapper.java | 4
cnas-device/src/main/resources/mapper/DeviceExaminePlanDetailsMapper.xml | 20 +++
cnas-device/src/main/java/com/ruoyi/device/controller/DeviceImpowerController.java | 4
cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceImpowerServiceImpl.java | 3
inspect-server/src/main/java/com/ruoyi/inspect/aspect/PushIfsPartPropsRecordAspect.java | 90 +++++++++++++++
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/IfsPartPropsRecordServiceImpl.java | 57 +++++----
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsReportServiceImpl.java | 2
inspect-server/src/main/java/com/ruoyi/inspect/mapper/IfsPartPropsRecordMapper.java | 5
performance-server/src/main/resources/mapper/PerformanceShiftMapper.xml | 7
performance-server/src/main/java/com/ruoyi/performance/controller/PerformanceShiftController.java | 6 +
ruoyi-admin-ztns/src/main/resources/application-druid.yml | 6
inspect-server/src/main/java/com/ruoyi/inspect/service/IfsSplitOrderRecordService.java | 3
22 files changed, 235 insertions(+), 79 deletions(-)
diff --git a/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceImpowerController.java b/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceImpowerController.java
index 092f7c5..23c6155 100644
--- a/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceImpowerController.java
+++ b/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceImpowerController.java
@@ -101,8 +101,8 @@
*/
@ApiOperation("瀵煎嚭浣跨敤鎺堟潈")
@GetMapping("/exportDeviceImpower")
- public Result exportDeviceImpower(@RequestParam("impowerId") Integer impowerId, HttpServletResponse response) {
- return deviceImpowerService.exportDeviceImpowerDto(impowerId, response);
+ public void exportDeviceImpower(@RequestParam("impowerId") Integer impowerId, HttpServletResponse response) {
+ deviceImpowerService.exportDeviceImpowerDto(impowerId, response);
}
}
diff --git a/cnas-device/src/main/java/com/ruoyi/device/service/DeviceImpowerService.java b/cnas-device/src/main/java/com/ruoyi/device/service/DeviceImpowerService.java
index d18475a..1ea5f4a 100644
--- a/cnas-device/src/main/java/com/ruoyi/device/service/DeviceImpowerService.java
+++ b/cnas-device/src/main/java/com/ruoyi/device/service/DeviceImpowerService.java
@@ -67,5 +67,5 @@
/**
* 浣跨敤鎺堟潈瀵煎嚭
*/
- Result exportDeviceImpowerDto(Integer impowerId, HttpServletResponse response);
+ void exportDeviceImpowerDto(Integer impowerId, HttpServletResponse response);
}
diff --git a/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceImpowerServiceImpl.java b/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceImpowerServiceImpl.java
index c190fa1..e2ef5e3 100644
--- a/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceImpowerServiceImpl.java
+++ b/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceImpowerServiceImpl.java
@@ -249,7 +249,7 @@
* @param impowerId 璁惧浣跨敤id
*/
@Override
- public Result exportDeviceImpowerDto(Integer impowerId, HttpServletResponse response) {
+ public void exportDeviceImpowerDto(Integer impowerId, HttpServletResponse response) {
// 鏌ヨ璁惧浣跨敤鎺堟潈璁″垝
DeviceImpower deviceImpower = baseMapper.selectById(impowerId);
DeviceImpowerDto deviceImpowerDto = new DeviceImpowerDto();
@@ -295,6 +295,5 @@
e.printStackTrace();
throw new RuntimeException("瀵煎嚭澶辫触");
}
- return Result.success();
}
}
diff --git a/cnas-device/src/main/resources/mapper/DeviceExaminePlanDetailsMapper.xml b/cnas-device/src/main/resources/mapper/DeviceExaminePlanDetailsMapper.xml
index 2de8c93..bb72997 100644
--- a/cnas-device/src/main/resources/mapper/DeviceExaminePlanDetailsMapper.xml
+++ b/cnas-device/src/main/resources/mapper/DeviceExaminePlanDetailsMapper.xml
@@ -6,7 +6,24 @@
<!--璁惧鏍告煡璁″垝璇︽儏鍒楄〃-->
<select id="pageDeviceExaminePlanDetail" resultType="com.ruoyi.device.dto.DeviceExaminePlanDetailsDto">
select * from (
- select d.*,
+ select
+ d.plan_details_id,
+ d.plan_id,
+ d.device_id,
+ d.device_number,
+ d.device_name,
+ d.check_time,
+ d.check_index,
+ d.check_method,
+ d.how_results,
+ d.check_charger_user_id,
+ CASE WHEN d.check_charger_user='' or d.check_charger_user is null THEN u.name
+ ELSE d.check_charger_user END AS check_charger_user,
+ d.remark,
+ d.create_user,
+ d.create_time,
+ d.update_user,
+ d.update_time,
CASE
WHEN dc.review_status = 0 THEN 3
WHEN dc.review_status = 1 THEN 2
@@ -18,6 +35,7 @@
WHEN dd.record_contrast_id IS NOT NULL THEN 1
ELSE 0 END record_contrast_status
from device_examine_plan_details d
+ left join user u on u.id = d.check_charger_user_id
left join device_examine_record dc on d.plan_details_id = dc.plan_details_id
left join device_examine_record_contrast dd on dd.plan_details_id = dc.plan_details_id
order by check_time asc
diff --git a/cnas-device/src/main/resources/static/word/device-impower.docx b/cnas-device/src/main/resources/static/word/device-impower.docx
index 84f72bd..3389110 100644
--- a/cnas-device/src/main/resources/static/word/device-impower.docx
+++ b/cnas-device/src/main/resources/static/word/device-impower.docx
Binary files differ
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/aspect/PushIfsPartPropsRecordAspect.java b/inspect-server/src/main/java/com/ruoyi/inspect/aspect/PushIfsPartPropsRecordAspect.java
new file mode 100644
index 0000000..3573090
--- /dev/null
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/aspect/PushIfsPartPropsRecordAspect.java
@@ -0,0 +1,90 @@
+package com.ruoyi.inspect.aspect;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.json.JSONUtil;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.ruoyi.basic.dto.IfsInventoryQuantityDto;
+import com.ruoyi.basic.mapper.IfsInventoryQuantityMapper;
+import com.ruoyi.basic.pojo.IfsInventoryQuantity;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.common.enums.ContractType;
+import com.ruoyi.common.enums.OrderType;
+import com.ruoyi.common.utils.api.IfsApiUtils;
+import com.ruoyi.inspect.dto.IfsPartPropsRecordDTO;
+import com.ruoyi.inspect.service.IfsPartPropsRecordService;
+import com.ruoyi.inspect.service.IfsSplitOrderRecordService;
+import lombok.extern.slf4j.Slf4j;
+import org.aspectj.lang.JoinPoint;
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.annotation.Before;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Isolation;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.*;
+
+/**
+ * 澶栬喘涓嬪崟锛欿JNS鍩熻鍗曞厤妫�鍚庯紝鏌ヨZTNS鍩熺浉鍚岃鍗曠殑鎵规灞炴�у苟鎺ㄩ�佸埌IFS
+ */
+@Aspect
+@Slf4j
+@Component
+public class PushIfsPartPropsRecordAspect {
+
+ @Autowired
+ private IfsInventoryQuantityMapper ifsInventoryQuantityMapper;
+
+ @Autowired
+ private IfsApiUtils ifsApiUtils;
+
+ @Autowired
+ private IfsPartPropsRecordService ifsPartPropsRecordService;
+
+ @Before(value = "execution(* com.ruoyi.inspect.service.impl.RawMaterialOrderServiceImpl.rawOrderRelease(..))")
+ @Transactional(rollbackFor = Exception.class,isolation = Isolation.READ_COMMITTED)
+ public void doAfterReturning(JoinPoint joinPoint) {
+ Object[] args = joinPoint.getArgs();
+ if(Objects.nonNull(args) && args.length>0) {
+ Long ifsInventoryId = (Long)args[0];
+ log.info("id:{}",ifsInventoryId);
+ IfsInventoryQuantity ifsInventoryQuantity = ifsInventoryQuantityMapper.selectById(ifsInventoryId);
+ //濡傛灉璁㈠崟鏄疜JNS鍩熺殑澶栬喘璁㈠崟锛屽厤妫�鏃跺悓姝TNS鍩熺殑IFS鎵规灞炴��
+ if(StringUtils.equals(ContractType.KJNS.getValue(),ifsInventoryQuantity.getContract()) && StringUtils.equals(OrderType.WG.getValue(),ifsInventoryQuantity.getOrderType())){
+ //鏌ヨZTNS鍩熺殑鐩稿悓鎵规璁㈠崟娑堟伅
+ IfsInventoryQuantityDto ifsInventoryQuantityDto = new IfsInventoryQuantityDto();
+ BeanUtil.copyProperties(ifsInventoryQuantity,ifsInventoryQuantityDto);
+ ifsInventoryQuantityDto.setContract(ContractType.ZTNS.getValue());
+ IfsPartPropsRecordDTO oneByContract = ifsPartPropsRecordService.getOneByContract(ifsInventoryQuantityDto);
+ if(Objects.nonNull(oneByContract)){
+ //鏇存柊IFS鎵规灞炴��
+ Map<String, Object> inAttrMap = new HashMap<>();
+ String actionType = "New";
+ inAttrMap.put("RECORD_ID", UUID.randomUUID().toString());
+ inAttrMap.put("SYSCODE", "LIMS");
+ inAttrMap.put("SYSMODEL", "搴撳瓨鐗╂枡鎵规灞炴�т慨鏀�");
+ HashMap<String, Object> batchInfoMap = new HashMap<>();
+ batchInfoMap.put("CONTRACT",ContractType.KJNS.getValue());//鍩�
+ batchInfoMap.put("PART_NO",oneByContract.getPartNo());//闆朵欢鍙�
+ batchInfoMap.put("LOT_BATCH_NO",oneByContract.getLotBatchNo());//鎵规鍙�
+ batchInfoMap.put("ATTR1",oneByContract.getDrumNo());//杞藉叿缂栧彿
+ batchInfoMap.put("ATTR2",oneByContract.getStartMeterMark().toString());//璧峰绫虫爣
+ batchInfoMap.put("ATTR3",oneByContract.getEndMeterMark().toString());//鎴绫虫爣
+ batchInfoMap.put("ATTR4", oneByContract.getOuterColor());//澶栨姢棰滆壊
+ batchInfoMap.put("ATTR5",oneByContract.getInsulationColor());//缁濈紭棰滆壊
+ batchInfoMap.put("ATTR8",oneByContract.getLetteringInfo());//鍗板瓧淇℃伅
+ batchInfoMap.put("ATTR23","杞﹂棿璁㈠崟");//鍏ュ簱鏉ユ簮
+ batchInfoMap.put("ATTR24","0");//鍒嗗壊棰勭暀鏁伴噺
+ batchInfoMap.put("ACTION_TYPE",actionType);//鎿嶄綔绫诲瀷
+ inAttrMap.put("BATCH_INFO", Collections.singletonList(batchInfoMap));
+ Result result = ifsApiUtils.importPartLotAttr(ContractType.KJNS.getValue(), JSONUtil.toJsonStr(inAttrMap));
+ if(result.getCode()!=200){
+ throw new RuntimeException("搴撳瓨鐗╂枡鎵规灞炴�ф洿鏂板け璐ワ細"+result.getMessage());
+ }
+ }
+ ifsPartPropsRecordService.save(oneByContract);
+ }
+ }
+ }
+
+}
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/mapper/IfsPartPropsRecordMapper.java b/inspect-server/src/main/java/com/ruoyi/inspect/mapper/IfsPartPropsRecordMapper.java
index 9548beb..43f8291 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/mapper/IfsPartPropsRecordMapper.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/mapper/IfsPartPropsRecordMapper.java
@@ -1,5 +1,7 @@
package com.ruoyi.inspect.mapper;
+import com.ruoyi.basic.dto.IfsInventoryQuantityDto;
+import com.ruoyi.inspect.dto.IfsPartPropsRecordDTO;
import com.ruoyi.inspect.pojo.IfsPartPropsRecord;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
@@ -15,6 +17,9 @@
public interface IfsPartPropsRecordMapper extends BaseMapper<IfsPartPropsRecord> {
Long selectCountByPartNoAndLotBatchNo(@Param("partNo") String partNo, @Param("lotBatchNo") String lotBatchNo);
+
+ IfsPartPropsRecordDTO selectOneByContract(@Param("dto") IfsInventoryQuantityDto ifsInventoryQuantityDto);
+
}
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/mapper/IfsSplitOrderRecordMapper.java b/inspect-server/src/main/java/com/ruoyi/inspect/mapper/IfsSplitOrderRecordMapper.java
index 98e719b..578afa6 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/mapper/IfsSplitOrderRecordMapper.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/mapper/IfsSplitOrderRecordMapper.java
@@ -1,7 +1,7 @@
package com.ruoyi.inspect.mapper;
-import com.ruoyi.inspect.pojo.IfsSplitOrderRecord;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.inspect.pojo.IfsSplitOrderRecord;
import org.apache.ibatis.annotations.Mapper;
/**
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/IfsPartPropsRecordService.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/IfsPartPropsRecordService.java
index 8d70c77..50e14ab 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/IfsPartPropsRecordService.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/IfsPartPropsRecordService.java
@@ -1,5 +1,6 @@
package com.ruoyi.inspect.service;
+import com.ruoyi.basic.dto.IfsInventoryQuantityDto;
import com.ruoyi.inspect.dto.IfsPartPropsRecordDTO;
import com.ruoyi.inspect.pojo.IfsPartPropsRecord;
import com.baomidou.mybatisplus.extension.service.IService;
@@ -14,4 +15,6 @@
boolean saveOrUpdateProps(IfsPartPropsRecordDTO ifsPartPropsRecord);
IfsPartPropsRecord getOneByIfsId(Long ifsId);
+
+ IfsPartPropsRecordDTO getOneByContract(IfsInventoryQuantityDto ifsInventoryQuantityDto);
}
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/IfsSplitOrderRecordService.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/IfsSplitOrderRecordService.java
index 89da504..3d1b84d 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/IfsSplitOrderRecordService.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/IfsSplitOrderRecordService.java
@@ -1,7 +1,7 @@
package com.ruoyi.inspect.service;
-import com.ruoyi.inspect.pojo.IfsSplitOrderRecord;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.inspect.pojo.IfsSplitOrderRecord;
/**
* @author 27233
@@ -9,5 +9,4 @@
* @createDate 2025-09-23 11:20:20
*/
public interface IfsSplitOrderRecordService extends IService<IfsSplitOrderRecord> {
-
}
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/IfsPartPropsRecordServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/IfsPartPropsRecordServiceImpl.java
index fe99925..97c3271 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/IfsPartPropsRecordServiceImpl.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/IfsPartPropsRecordServiceImpl.java
@@ -3,6 +3,7 @@
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.basic.dto.IfsInventoryQuantityDto;
import com.ruoyi.basic.mapper.IfsInventoryQuantityMapper;
import com.ruoyi.basic.pojo.IfsInventoryQuantity;
import com.ruoyi.common.core.domain.Result;
@@ -48,36 +49,33 @@
if(Objects.isNull(ifsPartPropsRecord)){
throw new RuntimeException("鍙傛暟涓嶈兘涓虹┖");
}
- //鏌ヨ鏄惁宸叉湁鍚屾壒娆″悓闆朵欢鍙风殑鎵规灞炴�э紝娌℃湁鎵嶆洿鏂�
- Long count = baseMapper.selectCountByPartNoAndLotBatchNo(ifsPartPropsRecord.getPartNo(),ifsPartPropsRecord.getLotBatchNo());
- if(count==0){
- //鍒ゆ柇鏄柊澧炶繕鏄洿鏂�
- String actionType = Objects.isNull(ifsPartPropsRecord.getId())?"New":"Modify";
- Map<String, Object> inAttrMap = new HashMap<>();
- inAttrMap.put("RECORD_ID", UUID.randomUUID().toString());
- inAttrMap.put("SYSCODE", "LIMS");
- inAttrMap.put("SYSMODEL", "搴撳瓨鐗╂枡鎵规灞炴�т慨鏀�");
- HashMap<String, Object> batchInfoMap = new HashMap<>();
- batchInfoMap.put("CONTRACT",ifsPartPropsRecord.getContract());//鍩�
- batchInfoMap.put("PART_NO",ifsPartPropsRecord.getPartNo());//闆朵欢鍙�
- batchInfoMap.put("LOT_BATCH_NO",ifsPartPropsRecord.getLotBatchNo());//鎵规鍙�
- batchInfoMap.put("ATTR1",ifsPartPropsRecord.getDrumNo());//杞藉叿缂栧彿
- batchInfoMap.put("ATTR2",ifsPartPropsRecord.getStartMeterMark().toString());//璧峰绫虫爣
- batchInfoMap.put("ATTR3",ifsPartPropsRecord.getEndMeterMark().toString());//鎴绫虫爣
- batchInfoMap.put("ATTR4", ifsPartPropsRecord.getOuterColor());//澶栨姢棰滆壊
- batchInfoMap.put("ATTR5",ifsPartPropsRecord.getInsulationColor());//缁濈紭棰滆壊
- batchInfoMap.put("ATTR8",ifsPartPropsRecord.getLetteringInfo());//鍗板瓧淇℃伅
- batchInfoMap.put("ATTR23","杞﹂棿璁㈠崟");//鍏ュ簱鏉ユ簮
- batchInfoMap.put("ATTR24","0");//鍒嗗壊棰勭暀鏁伴噺
- batchInfoMap.put("ACTION_TYPE",actionType);//鎿嶄綔绫诲瀷
- inAttrMap.put("BATCH_INFO", Collections.singletonList(batchInfoMap));
- Result result = ifsApiUtils.importPartLotAttr(ifsPartPropsRecord.getContract(),JSONUtil.toJsonStr(inAttrMap));
- if(result.getCode()!=200){
- throw new RuntimeException("搴撳瓨鐗╂枡鎵规灞炴�ф洿鏂板け璐ワ細"+result.getMessage());
- }
+ //鍒ゆ柇鏄柊澧炶繕鏄洿鏂�
+ String actionType = Objects.isNull(ifsPartPropsRecord.getId())?"New":"Modify";
+ Map<String, Object> inAttrMap = new HashMap<>();
+ inAttrMap.put("RECORD_ID", UUID.randomUUID().toString());
+ inAttrMap.put("SYSCODE", "LIMS");
+ inAttrMap.put("SYSMODEL", "搴撳瓨鐗╂枡鎵规灞炴�т慨鏀�");
+ HashMap<String, Object> batchInfoMap = new HashMap<>();
+ batchInfoMap.put("CONTRACT",ifsPartPropsRecord.getContract());//鍩�
+ batchInfoMap.put("PART_NO",ifsPartPropsRecord.getPartNo());//闆朵欢鍙�
+ batchInfoMap.put("LOT_BATCH_NO",ifsPartPropsRecord.getLotBatchNo());//鎵规鍙�
+ batchInfoMap.put("ATTR1",ifsPartPropsRecord.getDrumNo());//杞藉叿缂栧彿
+ batchInfoMap.put("ATTR2",ifsPartPropsRecord.getStartMeterMark().toString());//璧峰绫虫爣
+ batchInfoMap.put("ATTR3",ifsPartPropsRecord.getEndMeterMark().toString());//鎴绫虫爣
+ batchInfoMap.put("ATTR4", ifsPartPropsRecord.getOuterColor());//澶栨姢棰滆壊
+ batchInfoMap.put("ATTR5",ifsPartPropsRecord.getInsulationColor());//缁濈紭棰滆壊
+ batchInfoMap.put("ATTR8",ifsPartPropsRecord.getLetteringInfo());//鍗板瓧淇℃伅
+ batchInfoMap.put("ATTR23","杞﹂棿璁㈠崟");//鍏ュ簱鏉ユ簮
+ batchInfoMap.put("ATTR24","0");//鍒嗗壊棰勭暀鏁伴噺
+ batchInfoMap.put("ACTION_TYPE",actionType);//鎿嶄綔绫诲瀷
+ inAttrMap.put("BATCH_INFO", Collections.singletonList(batchInfoMap));
+ Result result = ifsApiUtils.importPartLotAttr(ifsPartPropsRecord.getContract(),JSONUtil.toJsonStr(inAttrMap));
+ if(result.getCode()!=200){
+ throw new RuntimeException("搴撳瓨鐗╂枡鎵规灞炴�ф洿鏂板け璐ワ細"+result.getMessage());
}
return this.saveOrUpdate(ifsPartPropsRecord);
}
+
@Override
public IfsPartPropsRecord getOneByIfsId(Long ifsId) {
@@ -112,6 +110,11 @@
}
return this.getOne(Wrappers.<IfsPartPropsRecord>lambdaQuery().eq(IfsPartPropsRecord::getIfsInventoryId,ifsId).last("limit 1"));
}
+
+ @Override
+ public IfsPartPropsRecordDTO getOneByContract(IfsInventoryQuantityDto ifsInventoryQuantityDto) {
+ return baseMapper.selectOneByContract(ifsInventoryQuantityDto);
+ }
}
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/IfsSplitOrderRecordServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/IfsSplitOrderRecordServiceImpl.java
index 21fa339..b19c71e 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/IfsSplitOrderRecordServiceImpl.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/IfsSplitOrderRecordServiceImpl.java
@@ -1,9 +1,9 @@
package com.ruoyi.inspect.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.inspect.mapper.IfsSplitOrderRecordMapper;
import com.ruoyi.inspect.pojo.IfsSplitOrderRecord;
import com.ruoyi.inspect.service.IfsSplitOrderRecordService;
-import com.ruoyi.inspect.mapper.IfsSplitOrderRecordMapper;
import org.springframework.stereotype.Service;
/**
@@ -14,7 +14,6 @@
@Service
public class IfsSplitOrderRecordServiceImpl extends ServiceImpl<IfsSplitOrderRecordMapper, IfsSplitOrderRecord>
implements IfsSplitOrderRecordService{
-
}
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsReportServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsReportServiceImpl.java
index 620ed51..816444e 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsReportServiceImpl.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsReportServiceImpl.java
@@ -875,8 +875,6 @@
});
}
-
-
}
/**
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/RawMaterialOrderServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/RawMaterialOrderServiceImpl.java
index 7ae57fc..e253ca4 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/RawMaterialOrderServiceImpl.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/RawMaterialOrderServiceImpl.java
@@ -7,6 +7,7 @@
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.IoUtil;
import cn.hutool.core.util.StrUtil;
+import cn.hutool.json.JSONUtil;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.support.ExcelTypeEnum;
@@ -27,6 +28,7 @@
import com.ruoyi.common.constant.InsOrderTypeConstants;
import com.ruoyi.common.core.domain.Result;
import com.ruoyi.common.core.domain.entity.User;
+import com.ruoyi.common.enums.ContractType;
import com.ruoyi.common.enums.OrderType;
import com.ruoyi.common.numgen.NumberGenerator;
import com.ruoyi.common.utils.LimsDateUtil;
@@ -35,10 +37,7 @@
import com.ruoyi.common.utils.WxCpUtils;
import com.ruoyi.common.utils.api.IfsApiUtils;
import com.ruoyi.framework.exception.ErrorException;
-import com.ruoyi.inspect.dto.CopperInsOrderDto;
-import com.ruoyi.inspect.dto.OrderSplitDTO;
-import com.ruoyi.inspect.dto.RawMaterialStandardTreeDto;
-import com.ruoyi.inspect.dto.SampleProductDto;
+import com.ruoyi.inspect.dto.*;
import com.ruoyi.inspect.excel.OrderSplitExcelData;
import com.ruoyi.inspect.excel.OrderSplitExcelListener;
import com.ruoyi.inspect.mapper.InsOrderMapper;
@@ -101,8 +100,6 @@
private IfsApiUtils ifsApiUtils;
private IfsSplitOrderRecordService ifsSplitOrderRecordService;
-
- private InsUnqualifiedHandlerMapper insUnqualifiedHandlerMapper;
private final NumberGenerator<IfsSplitOrderRecord> splitOrderRecordNumberGenerator;
diff --git a/inspect-server/src/main/resources/mapper/IfsPartPropsRecordMapper.xml b/inspect-server/src/main/resources/mapper/IfsPartPropsRecordMapper.xml
index 4cccb84..9c474c9 100644
--- a/inspect-server/src/main/resources/mapper/IfsPartPropsRecordMapper.xml
+++ b/inspect-server/src/main/resources/mapper/IfsPartPropsRecordMapper.xml
@@ -31,4 +31,25 @@
and iiq.update_batch_no= #{lotBatchNo}
and ippr.id is not null
</select>
+ <select id="selectOneByContract" resultType="com.ruoyi.inspect.dto.IfsPartPropsRecordDTO">
+ select iiq.part_no,
+ iiq.update_batch_no as lot_batch_no,
+ iiq.contract,
+ ippr.id,
+ ippr.ifs_inventory_id,
+ ippr.drum_no,
+ ippr.start_meter_mark,
+ ippr.end_meter_mark,
+ ippr.insulation_color,
+ ippr.outer_color,
+ ippr.lettering_info,
+ ippr.part_props_flag
+ from ifs_inventory_quantity iiq
+ left join ifs_part_props_record ippr on iiq.id = ippr.ifs_inventory_id
+ where iiq.contract = #{dto.contract}
+ AND iiq.update_batch_no = #{dto.updateBatchNo}
+ AND iiq.part_no = #{dto.partNo}
+ AND iiq.order_type = #{dto.orderType}
+ LIMIT 1
+ </select>
</mapper>
diff --git a/performance-server/src/main/java/com/ruoyi/performance/controller/PerformanceShiftController.java b/performance-server/src/main/java/com/ruoyi/performance/controller/PerformanceShiftController.java
index b49c9f8..d3f2cd4 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/controller/PerformanceShiftController.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/controller/PerformanceShiftController.java
@@ -55,6 +55,12 @@
@Resource
private UserService userService;
+ @ApiOperation(value = "缂栬緫鎵规敞鍐呭")
+ @PostMapping("editAnnotationText")
+ public Result<?> editAnnotationText(@RequestBody PerformanceShift performanceShift){
+ return Result.success(performanceShiftService.editAnnotationText(performanceShift));
+ }
+
@ApiOperation(value = "鎺掔彮")
@PostMapping("add")
public Result<?> performanceShiftAdd(@RequestBody PerformanceShiftAddDto performanceShiftAddDto) {
diff --git a/performance-server/src/main/java/com/ruoyi/performance/mapper/PerformanceShiftMapper.java b/performance-server/src/main/java/com/ruoyi/performance/mapper/PerformanceShiftMapper.java
index b339b4f..29a4691 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/mapper/PerformanceShiftMapper.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/mapper/PerformanceShiftMapper.java
@@ -7,6 +7,7 @@
import com.ruoyi.performance.pojo.PerformanceShift;
import org.apache.ibatis.annotations.Param;
+import java.time.LocalDate;
import java.util.List;
import java.util.Map;
@@ -22,7 +23,8 @@
IPage<PerformanceShiftMapDto> performanceShiftPage(
Page<Object> page,
- @Param("time") String time,
+ @Param("firstDayOfMonth") LocalDate firstDayOfMonth,
+ @Param("lastDayOfMonth") LocalDate lastDayOfMonth,
@Param("userName") String userName,
@Param("laboratory") String laboratory
);
diff --git a/performance-server/src/main/java/com/ruoyi/performance/pojo/PerformanceShift.java b/performance-server/src/main/java/com/ruoyi/performance/pojo/PerformanceShift.java
index bad6986..a0c9075 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/pojo/PerformanceShift.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/pojo/PerformanceShift.java
@@ -51,4 +51,8 @@
@ApiModelProperty("鏇存柊鏃堕棿")
@TableField(fill = FieldFill.INSERT_UPDATE)
private LocalDateTime updateTime;
+
+ @ApiModelProperty("鎵规敞鍐呭")
+ private String annotationText;
+
}
diff --git a/performance-server/src/main/java/com/ruoyi/performance/service/PerformanceShiftService.java b/performance-server/src/main/java/com/ruoyi/performance/service/PerformanceShiftService.java
index dce8d3a..c792180 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/service/PerformanceShiftService.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/service/PerformanceShiftService.java
@@ -29,4 +29,6 @@
Map<Object, Object> exportToYearExcel(String time, String userName, String laboratory) throws Exception;
Map<Object, Object> exportToMonthExcel(String time, String userName, String laboratory);
+
+ boolean editAnnotationText(PerformanceShift performanceShift);
}
diff --git a/performance-server/src/main/java/com/ruoyi/performance/service/impl/PerformanceShiftServiceImpl.java b/performance-server/src/main/java/com/ruoyi/performance/service/impl/PerformanceShiftServiceImpl.java
index 966317f..507af3f 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/service/impl/PerformanceShiftServiceImpl.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/service/impl/PerformanceShiftServiceImpl.java
@@ -147,7 +147,16 @@
laboratory = departLims;
}
}
- IPage<PerformanceShiftMapDto> mapIPage = baseMapper.performanceShiftPage(page, time, userName, laboratory);
+ // 鑾峰彇header鏃堕棿
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+ DateTimeFormatter formatters = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+ // 灏嗗瓧绗︿覆鏃堕棿杞崲涓� LocalDateTime 绫诲瀷鏃堕棿
+ LocalDateTime localDateTime = LocalDateTime.parse(time, formatters);
+ //鐝鏃堕棿鑼冨洿涓轰笂涓湀鐨�26鍙峰埌鏈湀鐨�25鍙�
+ LocalDate firstDayOfMonth = localDateTime.toLocalDate().minusMonths(1L).withDayOfMonth(26);
+ LocalDate lastDayOfMonth = localDateTime.toLocalDate().withDayOfMonth(25);
+
+ IPage<PerformanceShiftMapDto> mapIPage = baseMapper.performanceShiftPage(page, firstDayOfMonth,lastDayOfMonth, userName, laboratory);
List<SysDictData> shiftType = dictTypeService.selectDictDataByName("鐝绫诲瀷");
List<Map<String, Object>> mapYearIPage = baseMapper.performanceShiftYearPage(time, userName, laboratory);
@@ -168,22 +177,23 @@
i.getMonthlyAttendance().put(enums.getDictLabel(), bigDecimal.add(new BigDecimal("1")));
}
// 鍗婏紝鍙﹀鍗婂ぉ绠楃粰鏃�
- if (shiftTimeAndShift[1].equals("5") && enums.getDictValue().equals("0")) {
- BigDecimal bigDecimal = new BigDecimal(i.getMonthlyAttendance().get(enums.getDictLabel()).toString());
- i.getMonthlyAttendance().put(enums.getDictLabel(), bigDecimal.add(new BigDecimal("0.5")));
- }
+// if (shiftTimeAndShift[1].equals("5") && enums.getDictValue().equals("0")) {
+// BigDecimal bigDecimal = new BigDecimal(i.getMonthlyAttendance().get(enums.getDictLabel()).toString());
+// i.getMonthlyAttendance().put(enums.getDictLabel(), bigDecimal.add(new BigDecimal("0.5")));
+// }
}
// 鏃╋紝涓紝澶滐紝宸�
- if (shiftTimeAndShift[1].equals("1") || shiftTimeAndShift[1].equals("2") || shiftTimeAndShift[1].equals("0") || shiftTimeAndShift[1].equals("6")) {
+ if (shiftTimeAndShift[1].equals("2") || shiftTimeAndShift[1].equals("3") || shiftTimeAndShift[1].equals("4")) {
i.getMonthlyAttendance().put("totalAttendance", totalAttendance += 1);
}
// 鍗�
- if (shiftTimeAndShift[1].equals("5")) {
- i.getMonthlyAttendance().put("totalAttendance", totalAttendance += 0.5);
- }
- hashMap.put("id", shiftTimeAndShift[2]);
+// if (shiftTimeAndShift[1].equals("5")) {
+// i.getMonthlyAttendance().put("totalAttendance", totalAttendance += 0.5);
+// }
+ hashMap.put("id", shiftTimeAndShift[3]);
hashMap.put("shift", shiftTimeAndShift[1]);
hashMap.put("time", shiftTimeAndShift[0]);
+ hashMap.put("annotationText", shiftTimeAndShift[2]);
map.add(hashMap);
}
double totalYearAttendance = 0;
@@ -199,31 +209,24 @@
hashMap.put(enums.getDictLabel(), num.add(new BigDecimal("1")));
}
// 鍗婏紝鍙﹀鍗婂ぉ绠楃粰鏃�
- if (record.get("shift").equals("5") && enums.getDictValue().equals("0")) {
- BigDecimal bigDecimal = new BigDecimal(hashMap.get(enums.getDictLabel()).toString());
- hashMap.put(enums.getDictLabel(), bigDecimal.add(new BigDecimal("0.5")));
- }
+// if (record.get("shift").equals("5") && enums.getDictValue().equals("0")) {
+// BigDecimal bigDecimal = new BigDecimal(hashMap.get(enums.getDictLabel()).toString());
+// hashMap.put(enums.getDictLabel(), bigDecimal.add(new BigDecimal("0.5")));
+// }
}
- if (record.get("shift").equals("1") || record.get("shift").equals("2") || record.get("shift").equals("0") || record.get("shift").equals("6")) {
+ if (record.get("shift").equals("2") || record.get("shift").equals("3") || record.get("shift").equals("4")) {
hashMap.put("totalAttendance", totalYearAttendance += 1);
}
// 鍗�
- if (record.get("shift").equals("5")) {
- hashMap.put("totalAttendance", totalYearAttendance += 0.5);
- }
+// if (record.get("shift").equals("5")) {
+// hashMap.put("totalAttendance", totalYearAttendance += 0.5);
+// }
}
}
i.setSidebarAnnualAttendance(hashMap);
i.setList(map);
i.setShiftTime(null);
});
- // 鑾峰彇header鏃堕棿
- DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
- DateTimeFormatter formatters = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
- // 灏嗗瓧绗︿覆鏃堕棿杞崲涓� LocalDateTime 绫诲瀷鏃堕棿
- LocalDateTime localDateTime = LocalDateTime.parse(time, formatters);
- LocalDate firstDayOfMonth = localDateTime.toLocalDate().withDayOfMonth(1);
- LocalDate lastDayOfMonth = localDateTime.toLocalDate().with(TemporalAdjusters.lastDayOfMonth());
List<LocalDateTime> localDateTimesBetween = getLocalDateTimesBetween(firstDayOfMonth.atStartOfDay(), lastDayOfMonth.atStartOfDay());
List<Object> list1 = new ArrayList<>();
for (LocalDateTime dateTime : localDateTimesBetween) {
@@ -409,9 +412,10 @@
if (shiftTimeAndShift[1].equals("5")) {
i.getMonthlyAttendance().put("totalAttendance", totalAttendance += 0.5);
}
- hashMap.put("id", shiftTimeAndShift[2]);
+ hashMap.put("id", shiftTimeAndShift[3]);
hashMap.put("shift", shiftTimeAndShift[1]);
hashMap.put("time", shiftTimeAndShift[0]);
+ hashMap.put("annotationText", shiftTimeAndShift[2]);
map.add(hashMap);
}
i.setList(map);
@@ -427,6 +431,11 @@
return map;
}
+ @Override
+ public boolean editAnnotationText(PerformanceShift performanceShift) {
+ return this.updateById(performanceShift);
+ }
+
// 鑾峰彇涓や釜localDateTime鐨勬瘡涓�澶�
public static List<LocalDateTime> getLocalDateTimesBetween(LocalDateTime start, LocalDateTime end) {
List<LocalDateTime> localDateTimes = new ArrayList<>();
diff --git a/performance-server/src/main/resources/mapper/PerformanceShiftMapper.xml b/performance-server/src/main/resources/mapper/PerformanceShiftMapper.xml
index 56bd55b..cbdee95 100644
--- a/performance-server/src/main/resources/mapper/PerformanceShiftMapper.xml
+++ b/performance-server/src/main/resources/mapper/PerformanceShiftMapper.xml
@@ -12,7 +12,8 @@
<select id="performanceShiftPage" resultMap="performanceShiftPageMap">
SELECT
u2.name name,
- GROUP_CONCAT(s.work_time, '锛�', s.shift, '锛�', s.id order by s.work_time SEPARATOR ';') AS shift_time, u2.id user_id
+ GROUP_CONCAT(s.work_time, '锛�', s.shift, '锛�',IFNULL(s.annotation_text,''), '锛�',s.id order by s.work_time SEPARATOR ';') AS shift_time,
+ u2.id user_id
FROM performance_shift s
LEFT JOIN (SELECT distinct u.* from
user u
@@ -25,8 +26,8 @@
) u2 on u2.id = s.user_id
<where>
name is not null
- <if test="time != null and time != ''">
- and DATE_FORMAT(s.work_time, '%Y-%m') = DATE_FORMAT(#{time}, '%Y-%m' )
+ <if test="firstDayOfMonth != null and lastDayOfMonth != null">
+ AND s.work_time BETWEEN #{firstDayOfMonth} AND #{lastDayOfMonth}
</if>
<if test="userName != null and userName != ''">
and u2.name like concat('%', #{userName}, '%')
diff --git a/ruoyi-admin-ztns/src/main/resources/application-druid.yml b/ruoyi-admin-ztns/src/main/resources/application-druid.yml
index aa0059c..9ddd314 100644
--- a/ruoyi-admin-ztns/src/main/resources/application-druid.yml
+++ b/ruoyi-admin-ztns/src/main/resources/application-druid.yml
@@ -167,9 +167,9 @@
- contract: KJNS #绉戞妧鑰愪笣鍩�
contract-key-get: ueWGmvzoc4iR0y%2FsP6iOMeYn3ohC45KTCl3dZ94WaNk%3D #get璇锋眰瀵嗛挜
contract-key-post: ueWGmvzoc4iR0y/sP6iOMeYn3ohC45KTCl3dZ94WaNk= #post璇锋眰瀵嗛挜
- custorder: http://192.168.20.50/PurchService.ashx? #get璇锋眰鍦板潃
- custorder-port: http://192.168.20.50:8008/PurchService.ashx? #post璇锋眰鍦板潃
- erp-services: http://192.168.20.50:8081 #erp璇锋眰鍦板潃
+ custorder: http://192.168.47.50/PurchService.ashx? #get璇锋眰鍦板潃
+ custorder-port: http://192.168.20.47:8008/PurchService.ashx? #post璇锋眰鍦板潃
+ erp-services: http://192.168.20.47:8081 #erp璇锋眰鍦板潃
tobe-inspected-location: A101 #寰呮搴撲綅
raw-qualified-location: A201 #鍘熸潗鏂欏悎鏍煎簱浣�
product-qualified-location: C101 #鎴愬搧鍚堟牸搴撲綅
--
Gitblit v1.9.3