From afebb0ff6b79092519377d943462cc084b9cdb28 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期日, 29 九月 2024 17:59:25 +0800
Subject: [PATCH] 检验下单新增附件,时间,电机编号
---
inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderService.java | 8 +
inspect-server/src/main/java/com/yuanchu/mom/pojo/InsSample.java | 8 ++
inspect-server/src/main/java/com/yuanchu/mom/mapper/InsSampleMapper.java | 2
inspect-server/src/main/resources/mapper/InsOrderMapper.xml | 1
inspect-server/src/main/resources/mapper/InsSampleMapper.xml | 12 +++
inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrder.java | 13 ++
inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java | 25 ++++-
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java | 115 +++++++++++++++++++++++-----
inspect-server/src/main/java/com/yuanchu/mom/dto/InsOrderDto.java | 15 +++
inspect-server/src/main/java/com/yuanchu/mom/dto/SampleOrderDto.java | 4 +
10 files changed, 173 insertions(+), 30 deletions(-)
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java
index cf6dc1a..7eecc14 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java
@@ -5,13 +5,11 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.mom.annotation.ValueAuth;
import com.yuanchu.mom.annotation.ValueClassify;
-import com.yuanchu.mom.dto.CostStatisticsDto;
-import com.yuanchu.mom.dto.SampleOrderDto;
-import com.yuanchu.mom.dto.SampleProductDto;
-import com.yuanchu.mom.dto.SampleProductDto2;
+import com.yuanchu.mom.dto.*;
import com.yuanchu.mom.pojo.InsOrder;
import com.yuanchu.mom.pojo.InsOrderTemplate;
import com.yuanchu.mom.pojo.InsProduct;
+import com.yuanchu.mom.pojo.InsSample;
import com.yuanchu.mom.service.InsOrderService;
import com.yuanchu.mom.service.InsOrderTemplateService;
import com.yuanchu.mom.service.InsProductService;
@@ -23,6 +21,7 @@
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.time.LocalDateTime;
@@ -72,13 +71,13 @@
@ValueClassify("妫�楠屼笅鍗�")
@ApiOperation(value = "娣诲姞妫�楠屼笅鍗曟暟鎹�")
@PostMapping("/addInsOrder")
- public Result<?> addInsOrder(String str) {
+ public Result<?> addInsOrder(@RequestParam String str, @RequestParam List<MultipartFile> files) {
Map<String, Object> map = JSON.parseObject(str, Map.class);
JSONArray jsonArray = JSON.parseArray(map.get("list")+"");
List<SampleProductDto> list = jsonArray.toJavaList(SampleProductDto.class);
InsOrder insOrder = JSON.parseObject(JSON.toJSONString(map.get("insOrder")), InsOrder.class);
List<List<Integer>> pairing = JSON.parseArray(map.get("pairing")+"");
- return Result.success(insOrderService.addInsOrder(list, insOrder, pairing));
+ return Result.success(insOrderService.addInsOrder(list, insOrder, pairing,files));
}
@ApiOperation(value = "鏌ヨ璁㈠崟鏈�闀块璁℃椂闂�")
@@ -218,6 +217,20 @@
return Result.success(insOrderService.labelPrinting(ids));
}
+ @ValueAuth
+ @ApiOperation(value = "鏍¢獙鐢垫満缂栧彿")
+ @PostMapping("/checkNumber")
+ public Result<?> checkNumber(String ids) {
+ return Result.success(insOrderService.checkNumber(ids));
+ }
+
+ @ValueAuth
+ @ApiOperation(value = "濉啓鐢垫満缂栧彿")
+ @PostMapping("/addNumber")
+ public Result<?> addNumber(@RequestBody List<InsSample> insSamples) {
+ return Result.success(insOrderService.addNumber(insSamples));
+ }
+
@ValueClassify("璐圭敤缁熻")
@ApiOperation(value = "璐圭敤缁熻瀵煎嚭")
@PostMapping("/export")
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/dto/InsOrderDto.java b/inspect-server/src/main/java/com/yuanchu/mom/dto/InsOrderDto.java
new file mode 100644
index 0000000..0e566ec
--- /dev/null
+++ b/inspect-server/src/main/java/com/yuanchu/mom/dto/InsOrderDto.java
@@ -0,0 +1,15 @@
+package com.yuanchu.mom.dto;
+
+import lombok.Data;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.List;
+
+//鏂板鐨勫弬鏁�
+@Data
+public class InsOrderDto {
+
+ private String str;
+
+ private MultipartFile[] files;
+}
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/dto/SampleOrderDto.java b/inspect-server/src/main/java/com/yuanchu/mom/dto/SampleOrderDto.java
index 84338ac..b319654 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/dto/SampleOrderDto.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/dto/SampleOrderDto.java
@@ -35,6 +35,10 @@
@ApiModelProperty("鏍峰搧缂栧彿")
private String sampleCode;
+ @ValueTableShow(3)
+ @ApiModelProperty("鏍锋満缂栧彿")
+ private String motorNumber;
+
@ValueTableShow(7)
@ApiModelProperty("妫�楠岃繘搴�%")
private String insProgress;
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsSampleMapper.java b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsSampleMapper.java
index ac01ee9..92ebf41 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsSampleMapper.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsSampleMapper.java
@@ -55,6 +55,8 @@
//杩囨护鎺夋病鏈夋楠岄」鐩殑鏍峰搧
List<InsSample> selectSampleListByOrderId(Integer orderId);
+
+ List<InsSample> selectInsSample(List<Integer> list);
}
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrder.java b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrder.java
index db2f535..378450c 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrder.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrder.java
@@ -37,7 +37,7 @@
/**
* 澶栭儴濮旀墭缂栧彿
*/
- @ValueTableShow(1)
+ @ValueTableShow(2)
@Size(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255")
@ApiModelProperty(value = "澶栭儴濮旀墭缂栧彿")
@Length(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255")
@@ -60,7 +60,6 @@
/**
* 涓嬪崟鍗曚綅
*/
- @ValueTableShow(2)
@Size(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255")
@ApiModelProperty("濮旀墭鍗曚綅")
@Length(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255")
@@ -127,7 +126,6 @@
@Length(max= 255,message="缂栫爜闀垮害涓嶈兘瓒呰繃255")
private String otcCode;
-// @ValueTableShow(11)
@ApiModelProperty("涓嬪崟浜�")
@TableField(fill = FieldFill.INSERT)
private Integer createUser;
@@ -252,5 +250,14 @@
@ApiModelProperty("闆朵欢鍙�(鍏朵粬鎴愬搧杩欎釜瀛楁闇�瑕佸~鍐欑殑淇℃伅)")
private String partNo;
+ /**
+ * 鏍锋満瀹屾垚鏃堕棿
+ */
+ @ValueTableShow(13)
+ @ApiModelProperty("鏍锋満瀹屾垚鏃堕棿")
+ @TableField(fill = FieldFill.INSERT)
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private LocalDate issueTime;
+
}
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsSample.java b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsSample.java
index 65d94be..e42ef18 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsSample.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsSample.java
@@ -117,4 +117,12 @@
@ApiModelProperty("璇曢獙瑕佹眰:绉诲姩,鑱旈��,鐢典俊")
private String testRequirements;
+ /**
+ * 鏍锋満缂栧彿
+ */
+ private String motorNumber;
+
+ @TableField(exist = false,select = false)
+ private String entrustCode;
+
}
\ No newline at end of file
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderService.java b/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderService.java
index 4e6a342..a15d44f 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderService.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderService.java
@@ -5,6 +5,8 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.yuanchu.mom.dto.*;
import com.yuanchu.mom.pojo.InsOrder;
+import com.yuanchu.mom.pojo.InsSample;
+import org.springframework.web.multipart.MultipartFile;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletResponse;
@@ -25,7 +27,7 @@
//鍒嗛厤绔欑偣
int upInsOrder(Integer orderId,Integer sampleId, String appointed, Integer userId,String sonLaboratory);
- int addInsOrder(List<SampleProductDto> list, InsOrder insOrder, List<List<Integer>> pairing);
+ int addInsOrder(List<SampleProductDto> list, InsOrder insOrder, List<List<Integer>> pairing, List<MultipartFile> files);
Map<String, Object> getInsOrder(Integer id);
@@ -47,5 +49,9 @@
List<SampleProductDto3> labelPrinting(String ids);
+ Map<String, List<InsSample>> checkNumber(String ids);
+
void export(CostStatisticsDto costStatisticsDto,HttpServletResponse response)throws IOException, ServletException;
+
+ int addNumber(List<InsSample> insSamples);
}
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java
index efcae29..e1d1bc2 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java
@@ -1,5 +1,6 @@
package com.yuanchu.mom.service.impl;
+import cn.hutool.core.lang.UUID;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.excel.EasyExcel;
@@ -20,6 +21,7 @@
import com.yuanchu.mom.exception.ErrorException;
import com.yuanchu.mom.mapper.*;
import com.yuanchu.mom.pojo.*;
+import com.yuanchu.mom.service.InsOrderPlanService;
import com.yuanchu.mom.service.InsOrderService;
import com.yuanchu.mom.service.InsProductService;
import com.yuanchu.mom.utils.GiveCode;
@@ -29,10 +31,14 @@
import lombok.AllArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.multipart.MultipartFile;
+import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
+import java.io.File;
import java.io.IOException;
import java.net.URLEncoder;
import java.time.LocalDate;
@@ -48,37 +54,46 @@
* @createDate 2024-03-12 16:17:55
*/
@Service
-@AllArgsConstructor
@Transactional(rollbackFor = Exception.class)
-public class InsOrderServiceImpl extends ServiceImpl<InsOrderMapper, InsOrder>
- implements InsOrderService {
+public class InsOrderServiceImpl extends ServiceImpl<InsOrderMapper, InsOrder> implements InsOrderService {
+ @Resource
private GetLook getLook;
-
+ @Resource
private RoleMapper roleMapper;
-
+ @Resource
private InsOrderMapper insOrderMapper;
+ @Value("${file.path}")
+ private String imgUrl;
+
+ @Value("${wordUrl}")
+ private String wordUrl;
+ @Resource
+ private InsOrderFileMapper insOrderFileMapper;
+ @Resource
private InsSampleMapper insSampleMapper;
+ @Resource
private WarehouseHistoryMapper warehouseHistoryMapper;
-
+ @Resource
private InsProductMapper insProductMapper;
+ @Resource
private InsProductService insProductService;
-
+ @Resource
private InsProductUserMapper insProductUserMapper;
-
+ @Resource
private GiveCode giveCode;
-
+ @Resource
private InsSampleUserMapper insSampleUserMapper;
-
+ @Resource
private InsOrderStateMapper insOrderStateMapper;
-
+ @Resource
UserMapper userMapper;
-
+ @Resource
PowerMapper powerMapper;
-
+ @Resource
CustomMapper customMapper;
-
+ @Resource
QYWXApi qywxApi;
@@ -148,7 +163,7 @@
@Override
@Transactional(rollbackFor = Exception.class)
- public int addInsOrder(List<SampleProductDto> list, InsOrder insOrder, List<List<Integer>> pairing) {
+ public int addInsOrder(List<SampleProductDto> list, InsOrder insOrder, List<List<Integer>> pairing, List<MultipartFile> files) {
insOrder.setState(0);
//鍒ゆ柇閫夋嫨鐨勫鎵樺崟浣嶄笌鍒跺崟浜虹殑濮旀墭鍗曚綅鏄惁涓�鑷�
Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId");
@@ -181,7 +196,7 @@
a.setInsOrderId(insOrder.getId());
//鏍峰搧缂栧彿
if (StrUtil.isEmpty(a.getSampleCode())) {
- a.setSampleCode("YP-" + a.getModel()+"-" + giveCode.split("-")[2] + "-" + count.get());
+ a.setSampleCode("YP-" + a.getModel() + "-" + giveCode.split("-")[2] + "-" + count.get());
}
insSampleMapper.insert(a);
//鏍峰搧鐨勬楠岄」鐩�
@@ -229,6 +244,42 @@
if (insOrder.getOrderType().equals("C")) {
insOrder.setState(1);
upInsOrderOfState(insOrder);
+ }
+ //濡傛灉鏈変笂浼犵殑闄勪欢
+ if (CollectionUtils.isNotEmpty(files)) {
+ for (MultipartFile file : files ) {
+ String urlString;
+ String pathName;
+ String path;
+ String filename = file.getOriginalFilename();
+ String contentType = file.getContentType();
+ InsOrderFile insOrderFile = new InsOrderFile();
+ insOrderFile.setInsOrderId(insOrder.getId());
+ insOrderFile.setFileName(filename);
+ if (contentType != null && contentType.startsWith("image/")) {
+ // 鏄浘鐗�
+ path = imgUrl;
+ insOrderFile.setType(1);
+ } else {
+ // 鏄枃浠�
+ path = wordUrl;
+ insOrderFile.setType(2);
+ }
+ try {
+ File realpath = new File(path);
+ if (!realpath.exists()) {
+ realpath.mkdirs();
+ }
+ pathName = UUID.randomUUID() + "_" + file.getOriginalFilename();
+ urlString = realpath + "/" + pathName;
+ file.transferTo(new File(urlString));
+ insOrderFile.setFileUrl(pathName);
+ insOrderFileMapper.insert(insOrderFile);
+ } catch (Exception e) {
+ e.printStackTrace();
+ System.err.println("闄勪欢涓婁紶閿欒");
+ }
+ }
}
return insOrder.getId();
}
@@ -453,11 +504,7 @@
List<Integer> list = Arrays.stream(ids.split(",")).map(Integer::parseInt).collect(Collectors.toList());
List<SampleProductDto3> sampleProductDtos = insSampleMapper.selectSampleProductListByOrderId3(list);
Set<String> processedCodes = new HashSet<>();
- //濡傛灉鏄厜绾ゆ垨鑰呮槸鍏夌氦甯﹂粯璁ゅ彧鎵撳嵃绗竴涓�
List<SampleProductDto3> sampleProductDto3s = sampleProductDtos.stream().filter(sampleProductDto3 -> {
- if (!"鍏夌氦".equals(sampleProductDto3.getIoSampleType()) && !"鍏夌氦甯�".equals(sampleProductDto3.getIoSampleType())) {
- return true;
- }
if (processedCodes.contains(sampleProductDto3.getCode())) {
return false;
} else {
@@ -466,6 +513,26 @@
}
}).collect(Collectors.toList());
return sampleProductDto3s;
+ }
+
+ //鏍¢獙鐢垫満缂栧彿
+ @Override
+ public Map<String, List<InsSample>> checkNumber(String ids) {
+ List<InsSample> samples = new ArrayList<>();
+ List<Integer> list = Arrays.stream(ids.split(",")).map(Integer::parseInt).collect(Collectors.toList());
+ List<InsSample> sampleDtos = insSampleMapper.selectInsSample(list);
+ //鍒ゆ柇鏍峰搧鍨嬪彿鏄惁鏄疊Z
+ for (InsSample sampleDto : sampleDtos) {
+ if (sampleDto.getModel().contains("BZ")) {
+ if (ObjectUtils.isEmpty(sampleDto.getMotorNumber())) {
+ samples.add(sampleDto);
+ }
+ }
+ }
+ if (CollectionUtils.isNotEmpty(samples)) {
+ Map<String, List<InsSample>> collect = samples.stream().collect(Collectors.groupingBy(InsSample::getEntrustCode));
+ return collect;
+ } else return null;
}
@Override
@@ -518,6 +585,14 @@
throw new RuntimeException("瀵煎嚭澶辫触");
}
}
+
+ @Override
+ public int addNumber(List<InsSample> insSamples) {
+ for (InsSample insSample : insSamples) {
+ insSampleMapper.updateById(insSample);
+ }
+ return 0;
+ }
}
diff --git a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
index f466f31..b748420 100644
--- a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
@@ -72,6 +72,7 @@
CONCAT(ROUND(approved_product_counts.approved_count / total_product_counts.total_count * 100, 2), '%') AS
insProgress,
GROUP_CONCAT(DISTINCT isa.sample_code SEPARATOR '锛�') AS sample_code,
+ GROUP_CONCAT(DISTINCT isa.motor_number SEPARATOR '锛�') AS motor_number,
GROUP_CONCAT(DISTINCT isa.sample SEPARATOR ' ') AS sample_name,
GROUP_CONCAT(DISTINCT isa.model SEPARATOR ' ') AS sample_model,
u.name
diff --git a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
index 780e279..b03de3c 100644
--- a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
@@ -505,6 +505,7 @@
<select id="selectSampleProductListByOrderId3" resultMap="sampleDto3">
select isa.id,
sample_code,
+ motor_number,
isa.sample,
entrust_code,
is_leave,
@@ -740,6 +741,7 @@
<result property="joinModel" column="join_model" jdbcType="VARCHAR"/>
<result property="joinName" column="join_name" jdbcType="VARCHAR"/>
<result property="sampleCode" column="sample_code" jdbcType="VARCHAR"/>
+ <result property="motorNumber" column="motor_number" jdbcType="VARCHAR"/>
<result property="testRequirements" column="test_requirements" jdbcType="VARCHAR"/>
<result property="factory" column="factory" jdbcType="VARCHAR"/>
<result property="laboratory" column="laboratory" jdbcType="VARCHAR"/>
@@ -816,6 +818,7 @@
<result property="code" column="entrust_code" jdbcType="VARCHAR"/>
<result property="isLeave" column="is_leave" jdbcType="VARCHAR"/>
<result property="sampleCode" column="sample_code" jdbcType="VARCHAR"/>
+ <result property="motorNumber" column="motor_number" jdbcType="VARCHAR"/>
<result property="factory" column="factory" jdbcType="VARCHAR"/>
<result property="laboratory" column="laboratory" jdbcType="VARCHAR"/>
<result property="sampleType" column="sample_type" jdbcType="VARCHAR"/>
@@ -901,4 +904,13 @@
where ins_order_id = #{orderId}
and ip.id is not null
</select>
+ <select id="selectInsSample" resultType="com.yuanchu.mom.pojo.InsSample">
+ select isa.*,entrust_code
+ from ins_sample isa
+ left join ins_order io on isa.ins_order_id = io.id
+ where ins_order_id in
+ <foreach collection="ids" open="(" close=")" item="id" separator=",">
+ #{id}
+ </foreach>
+ </select>
</mapper>
--
Gitblit v1.9.3