inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java
@@ -5,6 +5,8 @@ import com.yuanchu.mom.annotation.ValueAuth; import com.yuanchu.mom.annotation.ValueClassify; import com.yuanchu.mom.dto.InsOrderPlanDTO; import com.yuanchu.mom.pojo.InsOrderFile; import com.yuanchu.mom.service.InsOrderFileService; import com.yuanchu.mom.service.InsOrderPlanService; import com.yuanchu.mom.utils.JackSonUtil; import com.yuanchu.mom.vo.Result; @@ -15,7 +17,9 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; import java.util.HashMap; import java.util.Map; /** @@ -28,6 +32,8 @@ public class InsOrderPlanController { private InsOrderPlanService insOrderPlanService; private InsOrderFileService insOrderFileService; @ValueClassify("æ£éªä»»å¡") @ApiOperation(value = "è·åæ£éªä»»å¡å表") @@ -55,6 +61,7 @@ public Result claimInsOrderPlan(@RequestBody InsOrderPlanDTO data) { return Result.success(insOrderPlanService.claimInsOrderPlan(data)); } @ValueClassify("æ£éªä»»å¡") @ApiOperation(value = "æ§è¡æ£éªæä½") @PostMapping("/doInsOrder") @@ -75,12 +82,21 @@ public Result<?> upPlanUser(Integer userId, Integer orderId) { return Result.success(insOrderPlanService.upPlanUser(userId, orderId)); } @ValueClassify("æ£éªä»»å¡") @ApiOperation(value = "夿 ¸æ£éªä»»å¡") @PostMapping("/verifyPlan") public Result<?> verifyPlan(Integer orderId, String laboratory, Integer type, String tell) { return Result.success(insOrderPlanService.verifyPlan(orderId, laboratory, type, tell)); } @ValueClassify("æ£éªä»»å¡") @ApiOperation(value = "æ ¡éªæ£éªä»»å¡æäº¤") @PostMapping("/checkSubmitPlan") public Result<?> checkSubmitPlan(Integer orderId, String laboratory) { return Result.success(insOrderPlanService.checkSubmitPlan(orderId, laboratory)); } @ValueClassify("æ£éªä»»å¡") @ApiOperation(value = "æ£éªä»»å¡æäº¤") @PostMapping("/submitPlan") @@ -97,4 +113,39 @@ insOrderPlanService.saveInsContext(param2); return Result.success(); } @ValueClassify("æ£éªä»»å¡") @ApiOperation(value = "æ¥çæ£éªåä¸çéä»¶å表") @PostMapping("/getFileList") public Result<?> getFileList(@RequestBody Map<String, Object> data) throws Exception { Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); page.setOptimizeCountSql(false); InsOrderFile insOrderFile = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), InsOrderFile.class); return Result.success(insOrderPlanService.getFileList(page, insOrderFile)); } @ValueClassify("æ£éªä»»å¡") @ApiOperation(value = "ä¸ä¼ éä»¶") @PostMapping("/uploadFile") public Result<?> uploadFile(Integer orderId, MultipartFile file) { return Result.success(insOrderPlanService.uploadFile(orderId, file)); } @ValueClassify("æ£éªä»»å¡") @ApiOperation(value = "å é¤éä»¶") @PostMapping("/delfile") public Result<?> delfile(Integer id) { return Result.success(insOrderFileService.removeById(id)); } @ValueClassify("æ£éªä»»å¡") @ApiOperation(value = "ä¸è½½éä»¶") @PostMapping("/downFile") public Result<?> downFile(Integer id) { InsOrderFile insOrderFile = insOrderFileService.getById(id); HashMap<String, Object> map = new HashMap<>(); map.put("type", insOrderFile.getType()); map.put("fileUrl", insOrderFile.getFileUrl()); return Result.success(map); } } inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderFileMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,20 @@ package com.yuanchu.mom.mapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yuanchu.mom.pojo.InsOrderFile; import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** * <p> * æ£éªåä¸çéä»¶å表 Mapper æ¥å£ * </p> * * @author æ±èéµ·éç½ç»ç§ææéå ¬å¸ * @since 2024-06-06 10:08:21 */ public interface InsOrderFileMapper extends BaseMapper<InsOrderFile> { IPage<InsOrderFile> getFileList(Page page, QueryWrapper<InsOrderFile> ew); } inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrderFile.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,68 @@ package com.yuanchu.mom.pojo; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import java.time.LocalDateTime; import com.yuanchu.mom.annotation.ValueTableShow; import com.yuanchu.mom.common.OrderBy; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; /** * <p> * æ£éªåä¸çéä»¶å表 * </p> * * @author æ±èéµ·éç½ç»ç§ææéå ¬å¸ * @since 2024-06-06 10:08:21 */ @Getter @Setter @TableName("ins_order_file") @ApiModel(value = "InsOrderFile对象", description = "æ£éªåä¸çéä»¶å表") public class InsOrderFile extends OrderBy implements Serializable { @TableId(value = "id", type = IdType.AUTO) private Integer id; @ApiModelProperty("å ³è æ£éªåå¤é®id") private Integer insOrderId; @ApiModelProperty("ç±»å") @ValueTableShow(2) private Integer type; @ApiModelProperty("éä»¶è·¯å¾") private String fileUrl; @ApiModelProperty("éä»¶åç§°") @ValueTableShow(3) private String fileName; @TableField(fill = FieldFill.INSERT) private Integer createUser; @ApiModelProperty("ä¸ä¼ 人") @ValueTableShow(4) @TableField(exist = false, select = false) private String name; @TableField(fill = FieldFill.INSERT) @ApiModelProperty("ä¸ä¼ æ¶é´") @ValueTableShow(5) private LocalDateTime createTime; @TableField(fill = FieldFill.INSERT_UPDATE) private Integer updateUser; @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; } inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderFileService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,16 @@ package com.yuanchu.mom.service; import com.yuanchu.mom.pojo.InsOrderFile; import com.baomidou.mybatisplus.extension.service.IService; /** * <p> * æ£éªåä¸çéä»¶å表 æå¡ç±» * </p> * * @author æ±èéµ·éç½ç»ç§ææéå ¬å¸ * @since 2024-06-06 10:08:21 */ public interface InsOrderFileService extends IService<InsOrderFile> { } inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java
@@ -2,7 +2,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yuanchu.mom.dto.InsOrderPlanDTO; import com.yuanchu.mom.pojo.InsOrderFile; import com.yuanchu.mom.pojo.InsProduct; import org.springframework.web.multipart.MultipartFile; import java.util.List; import java.util.Map; @@ -29,4 +31,9 @@ List<InsProduct> getInsProduct(Integer id, Integer type, String laboratory); List<String> checkSubmitPlan(Integer orderId, String laboratory); Map<String,Object> getFileList(Page page, InsOrderFile insOrderFile); int uploadFile(Integer orderId, MultipartFile file); } inspect-server/src/main/java/com/yuanchu/mom/service/InsUnPassService.java
@@ -1,7 +1,10 @@ package com.yuanchu.mom.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.yuanchu.mom.dto.UnPassPageDto; import com.yuanchu.mom.pojo.InsProductUser; import com.yuanchu.mom.pojo.InsUnPass; import java.util.Map; @@ -9,6 +12,7 @@ * @author æ±ä½³å * @date 2024/5/8 13:00 */ public interface InsUnPassService { public interface InsUnPassService extends IService<InsUnPass> { Map<String, Object> pageInsUnPass(Page page, UnPassPageDto unPassPageDto); } inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderFileServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,20 @@ package com.yuanchu.mom.service.impl; import com.yuanchu.mom.pojo.InsOrderFile; import com.yuanchu.mom.mapper.InsOrderFileMapper; import com.yuanchu.mom.service.InsOrderFileService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; /** * <p> * æ£éªåä¸çéä»¶å表 æå¡å®ç°ç±» * </p> * * @author æ±èéµ·éç½ç»ç§ææéå ¬å¸ * @since 2024-06-06 10:08:21 */ @Service public class InsOrderFileServiceImpl extends ServiceImpl<InsOrderFileMapper, InsOrderFile> implements InsOrderFileService { } inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
@@ -3,6 +3,7 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.hutool.core.lang.UUID; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; @@ -34,11 +35,13 @@ import com.yuanchu.mom.utils.QueryWrappers; import com.yuanchu.mom.vo.InsOrderPlanTaskSwitchVo; import com.yuanchu.mom.vo.InsOrderPlanVO; import com.yuanchu.mom.vo.Result; import org.apache.commons.io.IOUtils; import org.apache.poi.xwpf.usermodel.*; 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 java.io.*; @@ -93,6 +96,9 @@ private InsProductUserMapper insProductUserMapper; @Resource private InsUnPassService insUnPassService; @Resource AuxiliaryOutputWorkingHoursMapper auxiliaryOutputWorkingHoursMapper; @Resource @@ -109,6 +115,9 @@ @Resource private InsBushingService insBushingService; @Resource private InsOrderFileMapper insOrderFileMapper; @Override public Map<String, Object> selectInsOrderPlanList(Page page, InsOrderPlanDTO insOrderPlanDTO) { @@ -191,6 +200,65 @@ if (BeanUtil.isEmpty(insProducts)) return null; getTemplateThing(set, map2, insProducts); return insProducts; } @Override public List<String> checkSubmitPlan(Integer orderId, String laboratory) { List<String> collect = new ArrayList<>(); List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId).select(InsSample::getId)); List<Integer> ids = insSamples.stream().map(a -> a.getId()).collect(Collectors.toList()); List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().in(InsProduct::getInsSampleId, ids).eq(InsProduct::getSonLaboratory, laboratory).eq(InsProduct::getState, 1).eq(InsProduct::getInsResult, 0)); if (insProducts.size() > 0) { collect = insProducts.stream().map(insProduct -> { return insProduct.getInspectionItem() + "-" + insProduct.getInspectionItemSubclass(); }).collect(Collectors.toList()); } return collect; } @Override public Map<String, Object> getFileList(Page page, InsOrderFile insOrderFile) { Map<String, Object> map = new HashMap<>(); map.put("head", PrintChina.printChina(InsOrderFile.class)); IPage<InsOrderFile> insOrderFileIPage = insOrderFileMapper.getFileList(page, QueryWrappers.queryWrappers(insOrderFile)); map.put("body", insOrderFileIPage); return map; } @Override public int uploadFile(Integer orderId, MultipartFile file) { String urlString; String pathName; String path; String filename = file.getOriginalFilename(); String contentType = file.getContentType(); InsOrderFile insOrderFile = new InsOrderFile(); insOrderFile.setInsOrderId(orderId); 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); return insOrderFileMapper.insert(insOrderFile); } catch (Exception e) { e.printStackTrace(); System.err.println("éä»¶ä¸ä¼ é误"); return 0; } } @Override @@ -368,6 +436,7 @@ insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate().eq(InsOrderState::getInsOrderId, orderId).eq(InsOrderState::getLaboratory, laboratory).set(InsOrderState::getInsTime, now).set(InsOrderState::getInsState, num).set(InsOrderState::getVerifyTell, tell).set(InsOrderState::getVerifyUser, getLook.selectPowerByMethodAndUserId(null).get("userId"))); Long count = insOrderStateMapper.selectCount(Wrappers.<InsOrderState>lambdaQuery().eq(InsOrderState::getInsOrderId, orderId).ne(InsOrderState::getInsState, 5)); if (count == 0 && num == 5) { List<InsUnPass> insUnPasses = new ArrayList<>(); /*æ ·åä¸ç项ç®åªè¦æä¸ä¸ªé¡¹ç®ä¸åæ ¼åæ£éªç»æä¸º0,å¦å为1*/ List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId)); for (InsSample insSample : insSamples) { @@ -379,7 +448,25 @@ insSample.setInsResult(1); } insSampleMapper.updateById(insSample); /*夿 ¸éè¿åï¼å°ä¸åæ ¼ç项ç®ä¿¡æ¯æ·»å å°ins_un_pass表ä¸*/ for (InsProduct insProduct : insProducts) { if (insProduct.getInsResult() == 0) { InsUnPass insUnPass = new InsUnPass(); insUnPass.setModel(insSample.getModel()); insUnPass.setSample(insSample.getSample()); insUnPass.setInspectionItem(insProduct.getInspectionItem()); insUnPass.setInspectionItemSubclass(insProduct.getInspectionItemSubclass()); insUnPass.setLastValue(insProduct.getLastValue()); insUnPass.setEntrustCode(insOrderMapper.selectById(orderId).getEntrustCode()); List<Integer> userIds = insProductUserMapper.selectList(Wrappers.<InsProductUser>lambdaQuery().eq(InsProductUser::getInsProductId, insProduct.getId())).stream().map(InsProductUser::getCreateUser).distinct().collect(Collectors.toList()); String name = userMapper.selectBatchIds(userIds).stream().map(User::getName).collect(Collectors.joining(",")); insUnPass.setName(name); insUnPasses.add(insUnPass); } } insUnPassService.saveBatch(insUnPasses); } InsOrder insOrder = insOrderMapper.selectById(orderId); Map<String, String> user = insProductMapper.selectUserById(insOrder.getUserId()); List<SampleProductDto> samples = insSampleMapper.selectSampleProductListByOrderId(orderId); @@ -706,6 +793,7 @@ resultCh.set("便®å§æè¦æ±ï¼ææ£é¡¹ç®å符åè¦æ±ã"); resultEn.set("According to commissioned requirements, all the tested items meet the requirements."); } XWPFTemplate template = XWPFTemplate.compile(url, builder.build()).render( new HashMap<String, Object>() {{ put("order", insOrder); inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsUnPassServiceImpl.java
@@ -22,10 +22,12 @@ */ @Service public class InsUnPassServiceImpl extends ServiceImpl<InsUnPassMapper, InsUnPass> implements InsUnPassService { @Resource private GetLook getLook; @Resource private InsUnPassMapper insUnPassMapper; @Override public Map<String, Object> pageInsUnPass(Page page, UnPassPageDto unPassPageDto) { Map<String, Object> map = new HashMap<>(); inspect-server/src/main/resources/mapper/InsOrderFileMapper.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,25 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.yuanchu.mom.mapper.InsOrderFileMapper"> <!-- éç¨æ¥è¯¢æ å°ç»æ --> <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.InsOrderFile"> <id column="id" property="id"/> <result column="ins_order_id" property="insOrderId"/> <result column="type" property="type"/> <result column="file_url" property="fileUrl"/> <result column="file_name" property="fileName"/> <result column="create_user" property="createUser"/> <result column="create_time" property="createTime"/> <result column="update_user" property="updateUser"/> <result column="update_time" property="updateTime"/> </resultMap> <select id="getFileList" resultType="com.yuanchu.mom.pojo.InsOrderFile"> select A.* from (select iof.*, name from ins_order_file iof left join user u on iof.create_user = u.id) A <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> ${ew.customSqlSegment} </if> </select> </mapper>