inspect-server/src/main/java/com/ruoyi/inspect/controller/FinishProductSpotCheckController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,198 @@ package com.ruoyi.inspect.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.core.domain.Result; import com.ruoyi.inspect.dto.IfsStockQueryDTO; import com.ruoyi.inspect.dto.SpotCheckQuarterDto; import com.ruoyi.inspect.dto.SpotCheckYearDto; import com.ruoyi.inspect.service.FinishProductSpotCheckService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.util.Map; /** * @Author zhuo * @Date 2024/9/29 */ @RequestMapping("/finishProductSpotCheck") @RestController @AllArgsConstructor @Api(tags = "æåæ½æ ·") public class FinishProductSpotCheckController { private FinishProductSpotCheckService finishProductSpotCheckService; /** * æ¥è¯¢ifsåºåæ°é * * @param ifsStockQueryDTO * @return */ @ApiOperation(value = "æ¥è¯¢ifsæååºå") @PostMapping("/getIfsStock") public Result getIfsStock(@RequestBody IfsStockQueryDTO ifsStockQueryDTO) { return finishProductSpotCheckService.getIfsStockReport(ifsStockQueryDTO); } /******************************************************** å£åº¦æ½æ · ********************************************************/ /** * æ°å¢å£åº¦æ½æ£ * * @param spotCheckQuarterDto * @return */ @ApiOperation(value = "æ°å¢å£åº¦æ½æ£") @PostMapping("/addQuarter") public Result addQuarter(@RequestBody SpotCheckQuarterDto spotCheckQuarterDto) { return Result.success(finishProductSpotCheckService.addQuarter(spotCheckQuarterDto)); } /** * æ¥è¯¢å£åº¦æ½æ ·è¯¦æ * * @param quarterId * @return */ @ApiOperation(value = "æ¥è¯¢å£åº¦æ½æ ·è¯¦æ ") @GetMapping("/getQuarter") public Result getQuarter(Integer quarterId) { return Result.success(finishProductSpotCheckService.getQuarter(quarterId)); } /** * å£åº¦æ½æ ·å表 * @return * @throws Exception */ @ApiOperation(value = "å£åº¦æ½æ ·å表") @GetMapping("/getQuarterPage") public Result getQuarterPage(Page page, SpotCheckQuarterDto spotCheckQuarter) throws Exception { return Result.success(finishProductSpotCheckService.getQuarterPage(page, spotCheckQuarter)); } /** * æ°å¢å£åº¦æ½æ£ * * @param quarterId * @return */ @ApiOperation(value = "å é¤å£åº¦æ£éª") @DeleteMapping("/deleteQuarter") public Result deleteQuarter(Integer quarterId) { return Result.success(finishProductSpotCheckService.deleteQuarter(quarterId)); } /** * æåä¸åç颿¥è¯¢å£åº¦ä¿¡æ¯ * * @return */ @ApiOperation(value = "æåä¸åç颿¥è¯¢å£åº¦ä¿¡æ¯") @GetMapping("/getQuarterOnOrder") public Result getQuarterOnOrder() { return Result.success(finishProductSpotCheckService.getQuarterOnOrder()); } /** * æåä¸åç颿¥è¯¢å£åº¦ä¿¡æ¯ * * @return */ @ApiOperation(value = "ä¿®æ¹å£åº¦æ£éª") @PostMapping("/updateQuarterOnOrder") public Result updateQuarterOnOrder(@RequestBody SpotCheckQuarterDto spotCheckQuarterDto) { return Result.success(finishProductSpotCheckService.updateQuarterOnOrder(spotCheckQuarterDto)); } /** * æåä¸åç颿¥è¯¢å£åº¦ä¿¡æ¯ * * @return */ @ApiOperation(value = "æäº¤æç»å£åº¦æ¥å") @GetMapping("/finalReportQuarter") public void finalReportQuarter(Integer quarterId, HttpServletResponse response) { finishProductSpotCheckService.finalReportQuarter(quarterId, response); } /******************************************************** å¹´åº¦æ½æ · ********************************************************/ /** * æ°å¢å¹´åº¦æ½æ · * * @param spotCheckYearDto * @return */ @ApiOperation(value = "æ°å¢å¹´åº¦æ½æ ·") @PostMapping("/addSpotCheckYear") public Result addSpotCheckYear(@RequestBody SpotCheckYearDto spotCheckYearDto) { return Result.success(finishProductSpotCheckService.addSpotCheckYear(spotCheckYearDto)); } /** * æ¥è¯¢å£åº¦æ½æ ·è¯¦æ * * @param yearId * @return */ @ApiOperation(value = "æ¥è¯¢å¹´åº¦æ½æ ·è¯¦æ ") @GetMapping("/getSpotCheckYear") public Result getSpotCheckYear(Integer yearId) { return Result.success(finishProductSpotCheckService.getSpotCheckYear(yearId)); } /** * å£åº¦æ½æ ·å表 * @return * @throws Exception */ @ApiOperation(value = "å¹´åº¦æ½æ ·å表å表") @GetMapping("/getSpotCheckYearPage") public Result getSpotCheckYearPage(Page page, SpotCheckYearDto spotCheckYear) throws Exception { return Result.success(finishProductSpotCheckService.getSpotCheckYearPage(page, spotCheckYear)); } /** * å é¤å¹´åº¦æ½æ · * * @param yearId * @return */ @ApiOperation(value = "å é¤å¹´åº¦æ½æ ·") @DeleteMapping("/deleteSpotCheckYear") public Result deleteSpotCheckYear(Integer yearId) { return Result.success(finishProductSpotCheckService.deleteSpotCheckYear(yearId)); } /** * æåä¸åç颿¥è¯¢å£åº¦ä¿¡æ¯ * * @return */ @ApiOperation(value = "ä¿®æ¹å¹´åº¦æ£éª") @PostMapping("/updateSpotCheckYear") public Result updateSpotCheckYear(@RequestBody SpotCheckYearDto spotCheckYearDto) { return Result.success(finishProductSpotCheckService.updateSpotCheckYear(spotCheckYearDto)); } /** * æåä¸åç颿¥è¯¢å£åº¦ä¿¡æ¯ * * @return */ @ApiOperation(value = "çææç»å¹´åº¦æ¥å") @GetMapping("/finalReportSpotCheckYear") public Result finalReportSpotCheckYear(Integer yearId, HttpServletResponse response) { return Result.success(finishProductSpotCheckService.finalReportSpotCheckYear(yearId, response)); } } inspect-server/src/main/java/com/ruoyi/inspect/controller/InsOrderController.java
@@ -1,4 +1,4 @@ package com.ruoyi.basic.controller; package com.ruoyi.inspect.controller; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; inspect-server/src/main/java/com/ruoyi/inspect/controller/InsUnqualifiedHandlerController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,139 @@ package com.ruoyi.inspect.controller; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.core.domain.Result; import com.ruoyi.common.oa.OAProcess; import com.ruoyi.inspect.dto.PushOADto; import com.ruoyi.inspect.dto.UnqualifiedHandlerDto; import com.ruoyi.inspect.pojo.InsUnqualifiedHandlerFile; import com.ruoyi.inspect.service.InsUnqualifiedHandlerFileService; import com.ruoyi.inspect.service.InsUnqualifiedHandlerService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.util.HashMap; import java.util.Map; @RestController @Api("ä¸åæ ¼å¤ç管ç") @RequestMapping("/unqualifiedHandler") @AllArgsConstructor @Slf4j public class InsUnqualifiedHandlerController { private final InsUnqualifiedHandlerService unqualifiedHandlerService; private final InsUnqualifiedHandlerFileService unqualifiedHandlerFileService; private static final String REQUESTID = "requestId"; private static final String CHECKRESULT = "CHECKRESULT"; @ApiOperation(value = "æäº¤OA") @PostMapping("/pushOA") public Result pushOA(@RequestBody PushOADto pushOADto){ return unqualifiedHandlerService.pushOA(pushOADto); } @ApiOperation(value = "æ¥è¯¢") @GetMapping("/page") public Result pageByUnqualified(Page page, UnqualifiedHandlerDto unqualifiedHandlerDto){ return Result.success(unqualifiedHandlerService.pageList(page, unqualifiedHandlerDto)); } @ApiOperation(value = "éä»¶ä¸ä¼ ") @PostMapping("/uploadFileByUnqualified") public Result<?> uploadFileByUnqualified(Long handlerId, MultipartFile file) { return Result.success(unqualifiedHandlerFileService.uploadFile(handlerId, file)); } @ApiOperation(value = "ä¸åæ ¼å¤çOAåè°") @RequestMapping(value = "/callback", produces = "text/plain") public String unqualifiedHandlerOACallback(String data){ String msg = OAProcess.oaReturnMsg(0, "success"); JSONObject json = JSONObject.parseObject(data); System.out.println("========>" + json); try { Long oaWorkId = json.getLong(REQUESTID); String checkResult = json.getString(CHECKRESULT); Object o = json.get("workflowRequestLogs"); JSONArray objects = JSONArray.parseArray(JSONObject.toJSONString(o)); unqualifiedHandlerService.unqualifiedHandlerOACallback(oaWorkId, checkResult,objects); } catch (Exception e) { System.out.println(e.getMessage()); msg = OAProcess.oaReturnMsg(1, "oaåè°å¤±è´¥: " + e.getMessage()); } System.out.println("oaåè°è¿åç»æ========>" + msg); return msg; } /** * ä¸è½½oaéä»¶ * @param handlerFileId * @param response */ @GetMapping("/downloadOAFile/{handlerFileId}") public void downloadOAFile(@PathVariable("handlerFileId") Long handlerFileId, HttpServletResponse response){ unqualifiedHandlerFileService.downloadOAFile(handlerFileId,response); } @ApiOperation(value = "æ°å¢ä¸åæ ¼å¤ç") @PostMapping("/addUnqualifiedHandler") public Result addUnqualifiedHandler(@RequestBody UnqualifiedHandlerDto unqualifiedHandlerDto){ return Result.success(unqualifiedHandlerService.addUnqualifiedHandler(unqualifiedHandlerDto)); } @ApiOperation(value = "ç¼è¾ä¸åæ ¼å¤ç") @PostMapping("/updateUnqualifiedHandler") public Result updateUnqualifiedHandler(@RequestBody UnqualifiedHandlerDto unqualifiedHandlerDto){ return Result.success(unqualifiedHandlerService.updateUnqualifiedHandler(unqualifiedHandlerDto)); } @ApiOperation(value = "æ¥çoaæµç¨") @GetMapping("/getOaFlow") public Result getOaFlow(Integer id){ return Result.success(unqualifiedHandlerService.getOaFlow(id)); } @ApiOperation(value = "æ¥çä¸åæ ¼å¤ççé¢") @GetMapping("/getUnqualifiedHandler") public Result getUnqualifiedHandler(Integer id){ return Result.success(unqualifiedHandlerService.getUnqualifiedHandler(id)); } @ApiOperation(value = "å é¤ä¸åæ ¼å¤ç") @DeleteMapping("/deleteUnqualifiedHandler") public Result deleteUnqualifiedHandler(Integer id) { return Result.success(unqualifiedHandlerService.deleteUnqualifiedHandler(id)); } @ApiOperation(value = "ä¸è½½éä»¶") @GetMapping("/downFile") public Result<?> oaDownFile(Integer id) { InsUnqualifiedHandlerFile insUnqualifiedHandlerFile = unqualifiedHandlerFileService.getById(id); HashMap<String, Object> map = new HashMap<>(); map.put("type", insUnqualifiedHandlerFile.getType()); map.put("fileUrl", insUnqualifiedHandlerFile.getFileUrl()); return Result.success(map); } } inspect-server/src/main/java/com/ruoyi/inspect/dto/PushOADto.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,24 @@ package com.ruoyi.inspect.dto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * æäº¤oaæ°æ®ä¼ è¾å¯¹è±¡ */ @Data public class PushOADto { /** * ä¸åæ ¼å¤ç主é®id */ @ApiModelProperty(value = "ä¸åæ ¼å¤ç主é®id") private Long handlerId; /** * éä»¶url */ @ApiModelProperty(value = "éä»¶url") private String fileUrl; } inspect-server/src/main/java/com/ruoyi/inspect/dto/SpotCheckQuarterDto.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,22 @@ package com.ruoyi.inspect.dto; import com.ruoyi.inspect.pojo.SpotCheckQuarter; import com.ruoyi.inspect.pojo.SpotCheckQuarterItem; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; /** * @Author zhuo * @Date 2024/10/10 */ @Data public class SpotCheckQuarterDto extends SpotCheckQuarter { @ApiModelProperty("å£åº¦æ½æ£è¯¦æ ") private List<SpotCheckQuarterItem> quarterItems; @ApiModelProperty("å建人") private String createUserName; } inspect-server/src/main/java/com/ruoyi/inspect/dto/SpotCheckYearDto.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,22 @@ package com.ruoyi.inspect.dto; import com.ruoyi.inspect.pojo.SpotCheckYear; import com.ruoyi.inspect.pojo.SpotCheckYearItem; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; /** * @Author zhuo * @Date 2024/10/10 */ @Data public class SpotCheckYearDto extends SpotCheckYear { @ApiModelProperty("å¹´åº¦æ½æ ·è¯¦æ ") private List<SpotCheckYearItem> yearItems; @ApiModelProperty("å建人") private String createUserName; } inspect-server/src/main/java/com/ruoyi/inspect/mapper/CommonOaMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,20 @@ package com.ruoyi.inspect.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.inspect.pojo.CommonOa; import org.apache.ibatis.annotations.Mapper; /** * @author 27233 * @description é对表ãcommon_oa(oaå®¡æ ¸æµç¨ä¿¡æ¯è®°å½è¡¨)ãçæ°æ®åºæä½Mapper * @createDate 2024-08-01 15:54:11 * @Entity com.yuanchu.mom.pojo.CommonOa */ @Mapper public interface CommonOaMapper extends BaseMapper<CommonOa> { } inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsUnqualifiedHandlerFileMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,20 @@ package com.ruoyi.inspect.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.inspect.pojo.InsUnqualifiedHandlerFile; import org.apache.ibatis.annotations.Mapper; /** * @author 27233 * @description é对表ãins_unqualified_handler_file(ä¸åæ ¼å¤çéä»¶è®°å½è¡¨)ãçæ°æ®åºæä½Mapper * @createDate 2024-07-31 13:38:38 * @Entity com.yuanchu.mom.pojo.InsUnqualifiedHandlerFile */ @Mapper public interface InsUnqualifiedHandlerFileMapper extends BaseMapper<InsUnqualifiedHandlerFile> { } inspect-server/src/main/java/com/ruoyi/inspect/mapper/SpotCheckQuarterMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,39 @@ package com.ruoyi.inspect.mapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.inspect.dto.SpotCheckQuarterDto; import com.ruoyi.inspect.pojo.SpotCheckQuarter; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List; import java.util.Map; /** * å£åº¦æ½æ ·è®¡å * * @author zhuo * @since 2024-10-09 */ @Mapper public interface SpotCheckQuarterMapper extends BaseMapper<SpotCheckQuarter> { /** * å£åº¦æ½æ ·å页æ¥è¯¢ * @param page * @param ew * @return */ IPage<SpotCheckQuarterDto> getQuarterPage(Page page, @Param("ew") QueryWrapper<SpotCheckQuarterDto> ew); /** * æåä¸åç颿¥è¯¢å£åº¦ä¿¡æ¯ * @return */ List<Map<String, Object>> getQuarterOnOrder(); } inspect-server/src/main/java/com/ruoyi/inspect/mapper/SpotCheckYearItemMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,17 @@ package com.ruoyi.inspect.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.inspect.pojo.SpotCheckYearItem; import org.apache.ibatis.annotations.Mapper; /** * å¹´åº¦æ½æ ·è®¡å详æ 表 * * @author zhuo * @since 2024-10-10 */ @Mapper public interface SpotCheckYearItemMapper extends BaseMapper<SpotCheckYearItem> { } inspect-server/src/main/java/com/ruoyi/inspect/mapper/SpotCheckYearMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,30 @@ package com.ruoyi.inspect.mapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.inspect.dto.SpotCheckYearDto; import com.ruoyi.inspect.pojo.SpotCheckYear; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; /** * å¹´åº¦æ½æ ·è®¡å * * @author zhuo * @since 2024-10-10 */ @Mapper public interface SpotCheckYearMapper extends BaseMapper<SpotCheckYear> { /** * æ¥è¯¢å¹´åº¦æ½æ ·å表 * @param page * @param ew * @return */ IPage<SpotCheckYearDto> getSpotCheckYearPage(Page page, @Param("ew") QueryWrapper<SpotCheckYearDto> ew); } inspect-server/src/main/java/com/ruoyi/inspect/service/CommonOaService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,13 @@ package com.ruoyi.inspect.service; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.inspect.pojo.CommonOa; /** * @author 27233 * @description é对表ãcommon_oa(oaå®¡æ ¸æµç¨ä¿¡æ¯è®°å½è¡¨)ãçæ°æ®åºæä½Service * @createDate 2024-08-01 15:54:11 */ public interface CommonOaService extends IService<CommonOa> { } inspect-server/src/main/java/com/ruoyi/inspect/service/FinishProductSpotCheckService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,126 @@ package com.ruoyi.inspect.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.core.domain.Result; import com.ruoyi.inspect.dto.IfsStockQueryDTO; import com.ruoyi.inspect.dto.SpotCheckQuarterDto; import com.ruoyi.inspect.dto.SpotCheckYearDto; import javax.servlet.http.HttpServletResponse; import java.util.List; import java.util.Map; /** * æåæ½æ · * * @Author zhuo * @Date 2024/9/29 */ public interface FinishProductSpotCheckService { /** * æ¥è¯¢ifsæååºå * * @return */ Result getIfsStockReport(IfsStockQueryDTO ifsStockQueryDTO); /******************************************************* å£åº¦æ½æ · *******************************************************/ /** * æ°å¢å£åº¦æ½æ£ * @param spotCheckQuarterDto * @return */ boolean addQuarter(SpotCheckQuarterDto spotCheckQuarterDto); /** * æ¥è¯¢å£åº¦æ½æ ·è¯¦æ * @param quarterId * @return */ SpotCheckQuarterDto getQuarter(Integer quarterId); /** * å£åº¦æ½æ ·å页æ¥è¯¢ * @param page * @param spotCheckQuarter * @return */ IPage<SpotCheckQuarterDto> getQuarterPage(Page page, SpotCheckQuarterDto spotCheckQuarter); /** * å é¤å£åº¦æ½æ · * @param quarterId * @return */ boolean deleteQuarter(Integer quarterId); /** * æåä¸åç颿¥è¯¢å£åº¦ä¿¡æ¯ * @return */ List<Map<String, Object>> getQuarterOnOrder(); /** * ä¿®æ¹å£åº¦æ£éª * @param spotCheckQuarterDto * @return */ boolean updateQuarterOnOrder(SpotCheckQuarterDto spotCheckQuarterDto); /** * çææç»æ¥å * @param quarterId * @return */ boolean finalReportQuarter(Integer quarterId, HttpServletResponse response); /******************************************************* å¹´åº¦æ½æ · *******************************************************/ /** * æ°å¢å¹´åº¦æ½æ · * @param spotCheckYearDto * @return */ boolean addSpotCheckYear(SpotCheckYearDto spotCheckYearDto); /** * æ¥è¯¢å¹´åº¦æ½æ ·è¯¦æ * @param yearId * @return */ SpotCheckYearDto getSpotCheckYear(Integer yearId); /** * å¹´åº¦æ½æ ·å表 * @param page * @param spotCheckYear * @return */ IPage<SpotCheckYearDto> getSpotCheckYearPage(Page page, SpotCheckYearDto spotCheckYear); /** * å é¤å¹´åº¦æ½æ · * @param yearId * @return */ boolean deleteSpotCheckYear(Integer yearId); /** * ä¿®æ¹å¹´åº¦æ£éª * @param spotCheckYearDto * @return */ boolean updateSpotCheckYear(SpotCheckYearDto spotCheckYearDto); /** * çææç»å¹´åº¦æ¥å * @param yearId * @return */ boolean finalReportSpotCheckYear(Integer yearId, HttpServletResponse response); } inspect-server/src/main/java/com/ruoyi/inspect/service/InsUnqualifiedHandlerFileService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,19 @@ package com.ruoyi.inspect.service; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.inspect.pojo.InsUnqualifiedHandlerFile; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; /** * @author 27233 * @description é对表ãins_unqualified_handler_file(ä¸åæ ¼å¤çéä»¶è®°å½è¡¨)ãçæ°æ®åºæä½Service * @createDate 2024-07-31 13:38:38 */ public interface InsUnqualifiedHandlerFileService extends IService<InsUnqualifiedHandlerFile> { InsUnqualifiedHandlerFile uploadFile(Long handlerId, MultipartFile file); void downloadOAFile(Long handlerFileId, HttpServletResponse response); } inspect-server/src/main/java/com/ruoyi/inspect/service/InsUnqualifiedHandlerService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,39 @@ package com.ruoyi.inspect.service; import com.alibaba.fastjson.JSONArray; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.common.core.domain.Result; import com.ruoyi.inspect.dto.PushOADto; import com.ruoyi.inspect.dto.UnqualifiedHandlerDto; import com.ruoyi.inspect.pojo.CommonOa; import com.ruoyi.inspect.pojo.InsUnqualifiedHandler; import com.ruoyi.inspect.vo.UnqualifiedHandlerVO; import java.util.List; import java.util.Map; /** * @author 27233 * @description é对表ãins_unqualified_handler(ä¸åæ ¼å¤ç表)ãçæ°æ®åºæä½Service * @createDate 2024-07-31 13:38:14 */ public interface InsUnqualifiedHandlerService extends IService<InsUnqualifiedHandler> { IPage<UnqualifiedHandlerVO> pageList(Page page, UnqualifiedHandlerDto unqualifiedHandlerDto); Result pushOA(PushOADto pushOADto); void unqualifiedHandlerOACallback(Long oaWorkId, String checkResult, JSONArray objects); List<CommonOa> getOaFlow(Integer id); boolean addUnqualifiedHandler(UnqualifiedHandlerDto unqualifiedHandlerDto); boolean updateUnqualifiedHandler(UnqualifiedHandlerDto unqualifiedHandlerDto); UnqualifiedHandlerDto getUnqualifiedHandler(Integer id); boolean deleteUnqualifiedHandler(Integer id); } inspect-server/src/main/java/com/ruoyi/inspect/service/SpotCheckQuarterItemService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,15 @@ package com.ruoyi.inspect.service; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.inspect.pojo.SpotCheckQuarterItem; /** * å£åº¦æ½æ ·è®¡å详æ 表 * * @author zhuo * @since 2024-10-09 */ public interface SpotCheckQuarterItemService extends IService<SpotCheckQuarterItem> { } inspect-server/src/main/java/com/ruoyi/inspect/service/SpotCheckYearItemService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,15 @@ package com.ruoyi.inspect.service; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.inspect.pojo.SpotCheckYearItem; /** * å¹´åº¦æ½æ ·è®¡å详æ 表 * * @author zhuo * @since 2024-10-10 */ public interface SpotCheckYearItemService extends IService<SpotCheckYearItem> { } inspect-server/src/main/java/com/ruoyi/inspect/service/impl/CommonOaServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,22 @@ package com.ruoyi.inspect.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.inspect.mapper.CommonOaMapper; import com.ruoyi.inspect.pojo.CommonOa; import com.ruoyi.inspect.service.CommonOaService; import org.springframework.stereotype.Service; /** * @author 27233 * @description é对表ãcommon_oa(oaå®¡æ ¸æµç¨ä¿¡æ¯è®°å½è¡¨)ãçæ°æ®åºæä½Serviceå®ç° * @createDate 2024-08-01 15:54:11 */ @Service public class CommonOaServiceImpl extends ServiceImpl<CommonOaMapper, CommonOa> implements CommonOaService { } inspect-server/src/main/java/com/ruoyi/inspect/service/impl/FinishProductSpotCheckServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,679 @@ package com.ruoyi.inspect.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.deepoove.poi.XWPFTemplate; import com.deepoove.poi.config.Configure; import com.deepoove.poi.config.ConfigureBuilder; import com.deepoove.poi.data.Pictures; import com.ruoyi.common.core.domain.Result; import com.ruoyi.common.utils.DateImageUtil; import com.ruoyi.common.utils.IfsApiUtils; import com.ruoyi.common.utils.QueryWrappers; import com.ruoyi.framework.exception.ErrorException; import com.ruoyi.inspect.dto.IfsStockQueryDTO; import com.ruoyi.inspect.dto.SpotCheckQuarterDto; import com.ruoyi.inspect.dto.SpotCheckYearDto; import com.ruoyi.inspect.mapper.SpotCheckQuarterMapper; import com.ruoyi.inspect.mapper.SpotCheckYearMapper; import com.ruoyi.inspect.pojo.SpotCheckQuarter; import com.ruoyi.inspect.pojo.SpotCheckQuarterItem; import com.ruoyi.inspect.pojo.SpotCheckYear; import com.ruoyi.inspect.pojo.SpotCheckYearItem; import com.ruoyi.inspect.service.FinishProductSpotCheckService; import com.ruoyi.inspect.service.SpotCheckQuarterItemService; import com.ruoyi.inspect.service.SpotCheckYearItemService; import com.ruoyi.system.mapper.UserMapper; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.URLEncoder; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; /** * æåæ½æ · * * @Author zhuo * @Date 2024/9/29 */ @Service @Transactional(rollbackFor = Exception.class) public class FinishProductSpotCheckServiceImpl implements FinishProductSpotCheckService { @Resource private IfsApiUtils ifsApiUtils; @Resource private SpotCheckQuarterMapper spotCheckQuarterMapper; @Resource private SpotCheckQuarterItemService spotCheckQuarterItemService; @Resource private SpotCheckYearMapper spotCheckYearMapper; @Resource private SpotCheckYearItemService spotCheckYearItemService; @Value("${wordUrl}") private String wordUrl; @Value("${file.path}") private String imgUrl; @Resource private UserMapper userMapper; public Result getIfsStockReport(IfsStockQueryDTO ifsStockQueryDTO) { JSONObject jresult = new JSONObject(); jresult.put("total", 0); jresult.put("count", 0); jresult.put("data", new JSONArray()); JSONObject jsonObject = new JSONObject(); generateIfsStockQueryParams(jsonObject, ifsStockQueryDTO, ifsStockQueryDTO.getPage(), ifsStockQueryDTO.getLimit()); Result result = ifsApiUtils.getIfsStock(jsonObject.toJSONString()); if (result.getCode() == 200) { JSONObject data = (JSONObject) JSON.toJSON(result.getData()); JSONArray array = new JSONArray(); for (int i = 0; i < data.getJSONArray("LIST_INFO").size(); i++) { JSONObject listInfo = data.getJSONArray("LIST_INFO").getJSONObject(i); array.add(listInfo); } //è·åæ»æ°é int count = data.getIntValue("TOTAL_RECORD"); //è·åé¡µæ° int total = (int) Math.ceil((double) count / (double) ifsStockQueryDTO.getLimit()); jresult.put("total", total); jresult.put("count", count); jresult.put("data", array); } return Result.success(jresult); } public void generateIfsStockQueryParams(JSONObject result, IfsStockQueryDTO ifsStockQueryDTO, Long pageNo, Long pageSize) { result.put("PAGE", pageNo); result.put("LIMIT", pageSize); result.put("WAREHOUSE", "æåä»åº"); result.put("QUANTITY_FLAG", ">0"); //表éé¢çOTCè¡å· if (StrUtil.isNotBlank(ifsStockQueryDTO.getCotcOrderNo())) { result.put("C_OTC_ORDER_NO", ifsStockQueryDTO.getCotcOrderNo()); } if (StrUtil.isNotBlank(ifsStockQueryDTO.getCotcLineNo())) { result.put("C_OTC_LINE_NO", ifsStockQueryDTO.getCotcLineNo()); } if (StrUtil.isNotBlank(ifsStockQueryDTO.getPartNo())) { result.put("PART_NO", ifsStockQueryDTO.getPartNo()); } if (StrUtil.isNotBlank(ifsStockQueryDTO.getPartDescription())) { result.put("PART_DESC", "%" + ifsStockQueryDTO.getPartDescription() + "%"); } if (StrUtil.isNotBlank(ifsStockQueryDTO.getLocNo())) { result.put("LOCATION_NO", ifsStockQueryDTO.getLocNo()); } if (StrUtil.isNotBlank(ifsStockQueryDTO.getLocDesc())) { result.put("LOCATION_DESC", ifsStockQueryDTO.getLocDesc()); } if (StrUtil.isNotBlank(ifsStockQueryDTO.getLotBatchNo())) { result.put("LOT_BATCH_NO", ifsStockQueryDTO.getLotBatchNo()); } if (StrUtil.isNotBlank(ifsStockQueryDTO.getWdrNo())) { result.put("WDR_NO", ifsStockQueryDTO.getWdrNo()); } if (StrUtil.isNotBlank(ifsStockQueryDTO.getWarehouse())) { result.put("WAREHOUSE", ifsStockQueryDTO.getWarehouse()); } if (StrUtil.isNotBlank(ifsStockQueryDTO.getLocationGroup())) { result.put("LOCATION_GROUP", ifsStockQueryDTO.getLocationGroup()); } if (StrUtil.isNotBlank(ifsStockQueryDTO.getLocationGroupDesc())) { result.put("LOCATION_GROUP_DESC", ifsStockQueryDTO.getLocationGroupDesc()); } if (StrUtil.isNotBlank(ifsStockQueryDTO.getReelNumber())) { result.put("ATTR1", ifsStockQueryDTO.getReelNumber()); } if (StrUtil.isNotBlank(ifsStockQueryDTO.getStartMeter())) { result.put("ATTR2", ifsStockQueryDTO.getStartMeter()); } if (StrUtil.isNotBlank(ifsStockQueryDTO.getEndMeter())) { result.put("ATTR3", ifsStockQueryDTO.getEndMeter()); } if (StrUtil.isNotBlank(ifsStockQueryDTO.getOuterColor())) { result.put("ATTR4", ifsStockQueryDTO.getOuterColor()); } if (StrUtil.isNotBlank(ifsStockQueryDTO.getInsulationColor())) { result.put("ATTR5", ifsStockQueryDTO.getInsulationColor()); } if (StrUtil.isNotBlank(ifsStockQueryDTO.getOtcOrderNo())) { result.put("ATTR6", ifsStockQueryDTO.getOtcOrderNo()); } if (StrUtil.isNotBlank(ifsStockQueryDTO.getMpsNo())) { result.put("ATTR7", ifsStockQueryDTO.getMpsNo()); } if (StrUtil.isNotBlank(ifsStockQueryDTO.getLetteringInfo())) { result.put("ATTR8", ifsStockQueryDTO.getLetteringInfo()); } if (StrUtil.isNotBlank(ifsStockQueryDTO.getSStockQuantity())) { result.put("ATTR9", ifsStockQueryDTO.getSStockQuantity()); } if (StrUtil.isNotBlank(ifsStockQueryDTO.getSAvailableStockQuantity())) { result.put("ATTR10", ifsStockQueryDTO.getSAvailableStockQuantity()); } if (StrUtil.isNotBlank(ifsStockQueryDTO.getSunit())) { result.put("ATTR11", ifsStockQueryDTO.getSunit()); } if (StrUtil.isNotBlank(ifsStockQueryDTO.getStockSource())) { result.put("ATTR12", ifsStockQueryDTO.getStockSource()); } if (StrUtil.isNotBlank(ifsStockQueryDTO.getInspInstorageTime())) { result.put("ATTR13", ifsStockQueryDTO.getInspInstorageTime()); } if (StrUtil.isNotBlank(ifsStockQueryDTO.getTestRemark())) { result.put("ATTR14", ifsStockQueryDTO.getTestRemark()); } if (StrUtil.isNotBlank(ifsStockQueryDTO.getGrossWeight())) { result.put("ATTR15", ifsStockQueryDTO.getGrossWeight()); } if (StrUtil.isNotBlank(ifsStockQueryDTO.getNetWeight())) { result.put("ATTR16", ifsStockQueryDTO.getNetWeight()); } if (StrUtil.isNotBlank(ifsStockQueryDTO.getPackingManner())) { result.put("ATTR17", ifsStockQueryDTO.getPackingManner()); } if (StrUtil.isNotBlank(ifsStockQueryDTO.getCylinderNumber())) { result.put("ATTR18", ifsStockQueryDTO.getCylinderNumber()); } if (StrUtil.isNotBlank(ifsStockQueryDTO.getRemark())) { result.put("ATTR19", ifsStockQueryDTO.getRemark()); } if (StrUtil.isNotBlank(ifsStockQueryDTO.getLengthRequirement())) { result.put("ATTR20", ifsStockQueryDTO.getLengthRequirement()); } if (StrUtil.isNotBlank(ifsStockQueryDTO.getCustomerName())) { result.put("ATTR21", ifsStockQueryDTO.getCustomerName()); } if (StrUtil.isNotBlank(ifsStockQueryDTO.getSystemNo())) { result.put("ATTR22", ifsStockQueryDTO.getSystemNo()); } if (StrUtil.isNotBlank(ifsStockQueryDTO.getInSource())) { result.put("ATTR23", ifsStockQueryDTO.getInSource()); } if (StrUtil.isNotBlank(ifsStockQueryDTO.getSplitQuality())) { result.put("ATTR24", ifsStockQueryDTO.getSplitQuality()); } if (StrUtil.isNotBlank(ifsStockQueryDTO.getReserveQuantity())) { result.put("QTY_RESERVED", ifsStockQueryDTO.getReserveQuantity()); } } /************************************************* å£åº¦æ½æ · ***********************************************************/ /** * æ°å¢å£åº¦æ½æ£ * @param spotCheckQuarterDto * @return */ @Override public boolean addQuarter(SpotCheckQuarterDto spotCheckQuarterDto) { // æ ¹æ®ç¼å·æ¥è¯¢ä¹åç SpotCheckQuarter spotCheckQuarter = spotCheckQuarterMapper.selectOne(Wrappers.<SpotCheckQuarter>lambdaQuery() .eq(SpotCheckQuarter::getQuarterNo, spotCheckQuarterDto.getQuarterNo()) .orderByDesc(SpotCheckQuarter::getCreateTime) .last("limit 1")); if (spotCheckQuarter == null) { spotCheckQuarterMapper.insert(spotCheckQuarterDto); // æ·»å 详æ for (SpotCheckQuarterItem quarterItem : spotCheckQuarterDto.getQuarterItems()) { quarterItem.setQuarterId(spotCheckQuarterDto.getQuarterId()); } spotCheckQuarterItemService.saveBatch(spotCheckQuarterDto.getQuarterItems()); } else { // ç´¯å 详æ for (SpotCheckQuarterItem quarterItem : spotCheckQuarterDto.getQuarterItems()) { quarterItem.setQuarterId(spotCheckQuarter.getQuarterId()); } spotCheckQuarterItemService.saveBatch(spotCheckQuarterDto.getQuarterItems()); } return true; } /** * æ¥è¯¢å£åº¦æ½æ ·è¯¦æ * @param quarterId * @return */ @Override public SpotCheckQuarterDto getQuarter(Integer quarterId) { SpotCheckQuarter spotCheckQuarter = spotCheckQuarterMapper.selectById(quarterId); // æ¥è¯¢è¯¦æ List<SpotCheckQuarterItem> list = spotCheckQuarterItemService.list(Wrappers.<SpotCheckQuarterItem>lambdaQuery() .eq(SpotCheckQuarterItem::getQuarterId, spotCheckQuarter.getQuarterId())); SpotCheckQuarterDto spotCheckQuarterDto = new SpotCheckQuarterDto(); BeanUtil.copyProperties(spotCheckQuarter, spotCheckQuarterDto); spotCheckQuarterDto.setQuarterItems(list); return spotCheckQuarterDto; } /** * å£åº¦æ½æ ·å页æ¥è¯¢ * @param page * @param spotCheckQuarter * @return */ @Override public IPage<SpotCheckQuarterDto> getQuarterPage(Page page, SpotCheckQuarterDto spotCheckQuarter) { return spotCheckQuarterMapper.getQuarterPage(page, QueryWrappers.queryWrappers(spotCheckQuarter)); } /** * å é¤å£åº¦æ½æ · * @param quarterId * @return */ @Override public boolean deleteQuarter(Integer quarterId) { spotCheckQuarterMapper.deleteById(quarterId); spotCheckQuarterItemService.remove(Wrappers.<SpotCheckQuarterItem>lambdaQuery() .eq(SpotCheckQuarterItem::getQuarterId, quarterId)); return true; } /** * æåä¸åç颿¥è¯¢å£åº¦ä¿¡æ¯ * @return */ @Override public List<Map<String, Object>> getQuarterOnOrder() { List<Map<String, Object>> quarterOnOrder = spotCheckQuarterMapper.getQuarterOnOrder(); for (Map<String, Object> stringMap : quarterOnOrder) { List<SpotCheckQuarterItem> list = spotCheckQuarterItemService.list(Wrappers.<SpotCheckQuarterItem>lambdaQuery() .eq(SpotCheckQuarterItem::getQuarterId, (Integer) stringMap.get("value"))); List<Map<String, Object>> itemMaps = list.stream().map(spotCheckQuarterItem -> { Map<String, Object> map = new HashMap<>(); map.put("value", spotCheckQuarterItem.getQuarterItemId()); map.put("label", spotCheckQuarterItem.getProductModel() + " " + spotCheckQuarterItem.getProductType() + " " + spotCheckQuarterItem.getSpotCheckNumber()); return map; }).collect(Collectors.toList()); stringMap.put("children", itemMaps); } return quarterOnOrder; } /** * ä¿®æ¹å£åº¦æ£éª * @param spotCheckQuarterDto * @return */ @Override public boolean updateQuarterOnOrder(SpotCheckQuarterDto spotCheckQuarterDto) { if (CollectionUtils.isNotEmpty(spotCheckQuarterDto.getQuarterItems())) { // æ¸ é¤ä¹å详æ spotCheckQuarterItemService.remove(Wrappers.<SpotCheckQuarterItem>lambdaQuery() .eq(SpotCheckQuarterItem::getQuarterId, spotCheckQuarterDto.getQuarterId())); // æ·»å 详æ for (SpotCheckQuarterItem quarterItem : spotCheckQuarterDto.getQuarterItems()) { quarterItem.setQuarterId(spotCheckQuarterDto.getQuarterId()); } spotCheckQuarterItemService.saveBatch(spotCheckQuarterDto.getQuarterItems()); } spotCheckQuarterMapper.updateById(spotCheckQuarterDto); return true; } /** * çææç»æ¥å * @param quarterId * @return */ @Override public boolean finalReportQuarter(Integer quarterId, HttpServletResponse response) { // æ·»å æ¥åä¿¡æ¯ SpotCheckQuarter spotCheckQuarter = spotCheckQuarterMapper.selectById(quarterId); // æ¥è¯¢è¯¦æ List<SpotCheckQuarterItem> itemList = spotCheckQuarterItemService.list(Wrappers.<SpotCheckQuarterItem>lambdaQuery() .eq(SpotCheckQuarterItem::getQuarterId, spotCheckQuarter.getQuarterId())); for (SpotCheckQuarterItem spotCheckQuarterItem : itemList) { // æ¼æ¥åå·åæ°é spotCheckQuarterItem.setSpotCheckNumber((StringUtils.isBlank(spotCheckQuarterItem.getProductModel()) ? "" : spotCheckQuarterItem.getProductModel()) + (StringUtils.isBlank(spotCheckQuarterItem.getSpotCheckNumber()) ? "" : spotCheckQuarterItem.getSpotCheckNumber())); } //ç¼å¶äºº String writeUrl = null; if (spotCheckQuarter.getWriteUser() != null) { try { writeUrl = userMapper.selectById(spotCheckQuarter.getWriteUser()).getSignatureUrl(); } catch (Exception e) { throw new ErrorException("æ¾ä¸å°ç¼å¶äººçç¾å"); } if (StrUtil.isBlank(writeUrl)) { throw new ErrorException("æ¾ä¸å°ç¼å¶äººçç¾å"); } } // åå§åææç countersignUrl åé String[] countersignUrls = new String[7]; // 妿 spotCheckQuarter.getCountersignUser() 䏿¯ç©ºæç©ºç½å符串 if (StrUtil.isNotBlank(spotCheckQuarter.getCountersignUser())) { String[] split = spotCheckQuarter.getCountersignUser().split(","); // éå split æ°ç»ï¼å¹¶å°å ç´ ä¾æ¬¡èµå¼ç» countersignUrls æ°ç» for (int i = 0; i < Math.min(split.length, countersignUrls.length); i++) { String countersignUrl = null; try { countersignUrl = userMapper.selectById(Integer.parseInt(split[i])).getSignatureUrl(); } catch (Exception e) { throw new ErrorException("æ¾ä¸å°ç¼å¶äººçç¾å"); } if (StrUtil.isBlank(countersignUrl)) { throw new ErrorException("æ¾ä¸å°ç¼å¶äººçç¾å"); } countersignUrls[i] = countersignUrl; } } // å° countersignUrls æ°ç»ä¸çå¼ä¾æ¬¡èµå¼ç» countersignUrl1 å° countersignUrl7 String countersignUrl1 = countersignUrls[0]; String countersignUrl2 = countersignUrls[1]; String countersignUrl3 = countersignUrls[2]; String countersignUrl4 = countersignUrls[3]; String countersignUrl5 = countersignUrls[4]; String countersignUrl6 = countersignUrls[5]; String countersignUrl7 = countersignUrls[6]; //å®¡æ ¸äºº String examineUrl = null; if (spotCheckQuarter.getExamineUser() != null) { try { examineUrl = userMapper.selectById(spotCheckQuarter.getExamineUser()).getSignatureUrl(); } catch (Exception e) { throw new ErrorException("æ¾ä¸å°å®¡æ ¸äººçç¾å"); } if (StrUtil.isBlank(examineUrl)) { throw new ErrorException("æ¾ä¸å°å®¡æ ¸äººçç¾å"); } } //æ¹å人 String ratifyUrl = null; if (spotCheckQuarter.getRatifyUser() != null) { try { ratifyUrl = userMapper.selectById(spotCheckQuarter.getRatifyUser()).getSignatureUrl(); } catch (Exception e) { throw new ErrorException("æ¾ä¸å°æ¹å人çç¾å"); } if (StrUtil.isBlank(ratifyUrl)) { throw new ErrorException("æ¾ä¸å°æ¹å人çç¾å"); } } String finalWriteUrl = writeUrl; String finalExamineUrl = examineUrl; String finalRatifyUrl = ratifyUrl; // è·åè·¯å¾ InputStream inputStream = this.getClass().getResourceAsStream("/static/spot_check_quarter.docx"); ConfigureBuilder builder = Configure.builder(); builder.useSpringEL(true); XWPFTemplate template = XWPFTemplate.compile(inputStream, builder.build()).render( new HashMap<String, Object>() {{ put("quarter", spotCheckQuarter); put("quarterItems", itemList); put("writeUrl", StrUtil.isBlank(finalWriteUrl) ? null : Pictures.ofLocal(imgUrl + "/" + finalWriteUrl).create()); put("countersignUrl1", StrUtil.isBlank(countersignUrl1) ? null : Pictures.ofLocal(imgUrl + "/" + countersignUrl1).create()); put("countersignUrl2", StrUtil.isBlank(countersignUrl2) ? null : Pictures.ofLocal(imgUrl + "/" + countersignUrl2).create()); put("countersignUrl3", StrUtil.isBlank(countersignUrl3) ? null : Pictures.ofLocal(imgUrl + "/" + countersignUrl3).create()); put("countersignUrl4", StrUtil.isBlank(countersignUrl4) ? null : Pictures.ofLocal(imgUrl + "/" + countersignUrl4).create()); put("countersignUrl5", StrUtil.isBlank(countersignUrl5) ? null : Pictures.ofLocal(imgUrl + "/" + countersignUrl5).create()); put("countersignUrl6", StrUtil.isBlank(countersignUrl6) ? null : Pictures.ofLocal(imgUrl + "/" + countersignUrl6).create()); put("countersignUrl7", StrUtil.isBlank(countersignUrl7) ? null : Pictures.ofLocal(imgUrl + "/" + countersignUrl7).create()); put("examineUrl", StrUtil.isBlank(finalExamineUrl) ? null : Pictures.ofLocal(imgUrl + "/" + finalExamineUrl).create()); put("ratifyUrl", StrUtil.isBlank(finalRatifyUrl) ? null : Pictures.ofLocal(imgUrl + "/" + finalRatifyUrl).create()); put("createDateUrl", Pictures.ofStream(DateImageUtil.createDateImage(spotCheckQuarter.getCreateTime())).create()); }}); try { response.setContentType("application/msword"); String fileName = URLEncoder.encode( spotCheckQuarter.getQuarterNo() + "æ½æ ·è®¡å", "UTF-8"); response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".docx"); OutputStream os = response.getOutputStream(); template.write(os); os.flush(); os.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); } return true; } /******************************************************* å¹´åº¦æ½æ · *************************************************************/ @Override public boolean addSpotCheckYear(SpotCheckYearDto spotCheckYearDto) { spotCheckYearMapper.insert(spotCheckYearDto); // 详æ for (SpotCheckYearItem yearItem : spotCheckYearDto.getYearItems()) { yearItem.setYearId(spotCheckYearDto.getYearId()); } spotCheckYearItemService.saveBatch(spotCheckYearDto.getYearItems()); return true; } @Override public SpotCheckYearDto getSpotCheckYear(Integer yearId) { SpotCheckYear spotCheckYear = spotCheckYearMapper.selectById(yearId); // æ¥è¯¢è¯¦æ List<SpotCheckYearItem> list = spotCheckYearItemService.list(Wrappers.<SpotCheckYearItem>lambdaQuery() .eq(SpotCheckYearItem::getYearId, spotCheckYear.getYearId())); SpotCheckYearDto spotCheckYearDto = new SpotCheckYearDto(); BeanUtil.copyProperties(spotCheckYear, spotCheckYearDto); spotCheckYearDto.setYearItems(list); return spotCheckYearDto; } @Override public IPage<SpotCheckYearDto> getSpotCheckYearPage(Page page, SpotCheckYearDto spotCheckYear) { return spotCheckYearMapper.getSpotCheckYearPage(page, QueryWrappers.queryWrappers(spotCheckYear)); } @Override public boolean deleteSpotCheckYear(Integer yearId) { spotCheckYearMapper.deleteById(yearId); spotCheckYearItemService.remove(Wrappers.<SpotCheckYearItem>lambdaQuery() .eq(SpotCheckYearItem::getYearId, yearId)); return true; } /** * ä¿®æ¹å¹´åº¦æ£éª * @param spotCheckYearDto * @return */ @Override public boolean updateSpotCheckYear(SpotCheckYearDto spotCheckYearDto) { spotCheckYearMapper.updateById(spotCheckYearDto); // å é¤è¯¦æ spotCheckYearItemService.remove(Wrappers.<SpotCheckYearItem>lambdaQuery() .eq(SpotCheckYearItem::getYearId, spotCheckYearDto.getYearId())); // éæ°æ°å¢ for (SpotCheckYearItem yearItem : spotCheckYearDto.getYearItems()) { yearItem.setYearId(spotCheckYearDto.getYearId()); } spotCheckYearItemService.saveBatch(spotCheckYearDto.getYearItems()); return false; } @Override public boolean finalReportSpotCheckYear(Integer yearId, HttpServletResponse response) { SpotCheckYear spotCheckYear = spotCheckYearMapper.selectById(yearId); // æ¥è¯¢è¯¦æ List<SpotCheckYearItem> itemList = spotCheckYearItemService.list(Wrappers.<SpotCheckYearItem>lambdaQuery() .eq(SpotCheckYearItem::getYearId, spotCheckYear.getYearId())); //ç¼å¶äºº String writeUrl = null; if (spotCheckYear.getWriteUser() != null) { try { writeUrl = userMapper.selectById(spotCheckYear.getWriteUser()).getSignatureUrl(); } catch (Exception e) { throw new ErrorException("æ¾ä¸å°ç¼å¶äººçç¾å"); } if (StrUtil.isBlank(writeUrl)) { throw new ErrorException("æ¾ä¸å°ç¼å¶äººçç¾å"); } } // åå§åææç countersignUrl åé String[] countersignUrls = new String[7]; // 妿䏿¯ç©ºæç©ºç½å符串 if (StrUtil.isNotBlank(spotCheckYear.getCountersignUser())) { String[] split = spotCheckYear.getCountersignUser().split(","); // éå split æ°ç»ï¼å¹¶å°å ç´ ä¾æ¬¡èµå¼ç» countersignUrls æ°ç» for (int i = 0; i < Math.min(split.length, countersignUrls.length); i++) { String countersignUrl = null; try { countersignUrl = userMapper.selectById(Integer.parseInt(split[i])).getSignatureUrl(); } catch (Exception e) { throw new ErrorException("æ¾ä¸å°ç¼å¶äººçç¾å"); } if (StrUtil.isBlank(countersignUrl)) { throw new ErrorException("æ¾ä¸å°ç¼å¶äººçç¾å"); } countersignUrls[i] = countersignUrl; } } // å° countersignUrls æ°ç»ä¸çå¼ä¾æ¬¡èµå¼ç» countersignUrl1 å° countersignUrl7 String countersignUrl1 = countersignUrls[0]; String countersignUrl2 = countersignUrls[1]; String countersignUrl3 = countersignUrls[2]; String countersignUrl4 = countersignUrls[3]; String countersignUrl5 = countersignUrls[4]; String countersignUrl6 = countersignUrls[5]; String countersignUrl7 = countersignUrls[6]; //å®¡æ ¸äºº String examineUrl = null; if (spotCheckYear.getExamineUser() != null) { try { examineUrl = userMapper.selectById(spotCheckYear.getExamineUser()).getSignatureUrl(); } catch (Exception e) { throw new ErrorException("æ¾ä¸å°å®¡æ ¸äººçç¾å"); } if (StrUtil.isBlank(examineUrl)) { throw new ErrorException("æ¾ä¸å°å®¡æ ¸äººçç¾å"); } } //æ¹å人 String ratifyUrl = null; if (spotCheckYear.getRatifyUser() != null) { try { ratifyUrl = userMapper.selectById(spotCheckYear.getRatifyUser()).getSignatureUrl(); } catch (Exception e) { throw new ErrorException("æ¾ä¸å°æ¹å人çç¾å"); } if (StrUtil.isBlank(ratifyUrl)) { throw new ErrorException("æ¾ä¸å°æ¹å人çç¾å"); } } String finalWriteUrl = writeUrl; String finalExamineUrl = examineUrl; String finalRatifyUrl = ratifyUrl; // è·åè·¯å¾ InputStream inputStream = this.getClass().getResourceAsStream("/static/spot_check_year.docx"); ConfigureBuilder builder = Configure.builder(); builder.useSpringEL(true); XWPFTemplate template = XWPFTemplate.compile(inputStream, builder.build()).render( new HashMap<String, Object>() {{ put("year", spotCheckYear); put("yearItems", itemList); put("writeUrl", StrUtil.isBlank(finalWriteUrl) ? null : Pictures.ofLocal(imgUrl + "/" + finalWriteUrl).create()); put("countersignUrl1", StrUtil.isBlank(countersignUrl1) ? null : Pictures.ofLocal(imgUrl + "/" + countersignUrl1).create()); put("countersignUrl2", StrUtil.isBlank(countersignUrl2) ? null : Pictures.ofLocal(imgUrl + "/" + countersignUrl2).create()); put("countersignUrl3", StrUtil.isBlank(countersignUrl3) ? null : Pictures.ofLocal(imgUrl + "/" + countersignUrl3).create()); put("countersignUrl4", StrUtil.isBlank(countersignUrl4) ? null : Pictures.ofLocal(imgUrl + "/" + countersignUrl4).create()); put("countersignUrl5", StrUtil.isBlank(countersignUrl5) ? null : Pictures.ofLocal(imgUrl + "/" + countersignUrl5).create()); put("countersignUrl6", StrUtil.isBlank(countersignUrl6) ? null : Pictures.ofLocal(imgUrl + "/" + countersignUrl6).create()); put("countersignUrl7", StrUtil.isBlank(countersignUrl7) ? null : Pictures.ofLocal(imgUrl + "/" + countersignUrl7).create()); put("examineUrl", StrUtil.isBlank(finalExamineUrl) ? null : Pictures.ofLocal(imgUrl + "/" + finalExamineUrl).create()); put("ratifyUrl", StrUtil.isBlank(finalRatifyUrl) ? null : Pictures.ofLocal(imgUrl + "/" + finalRatifyUrl).create()); put("createDateUrl", Pictures.ofStream(DateImageUtil.createDateImage(spotCheckYear.getCreateTime())).create()); }}); try { response.setContentType("application/msword"); String fileName = URLEncoder.encode( spotCheckYear.getYearHead(), "UTF-8"); response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".docx"); OutputStream os = response.getOutputStream(); template.write(os); os.flush(); os.close(); } catch (IOException e) { throw new RuntimeException(e); } return true; } } inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsUnqualifiedHandlerFileServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,111 @@ package com.ruoyi.inspect.service.impl; import cn.hutool.core.io.IoUtil; import cn.hutool.core.lang.UUID; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.framework.exception.ErrorException; import com.ruoyi.inspect.mapper.InsUnqualifiedHandlerFileMapper; import com.ruoyi.inspect.pojo.InsUnqualifiedHandlerFile; import com.ruoyi.inspect.service.InsUnqualifiedHandlerFileService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.io.File; import java.io.IOException; import java.net.URLEncoder; import java.nio.charset.StandardCharsets; import java.nio.file.Files; /** * @author 27233 * @description é对表ãins_unqualified_handler_file(ä¸åæ ¼å¤çéä»¶è®°å½è¡¨)ãçæ°æ®åºæä½Serviceå®ç° * @createDate 2024-07-31 13:38:38 */ @Service @Slf4j public class InsUnqualifiedHandlerFileServiceImpl extends ServiceImpl<InsUnqualifiedHandlerFileMapper, InsUnqualifiedHandlerFile> implements InsUnqualifiedHandlerFileService { @Value("${wordUrl}") private String wordUrl; @Value("${file.path}") private String imgUrl; @Override public InsUnqualifiedHandlerFile uploadFile(Long handlerId, MultipartFile file) { String urlString; String pathName; String path; String prefix; String filename = file.getOriginalFilename(); String contentType = file.getContentType(); InsUnqualifiedHandlerFile unqualifiedHandlerFile = new InsUnqualifiedHandlerFile(); // unqualifiedHandlerFile.setUnqualifiedId(handlerId); unqualifiedHandlerFile.setFileName(filename); if (contentType != null && contentType.startsWith("image/")) { // æ¯å¾ç path = imgUrl; prefix = "/image/"; unqualifiedHandlerFile.setType(1); } else { // æ¯æä»¶ path = wordUrl; prefix = "/word/"; unqualifiedHandlerFile.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)); unqualifiedHandlerFile.setFileUrl(pathName); baseMapper.insert(unqualifiedHandlerFile); return unqualifiedHandlerFile; } catch (Exception e) { e.printStackTrace(); log.error("éä»¶ä¸ä¼ é误"); throw new ErrorException(e.getMessage()); } } @Override public void downloadOAFile(Long handlerFileId, HttpServletResponse response) { response.reset(); String fileName; try { //æ¥è¯¢ä¸ä¼ éä»¶è®°å½ InsUnqualifiedHandlerFile file = baseMapper.selectById(handlerFileId); if (file != null){ fileName = file.getFileName(); fileName = URLEncoder.encode(fileName, StandardCharsets.UTF_8.toString()); response.setContentType("application/vnd.ms-excel"); response.setHeader("Cache-Control", "no-cache"); response.setHeader("Content-Disposition", "attachment;filename=" + fileName); response.setHeader("Access-Control-Expose-Headers", "Content-Disposition"); //è·åæä»¶å¤¹è·¯å¾ String path = file.getType()==1?imgUrl:wordUrl; //æä»¶å®æ´è·¯å¾ String fullPath = path + file.getFileUrl(); //夿æä»¶æ¯å¦åå¨ File fullFile = new File(fullPath); if(fullFile.exists()){ IoUtil.copy(Files.newInputStream(fullFile.toPath()),response.getOutputStream()); } } } catch (IOException e) { throw new RuntimeException(e); } } } inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsUnqualifiedHandlerServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,280 @@ package com.ruoyi.inspect.service.impl; import cn.hutool.core.bean.BeanUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.domain.Result; import com.ruoyi.common.oa.OAProcess; import com.ruoyi.common.oa.OAProperty; import com.ruoyi.common.oa.OAResult; import com.ruoyi.common.utils.QueryWrappers; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.framework.exception.ErrorException; import com.ruoyi.inspect.dto.PushOADto; import com.ruoyi.inspect.dto.UnqualifiedHandlerDto; import com.ruoyi.inspect.mapper.InsOrderMapper; import com.ruoyi.inspect.mapper.InsUnqualifiedHandlerMapper; import com.ruoyi.inspect.pojo.CommonOa; import com.ruoyi.inspect.pojo.InsOrder; import com.ruoyi.inspect.pojo.InsUnqualifiedHandler; import com.ruoyi.inspect.pojo.InsUnqualifiedHandlerFile; import com.ruoyi.inspect.service.CommonOaService; import com.ruoyi.inspect.service.InsUnqualifiedHandlerFileService; import com.ruoyi.inspect.service.InsUnqualifiedHandlerService; import com.ruoyi.inspect.vo.UnqualifiedHandlerVO; import com.ruoyi.system.mapper.UserMapper; import com.ruoyi.system.service.UserService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * @author 27233 * @description é对表ãins_unqualified_handler(ä¸åæ ¼å¤ç表)ãçæ°æ®åºæä½Serviceå®ç° * @createDate 2024-07-31 13:38:14 */ @Service @Slf4j public class InsUnqualifiedHandlerServiceImpl extends ServiceImpl<InsUnqualifiedHandlerMapper, InsUnqualifiedHandler> implements InsUnqualifiedHandlerService { @Resource private CommonOaService commonOaService; @Resource private OAProperty oaProperty; @Resource private InsUnqualifiedHandlerFileService insUnqualifiedHandlerFileService; @Resource private InsOrderMapper insOrderMapper; @Override public IPage<UnqualifiedHandlerVO> pageList(Page page, UnqualifiedHandlerDto unqualifiedHandlerDto) { return baseMapper.selectPageList(page, QueryWrappers.queryWrappers(unqualifiedHandlerDto)); } @Override public Result pushOA(PushOADto pushOADto) { //è·åä¸åæ ¼å¤çè®°å½ UnqualifiedHandlerVO vo = baseMapper.findById(pushOADto.getHandlerId()); if (vo.getRequestId() != null) { throw new ErrorException("该ä¸åæ ¼å¤çå·²æäº¤è¿OA"); } //æäº¤oaç¸å ³å段èµå¼ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); Map<String, String> mainFields = new HashMap<>(); mainFields.put("bh", vo.getNo());//ç¼å· mainFields.put("gysmc", vo.getSupplierName());//ä¾åºååç§° mainFields.put("wlmc", vo.getMaterialName());//ç©æåç§° mainFields.put("scpc", vo.getProductionBatch());//çäº§æ¹æ¬¡ mainFields.put("dhsl", vo.getCargoQuantity());//å°è´§æ°é mainFields.put("ggxh", vo.getSpecsModels());//è§æ ¼åå· mainFields.put("bjrq", vo.getInspectTime().format(formatter));//æ¥æ£æ¥æ mainFields.put("fkr", SecurityUtils.getUsername());//åé¦äºº mainFields.put("fkrq", vo.getFeedbackTime().format(formatter));//å馿¥æ mainFields.put("fl", vo.getClassification());//åç±» mainFields.put("bhggs", vo.getOffGradeAscription());//ä¸åæ ¼å½å± mainFields.put("bhgqkms", vo.getUnqualifiedDesc());//ä¸åæ ¼æ åµæè¿° //æ¥è¯¢éä»¶ List<InsUnqualifiedHandlerFile> handlerFiles = insUnqualifiedHandlerFileService.list(Wrappers.<InsUnqualifiedHandlerFile>lambdaQuery() .eq(InsUnqualifiedHandlerFile::getUnqualifiedId, vo.getHandlerId())); if (CollectionUtils.isNotEmpty(handlerFiles)) { StringBuilder fileUrl = new StringBuilder(); for (int i = 0; i < handlerFiles.size(); i++) { String path = handlerFiles.get(i).getType().equals(1) ? "/lims/img/" : "/lims/word/"; if (i == handlerFiles.size() - 1) { fileUrl.append("<a href='" + oaProperty.getProdIp()).append(path + handlerFiles.get(i).getFileUrl() + "'target='_blank'>" + handlerFiles.get(i).getFileName() + "</a>"); } else { fileUrl.append("<a href='" + oaProperty.getProdIp()).append(path + handlerFiles.get(i).getFileUrl() + "'target='_blank'>" + handlerFiles.get(i).getFileName() + "</a>").append("<br/>"); } } mainFields.put("xlimsfj", fileUrl.toString()); } //æµç¨æ é¢ String requestName = vo.getHeadline(); //åèµ·OA boolean oa = false; try { log.info("åèµ·ä¸åæ ¼å¤çOAå®¡æ ¸æµç¨"); String unqualifiedProcessId = oaProperty.getUnqualifiedProcessId(); OAResult oaResult = OAProcess.start(mainFields, requestName, unqualifiedProcessId,SecurityUtils.getUsername()); log.info("ä¸åæ ¼å¤çOAå®¡æ ¸æµç¨ç»æï¼è¿åç»æ->{}" + oaResult); oa = oaResult.success(); if (oa) { String addWorkflowResult = oaResult.getAddWorkflowResult(); baseMapper.update(null, new LambdaUpdateWrapper<InsUnqualifiedHandler>() .set(InsUnqualifiedHandler::getRequestId, addWorkflowResult) .set(InsUnqualifiedHandler::getOaState, 2) .eq(InsUnqualifiedHandler::getId, pushOADto.getHandlerId())); } else { return Result.fail("æäº¤oa失败: " + oaResult.getErrorMsg()); } } catch (Exception e) { throw new RuntimeException(e); } return Result.success(); } @Override @Transactional(rollbackFor = Exception.class) public void unqualifiedHandlerOACallback(Long oaWorkId, String checkResult, JSONArray objects) { // 没æè¿ä¸ªå°±ç»æ Long count1 = baseMapper.selectCount(Wrappers.<InsUnqualifiedHandler>lambdaQuery() .eq(InsUnqualifiedHandler::getRequestId, Integer.valueOf(String.valueOf(oaWorkId)))); if (count1 == 0) { return; } //oaç¶æï¼3éè¿ 4驳å Integer oaState = "1".equals(checkResult) ? 3 : 4; baseMapper.update(null, new LambdaUpdateWrapper<InsUnqualifiedHandler>() .set(InsUnqualifiedHandler::getOaState, oaState) .ge(InsUnqualifiedHandler::getRequestId, Integer.valueOf(String.valueOf(oaWorkId)))); //ä¿åoaå®¡æ¹æµç¨è®°å½ List<CommonOa> commonOaList = new ArrayList<>(); objects.forEach(l -> { JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(l)); CommonOa oa = new CommonOa(); oa.setApprover(jsonObject.getString("operatorName")); oa.setWorkflowId(oaWorkId); oa.setOperation(jsonObject.getString("operateType")); oa.setApprovalDate(jsonObject.getString("operateDate")); oa.setApprovalOpinion(jsonObject.getString("remark")); oa.setNodeName(jsonObject.getString("nodeName")); oa.setApprovalTime(jsonObject.getString("operateTime")); //æ¥è¯¢å¤æä¹åæ¯å¦æ·»å è¿ long count = commonOaService.count(Wrappers.<CommonOa>lambdaQuery() .eq(CommonOa::getApprover, oa.getApprover()) .eq(CommonOa::getWorkflowId, oa.getWorkflowId()) .eq(CommonOa::getOperation, oa.getOperation()) .eq(CommonOa::getApprovalDate, oa.getApprovalDate()) .eq(CommonOa::getApprovalOpinion, oa.getApprovalOpinion()) .eq(CommonOa::getNodeName, oa.getNodeName()) .eq(CommonOa::getApprovalTime, oa.getApprovalTime()) ); // 没æé夿·»å if (count == 0) { commonOaList.add(oa); } }); commonOaService.saveBatch(commonOaList); } /** * æ¥çoaæµç¨ * @param id * @return */ @Override public List<CommonOa> getOaFlow(Integer id) { return baseMapper.getOaFlow(id); } /** * æ°å¢ä¸åæ ¼å¤ç * @param unqualifiedHandlerDto * @return */ @Override @Transactional(rollbackFor = Exception.class) public boolean addUnqualifiedHandler(UnqualifiedHandlerDto unqualifiedHandlerDto) { if (unqualifiedHandlerDto.getInventoryQuantityId() == null) { throw new ErrorException("缺å°åææid"); } long count = this.count(Wrappers.<InsUnqualifiedHandler>lambdaQuery() .eq(InsUnqualifiedHandler::getInsOrderId, unqualifiedHandlerDto.getInsOrderId())); if (count > 0) { throw new ErrorException("å½åæ£éªåå·²æäº¤è¿ä¸åæ ¼"); } // åææç¼å·åå² InsOrder order = insOrderMapper.selectOne(Wrappers.<InsOrder>lambdaQuery() .eq(InsOrder::getId, unqualifiedHandlerDto.getInsOrderId()) .select(InsOrder::getEntrustCode)); unqualifiedHandlerDto.setNo(order.getEntrustCode()); this.save(unqualifiedHandlerDto); if (CollectionUtils.isNotEmpty(unqualifiedHandlerDto.getUnqualifiedHandlerFiles())) { for (InsUnqualifiedHandlerFile unqualifiedHandlerFile : unqualifiedHandlerDto.getUnqualifiedHandlerFiles()) { unqualifiedHandlerFile.setUnqualifiedId(unqualifiedHandlerDto.getId()); } insUnqualifiedHandlerFileService.updateBatchById(unqualifiedHandlerDto.getUnqualifiedHandlerFiles()); } return true; } /** * ç¼è¾ä¸åæ ¼å¤ç * @param unqualifiedHandlerDto * @return */ @Override public boolean updateUnqualifiedHandler(UnqualifiedHandlerDto unqualifiedHandlerDto) { // å é¤éä»¶, éæ°æ·»å insUnqualifiedHandlerFileService.remove(Wrappers.<InsUnqualifiedHandlerFile>lambdaQuery() .eq(InsUnqualifiedHandlerFile::getUnqualifiedId, unqualifiedHandlerDto.getId())); if (CollectionUtils.isNotEmpty(unqualifiedHandlerDto.getUnqualifiedHandlerFiles())) { for (InsUnqualifiedHandlerFile unqualifiedHandlerFile : unqualifiedHandlerDto.getUnqualifiedHandlerFiles()) { unqualifiedHandlerFile.setUnqualifiedId(unqualifiedHandlerDto.getId()); } insUnqualifiedHandlerFileService.updateBatchById(unqualifiedHandlerDto.getUnqualifiedHandlerFiles()); } return this.updateById(unqualifiedHandlerDto); } /** * æ¥çä¸åæ ¼å¤ççé¢ * @param id * @return */ @Override public UnqualifiedHandlerDto getUnqualifiedHandler(Integer id) { InsUnqualifiedHandler insUnqualifiedHandler = this.getById(id); UnqualifiedHandlerDto unqualifiedHandlerDto = new UnqualifiedHandlerDto(); BeanUtil.copyProperties(insUnqualifiedHandler, unqualifiedHandlerDto); // æ¥çéä»¶ List<InsUnqualifiedHandlerFile> list = insUnqualifiedHandlerFileService.list(Wrappers.<InsUnqualifiedHandlerFile>lambdaQuery() .eq(InsUnqualifiedHandlerFile::getUnqualifiedId, unqualifiedHandlerDto.getId())); unqualifiedHandlerDto.setUnqualifiedHandlerFiles(list); return unqualifiedHandlerDto; } /** * å é¤ä¸åæ ¼ * @param id * @return */ @Override public boolean deleteUnqualifiedHandler(Integer id) { insUnqualifiedHandlerFileService.remove(Wrappers.<InsUnqualifiedHandlerFile>lambdaQuery() .eq(InsUnqualifiedHandlerFile::getUnqualifiedId, id)); this.removeById(id); return true; } } inspect-server/src/main/java/com/ruoyi/inspect/service/impl/SpotCheckQuarterItemServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,19 @@ package com.ruoyi.inspect.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.inspect.mapper.SpotCheckQuarterItemMapper; import com.ruoyi.inspect.pojo.SpotCheckQuarterItem; import com.ruoyi.inspect.service.SpotCheckQuarterItemService; import org.springframework.stereotype.Service; /** * å£åº¦æ½æ ·è®¡å详æ 表 * * @author zhuo * @since 2024-10-09 */ @Service public class SpotCheckQuarterItemServiceImpl extends ServiceImpl<SpotCheckQuarterItemMapper, SpotCheckQuarterItem> implements SpotCheckQuarterItemService { } inspect-server/src/main/java/com/ruoyi/inspect/service/impl/SpotCheckYearItemServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,19 @@ package com.ruoyi.inspect.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.inspect.mapper.SpotCheckYearItemMapper; import com.ruoyi.inspect.pojo.SpotCheckYearItem; import com.ruoyi.inspect.service.SpotCheckYearItemService; import org.springframework.stereotype.Service; /** * å¹´åº¦æ½æ ·è®¡å详æ 表 * * @author zhuo * @since 2024-10-10 */ @Service public class SpotCheckYearItemServiceImpl extends ServiceImpl<SpotCheckYearItemMapper, SpotCheckYearItem> implements SpotCheckYearItemService { } inspect-server/src/main/resources/mapper/SpotCheckQuarterMapper.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.ruoyi.inspect.mapper.SpotCheckQuarterMapper"> <select id="getQuarterPage" resultType="com.ruoyi.inspect.dto.SpotCheckQuarterDto"> select * from ( select scq.quarter_id, scq.quarter_no, scq.quarter_status, scq.file_url, scq.remark, u.name create_user_name, scq.create_time from spot_check_quarter scq left join user u on u.id = scq.create_user) a <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> ${ew.customSqlSegment} </if> </select> <select id="getQuarterOnOrder" resultType="java.util.Map"> select quarter_id value, quarter_no label from spot_check_quarter </select> </mapper> inspect-server/src/main/resources/mapper/SpotCheckYearMapper.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,19 @@ <?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.ruoyi.inspect.mapper.SpotCheckYearMapper"> <select id="getSpotCheckYearPage" resultType="com.ruoyi.inspect.dto.SpotCheckYearDto"> select * from (select scy.year_id, scy.year_head, scy.table_remark, scy.file_url, scy.remark, u.name create_user_name, scy.create_time from spot_check_year scy left join user u on u.id = scy.create_user) a <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> ${ew.customSqlSegment} </if> </select> </mapper> ruoyi-common/src/main/java/com/ruoyi/common/oa/OAProperty.java
@@ -17,10 +17,10 @@ */ private String oaHost; // /** // * æä»¶æ¥çipå°å // */ // private String prodIp; /** * æä»¶æ¥çipå°å */ private String prodIp; /** * è£ å¤çµç¼ï¼ä¸åæ ¼å®¡æ¹oaçid ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java
@@ -23,7 +23,7 @@ /** * spring securityé ç½® * * * @author ruoyi */ @EnableMethodSecurity(prePostEnabled = true, securedEnabled = true) @@ -35,7 +35,7 @@ */ @Autowired private UserDetailsService userDetailsService; /** * 认è¯å¤±è´¥å¤çç±» */ @@ -53,7 +53,7 @@ */ @Autowired private JwtAuthenticationTokenFilter authenticationTokenFilter; /** * è·¨åè¿æ»¤å¨ */ @@ -111,7 +111,7 @@ .authorizeHttpRequests((requests) -> { permitAllUrl.getUrls().forEach(url -> requests.antMatchers(url).permitAll()); // 对äºç»å½login 注åregister éªè¯ç captchaImage å 许å¿åè®¿é® requests.antMatchers("/login", "/register", "/captchaImage").permitAll() requests.antMatchers("/login", "/register", "/captchaImage", "/unqualifiedHandler/callback").permitAll() // éæèµæºï¼å¯å¿åè®¿é® .antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll() .antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll()