From dda17e80a787c40c460a923cd50ac1a1f94ba157 Mon Sep 17 00:00:00 2001 From: zhuo <2089219845@qq.com> Date: 星期一, 17 二月 2025 14:57:10 +0800 Subject: [PATCH] 移植检验下单模板 --- inspect-server/src/main/java/com/ruoyi/basic/service/impl/RawMaterialOrderServiceImpl.java | 1711 ++++++++++---------- inspect-server/src/main/java/com/ruoyi/basic/dto/SampleProductDto2.java | 124 + ruoyi-common/src/main/java/com/ruoyi/common/utils/Md5Util.java | 68 cnas-require/pom.xml | 8 inspect-server/src/main/java/com/ruoyi/basic/dto/InsulatingDto.java | 20 pom.xml | 46 inspect-server/src/main/java/com/ruoyi/basic/dto/InsOrderUpdateDto.java | 21 inspect-server/src/main/java/com/ruoyi/basic/dto/CopperInsOrderDto.java | 37 ruoyi-common/src/main/java/com/ruoyi/common/utils/WxCpUtils.java | 153 + inspect-server/src/main/java/com/ruoyi/basic/pojo/InsProduct.java | 214 ++ inspect-server/src/main/java/com/ruoyi/basic/pojo/InsOrder.java | 214 ++ inspect-server/src/main/java/com/ruoyi/basic/pojo/InsProductResult.java | 52 inspect-server/src/main/java/com/ruoyi/basic/dto/RawMaterialStandardTreeDto.java | 33 inspect-server/src/main/java/com/ruoyi/basic/service/InsOrderService.java | 115 + inspect-server/src/main/java/com/ruoyi/basic/pojo/InsUnqualifiedRetestProduct.java | 137 + inspect-server/pom.xml | 14 inspect-server/src/main/java/com/ruoyi/basic/service/RawMaterialOrderTemplateService.java | 50 basic-server/src/main/java/com/ruoyi/basic/dto/SampleDto.java | 5 inspect-server/src/main/java/com/ruoyi/basic/dto/IfsStockQueryDTO.java | 130 basic-server/src/main/java/com/ruoyi/basic/dto/IfsInventoryQuantityCheckDto.java | 2 basic-server/src/main/java/com/ruoyi/basic/service/impl/CapacityScopeServiceImpl.java | 2 inspect-server/src/main/java/com/ruoyi/basic/dto/SampleProductDto.java | 32 ruoyi-admin/pom.xml | 5 inspect-server/src/main/java/com/ruoyi/basic/pojo/InsSample.java | 246 +- inspect-server/src/main/java/com/ruoyi/basic/dto/CostStatisticsDto.java | 63 performance-server/pom.xml | 5 inspect-server/src/main/java/com/ruoyi/basic/service/impl/RawMaterialOrderTemplateServiceImpl.java | 138 ruoyi-common/pom.xml | 18 /dev/null | 125 - inspect-server/src/main/java/com/ruoyi/basic/dto/SampleOrderDto.java | 93 + inspect-server/src/main/java/com/ruoyi/basic/service/RawMaterialOrderService.java | 289 +- inspect-server/src/main/java/com/ruoyi/basic/pojo/RawMaterialOrderTemplate.java | 52 inspect-server/src/main/java/com/ruoyi/basic/controller/RawMaterialOrderController.java | 635 +++--- basic-server/pom.xml | 5 inspect-server/src/main/java/com/ruoyi/basic/mapper/RawMaterialOrderTemplateMapper.java | 17 35 files changed, 3,147 insertions(+), 1,732 deletions(-) diff --git a/basic-server/pom.xml b/basic-server/pom.xml index e0f5431..b45552d 100644 --- a/basic-server/pom.xml +++ b/basic-server/pom.xml @@ -11,14 +11,19 @@ <artifactId>basic-server</artifactId> <dependencies> + <!-- 閫氱敤宸ュ叿--> <dependency> <groupId>com.ruoyi</groupId> <artifactId>ruoyi-common</artifactId> </dependency> + + <!-- 鏍稿績妯″潡--> <dependency> <groupId>com.ruoyi</groupId> <artifactId>ruoyi-framework</artifactId> </dependency> + + <!-- 绯荤粺妯″潡--> <dependency> <groupId>com.ruoyi</groupId> <artifactId>ruoyi-system</artifactId> diff --git a/basic-server/src/main/java/com/ruoyi/basic/dto/IfsInventoryQuantityCheckDto.java b/basic-server/src/main/java/com/ruoyi/basic/dto/IfsInventoryQuantityCheckDto.java index db5c582..d6d48c8 100644 --- a/basic-server/src/main/java/com/ruoyi/basic/dto/IfsInventoryQuantityCheckDto.java +++ b/basic-server/src/main/java/com/ruoyi/basic/dto/IfsInventoryQuantityCheckDto.java @@ -14,7 +14,7 @@ * @Date 2024/8/28 */ @Data -public class IfsInventoryQuantityCheckDto implements Serializable { +public class IfsInventoryQuantityCheckDto implements Serializable { private Integer id; diff --git a/basic-server/src/main/java/com/ruoyi/basic/dto/SampleDto.java b/basic-server/src/main/java/com/ruoyi/basic/dto/SampleDto.java index 18fc086..886c9f7 100644 --- a/basic-server/src/main/java/com/ruoyi/basic/dto/SampleDto.java +++ b/basic-server/src/main/java/com/ruoyi/basic/dto/SampleDto.java @@ -1,5 +1,6 @@ package com.ruoyi.basic.dto; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; @@ -13,11 +14,13 @@ private String value; + @ApiModelProperty("闆朵欢鍙�") private String partNo; - // 鏍峰搧鑻辨枃 + @ApiModelProperty("鏍峰搧鑻辨枃") private String sampleEn; + @ApiModelProperty("浜у搧") private List<ModelDto> children; } diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/impl/CapacityScopeServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/CapacityScopeServiceImpl.java index f63a161..f83bd97 100644 --- a/basic-server/src/main/java/com/ruoyi/basic/service/impl/CapacityScopeServiceImpl.java +++ b/basic-server/src/main/java/com/ruoyi/basic/service/impl/CapacityScopeServiceImpl.java @@ -33,8 +33,6 @@ @AllArgsConstructor public class CapacityScopeServiceImpl extends ServiceImpl<StructureItemParameterMapper, StructureItemParameter> implements CapacityScopeService { - private LaboratoryMapper laboratoryMapper; - private StructureItemParameterMapper structureItemParameterMapper; private StructureTestObjectMapper structureTestObjectMapper; diff --git a/cnas-require/pom.xml b/cnas-require/pom.xml index 5fda62b..52aab93 100644 --- a/cnas-require/pom.xml +++ b/cnas-require/pom.xml @@ -18,19 +18,23 @@ </properties> <dependencies> + <!-- 閫氱敤宸ュ叿--> <dependency> <groupId>com.ruoyi</groupId> <artifactId>ruoyi-common</artifactId> </dependency> + + <!-- 鏍稿績妯″潡--> <dependency> <groupId>com.ruoyi</groupId> <artifactId>ruoyi-framework</artifactId> </dependency> + + <!--涓氬姟妯″潡--> <dependency> <groupId>com.ruoyi</groupId> <artifactId>inspect-server</artifactId> - <version>3.8.9</version> </dependency> </dependencies> -</project> \ No newline at end of file +</project> diff --git a/inspect-server/pom.xml b/inspect-server/pom.xml index 38a4862..c124706 100644 --- a/inspect-server/pom.xml +++ b/inspect-server/pom.xml @@ -12,22 +12,34 @@ <artifactId>inspect-server</artifactId> <dependencies> + <!-- 閫氱敤宸ュ叿--> <dependency> <groupId>com.ruoyi</groupId> <artifactId>ruoyi-common</artifactId> </dependency> + + <!-- 鏍稿績妯″潡--> <dependency> <groupId>com.ruoyi</groupId> <artifactId>ruoyi-framework</artifactId> </dependency> + + <!--鍩虹妯″潡--> + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>basic-server</artifactId> + </dependency> + + <!-- 绯荤粺妯″潡--> <dependency> <groupId>com.ruoyi</groupId> <artifactId>ruoyi-system</artifactId> </dependency> + + <!-- poi-tl鍖呯敓鎴愭姤鍛� --> <dependency> <groupId>com.deepoove</groupId> <artifactId>poi-tl</artifactId> - <version>1.12.2</version> </dependency> </dependencies> diff --git a/inspect-server/src/main/java/com/ruoyi/basic/controller/RawMaterialOrderController.java b/inspect-server/src/main/java/com/ruoyi/basic/controller/RawMaterialOrderController.java index e913cf4..0a5e48c 100644 --- a/inspect-server/src/main/java/com/ruoyi/basic/controller/RawMaterialOrderController.java +++ b/inspect-server/src/main/java/com/ruoyi/basic/controller/RawMaterialOrderController.java @@ -1,318 +1,317 @@ -//package com.ruoyi.basic.controller; -// -//import com.alibaba.fastjson.JSON; -//import com.alibaba.fastjson.JSONArray; -//import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -//import com.ruoyi.basic.dto.IfsInventoryQuantityCheckDto; -//import com.ruoyi.basic.dto.IfsInventoryQuantityDto; -//import com.ruoyi.basic.dto.IfsInventoryQuantitySupplierDto; -//import com.ruoyi.basic.service.RawMaterialOrderService; -//import com.ruoyi.basic.service.RawMaterialOrderTemplateService; -//import com.ruoyi.common.core.domain.Result; -//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.io.File; -//import java.util.List; -//import java.util.Map; -// -///** -// * @Author zhuo -// * @Date 2024/7/31 -// */ -//@RequestMapping("/rawMaterialOrder") -//@RestController -//@AllArgsConstructor -//@Api(tags = "鍘熸潗鏂欎笅鍗�") -//public class RawMaterialOrderController { -// -// private RawMaterialOrderService rawMaterialOrderService; -// private RawMaterialOrderTemplateService rawMaterialOrderTemplateService; -// -// @ApiOperation(value = "鏇村叿闆朵欢鍙疯幏鍙栨爣鍑嗘爲") -// @GetMapping("/selectStandardTreeListByPartNo") -// public Result selectStandardTreeListByPartNo(String partNo) { -// return Result.success(rawMaterialOrderService.selectStandardTreeListByPartNo(partNo)); -// } -// -// @ApiOperation(value = "鍘熸潗鏂欐楠屾煡璇唬涓嬪崟") -// @GetMapping("/getPurchaseOrder") -// public Result getPurchaseOrder(Page page, IfsInventoryQuantityCheckDto ifsInventoryQuantity){ -// return Result.success(rawMaterialOrderService.selectIfsInventoryQuantity(page, ifsInventoryQuantity)); -// } -// -// @ApiOperation(value = "鍘熸潗鏂欐楠屾煡璇㈡楠屼腑") -// @GetMapping("/getIfsByStateOne") -// public Result getIfsByStateOne(Page page, IfsInventoryQuantityDto ifsInventoryQuantityDto) throws Exception { -// return Result.success(rawMaterialOrderService.getIfsByStateOne(page, ifsInventoryQuantityDto)); -// } -// -// @ApiOperation(value = "鍘熸潗鏂欐楠屾煡璇㈠凡妫�楠�") -// @GetMapping("/getIfsByOver") -// public Result getIfsByOver(Page page, IfsInventoryQuantitySupplierDto ifsInventoryQuantityDto) throws Exception { -// return Result.success(rawMaterialOrderService.getIfsByOver(page, ifsInventoryQuantityDto)); -// } -// -// @ApiOperation(value = "娣诲姞鍘熸潗鏂欐楠屽崟妯℃澘") -// @PostMapping("/addRawMaterOrderTemplate") -// public Result<?> addRawMaterOrderTemplate(@RequestBody RawMaterialOrderTemplate rawMaterialOrderTemplate) { -// return Result.success(rawMaterialOrderTemplateService.addRawMaterOrderTemplate(rawMaterialOrderTemplate)); -// } -// @ApiOperation(value = "鏌ヨ鍘熸潗鏂欐楠屽崟妯℃澘鍒楄〃") -// @GetMapping("/selectRawMaterOrderTemplate") -// public Result<?> selectRawMaterOrderTemplate(String partNo) { -// return Result.success(rawMaterialOrderTemplateService.selectRawMaterOrderTemplate(partNo)); -// } -// -// @ApiOperation(value = "閫氳繃鍘熸潗鏂欐楠屽崟妯℃澘id鑾峰彇妫�楠屽崟妯℃澘鍐呭") -// @GetMapping("/selectRawMaterOrderTemplateById") -// public Result<?> selectRawMaterOrderTemplateById(Integer id) { -// return Result.success("鎴愬姛", rawMaterialOrderTemplateService.selectRawMaterOrderTemplateById(id)); -// } -// -// @ApiOperation(value = "鍒犻櫎鍘熸潗鏂欐楠屽崟妯℃澘") -// @PostMapping("/delRawMaterOrderTemplate") -// public Result<?> delRawMaterOrderTemplate(Integer id) { -// return Result.success(rawMaterialOrderTemplateService.delRawMaterOrderTemplate(id)); -// } -// -// -// /** -// * 鎶ユ鎵归噺 -// * @param param 鍘熸潗鏂檌d -// * @return -// */ -// @ApiOperation(value = "鎶ユ鎵归噺") -// @PostMapping("/inspectionReport") -// public Result<?> inspectionReport(@RequestBody Map<String, Object> param) { -// List<Integer> ids = (List<Integer>) param.get("ids"); -// return Result.success(rawMaterialOrderService.inspectionReport(ids)); -// } -// -// /** -// * 鍙栨秷鎶ユ -// * @param id 鍘熸潗鏂欎笅鍗� -// * @return -// */ -// @ApiOperation(value = "鎾ら攢鎶ユ") -// @PostMapping("/revokeInspectionReport") -// public Result<?> revokeInspectionReport(Integer id) { -// return Result.success(rawMaterialOrderService.revokeInspectionReport(id)); -// } -// -// /** -// * 鎵撳嵃鏍囩鏌ヨ -// * @param param 鍘熸潗鏂檌d -// * @return -// */ -// @ApiOperation(value = "鎵撳嵃鏍囩鏌ヨ") -// @PostMapping("/printLabel") -// public Result<?> printLabel(@RequestBody Map<String, Object> param) { -// List<Integer> ids = (List<Integer>) param.get("ids"); -// return Result.success(rawMaterialOrderService.printLabel(ids)); -// } -// -// /** -// * 鎶ユ -// * @param ifsInventoryQuantity 鍘熸潗鏂� -// * @return -// */ -// @ApiOperation(value = "鎶ユ") -// @PostMapping("/inspectionReportOne") -// public Result<?> inspectionReportOne(@RequestBody IfsInventoryQuantity ifsInventoryQuantity) { -// -// return Result.success(rawMaterialOrderService.inspectionReportOne(ifsInventoryQuantity)); -// } -// -// /** -// * 鑾峰彇閾滀骇涓氶摼妫�娴嬫暟鎹� -// * @param id 鍘熸潗鏂檌d -// * @return -// */ -// @ApiOperation(value = "鑾峰彇閾滀骇涓氶摼妫�娴嬫暟鎹�") -// @GetMapping("/getIndustryChain") -// public Result<?> getIndustryChain(Integer id) { -// return Result.success("鎴愬姛", rawMaterialOrderService.getIndustryChain(id)); -// } -// -// /** -// * 鍘熸潗鏂欐挙閿� -// * @param ifsInventoryId -// * @return -// */ -// @ApiOperation(value = "鍘熸潗鏂欐挙閿�涓嬪崟") -// @PutMapping("/repealRawOrder") -// public Result<?> repealRawOrder(Integer ifsInventoryId){ -// return Result.success(rawMaterialOrderService.repealRawOrder(ifsInventoryId)); -// } -// -// -// @ApiOperation(value = "鍘熸潗鏂欎笅鍗曞厤妫�") -// @PostMapping("/addExemptionOrder") -// public Result<?> addExemptionOrder(String str) { -// 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); -// return Result.success(rawMaterialOrderService.addExemptionOrder(list, insOrder)); -// } -// -// -// @ApiOperation(value = "浠撳簱鎶ユ鏌ヨ") -// @PostMapping("/getWarehouseSubmit") -// public Result getWarehouseSubmit(@RequestBody Map<String, Object> data) throws Exception { -// Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); -// IfsInventoryQuantity ifsInventoryQuantity = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), IfsInventoryQuantity.class); -// return Result.success(rawMaterialOrderService.getWarehouseSubmit(page, ifsInventoryQuantity)); -// } -// -// /** -// * 鍙栨秷鎶ユ -// * @param id 鍘熸潗鏂欎笅鍗� -// * @return -// */ -// @ApiOperation(value = "鍒犻櫎鍘熸潗鏂欐姤妫�淇℃伅") -// @PostMapping("/delIfsInventory") -// public Result<?> delIfsInventory(Integer id) { -// return Result.success(rawMaterialOrderService.delIfsInventory(id)); -// } -// -// /** -// * 鍘熸潗鏂欎笅鍗曟斁琛� -// * @param param -// * @return -// */ -// @ApiOperation(value = "鍘熸潗鏂欎笅鍗曟斁琛屽厤妫�") -// @PostMapping("/rawOrderRelease") -// public Result<?> rawOrderRelease(@RequestBody Map<String, Object> param){ -// Integer ifsInventoryId = (Integer) param.get("ifsInventoryId"); -// String partDetail = (String) param.get("partDetail"); -// return Result.success(rawMaterialOrderService.rawOrderRelease(ifsInventoryId, partDetail)); -// } -// -// /** -// * 鍘熸潗鏂欎笅鍗曢�氱煡鍏嶆鎴栬�呭娆℃楠� -// * @param ifsInventoryId -// * @return -// */ -// @ApiOperation(value = "鍘熸潗鏂欎笅鍗曢�氱煡鍏嶆鎴栬�呭娆℃楠�") -// @GetMapping("/notificationRawOrder") -// public Result<?> notificationRawOrder(Integer ifsInventoryId){ -// return Result.success(rawMaterialOrderService.notificationRawOrder(ifsInventoryId)); -// } -// -// @ValueClassify("鍘熸潗鏂欎笅鍗�") -// @ApiOperation(value = "鍘熸潗鏂欐姤妫�鏌ヨ鍏ㄩ儴") -// @PostMapping("/getIfsByAll") -// public Result getIfsByAll(@RequestBody Map<String, Object> data) throws Exception { -// Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); -// IfsInventoryQuantitySupplierDto ifsInventoryQuantityDto = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), IfsInventoryQuantitySupplierDto.class); -// return Result.success(rawMaterialOrderService.getIfsByOver(page, ifsInventoryQuantityDto)); -// } -// -// -// @ApiOperation(value = "鏂板鍘熸潗鏂欐姤妫�淇℃伅") -// @PostMapping("/addIfsInventoryQuantity") -// public Result addIfsInventoryQuantity(@RequestBody IfsInventoryQuantity ifsInventoryQuantity) { -// rawMaterialOrderService.addIfsInventoryQuantity(ifsInventoryQuantity); -// return Result.success(); -// } -// -// @ApiOperation(value = "鍘熸潗鏂欎笅鍗曟煡鐪嬪凡瀹屾垚淇℃伅") -// @PostMapping("/getIfsByFinish") -// public Result getIfsByFinish(@RequestBody Map<String, Object> data) throws Exception { -// Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); -// IfsInventoryQuantitySupplierDto ifsInventoryQuantityDto = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), IfsInventoryQuantitySupplierDto.class); -// ifsInventoryQuantityDto.setIsFinish(1); -// return Result.success(rawMaterialOrderService.getIfsByOver(page, ifsInventoryQuantityDto)); -// } -// -// @ApiOperation(value = "娴嬭瘯绉诲簱") -// @PostMapping("/shiftingParking") -// public Result shiftingParking(@RequestBody List<Integer> ids){ -// rawMaterialOrderService.shiftingParking(ids); -// return Result.success(); -// } -// -// @ApiOperation(value = "寰俊鍙戦�佹枃浠�") -// @GetMapping("/wxSend") -// public Result wxSend(String user, String content, String filePath) throws Exception { -// WxCpUtils.inform(user, content, new File(filePath)); -// return Result.success(); -// } -// -// @ValueClassify("鍘熸潗鏂欎笅鍗�") -// @ApiOperation(value = "閾滃崟涓濅笅鍗曞厤妫�") -// @PostMapping("/addRawCopperOrderExemptionOrder") -// public Result<?> addRawCopperOrderExemptionOrder(String str) { -// Map<String, Object> map = JSON.parseObject(str, Map.class); -// JSONArray jsonArray = JSON.parseArray(map.get("list")+""); -// List<SampleProductDto> list = jsonArray.toJavaList(SampleProductDto.class); -// CopperInsOrderDto CopperInsOrder = JSON.parseObject(JSON.toJSONString(map.get("insOrder")), CopperInsOrderDto.class); -// return Result.success(rawMaterialOrderService.addRawCopperOrderExemptionOrder(list, CopperInsOrder)); -// } -// -// /** -// * 璁╂鏀捐 -// * @param ifsInventoryId -// * @return -// */ -// @ValueClassify("鍘熸潗鏂欎笅鍗�") -// @ApiOperation(value = "璁╂鏀捐") -// @PostMapping("/concessionRelease") -// public Result<?> concessionRelease(Integer ifsInventoryId){ -// return Result.success(rawMaterialOrderService.concessionRelease(ifsInventoryId)); -// } -// -// /** -// * 鍘熸潗鏂欒繘鍘傛挙閿�涓嬪崟 -// * @param enterOrderId -// * @return -// */ -// @ApiOperation(value = "鍘熸潗鏂欒繘鍘傛挙閿�涓嬪崟") -// @PostMapping("/repealEnterRawOrder") -// public Result<?> repealEnterRawOrder(Integer enterOrderId){ -// return Result.success(rawMaterialOrderService.repealEnterRawOrder(enterOrderId)); -// } -// -// /** -// * 鍘熸潗鏂欏搴︽挙閿�涓嬪崟 -// * @param quarterOrderId -// * @return -// */ -// @ApiOperation(value = "鍘熸潗鏂欏搴︽挙閿�涓嬪崟") -// @PostMapping("/repealQuarterRawOrder") -// public Result<?> repealQuarterRawOrder(Integer quarterOrderId){ -// return Result.success(rawMaterialOrderService.repealQuarterRawOrder(quarterOrderId)); -// } -// -// @ApiOperation(value = "鍏ㄩ儴淇℃伅瀵煎嚭") -// @PostMapping("/rawAllExport") -// public void rawAllExport(@RequestBody Map<String, Object> data, HttpServletResponse response) throws Exception { -// IfsInventoryQuantitySupplierDto dto = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), IfsInventoryQuantitySupplierDto.class); -// rawMaterialOrderService.rawAllExport(dto,response); -// } -// -// @ApiOperation(value = "鍘熸潗鏂欐楠屾煡璇㈠搴︽楠�") -// @PostMapping("/getIfsByQuarter") -// public Result getIfsByQuarter(@RequestBody Map<String, Object> data) throws Exception { -// Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); -// IfsInventoryQuantitySupplierDto ifsInventoryQuantityDto = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), IfsInventoryQuantitySupplierDto.class); -// return Result.success(rawMaterialOrderService.getIfsByQuarter(page, ifsInventoryQuantityDto)); -// } -// -// /** -// * 鎻愬墠鍏ュ簱 -// * @param ifsInventoryId -// * @return -// */ -// @ApiOperation(value = "鎻愬墠鍏ュ簱") -// @PostMapping("/advancedGodown") -// public Result<?> advancedGodown(Integer ifsInventoryId){ -// return Result.success(rawMaterialOrderService.advancedGodown(ifsInventoryId)); -// } -// -//} +package com.ruoyi.basic.controller; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.basic.dto.*; +import com.ruoyi.basic.pojo.IfsInventoryQuantity; +import com.ruoyi.basic.pojo.InsOrder; +import com.ruoyi.basic.pojo.RawMaterialOrderTemplate; +import com.ruoyi.basic.service.RawMaterialOrderService; +import com.ruoyi.basic.service.RawMaterialOrderTemplateService; +import com.ruoyi.common.core.domain.Result; +import com.ruoyi.common.utils.JackSonUtil; +import com.ruoyi.common.utils.WxCpUtils; +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.io.File; +import java.util.List; +import java.util.Map; + +/** + * @Author zhuo + * @Date 2024/7/31 + */ +@RequestMapping("/rawMaterialOrder") +@RestController +@AllArgsConstructor +@Api(tags = "鍘熸潗鏂欎笅鍗�") +public class RawMaterialOrderController { + + private RawMaterialOrderService rawMaterialOrderService; + private RawMaterialOrderTemplateService rawMaterialOrderTemplateService; + + @ApiOperation(value = "鏇村叿闆朵欢鍙疯幏鍙栨爣鍑嗘爲") + @GetMapping("/selectStandardTreeListByPartNo") + public Result selectStandardTreeListByPartNo(String partNo) { + return Result.success(rawMaterialOrderService.selectStandardTreeListByPartNo(partNo)); + } + + @ApiOperation(value = "鍘熸潗鏂欐楠屾煡璇唬涓嬪崟") + @GetMapping("/getPurchaseOrder") + public Result getPurchaseOrder(Page page, IfsInventoryQuantityCheckDto ifsInventoryQuantity){ + return Result.success(rawMaterialOrderService.selectIfsInventoryQuantity(page, ifsInventoryQuantity)); + } + + @ApiOperation(value = "鍘熸潗鏂欐楠屾煡璇㈡楠屼腑") + @GetMapping("/getIfsByStateOne") + public Result getIfsByStateOne(Page page, IfsInventoryQuantityDto ifsInventoryQuantityDto) throws Exception { + return Result.success(rawMaterialOrderService.getIfsByStateOne(page, ifsInventoryQuantityDto)); + } + + @ApiOperation(value = "鍘熸潗鏂欐楠屾煡璇㈠凡妫�楠�") + @GetMapping("/getIfsByOver") + public Result getIfsByOver(Page page, IfsInventoryQuantitySupplierDto ifsInventoryQuantityDto) throws Exception { + return Result.success(rawMaterialOrderService.getIfsByOver(page, ifsInventoryQuantityDto)); + } + + @ApiOperation(value = "娣诲姞鍘熸潗鏂欐楠屽崟妯℃澘") + @PostMapping("/addRawMaterOrderTemplate") + public Result<?> addRawMaterOrderTemplate(@RequestBody RawMaterialOrderTemplate rawMaterialOrderTemplate) { + return Result.success(rawMaterialOrderTemplateService.addRawMaterOrderTemplate(rawMaterialOrderTemplate)); + } + @ApiOperation(value = "鏌ヨ鍘熸潗鏂欐楠屽崟妯℃澘鍒楄〃") + @GetMapping("/selectRawMaterOrderTemplate") + public Result<?> selectRawMaterOrderTemplate(String partNo) { + return Result.success(rawMaterialOrderTemplateService.selectRawMaterOrderTemplate(partNo)); + } + + @ApiOperation(value = "閫氳繃鍘熸潗鏂欐楠屽崟妯℃澘id鑾峰彇妫�楠屽崟妯℃澘鍐呭") + @GetMapping("/selectRawMaterOrderTemplateById") + public Result<?> selectRawMaterOrderTemplateById(Integer id) { + return Result.success("鎴愬姛", rawMaterialOrderTemplateService.selectRawMaterOrderTemplateById(id)); + } + + @ApiOperation(value = "鍒犻櫎鍘熸潗鏂欐楠屽崟妯℃澘") + @PostMapping("/delRawMaterOrderTemplate") + public Result<?> delRawMaterOrderTemplate(Integer id) { + return Result.success(rawMaterialOrderTemplateService.delRawMaterOrderTemplate(id)); + } + + + /** + * 鎶ユ鎵归噺 + * @param param 鍘熸潗鏂檌d + * @return + */ + @ApiOperation(value = "鎶ユ鎵归噺") + @PostMapping("/inspectionReport") + public Result<?> inspectionReport(@RequestBody Map<String, Object> param) { + List<Integer> ids = (List<Integer>) param.get("ids"); + return Result.success(rawMaterialOrderService.inspectionReport(ids)); + } + + /** + * 鍙栨秷鎶ユ + * @param id 鍘熸潗鏂欎笅鍗� + * @return + */ + @ApiOperation(value = "鎾ら攢鎶ユ") + @PostMapping("/revokeInspectionReport") + public Result<?> revokeInspectionReport(Integer id) { + return Result.success(rawMaterialOrderService.revokeInspectionReport(id)); + } + + /** + * 鎵撳嵃鏍囩鏌ヨ + * @param param 鍘熸潗鏂檌d + * @return + */ + @ApiOperation(value = "鎵撳嵃鏍囩鏌ヨ") + @PostMapping("/printLabel") + public Result<?> printLabel(@RequestBody Map<String, Object> param) { + List<Integer> ids = (List<Integer>) param.get("ids"); + return Result.success(rawMaterialOrderService.printLabel(ids)); + } + + /** + * 鎶ユ + * @param ifsInventoryQuantity 鍘熸潗鏂� + * @return + */ + @ApiOperation(value = "鎶ユ") + @PostMapping("/inspectionReportOne") + public Result<?> inspectionReportOne(@RequestBody IfsInventoryQuantity ifsInventoryQuantity) { + + return Result.success(rawMaterialOrderService.inspectionReportOne(ifsInventoryQuantity)); + } + + /** + * 鑾峰彇閾滀骇涓氶摼妫�娴嬫暟鎹� + * @param id 鍘熸潗鏂檌d + * @return + */ + @ApiOperation(value = "鑾峰彇閾滀骇涓氶摼妫�娴嬫暟鎹�") + @GetMapping("/getIndustryChain") + public Result<?> getIndustryChain(Integer id) { + return Result.success("鎴愬姛", rawMaterialOrderService.getIndustryChain(id)); + } + + /** + * 鍘熸潗鏂欐挙閿� + * @param ifsInventoryId + * @return + */ + @ApiOperation(value = "鍘熸潗鏂欐挙閿�涓嬪崟") + @PutMapping("/repealRawOrder") + public Result<?> repealRawOrder(Integer ifsInventoryId){ + return Result.success(rawMaterialOrderService.repealRawOrder(ifsInventoryId)); + } + + + @ApiOperation(value = "鍘熸潗鏂欎笅鍗曞厤妫�") + @PostMapping("/addExemptionOrder") + public Result<?> addExemptionOrder(String str) { + 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); + return Result.success(rawMaterialOrderService.addExemptionOrder(list, insOrder)); + } + + + @ApiOperation(value = "浠撳簱鎶ユ鏌ヨ") + @PostMapping("/getWarehouseSubmit") + public Result getWarehouseSubmit(@RequestBody Map<String, Object> data) throws Exception { + Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); + IfsInventoryQuantity ifsInventoryQuantity = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), IfsInventoryQuantity.class); + return Result.success(rawMaterialOrderService.getWarehouseSubmit(page, ifsInventoryQuantity)); + } + + /** + * 鍙栨秷鎶ユ + * @param id 鍘熸潗鏂欎笅鍗� + * @return + */ + @ApiOperation(value = "鍒犻櫎鍘熸潗鏂欐姤妫�淇℃伅") + @PostMapping("/delIfsInventory") + public Result<?> delIfsInventory(Integer id) { + return Result.success(rawMaterialOrderService.delIfsInventory(id)); + } + + /** + * 鍘熸潗鏂欎笅鍗曟斁琛� + * @param param + * @return + */ + @ApiOperation(value = "鍘熸潗鏂欎笅鍗曟斁琛屽厤妫�") + @PostMapping("/rawOrderRelease") + public Result<?> rawOrderRelease(@RequestBody Map<String, Object> param){ + Integer ifsInventoryId = (Integer) param.get("ifsInventoryId"); + String partDetail = (String) param.get("partDetail"); + return Result.success(rawMaterialOrderService.rawOrderRelease(ifsInventoryId, partDetail)); + } + + /** + * 鍘熸潗鏂欎笅鍗曢�氱煡鍏嶆鎴栬�呭娆℃楠� + * @param ifsInventoryId + * @return + */ + @ApiOperation(value = "鍘熸潗鏂欎笅鍗曢�氱煡鍏嶆鎴栬�呭娆℃楠�") + @GetMapping("/notificationRawOrder") + public Result<?> notificationRawOrder(Integer ifsInventoryId){ + return Result.success(rawMaterialOrderService.notificationRawOrder(ifsInventoryId)); + } + + + @ApiOperation(value = "鍘熸潗鏂欐姤妫�鏌ヨ鍏ㄩ儴") + @PostMapping("/getIfsByAll") + public Result getIfsByAll(@RequestBody Map<String, Object> data) throws Exception { + Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); + IfsInventoryQuantitySupplierDto ifsInventoryQuantityDto = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), IfsInventoryQuantitySupplierDto.class); + return Result.success(rawMaterialOrderService.getIfsByOver(page, ifsInventoryQuantityDto)); + } + + + @ApiOperation(value = "鏂板鍘熸潗鏂欐姤妫�淇℃伅") + @PostMapping("/addIfsInventoryQuantity") + public Result addIfsInventoryQuantity(@RequestBody IfsInventoryQuantity ifsInventoryQuantity) { + rawMaterialOrderService.addIfsInventoryQuantity(ifsInventoryQuantity); + return Result.success(); + } + + @ApiOperation(value = "鍘熸潗鏂欎笅鍗曟煡鐪嬪凡瀹屾垚淇℃伅") + @PostMapping("/getIfsByFinish") + public Result getIfsByFinish(@RequestBody Map<String, Object> data) throws Exception { + Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class); + IfsInventoryQuantitySupplierDto ifsInventoryQuantityDto = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), IfsInventoryQuantitySupplierDto.class); + ifsInventoryQuantityDto.setIsFinish(1); + return Result.success(rawMaterialOrderService.getIfsByOver(page, ifsInventoryQuantityDto)); + } + + @ApiOperation(value = "娴嬭瘯绉诲簱") + @PostMapping("/shiftingParking") + public Result shiftingParking(@RequestBody List<Integer> ids){ + rawMaterialOrderService.shiftingParking(ids); + return Result.success(); + } + + @ApiOperation(value = "寰俊鍙戦�佹枃浠舵祴璇�") + @GetMapping("/wxSend") + public Result wxSend(String user, String content, String filePath) throws Exception { + WxCpUtils.inform(user, content, new File(filePath)); + return Result.success(); + } + + @ApiOperation(value = "閾滃崟涓濅笅鍗曞厤妫�") + @PostMapping("/addRawCopperOrderExemptionOrder") + public Result<?> addRawCopperOrderExemptionOrder(String str) { + Map<String, Object> map = JSON.parseObject(str, Map.class); + JSONArray jsonArray = JSON.parseArray(map.get("list")+""); + List<SampleProductDto> list = jsonArray.toJavaList(SampleProductDto.class); + CopperInsOrderDto CopperInsOrder = JSON.parseObject(JSON.toJSONString(map.get("insOrder")), CopperInsOrderDto.class); + return Result.success(rawMaterialOrderService.addRawCopperOrderExemptionOrder(list, CopperInsOrder)); + } + + /** + * 璁╂鏀捐 + * @param ifsInventoryId + * @return + */ + @ApiOperation(value = "璁╂鏀捐") + @PostMapping("/concessionRelease") + public Result<?> concessionRelease(Integer ifsInventoryId){ + return Result.success(rawMaterialOrderService.concessionRelease(ifsInventoryId)); + } + + /** + * 鍘熸潗鏂欒繘鍘傛挙閿�涓嬪崟 + * @param enterOrderId + * @return + */ + @ApiOperation(value = "鍘熸潗鏂欒繘鍘傛挙閿�涓嬪崟") + @PostMapping("/repealEnterRawOrder") + public Result<?> repealEnterRawOrder(Integer enterOrderId){ + return Result.success(rawMaterialOrderService.repealEnterRawOrder(enterOrderId)); + } + + /** + * 鍘熸潗鏂欏搴︽挙閿�涓嬪崟 + * @param quarterOrderId + * @return + */ + @ApiOperation(value = "鍘熸潗鏂欏搴︽挙閿�涓嬪崟") + @PostMapping("/repealQuarterRawOrder") + public Result<?> repealQuarterRawOrder(Integer quarterOrderId){ + return Result.success(rawMaterialOrderService.repealQuarterRawOrder(quarterOrderId)); + } + + @ApiOperation(value = "鍏ㄩ儴淇℃伅瀵煎嚭") + @PostMapping("/rawAllExport") + public void rawAllExport(@RequestBody Map<String, Object> data, HttpServletResponse response) throws Exception { + IfsInventoryQuantitySupplierDto dto = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), IfsInventoryQuantitySupplierDto.class); + rawMaterialOrderService.rawAllExport(dto,response); + } + + @ApiOperation(value = "鍘熸潗鏂欐楠屾煡璇㈠搴︽楠�") + @GetMapping("/getIfsByQuarter") + public Result getIfsByQuarter(Page page, IfsInventoryQuantitySupplierDto ifsInventoryQuantityDto){ + return Result.success(rawMaterialOrderService.getIfsByQuarter(page, ifsInventoryQuantityDto)); + } + + /** + * 鎻愬墠鍏ュ簱 + * @param ifsInventoryId + * @return + */ + @ApiOperation(value = "鎻愬墠鍏ュ簱") + @PostMapping("/advancedGodown") + public Result<?> advancedGodown(Integer ifsInventoryId){ + return Result.success(rawMaterialOrderService.advancedGodown(ifsInventoryId)); + } + +} diff --git a/inspect-server/src/main/java/com/ruoyi/basic/dto/CopperInsOrderDto.java b/inspect-server/src/main/java/com/ruoyi/basic/dto/CopperInsOrderDto.java new file mode 100644 index 0000000..328126f --- /dev/null +++ b/inspect-server/src/main/java/com/ruoyi/basic/dto/CopperInsOrderDto.java @@ -0,0 +1,37 @@ +package com.ruoyi.basic.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.basic.pojo.InsOrder; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * 閾滃崟涓濅笅鍗曚俊鎭� + * + * @Author zhuo + * @Date 2024/9/13 + */ +@Data +public class CopperInsOrderDto extends InsOrder { + + @ApiModelProperty("鍒拌揣鏁伴噺") + private BigDecimal qtyArrived; + + @ApiModelProperty("鍗曚綅") + private String buyUnitMeas; + + @ApiModelProperty("渚涘簲鍟嗗悕绉�") + private String supplierName; + + @ApiModelProperty("鎵瑰彿") + private String updateBatchNo; + + @ApiModelProperty("鎺ユ敹鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime declareDate; + + +} diff --git a/inspect-server/src/main/java/com/ruoyi/basic/dto/CostStatisticsDto.java b/inspect-server/src/main/java/com/ruoyi/basic/dto/CostStatisticsDto.java new file mode 100644 index 0000000..904619b --- /dev/null +++ b/inspect-server/src/main/java/com/ruoyi/basic/dto/CostStatisticsDto.java @@ -0,0 +1,63 @@ +package com.ruoyi.basic.dto; + +import com.alibaba.excel.annotation.ExcelIgnore; +import com.alibaba.excel.annotation.ExcelProperty; +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Data +public class CostStatisticsDto{ + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ExcelProperty(value ={"涓ぉ绉戞妧妫�娴嬩腑蹇冩牱鍝佺櫥璁拌〃","ZTT/QR-30-01-01","鏃ユ湡"}) + private LocalDateTime createTime; + + @ExcelProperty(value ={"涓ぉ绉戞妧妫�娴嬩腑蹇冩牱鍝佺櫥璁拌〃","ZTT/QR-30-01-01","妫�楠岀紪鍙�"}) + private String entrustCode; + + @ExcelProperty(value ={"涓ぉ绉戞妧妫�娴嬩腑蹇冩牱鍝佺櫥璁拌〃","鏍峰搧鍚嶇О"}) + private String sample; + + @ExcelProperty(value ={"涓ぉ绉戞妧妫�娴嬩腑蹇冩牱鍝佺櫥璁拌〃","瑙勬牸鍨嬪彿"}) + private String model; + + @ExcelProperty(value ={"涓ぉ绉戞妧妫�娴嬩腑蹇冩牱鍝佺櫥璁拌〃","鏍峰搧鏁伴噺"}) + private Integer num; + + @ExcelProperty(value ={"涓ぉ绉戞妧妫�娴嬩腑蹇冩牱鍝佺櫥璁拌〃","鎬讳环"}) + private BigDecimal price; + + @ExcelProperty(value ={"涓ぉ绉戞妧妫�娴嬩腑蹇冩牱鍝佺櫥璁拌〃","璇曢獙椤圭洰"}) + private String inspectionItem; + + @ExcelProperty(value ={"涓ぉ绉戞妧妫�娴嬩腑蹇冩牱鍝佺櫥璁拌〃","濮旀墭鍗曚綅"}) + private String company; + + @ExcelProperty(value ={"涓ぉ绉戞妧妫�娴嬩腑蹇冩牱鍝佺櫥璁拌〃","濮旀墭浜�"}) + private String name; + + @ExcelProperty(value ={"涓ぉ绉戞妧妫�娴嬩腑蹇冩牱鍝佺櫥璁拌〃","鐢熶骇鍗曚綅"}) + private String production; + + @ExcelProperty(value ={"涓ぉ绉戞妧妫�娴嬩腑蹇冩牱鍝佺櫥璁拌〃","宸ョ▼鍚嶇О"}) + private String engineering; + + @ExcelIgnore + private Integer createUser; + + @ExcelIgnore + private Integer insSampleId; + + @ExcelIgnore + private Double cost;//宸ユ椂 + + @TableField(exist = false,select = false) + @ExcelIgnore + private String dates; + + +} diff --git a/inspect-server/src/main/java/com/ruoyi/basic/dto/IfsInventoryQuantityCheckDto.java b/inspect-server/src/main/java/com/ruoyi/basic/dto/IfsInventoryQuantityCheckDto.java deleted file mode 100644 index e74a7ca..0000000 --- a/inspect-server/src/main/java/com/ruoyi/basic/dto/IfsInventoryQuantityCheckDto.java +++ /dev/null @@ -1,183 +0,0 @@ -//package com.ruoyi.basic.dto; -// -//import com.fasterxml.jackson.annotation.JsonFormat; -//import io.swagger.annotations.ApiModelProperty; -//import lombok.Data; -// -//import java.io.Serializable; -//import java.math.BigDecimal; -//import java.time.LocalDateTime; -// -///** -// * 鍘熸潗鏂欐煡璇�, 鎺掗櫎浜嗕緵搴斿晢 -// * @Author zhuo -// * @Date 2024/8/28 -// */ -//@Data -//public class IfsInventoryQuantityCheckDto implements Serializable { -// -// private Integer id; -// -// @ApiModelProperty("鍩�") -// private String contract; -// -// @ApiModelProperty("璁㈠崟鍙�") -// private String orderNo; -// -// -// @ApiModelProperty("琛屽彿") -// private String lineNo; -// -// @ApiModelProperty("涓嬭揪鍙�") -// private String releaseNo; -// -// @ApiModelProperty("鎺ユ敹鍙�") -// private Integer receiptNo; -// -// @ApiModelProperty("闆朵欢鍙�") -// private String partNo; -// -// @ApiModelProperty("闆朵欢鎻忚堪") -// private String partDesc; -// -// @ApiModelProperty("鐘舵�佹弿杩�") -// private String status; -// -// @ApiModelProperty("鐘舵��") -// private String statusDb; -// -// @ApiModelProperty("鎶佃揪鐨勯噰璐暟閲�") -// private BigDecimal qtyArrived; -// -// @ApiModelProperty("宸叉楠岀殑璐拱鏁伴噺") -// private BigDecimal qtyInspected; -// -// @ApiModelProperty("瑕佹楠岀殑閲囪喘鏁伴噺") -// private BigDecimal qtyToInspect; -// -// @ApiModelProperty("鎶佃揪鐨勫簱瀛樻暟閲�") -// private BigDecimal invQtyInStore; -// -// @ApiModelProperty("鎶佃揪鐨勯噰璐暟閲�") -// private BigDecimal purQtyInStore; -// -// @ApiModelProperty("閰嶇疆鏍囪瘑") -// private String configurationId; -// -// @ApiModelProperty("鎵瑰彿") -// private String lotBatchNo; -// -// @ApiModelProperty("wdr鍙�") -// private String waivDevRejNo; -// -// @ApiModelProperty("娲诲姩搴忓垪") -// private Integer activitySeq; -// -// -// @ApiModelProperty("搴忓垪鍙�") -// private String serialNo; -// -// @ApiModelProperty("搴撲綅鍙�") -// private String locationNo; -// -// @ApiModelProperty("鐗堟湰鍙�") -// private String engChgLevel; -// -// @ApiModelProperty("鎺ユ敹浜�") -// private String receiver; -// -// @ApiModelProperty("鎺ユ敹浜哄鍚�") -// private String receiverName; -// -// @ApiModelProperty("閲囪喘鍛�") -// private String buyerCode; -// -// @ApiModelProperty("閲囪喘鍛樺鍚�") -// private String buyerName; -// -// @ApiModelProperty("瀹為檯鍒拌揣鏃ユ湡") -// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") -// private LocalDateTime arriveDate; -// -// @ApiModelProperty("瀹為檯浜よ揣鏃ユ湡") -// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") -// private LocalDateTime deliveryDate; -// -// @ApiModelProperty("鐢熶骇鏃ユ湡") -// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") -// private LocalDateTime productDate; -// -// @ApiModelProperty("澶辨晥鏃ユ湡") -// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") -// private LocalDateTime invalidDate; -// -// -// @ApiModelProperty("瀹℃壒鏃ユ湡") -// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") -// private LocalDateTime approvedDate; -// -// @ApiModelProperty("閲囪喘鐢宠鍒涘缓浜�") -// private String reqCeater; -// -// @ApiModelProperty("閲囪喘鐢宠鍒涘缓浜哄鍚�") -// private String reqCeaterName; -// -// @ApiModelProperty("閲囪喘璁㈠崟琛屽娉�") -// private String lineRemarks; -// -// @ApiModelProperty("鍗曚綅") -// private String buyUnitMeas; -// -// -// private Integer isSource; -// -// private Integer number; -// -// -// private Integer state; -// -// @ApiModelProperty("鎺ユ敹鏃堕棿") -// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") -// private LocalDateTime receiverDate; -// -// @ApiModelProperty("鏄惁涓洪娆″嚭鐜� 0 鍚� 1 鏄�") -// private Integer isFirst; -// -// @ApiModelProperty("鐩爣搴撲綅鍙�") -// private String toLocation; -// -// @ApiModelProperty("鏄惁鏄姤妫� 0 鍚� 1 鏄�") -// private Integer isInspect; -// -// @ApiModelProperty("鎶ユ浜�") -// private String declareUser; -// -// -// @ApiModelProperty("鎶ユ浜篿d") -// private Integer declareUserId; -// -// @ApiModelProperty("鍗曚綅") -// private String partUnit; -// -// @ApiModelProperty("浜т笟閾炬娴嬫暟鎹�") -// private String industryChain; -// -// @ApiModelProperty("鎶ユ鏃堕棿") -// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") -// private LocalDateTime declareDate; -// -// @ApiModelProperty("鏄惁鍗″彲浠ュ搴︽楠� 0 鍚� 1 鏄�") -// private Integer isQuarter; -// -// // 淇敼鍚庣殑 -// @ApiModelProperty("鎵瑰彿") -// private String updateBatchNo; -// -// @ApiModelProperty("鏄惁鏄摐鍗曚笣, 0鍚�, 1鏄�") -// private Integer isCopper; -// -// @ValueTableShow(8) -// @ApiModelProperty("鐗╂枡绫诲瀷") -// private Integer isExpire; -// -//} diff --git a/inspect-server/src/main/java/com/ruoyi/basic/dto/IfsInventoryQuantityDto.java b/inspect-server/src/main/java/com/ruoyi/basic/dto/IfsInventoryQuantityDto.java deleted file mode 100644 index 8997838..0000000 --- a/inspect-server/src/main/java/com/ruoyi/basic/dto/IfsInventoryQuantityDto.java +++ /dev/null @@ -1,82 +0,0 @@ -//package com.ruoyi.basic.dto; -// -//import com.fasterxml.jackson.annotation.JsonFormat; -//import io.swagger.annotations.ApiModelProperty; -//import lombok.Data; -// -//import java.time.LocalDateTime; -// -//@Data -//public class IfsInventoryQuantityDto extends IfsInventoryQuantityCheckDto { -// -// /** -// * 濮旀墭缂栧彿 -// */ -// @ApiModelProperty("濮旀墭缂栧彿") -// private String entrustCode; -// -// @ApiModelProperty("妫�楠屽璞�") -// private String sampleType; -// -// @ApiModelProperty("鏍峰搧鍚嶇О") -// private String sampleName; -// -// @ApiModelProperty("鏍峰搧鍨嬪彿") -// private String sampleModel; -// -// @ApiModelProperty("鏍峰搧缂栧彿") -// private String sampleCode; -// -// // 杩涘巶 -// @ApiModelProperty("璁㈠崟id") -// private Integer enterOrderId; -// -// @ApiModelProperty("鎶ュ憡id") -// private String enterReportId; -// -// @ApiModelProperty("绯荤粺鐢熸垚鎶ュ憡鍦板潃") -// private String enterUrl; -// -// @ApiModelProperty("鎵嬪姩涓婁紶鎶ュ憡鍦板潃") -// private String enterUrlS; -// -// // 瀛e害 -// @ApiModelProperty("璁㈠崟id") -// private Integer quarterOrderId; -// -// @ApiModelProperty("鎶ュ憡id") -// private String quarterReportId; -// -// @ApiModelProperty("绯荤粺鐢熸垚鎶ュ憡鍦板潃") -// private String quarterUrl; -// -// @ApiModelProperty("鎵嬪姩涓婁紶鎶ュ憡鍦板潃") -// private String quarterUrlS; -// -// private Integer orderState; -// -// @ApiModelProperty("涓嬪彂鏃堕棿") -// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") -// private LocalDateTime sendTime; -// -// @ApiModelProperty("鏉愭枡鍘傚") -// private String supplierName; -// -// @ApiModelProperty("濮旀墭浜�") -// private String prepareUser; -// -// @ApiModelProperty("棰滆壊") -// private String color; -// -// @ApiModelProperty("鏍囩鐘舵��") -// private String labelStatus; -// -// @ApiModelProperty("鏍囩鏉″舰鐮�") -// private String labelBarCode; -// -// @ApiModelProperty("鍒涘缓浜�") -// private Integer createUser; -// -// @ApiModelProperty("妫�楠屼汉") -// private String userName; -//} diff --git a/inspect-server/src/main/java/com/ruoyi/basic/dto/IfsInventoryQuantitySupplierDto.java b/inspect-server/src/main/java/com/ruoyi/basic/dto/IfsInventoryQuantitySupplierDto.java deleted file mode 100644 index 1a6acd8..0000000 --- a/inspect-server/src/main/java/com/ruoyi/basic/dto/IfsInventoryQuantitySupplierDto.java +++ /dev/null @@ -1,125 +0,0 @@ -//package com.ruoyi.basic.dto; -// -//import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; -//import com.alibaba.excel.annotation.ExcelProperty; -//import com.fasterxml.jackson.annotation.JsonFormat; -//import com.yuanchu.mom.annotation.ValueTableShow; -//import com.yuanchu.mom.pojo.IfsInventoryQuantity; -//import io.swagger.annotations.ApiModelProperty; -//import lombok.Data; -// -//import java.time.LocalDateTime; -// -///** -// * 鑳芥煡璇㈠埌渚涘簲鍟� -// */ -//@Data -//@ExcelIgnoreUnannotated -//public class IfsInventoryQuantitySupplierDto extends IfsInventoryQuantity { -// -// /** -// * 濮旀墭缂栧彿 -// */ -// @ExcelProperty(index = 2, value = "濮旀墭缂栧彿") -// @ApiModelProperty("濮旀墭缂栧彿") -// private String entrustCode; -// -// @ApiModelProperty("鏍峰搧id") -// private Integer sampleId; -// -// @ApiModelProperty("妫�楠屽璞�") -// private String sampleType; -// -// @ExcelProperty(index = 7, value = "鏍峰搧鍚嶇О") -// @ApiModelProperty("鏍峰搧鍚嶇О") -// private String sampleName; -// -// @ExcelProperty(index = 8, value = "鏍峰搧鍨嬪彿") -// @ApiModelProperty("鏍峰搧鍨嬪彿") -// private String sampleModel; -// -// @ApiModelProperty("鏍峰搧缂栧彿") -// private String sampleCode; -// -// // 杩涘巶 -// @ApiModelProperty("杩涘巶璁㈠崟id") -// private Integer enterOrderId; -// -// @ApiModelProperty("鎶ュ憡id") -// private String enterReportId; -// -// @ApiModelProperty("绯荤粺鐢熸垚鎶ュ憡鍦板潃") -// private String enterUrl; -// -// @ApiModelProperty("鎵嬪姩涓婁紶鎶ュ憡鍦板潃") -// private String enterUrlS; -// -// // 瀛e害 -// @ApiModelProperty("瀛e害璁㈠崟id") -// private Integer quarterOrderId; -// -// @ApiModelProperty("鎶ュ憡id") -// private String quarterReportId; -// -// @ApiModelProperty("绯荤粺鐢熸垚鎶ュ憡鍦板潃") -// private String quarterUrl; -// -// @ApiModelProperty("鎵嬪姩涓婁紶鎶ュ憡鍦板潃") -// private String quarterUrlS; -// -// private Integer orderState; -// -// @ApiModelProperty("涓嬪彂鏃堕棿") -// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") -// private LocalDateTime sendTime; -// -// @ApiModelProperty("濮旀墭浜�") -// private String prepareUser; -// -// @ApiModelProperty("棰滆壊") -// private String color; -// -// @ApiModelProperty("鏍囩鐘舵��") -// private String labelStatus; -// -// @ApiModelProperty("鏍囩鏉″舰鐮�") -// private String labelBarCode; -// -// @ApiModelProperty("鍒涘缓浜�") -// private Integer createUser; -// -// @ExcelProperty(index = 9, value = "妫�楠屼汉") -// @ApiModelProperty("妫�楠屼汉") -// private String userName; -// -// @ExcelProperty(index = 10, value = "涓嬪彂鏃堕棿") -// private String sendTimeString; -// -// @ExcelProperty(index = 14, value = "鎺ユ敹鏃堕棿") -// private String receiverDateString; -// -// @ExcelProperty(index = 15, value = "鎶ユ鏃堕棿") -// private String declareDateString; -// -// // 鍚堟牸鐘舵��,: 0 妫�楠屼腑, 1鍚堟牸, 2涓嶅悎鏍�, 3鏈笅鍗�,4璁╂鏀捐 -// @ExcelProperty(index = 6, value = "妫�楠岀姸鎬�") -// private String inspectStatusString; -// -// @ApiModelProperty("鎶ユ寮�濮嬫椂闂�") -// private String beginDeclareDate; -// -// @ApiModelProperty("鎶ユ缁撴潫鏃堕棿") -// private String endDeclareDate; -// -// @ApiModelProperty("涓嶅悎鏍兼弿杩�") -// @ExcelProperty(index = 16, value = "涓嶅悎鏍兼弿杩�") -// private String unqualifiedDesc; -// -// -// @ApiModelProperty("涓嶅悎鏍奸」") -// @ExcelProperty(index = 17, value = "涓嶅悎鏍奸」") -// private String unqualifiedItem; -// -// @ApiModelProperty("鍏嶆") -// private Integer isExemption; -//} diff --git a/inspect-server/src/main/java/com/ruoyi/basic/dto/IfsStockQueryDTO.java b/inspect-server/src/main/java/com/ruoyi/basic/dto/IfsStockQueryDTO.java index 1a05501..da1294c 100644 --- a/inspect-server/src/main/java/com/ruoyi/basic/dto/IfsStockQueryDTO.java +++ b/inspect-server/src/main/java/com/ruoyi/basic/dto/IfsStockQueryDTO.java @@ -1,65 +1,65 @@ -//package com.ruoyi.basic.dto; -// -//import lombok.Data; -// -//@Data -//public class IfsStockQueryDTO { -// private String partNo; -// private String partDescription; // 闆朵欢鎻忚堪 -// private String partDesc; -// private String locNo; // 搴撲綅鍙� -// private String locDesc; // 搴撲綅鎻忚堪 -// private String lotBatchNo; // 鎵瑰彿 -// private String wdrNo; // WDR缂栧彿 -// private String warehouse; // 浠撳簱 -// private String quantityFlag; // 鏁伴噺鏍囪瘑(鐜版湁鏁伴噺) -// private String locationGroup; // 搴撲綅缁� -// private String locationGroupDesc; // 搴撲綅缁勬弿杩� -// private String reelNumber; // 杞藉叿缂栧彿 -// private String startMeter; // 璧峰绫虫爣 -// private String endMeter; // 鎴绫虫爣 -// private String outerColor; // 澶栨姢棰滆壊 -// private String insulationColor; // 缁濈紭棰滆壊 -// private String otcOrderNo; // 鐗╂枡灞炴�ч噷闈㈢殑OTC璁㈠崟鍙� -// private String mpsNo; // 鐢熶骇璁″垝鍙� -// private String letteringInfo; // 鍗板瓧淇℃伅 -// private String sStockQuantity; // 搴撳瓨鏁伴噺2 -// private String availableStockQuantity; // 鍙敤搴撳瓨鏁伴噺 -// private String sAvailableStockQuantity; // 搴撶敤搴撳瓨鏁伴噺2 -// private String sunit; // 鍗曚綅2 -// private String stockSource; // 鏉ユ簮 -// private String inspInstorageTime; // 妫�娴嬪叆搴撴棩鏈� -// private String testRemark; // 妫�娴嬪娉� -// private String grossWeight; // 姣涢噸 -// private String netWeight; // 鍑�閲� -// private String packingManner; // 鍖呰鏂瑰紡 -// private String cylinderNumber; //鎵撳湀涓暟 -// private String systemNo; //绯荤粺鍙� -// private String remark; //澶囨敞 -// private String customerName; //瀹㈡埛鍚嶇О -// private String reserveQuantity; //棰勭暀鏁伴噺 -// private String lengthRequirement; // 鍒ゆ柇瑕佹眰 -// private String inSource;//鍏ュ簱鏉ユ簮 -// private String splitQuality;//鍒嗗壊棰勭暀鏁伴噺 -// -// //鎺ュ彛 getIfsStockReport 鐢ㄥ埌鐨勫瓧娈� -// private String attr23;//鍏ュ簱鏉ユ簮 -// private String attr6;//otc璁㈠崟鍙� -// private String attr21;//瀹㈡埛鍚嶇О -// private String attr4;//澶栨姢棰滆壊 -// private String attr5;//缁濈紭棰滆壊 -// private String attr8;//鍗板瓧淇℃伅 -// private String lot_batch_no;//鎵规鍙� -// private String location_no;//搴撲綅鍙� -// private String attr17;//鍖呰鏂瑰紡 -// private String attr1;//杞藉叿缂栧彿 -// -// //鎺ュ彛queryColReservedInfoStd 鐢ㄥ埌鐨勪袱涓瓧娈� -// private String cotcOrderNo; // 琛ㄩ噷闈㈢殑OTC璁㈠崟鍙� -// private String cotcLineNo; // 琛ㄩ噷闈㈢殑OTC琛屽彿 -// -// private Boolean isAll;//鏄惁鏌ヨ鍏ㄩ儴搴撳瓨 -// -// private Long page; -// private Long limit; -//} +package com.ruoyi.basic.dto; + +import lombok.Data; + +@Data +public class IfsStockQueryDTO { + private String partNo; + private String partDescription; // 闆朵欢鎻忚堪 + private String partDesc; + private String locNo; // 搴撲綅鍙� + private String locDesc; // 搴撲綅鎻忚堪 + private String lotBatchNo; // 鎵瑰彿 + private String wdrNo; // WDR缂栧彿 + private String warehouse; // 浠撳簱 + private String quantityFlag; // 鏁伴噺鏍囪瘑(鐜版湁鏁伴噺) + private String locationGroup; // 搴撲綅缁� + private String locationGroupDesc; // 搴撲綅缁勬弿杩� + private String reelNumber; // 杞藉叿缂栧彿 + private String startMeter; // 璧峰绫虫爣 + private String endMeter; // 鎴绫虫爣 + private String outerColor; // 澶栨姢棰滆壊 + private String insulationColor; // 缁濈紭棰滆壊 + private String otcOrderNo; // 鐗╂枡灞炴�ч噷闈㈢殑OTC璁㈠崟鍙� + private String mpsNo; // 鐢熶骇璁″垝鍙� + private String letteringInfo; // 鍗板瓧淇℃伅 + private String sStockQuantity; // 搴撳瓨鏁伴噺2 + private String availableStockQuantity; // 鍙敤搴撳瓨鏁伴噺 + private String sAvailableStockQuantity; // 搴撶敤搴撳瓨鏁伴噺2 + private String sunit; // 鍗曚綅2 + private String stockSource; // 鏉ユ簮 + private String inspInstorageTime; // 妫�娴嬪叆搴撴棩鏈� + private String testRemark; // 妫�娴嬪娉� + private String grossWeight; // 姣涢噸 + private String netWeight; // 鍑�閲� + private String packingManner; // 鍖呰鏂瑰紡 + private String cylinderNumber; //鎵撳湀涓暟 + private String systemNo; //绯荤粺鍙� + private String remark; //澶囨敞 + private String customerName; //瀹㈡埛鍚嶇О + private String reserveQuantity; //棰勭暀鏁伴噺 + private String lengthRequirement; // 鍒ゆ柇瑕佹眰 + private String inSource;//鍏ュ簱鏉ユ簮 + private String splitQuality;//鍒嗗壊棰勭暀鏁伴噺 + + //鎺ュ彛 getIfsStockReport 鐢ㄥ埌鐨勫瓧娈� + private String attr23;//鍏ュ簱鏉ユ簮 + private String attr6;//otc璁㈠崟鍙� + private String attr21;//瀹㈡埛鍚嶇О + private String attr4;//澶栨姢棰滆壊 + private String attr5;//缁濈紭棰滆壊 + private String attr8;//鍗板瓧淇℃伅 + private String lot_batch_no;//鎵规鍙� + private String location_no;//搴撲綅鍙� + private String attr17;//鍖呰鏂瑰紡 + private String attr1;//杞藉叿缂栧彿 + + //鎺ュ彛queryColReservedInfoStd 鐢ㄥ埌鐨勪袱涓瓧娈� + private String cotcOrderNo; // 琛ㄩ噷闈㈢殑OTC璁㈠崟鍙� + private String cotcLineNo; // 琛ㄩ噷闈㈢殑OTC琛屽彿 + + private Boolean isAll;//鏄惁鏌ヨ鍏ㄩ儴搴撳瓨 + + private Long page; + private Long limit; +} diff --git a/inspect-server/src/main/java/com/ruoyi/basic/dto/InsOrderUpdateDto.java b/inspect-server/src/main/java/com/ruoyi/basic/dto/InsOrderUpdateDto.java new file mode 100644 index 0000000..45c53f5 --- /dev/null +++ b/inspect-server/src/main/java/com/ruoyi/basic/dto/InsOrderUpdateDto.java @@ -0,0 +1,21 @@ +package com.ruoyi.basic.dto; + +import com.ruoyi.basic.pojo.InsOrder; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Author zhuo + * @Date 2024/11/29 + */ +@Data +public class InsOrderUpdateDto { + + @ApiModelProperty("璁㈠崟淇敼瀵硅薄") + private InsOrder insOrder; + + @ApiModelProperty("妫�娴嬫牱鍝佸璞�") + private List<SampleProductDto> sampleProduct; +} diff --git a/inspect-server/src/main/java/com/ruoyi/basic/dto/InsulatingDto.java b/inspect-server/src/main/java/com/ruoyi/basic/dto/InsulatingDto.java new file mode 100644 index 0000000..53ced02 --- /dev/null +++ b/inspect-server/src/main/java/com/ruoyi/basic/dto/InsulatingDto.java @@ -0,0 +1,20 @@ +package com.ruoyi.basic.dto; + +import com.ruoyi.basic.pojo.InsProduct; +import lombok.Data; + +import java.util.List; + +@Data +public class InsulatingDto { + + // 鏂规硶id + private Integer standardMethodListId; + + // 鑺暟 + private List<String> num; + + // 妫�楠岄」 + private List<InsProduct> insProduct; + +} diff --git a/inspect-server/src/main/java/com/ruoyi/basic/dto/RawMaterialStandardTreeDto.java b/inspect-server/src/main/java/com/ruoyi/basic/dto/RawMaterialStandardTreeDto.java new file mode 100644 index 0000000..28fbe65 --- /dev/null +++ b/inspect-server/src/main/java/com/ruoyi/basic/dto/RawMaterialStandardTreeDto.java @@ -0,0 +1,33 @@ +package com.ruoyi.basic.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Author zhuo + * @Date 2024/7/31 + */ +@Data +public class RawMaterialStandardTreeDto { + + @ApiModelProperty("鏍戝悕绉�") + private String treeName; + + @ApiModelProperty("鏍戝悕绉�") + private String code; + + @ApiModelProperty("鏍戝悕绉�") + private String label; + + @ApiModelProperty("鏍戝悕绉�") + private String value; + + @ApiModelProperty("浜у搧") + private List<SampleDto> children1; + + @ApiModelProperty("鍨嬪彿") + private List<ModelDto> children2; + +} diff --git a/inspect-server/src/main/java/com/ruoyi/basic/dto/SampleOrderDto.java b/inspect-server/src/main/java/com/ruoyi/basic/dto/SampleOrderDto.java new file mode 100644 index 0000000..299b09b --- /dev/null +++ b/inspect-server/src/main/java/com/ruoyi/basic/dto/SampleOrderDto.java @@ -0,0 +1,93 @@ +package com.ruoyi.basic.dto; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.baomidou.mybatisplus.annotation.TableField; +import com.ruoyi.basic.pojo.InsOrder; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author gaoaoy + * @version 1.0.0 + * @create 2024/3/14 18:46 + **/ +@Data +@ExcelIgnoreUnannotated +public class SampleOrderDto extends InsOrder { + + @ApiModelProperty("妫�楠屽璞�") + private String sampleType; + + @ExcelProperty(index = 2, value = "鏍峰搧鍚嶇О") + @ApiModelProperty("鏍峰搧鍚嶇О") + private String sampleName; + + @ExcelProperty(index = 3, value = "鏍峰搧鍨嬪彿") + @ApiModelProperty("鏍峰搧鍨嬪彿") + private String sampleModel; + + private String assign; + + @ExcelProperty(index = 4, value = "鏍峰搧鏁伴噺") + @ApiModelProperty("鏍峰搧鏁伴噺") + private Integer sampleNum; + + @ApiModelProperty("鏍峰搧缂栧彿") + private String sampleCode; + + @ExcelProperty(index = 8, value = "妫�楠岃繘搴�%") + @ApiModelProperty("妫�楠岃繘搴�%") + private String insProgress; + + @ApiModelProperty("鎶ュ憡id") + private String reportId; + + @TableField("`url`") + private String url; + + private String urlS; + + private String name; + + @ExcelProperty(index = 5, value = "妫�楠屼汉") + @ApiModelProperty("妫�楠屼汉") + private String testingName; + + /** + * (鎶ュ憡瀵煎嚭)绱ф�ョ▼搴� 锛�0鏅�� 1浼樺厛 2绱ф�ワ級 + */ + @ExcelProperty(index = 6, value = "绱ф�ョ▼搴�") + @ApiModelProperty("绱ф�ョ▼搴� 锛�0鏅�� 1浼樺厛 2绱ф�ワ級") + private String typeString; + + /** + * (鎶ュ憡瀵煎嚭)妫�楠岀粨鏋� + */ + @ExcelProperty(index = 10, value = "妫�楠岀粨鏋�") + @ApiModelProperty("妫�楠岀粨鏋�") + private String insResultString; + + /** + * (鎶ュ憡瀵煎嚭)涓嶅悎鏍奸」鐩� + */ + @ApiModelProperty("涓嶅悎鏍奸」") + @ExcelProperty(index = 13, value = "涓嶅悎鏍奸」") + private String unqualifiedItem; + + /** + * (鎶ュ憡瀵煎嚭)涓嬪崟鏃堕棿 + */ + @ExcelProperty(index = 11, value = "涓嬪崟鏃堕棿") + @ApiModelProperty("涓嬪崟鏃堕棿") + private String createTimeString; + + @ApiModelProperty("瀛愬疄楠屽") + private String sonLaboratory; + + + + + + +} diff --git a/inspect-server/src/main/java/com/ruoyi/basic/dto/SampleProductDto.java b/inspect-server/src/main/java/com/ruoyi/basic/dto/SampleProductDto.java new file mode 100644 index 0000000..a651523 --- /dev/null +++ b/inspect-server/src/main/java/com/ruoyi/basic/dto/SampleProductDto.java @@ -0,0 +1,32 @@ +package com.ruoyi.basic.dto; + +import com.ruoyi.basic.pojo.InsProduct; +import com.ruoyi.basic.pojo.InsSample; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +public class SampleProductDto extends InsSample { + + @ApiModelProperty("妫�楠岄」鐩�") + private List<InsProduct> insProduct; + +// private List<BushingDto> bushing; + + @ApiModelProperty("瀛愭牱鍝侀厤缃�") + private List<SampleProductDto> childSampleList; + + @ApiModelProperty("鐢电紗閰嶇疆瀵硅薄") + private InsulatingDto insulating; + + @ApiModelProperty("杈呭姪绾胯姱閰嶇疆") + private InsulatingDto auxiliaryWireCore; + +// private SheathDto sheath; + + @ApiModelProperty("妫�楠屼汉") + private String checkName; + +} diff --git a/inspect-server/src/main/java/com/ruoyi/basic/dto/SampleProductDto2.java b/inspect-server/src/main/java/com/ruoyi/basic/dto/SampleProductDto2.java new file mode 100644 index 0000000..7abb63b --- /dev/null +++ b/inspect-server/src/main/java/com/ruoyi/basic/dto/SampleProductDto2.java @@ -0,0 +1,124 @@ +package com.ruoyi.basic.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.TreeMap; + +@Data +public class SampleProductDto2 implements Serializable { + + @ApiModelProperty("鏍峰搧id") + private Integer id; + + @ApiModelProperty("妫�楠岄」id") + private Integer insProductId; + + @ApiModelProperty("鏍峰搧缂栧彿") + private String sampleCode; + + @ApiModelProperty("鏍峰搧鍚嶇О") + private String sample; + + @ApiModelProperty("妫�楠岄」鍒嗙被") + private String inspectionItemClass; + + @ApiModelProperty("妫�楠岄」鍒嗙被鑻辨枃") + private String inspectionItemClassEN; + + @ApiModelProperty("妫�楠岄」") + private String inspectionItem; + + @ApiModelProperty("妫�楠岄」鑻辨枃") + private String inspectionItemEn; + + @ApiModelProperty("妫�楠屽瓙椤�") + private String inspectionItemSubclass; + + @ApiModelProperty("妫�楠屽瓙椤硅嫳鏂�") + private String inspectionItemSubclassEn; + + @ApiModelProperty("鍗曚綅") + private String unit; + + @ApiModelProperty("鏍峰搧鍨嬪彿") + private String model; + + @ApiModelProperty("鏍峰搧鐘舵��") + private Integer insState; + + @ApiModelProperty("瀹為獙瀹�") + private String sonLaboratory; + + @ApiModelProperty("妫�楠岄」绫诲瀷") + private String inspectionItemType; + + @ApiModelProperty("妫�楠屽�肩被鍨�") + private String inspectionValueType; + + @ApiModelProperty("瑕佹眰鍊�") + private String ask; + + @ApiModelProperty("璇曢獙瑕佹眰") + private String tell; + + @ApiModelProperty("妫�楠岀粨鏋�") + private String lastValue; + + @ApiModelProperty("缁撴灉鍒ゅ畾") + private Integer insResult; + + @ApiModelProperty("妫�楠屼汉") + private String checkName; + + @ApiModelProperty("妫�楠屾棩鏈�") + private String checkTime; + + @ApiModelProperty("璁惧鍊�") + private String equipValue; + + @ApiModelProperty("搴忓彿") + private String index; + @ApiModelProperty("鏍峰搧鍚嶇О(鏁翠綋)") + private String inspectionName; + + @ApiModelProperty("鏉′欢") + private String radius; + + @ApiModelProperty("妫�楠岀粨鏋滃垪琛�") + private List<String> lastValueList; + + @ApiModelProperty("妫�楠岀粨鏋滃垪琛�") + private List<Integer> insResultList; + + @ApiModelProperty("鏈�缁堢粨鏋�") + private String finalResult; + + @ApiModelProperty("鍘熸潗鏂檌d") + private Integer ifsInventoryId; + + @ApiModelProperty("妫�楠屽崟绫诲瀷") + private String orderType; + + @ApiModelProperty("妫�楠屽崟绫诲瀷") + private Integer quantity; + + @ApiModelProperty("妫�楠屽崟绫诲瀷") + private Integer sort; + + @ApiModelProperty("鐢电紗鏍囪瘑") + private String cableTag; + + @ApiModelProperty("鍞竴缁撴灉鍊�") + private LinkedHashSet<String> tellSet; + + @ApiModelProperty("鐢电紗鏍囪瘑鍐呭闆嗗悎") + private TreeMap<String, String> cableTagValueMap; + + @ApiModelProperty("鐢电紗鏍囪瘑缁撴灉闆嗗悎") + private TreeMap<String, Integer> cableTagResultMap; + +} diff --git a/inspect-server/src/main/java/com/ruoyi/basic/mapper/RawMaterialOrderTemplateMapper.java b/inspect-server/src/main/java/com/ruoyi/basic/mapper/RawMaterialOrderTemplateMapper.java new file mode 100644 index 0000000..e4e78f2 --- /dev/null +++ b/inspect-server/src/main/java/com/ruoyi/basic/mapper/RawMaterialOrderTemplateMapper.java @@ -0,0 +1,17 @@ +package com.ruoyi.basic.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.basic.pojo.RawMaterialOrderTemplate; +import org.apache.ibatis.annotations.Mapper; + +/** + * 鍘熸潗鏂欎笅鍗曟ā鏉� + * + * @author zhuo + * @since 2024-08-05 + */ +@Mapper +public interface RawMaterialOrderTemplateMapper extends BaseMapper<RawMaterialOrderTemplate> { + +} + diff --git a/inspect-server/src/main/java/com/ruoyi/basic/pojo/InsOrder.java b/inspect-server/src/main/java/com/ruoyi/basic/pojo/InsOrder.java new file mode 100644 index 0000000..7d3f20f --- /dev/null +++ b/inspect-server/src/main/java/com/ruoyi/basic/pojo/InsOrder.java @@ -0,0 +1,214 @@ +package com.ruoyi.basic.pojo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDate; +import java.time.LocalDateTime; + +/** +* 妫�楠屼笅鍗� +* @TableName ins_order +*/ +@Data +@TableName("ins_order") +@ExcelIgnoreUnannotated +public class InsOrder implements Serializable { + + + @ApiModelProperty(value = "涓婚敭") + @TableId(type = IdType.AUTO) + private Integer id; + + @ExcelProperty(index = 0, value = "濮旀墭缂栧彿") + @ApiModelProperty(value = "濮旀墭缂栧彿") + private String entrustCode; + + @ApiModelProperty(value = "澶栭儴濮旀墭缂栧彿") + private String outEntrustCode; + + @ApiModelProperty(value = "妫�楠岀被鍒�") + private String orderType; + + @ApiModelProperty("涓嬪崟瀹㈡埛") + private String custom; + + @ExcelProperty(index = 1, value = "濮旀墭鍗曚綅") + @ApiModelProperty("濮旀墭鍗曚綅") + private String company; + + @ApiModelProperty("鑱旂郴鏂瑰紡") + private String phone; + + @ApiModelProperty("宸ュ巶鍩�") + private String code; + + @ApiModelProperty("绱ф�ョ▼搴� 锛�0鏅�� 1浼樺厛 2绱ф�ワ級") + private Integer type; + + @ExcelProperty(index = 9, value = "绾﹀畾鏃堕棿%") + @ApiModelProperty("绾﹀畾鏃堕棿") + @TableField(fill = FieldFill.INSERT) + @JsonFormat(pattern = "yyyy-MM-dd") + private LocalDate appointed; + + @ApiModelProperty("妫�楠岀粨鏋�, 0 涓嶅悎鏍�, 1鍚堟牸") + private Integer insResult; + + @ApiModelProperty("鏍峰搧澶勭悊鏂瑰紡") + private Integer processing; + + @ApiModelProperty("鏄惁鐣欐牱") + private Integer isLeave; + + @ApiModelProperty("鐘舵��:-1:鍘熸潗鏂欐挙鍥� 1锛氭楠屽鐞� 0锛氬緟瀹℃牳 2锛氶��鍥� 3锛氭挙閿�") + private Integer state; + + @ExcelProperty(index = 7, value = "澶囨敞") + @ApiModelProperty("澶囨敞") + private String remark; + + @ApiModelProperty("澶囨敞鑻辨枃") + private String remarkEn; + + @ApiModelProperty("OTC璁㈠崟鍙�") + private String otcCode; + + @ApiModelProperty("涓嬪崟浜�") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("涓嬪崟鏃堕棿") + @TableField(fill = FieldFill.INSERT) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + + @ApiModelProperty("涓嬪彂鏃堕棿") + @TableField(fill = FieldFill.INSERT) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime sendTime; + + @ApiModelProperty("") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty("淇敼鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime updateTime; + + @ApiModelProperty("涓嬪崟浜篿d") + private Integer userId; + + @ApiModelProperty("鏄惁鏈夐厤濂楁牱鍝�") + private Integer mating; + + @ApiModelProperty("妫�楠岀姸鎬�(0锛氬緟妫�楠� 1:妫�楠屼腑 2:宸叉楠� 3锛氬緟澶嶆牳 4锛氬鏍告湭閫氳繃 5锛氬鏍搁�氳繃)") + private Integer insState; + + @ApiModelProperty("妫�楠屽伐鍘�") + private String factory; + + @ApiModelProperty("瀹為獙瀹ゅ悕绉�") + private String laboratory; + + @ApiModelProperty("鏍峰搧绫诲瀷") + private String sampleType; + + @ApiModelProperty("鏍峰搧鍚嶇О") + private String sample; + + @ApiModelProperty("妫�楠屾椂闂�") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime insTime; + + @ApiModelProperty("閫�鍥炵悊鐢�") + private String tell; + + @ApiModelProperty("鎶ュ憡鍙戦�佹柟寮� 1: 鑷彇, 0:鍏朵粬") + private Integer send; + + @ApiModelProperty("鏉ユ牱鏂瑰紡") + private String formType; + + @ApiModelProperty("瀹℃牳鏃堕棿") + private LocalDateTime examineTime; + + @ApiModelProperty("宸ョ▼鍚嶇О") + private String engineering; + + @ApiModelProperty("宸ョ▼鍚嶇О鑻辨枃") + private String engineeringEn; + + @ApiModelProperty("鐢熶骇鍗曚綅") + private String production; + + @ApiModelProperty("鐢熶骇鍗曚綅鑻辨枃") + private String productionEn; + + @ApiModelProperty("瀹㈡埛鍗曚綅id") + private Long companyId; + + @ApiModelProperty("濮旀墭浜篿d") + private Integer prepareUserId; + + @ExcelProperty(index = 12, value = "濮旀墭浜�") + private String prepareUser; + + @ApiModelProperty(name = "濮旀墭浜鸿嫳鏂�") + private String prepareUserEn; + + @ApiModelProperty(name = "濮旀墭浜哄伐鍙�") + private String prepareCode; + + @ApiModelProperty("鏄惁瀹℃牳鎾ら攢") + private Integer isRevocation; + + @ApiModelProperty("瀹℃牳鎾ら攢鐨勯」鐩甶d") + private String revocationInsProductIds; + + @ApiModelProperty("鏄惁涓哄師鏉愭枡 1 鏄� 0 鍚�") + private Integer typeSource; + + @ApiModelProperty("鍘熸潗鏂檌d") + private Integer ifsInventoryId; + + @ApiModelProperty("鎶芥煡鏁伴噺") + private String testQuantity; + + @ApiModelProperty("闆朵欢鎻忚堪") + private String partDetail; + + @ApiModelProperty("鏄惁鏄厤妫�, 0鍚� 1鏄�" ) + private Integer isExemption; + + @ApiModelProperty("娓╁害") + private String temperature; + + @ApiModelProperty("婀垮害") + private String humidity; + + @ApiModelProperty("鏍峰搧鐘舵��") + private String sampleStatus; + + @ApiModelProperty("瀛e害鎶芥牱椤圭洰id") + private Integer quarterItemId; + + @ApiModelProperty("鏍峰搧鍚嶇О(鎶ュ憡灞曠ず瀛楁)") + private String sampleView; + + @ApiModelProperty("鏍峰搧鍚嶇О寮曟枃(鎶ュ憡灞曠ず瀛楁)") + private String sampleViewEn; + + @ApiModelProperty("鏄惁鏄涓�娆℃彁浜�0鍚�1鏄�") + private Integer isFirstSubmit; + + @ApiModelProperty("绗竴娆℃彁浜ゆ椂闂�") + private LocalDateTime firstSubmitDate; + +} diff --git a/inspect-server/src/main/java/com/ruoyi/basic/pojo/InsProduct.java b/inspect-server/src/main/java/com/ruoyi/basic/pojo/InsProduct.java new file mode 100644 index 0000000..fae198f --- /dev/null +++ b/inspect-server/src/main/java/com/ruoyi/basic/pojo/InsProduct.java @@ -0,0 +1,214 @@ +package com.ruoyi.basic.pojo; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.List; +import java.util.Map; + +/** + * 妫�楠岄」鐩� + * + * @TableName ins_product + */ +@TableName(value = "ins_product") +@Data +public class InsProduct implements Serializable { + /** + * 涓婚敭id + */ + @TableId(type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("椤圭洰鍙傛暟id") + private Integer structureItemParameterId; + + @TableField(exist = false,select = false) + private String sampleCode; + + @ApiModelProperty("妫�楠岄」") + private String inspectionItem; + + @ApiModelProperty("妫�楠岄」鑻辨枃") + private String inspectionItemEn; + + @ApiModelProperty("妫�楠岄」鍒嗙被") + private String inspectionItemClass; + + @ApiModelProperty("妫�楠岄」鍒嗙被EN") + private String inspectionItemClassEn; + + @ApiModelProperty("妫�楠岄」瀛愮被") + private String inspectionItemSubclass; + + @ApiModelProperty("妫�楠岄」瀛愮被鑻辨枃") + private String inspectionItemSubclassEn; + + @ApiModelProperty("宸ュ巶") + private String factory; + + @ApiModelProperty("瀹為獙瀹�") + private String laboratory; + + @ApiModelProperty("鏍峰搧鍒嗙被") + private String sampleType; + + @ApiModelProperty("鏍峰搧") + private String sample; + + @ApiModelProperty("鍨嬪彿") + private String model; + + @ApiModelProperty("鏂规硶") + private String methodS; + + @ApiModelProperty("瀛愬疄楠屽") + private String sonLaboratory; + + @ApiModelProperty("璁¢噺鍗曚綅") + private String unit; + + @ApiModelProperty("鍗曚环(鍏�)") + private BigDecimal price; + + @ApiModelProperty("宸ユ椂(H)") + private BigDecimal manHour; + + @ApiModelProperty("宸ユ椂鍒嗙粍") + private String manHourGroup; + + @ApiModelProperty("妫�楠岄」绫诲瀷") + private String inspectionItemType; + + @ApiModelProperty("妫�楠屽�肩被鍨�") + private String inspectionValueType; + + @ApiModelProperty("璁惧缁�") + private String deviceGroup; + + @ApiModelProperty("妫�楠屾鏁�") + private Integer checkoutNumber; + + @ApiModelProperty("鍖洪棿") + private String section; + + @ApiModelProperty("鍙栧�肩被鍨�") + private String valueType; + + @ApiModelProperty("鏂规硶") + private String method; + + @ApiModelProperty("棰勮鏃堕棿(h)") + private Integer manDay; + + @ApiModelProperty("鐗规畩鏍囪瘑") + private String bsm; + + @ApiModelProperty("瑕佹眰鍊�") + private String ask; + + @ApiModelProperty("瑕佹眰鎻忚堪") + private String tell; + + @ApiModelProperty("鏈�缁堝��") + @TableField("`last_value`") + private String lastValue; + + @ApiModelProperty("鍚堟牸鐘舵��: 1锛氬悎鏍� 0锛氫笉鍚堟牸, 3涓嶅垽瀹�") + private Integer insResult; + + + @ApiModelProperty("1锛氭湁鏁� 0锛氭棤鏁�") + private Integer state; + + @ApiModelProperty("澶栭敭锛歩ns_sample琛╥d") + private Integer insSampleId; + + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty("淇敼鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime updateTime; + + @ApiModelProperty("澶栭敭锛歴tandard_template琛╥d") + private Integer templateId; + + @TableField(exist = false) + @ApiModelProperty("妯℃澘鍐呭") + private List<JSONObject> template; + + @TableField(exist = false) + @ApiModelProperty("妯℃澘鍐呭棰滆壊") + private Map<String, Object> style; + + @TableField(exist = false) + @ApiModelProperty("妫�楠岀粨鏋滃璞�") + private InsProductResult insProductResult; + + @TableField(exist = false) + @ApiModelProperty("妯℃澘鍚嶇О") + private String templateName; + + @ApiModelProperty("瀛楀吀绫诲瀷") + private String dic; + + //娓╁害 + private String temperature; + //婀垮害 + private String humidity; + + private Integer insFiberId; + + private Integer insFibersId; + + private Integer insBushId; + + @ApiModelProperty("鏍囧噯鏂规硶id") + private Integer standardMethodListId; + + //杩斿洖鐨�20搴﹀父娓╃殑璁$畻鍊�(娓╁害寰幆) + @TableField(exist = false ,select = false) + private String complue; + + @ApiModelProperty(value = "鏉′欢") + private String radius; + + @ApiModelProperty(value = "鏀惰垂鏍囧噯(鍏�/娆�)") + private String rates; + + @ApiModelProperty(value = "鐢电紗閰嶇疆鏍囪瘑") + private String cableTag; + + @ApiModelProperty(value = "鍘熸潗鏂欓厤缃爣璇�") + private String rawMaterialTag; + + @ApiModelProperty(value = "閲嶅鏍囪瘑(涓�涓楠岄」鍙兘浼氬瓨鍦ㄥ娆�)") + private String repetitionTag; + + @ApiModelProperty(value = "鎺掑簭") + private Integer sort; + + // 缁戝畾鍊间笉鍙傚姞灞曠ず, 鍙弬鍔犺绠� + @ApiModelProperty(value = "鏄惁鏄粦瀹氬��, 0鍚�, 1鏄�") + private Integer isBinding; + + @ApiModelProperty(value = "鑷叧鑱�(缁戝畾id)") + private Integer bindingProductId; + +} diff --git a/inspect-server/src/main/java/com/ruoyi/basic/pojo/InsProductResult.java b/inspect-server/src/main/java/com/ruoyi/basic/pojo/InsProductResult.java new file mode 100644 index 0000000..15a5598 --- /dev/null +++ b/inspect-server/src/main/java/com/ruoyi/basic/pojo/InsProductResult.java @@ -0,0 +1,52 @@ +package com.ruoyi.basic.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * 妫�楠岄」鐩殑缁撴灉 + * @TableName ins_product_result + */ +@TableName(value ="ins_product_result") +@Data +public class InsProductResult implements Serializable { + + @TableId(type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("澶栭敭锛氭楠岄」鐩甶d") + private Integer insProductId; + + @ApiModelProperty("妫�楠屽��") + private String insValue; + + @ApiModelProperty("璁$畻鍊�") + private String comValue; + + @ApiModelProperty("璁惧鍊�") + private String equipValue; + + @ApiModelProperty("璁惧鍚嶇О") + private String equipName; + + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty("淇敼鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime updateTime; +} diff --git a/inspect-server/src/main/java/com/ruoyi/basic/pojo/InsSample.java b/inspect-server/src/main/java/com/ruoyi/basic/pojo/InsSample.java index 6d01fd6..fc15a45 100644 --- a/inspect-server/src/main/java/com/ruoyi/basic/pojo/InsSample.java +++ b/inspect-server/src/main/java/com/ruoyi/basic/pojo/InsSample.java @@ -1,123 +1,123 @@ -//package com.ruoyi.basic.pojo; -// -//import com.baomidou.mybatisplus.annotation.*; -//import com.fasterxml.jackson.annotation.JsonFormat; -//import io.swagger.annotations.ApiModelProperty; -//import lombok.Data; -// -//import java.io.Serializable; -//import java.time.LocalDateTime; -// -///** -// * 妫�楠屾牱鍝� -// * @TableName ins_sample -// */ -//@TableName(value ="ins_sample") -//@Data -//public class InsSample implements Serializable { -// /** -// * -// */ -// @TableId(type = IdType.AUTO) -// private Integer id; -// -// /** -// * 1锛氬悎鏍� 0锛氫笉鍚堟牸 -// */ -// private Integer insResult; -// -// /** -// * 澶栭敭锛歩ns_order琛╥d -// */ -// private Integer insOrderId; -// -// /** -// * 閰嶅鏍峰搧鍨嬪彿 -// */ -// private String joinModel; -// -// /** -// * 閰嶅鏍峰搧鍚嶇О -// */ -// private String joinName; -// -// /** -// * 閰嶅鏍峰搧鏁伴噺 -// */ -// private Integer joinNum; -// -// /** -// * 鏍峰搧缂栫爜 -// */ -// private String sampleCode; -// -// /** -// * 妫�楠屽伐鍘� -// */ -// private String factory; -// -// /** -// * 瀹為獙瀹ゅ悕绉� -// */ -// private String laboratory; -// -// /** -// * 鏍峰搧绫诲瀷 -// */ -// private String sampleType; -// -// /** -// * 鏍峰搧鍚嶇О -// */ -// private String sample; -// -// /** -// * 瑙勬牸鍨嬪彿 -// */ -// private String model; -// -// /** -// * 妫�楠岀姸鎬�(0锛氬緟妫�楠�1:妫�楠屼腑 2:宸叉楠�3锛氬緟澶嶆牳4锛氬鏍告湭閫氳繃5锛氬鏍搁�氳繃) -// */ -// private Integer insState; -// -// /** -// * 澶囨敞 -// */ -// private String remark; -// -// private Integer standardMethodListId; -// -// @ApiModelProperty("鏍峰搧鍗曚綅") -// private String unit; -// -// private Integer cellId; -// -// @TableField(fill = FieldFill.INSERT) -// private Integer createUser; -// -// @ApiModelProperty("鍒涘缓鏃堕棿") -// @TableField(fill = FieldFill.INSERT) -// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") -// private LocalDateTime createTime; -// -// @TableField(fill = FieldFill.INSERT_UPDATE) -// private Integer updateUser; -// -// @ApiModelProperty("淇敼鏃堕棿") -// @TableField(fill = FieldFill.INSERT_UPDATE) -// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") -// private LocalDateTime updateTime; -// -// private Integer parentId; -// -// @ApiModelProperty("鏁伴噺") -// private Integer quantity; -// -// @ApiModelProperty("鐗规畩鏍囧噯鏂规硶") -// private String specialStandardMethod; -// -// @TableField(select = false,exist = false) -// private Integer num=1; -// -//} +package com.ruoyi.basic.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * 妫�楠屾牱鍝� + * @TableName ins_sample + */ +@TableName(value ="ins_sample") +@Data +public class InsSample implements Serializable { + /** + * + */ + @TableId(type = IdType.AUTO) + private Integer id; + + /** + * 1锛氬悎鏍� 0锛氫笉鍚堟牸 + */ + private Integer insResult; + + /** + * 澶栭敭锛歩ns_order琛╥d + */ + private Integer insOrderId; + + /** + * 閰嶅鏍峰搧鍨嬪彿 + */ + private String joinModel; + + /** + * 閰嶅鏍峰搧鍚嶇О + */ + private String joinName; + + /** + * 閰嶅鏍峰搧鏁伴噺 + */ + private Integer joinNum; + + /** + * 鏍峰搧缂栫爜 + */ + private String sampleCode; + + /** + * 妫�楠屽伐鍘� + */ + private String factory; + + /** + * 瀹為獙瀹ゅ悕绉� + */ + private String laboratory; + + /** + * 鏍峰搧绫诲瀷 + */ + private String sampleType; + + /** + * 鏍峰搧鍚嶇О + */ + private String sample; + + /** + * 瑙勬牸鍨嬪彿 + */ + private String model; + + /** + * 妫�楠岀姸鎬�(0锛氬緟妫�楠�1:妫�楠屼腑 2:宸叉楠�3锛氬緟澶嶆牳4锛氬鏍告湭閫氳繃5锛氬鏍搁�氳繃) + */ + private Integer insState; + + /** + * 澶囨敞 + */ + private String remark; + + private Integer standardMethodListId; + + @ApiModelProperty("鏍峰搧鍗曚綅") + private String unit; + + private Integer cellId; + + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty("淇敼鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime updateTime; + + private Integer parentId; + + @ApiModelProperty("鏁伴噺") + private Integer quantity; + + @ApiModelProperty("鐗规畩鏍囧噯鏂规硶") + private String specialStandardMethod; + + @TableField(select = false,exist = false) + private Integer num=1; + +} diff --git a/inspect-server/src/main/java/com/ruoyi/basic/pojo/InsUnqualifiedRetestProduct.java b/inspect-server/src/main/java/com/ruoyi/basic/pojo/InsUnqualifiedRetestProduct.java new file mode 100644 index 0000000..d45a196 --- /dev/null +++ b/inspect-server/src/main/java/com/ruoyi/basic/pojo/InsUnqualifiedRetestProduct.java @@ -0,0 +1,137 @@ +package com.ruoyi.basic.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * 涓嶅悎鏍兼楠岄」鐩娴� + * + * @author zhuo + * @since 2024-09-03 + */ +@TableName(value = "ins_unqualified_retest_product") +@Data +public class InsUnqualifiedRetestProduct implements Serializable { + /** + * 涓婚敭id + */ + @TableId(type = IdType.AUTO) + private Integer id; + //澶栭敭锛歩ns_product琛╥d + private Integer insProductId; + //妫�楠岄」 + private String inspectionItem; + //妫�楠岄」瀛愮被 + private String inspectionItemSubclass; + //宸ュ巶 + private String factory; + //瀹為獙瀹� + private String laboratory; + //鏍峰搧鍒嗙被 + private String sampleType; + //鏍峰搧 + private String sample; + //鍨嬪彿 + private String model; + //瀛愬疄楠屽 + private String sonLaboratory; + //璁¢噺鍗曚綅 + private String unit; + //鍗曚环(鍏�) + private Double price; + //宸ユ椂(H) + private Double manHour; + //宸ユ椂鍒嗙粍 + private String manHourGroup; + //妫�楠岄」绫诲瀷 + private String inspectionItemType; + //妫�楠屽�肩被鍨� + private String inspectionValueType; + //璁惧缁� + private String deviceGroup; + //妫�楠屾鏁� + private Integer checkoutNumber; + //鍖洪棿 + private String section; + //鍙栧�肩被鍨� + private String valueType; + //鏂规硶 + private String method; + //棰勮鏃堕棿(澶�) + private Integer manDay; + //鐗规畩鏍囪瘑 + private String bsm; + //瑕佹眰鍊� + private String ask; + //瑕佹眰鎻忚堪 + private String tell; + //鏈�缁堝�� + @TableField("`last_value`") + private String lastValue; + //1锛氬悎鏍� 0锛氫笉鍚堟牸 3: 涓嶅垽瀹� + private Integer insResult; + //1锛氭湁鏁� 0锛氭棤鏁� + private Integer state; + //澶栭敭锛歩ns_sample琛╥d + private Integer insSampleId; + + // 鍒涘缓浜� + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + //鍒涘缓鏃堕棿 + @TableField(fill = FieldFill.INSERT) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + + // 淇敼浜� + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + // 淇敼鏃堕棿 + @TableField(fill = FieldFill.INSERT_UPDATE) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime updateTime; + //澶栭敭锛歴tandard_template琛╥d + private Integer templateId; + //瀛楀吀绫诲瀷 + private String dic; + //鏂规硶 + private String methodS; + //澶栭敭 + private Integer insFiberId; + //澶栭敭 + private Integer insFibersId; + //妫�楠岄」EN + private String inspectionItemEn; + //妫�楠岄」灏忕被EN + private String inspectionItemSubclassEn; + //妫�楠岄」鍒嗙被 + private String inspectionItemClass; + //妫�楠岄」鍒嗙被EN + private String inspectionItemClassEn; + //澶栭敭锛氭爣鍑嗘柟娉昳d + private Integer standardMethodListId; + //娓╁害 + private String temperature; + //婀垮害 + private String humidity; + //澶栭敭(鐩墠鍙湁鏉惧绠¢」鐩娇鐢�) + private Integer insBushId; + //鑼冨洿 + private String radius; + //鐢电紗鏍囪瘑 + private String cableTag; + //鍘熸潗鏂欐壒閲忔爣璇� + private String rawMaterialTag; + //澶嶆祴娆℃暟鏍囪瘑 + private String retestTag; + //鎺掑簭 + private Integer sort; + +} + diff --git a/inspect-server/src/main/java/com/ruoyi/basic/pojo/RawMaterialOrderTemplate.java b/inspect-server/src/main/java/com/ruoyi/basic/pojo/RawMaterialOrderTemplate.java new file mode 100644 index 0000000..72fcf37 --- /dev/null +++ b/inspect-server/src/main/java/com/ruoyi/basic/pojo/RawMaterialOrderTemplate.java @@ -0,0 +1,52 @@ +package com.ruoyi.basic.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * 鍘熸潗鏂欎笅鍗曟ā鏉� + * + * @author zhuo + * @since 2024-08-05 + */ +@TableName(value = "raw_material_order_template") +@Data +public class RawMaterialOrderTemplate { + + /** + * + */ + @TableId(type = IdType.AUTO) + private Integer id; + + /** + * 妯℃澘鍚嶇О + */ + @ApiModelProperty("妯℃澘鍚嶇О") + private String name; + + /** + * 妯℃澘鍚嶇О + */ + @ApiModelProperty("闆朵欢缂栧彿") + private String partNo; + + /** + * 妯℃澘鍐呭 + */ + @ApiModelProperty("妯℃澘鍐呭") + private String thing; + + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; +} + diff --git a/inspect-server/src/main/java/com/ruoyi/basic/service/InsOrderService.java b/inspect-server/src/main/java/com/ruoyi/basic/service/InsOrderService.java new file mode 100644 index 0000000..f36d69a --- /dev/null +++ b/inspect-server/src/main/java/com/ruoyi/basic/service/InsOrderService.java @@ -0,0 +1,115 @@ +package com.ruoyi.basic.service; + +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.basic.dto.*; +import com.ruoyi.basic.pojo.InsOrder; +import com.ruoyi.basic.pojo.InsUnqualifiedRetestProduct; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.List; +import java.util.Map; + +/** + * @author gaoaoy + * @description 閽堝琛ㄣ�恑ns_order(妫�楠屼笅鍗�)銆戠殑鏁版嵁搴撴搷浣淪ervice + * @createDate 2024-03-12 16:17:55 + */ +public interface InsOrderService extends IService<InsOrder> { + + //鑾峰彇鍗曚綅妫�楠屼笅鍗曟暟鎹� + Map<String, Object> selectInsOrderParameter(IPage<InsOrder> page, SampleOrderDto sampleOrderDto); + + + //淇敼妫�楠屼笅鍗曟暟鎹� + int upInsOrder(Integer orderId,Integer sampleId, String appointed, Integer userId,String sonLaboratory); + + int addInsOrder(List<SampleProductDto> list, InsOrder insOrder, List<List<Integer>> pairing); + + Map<String, Object> getInsOrder(Integer id); + + int upInsOrderOfState(InsOrder insOrder); + + Map<String, Object> getInsOrderAndSample(Integer id, String laboratory); + + Map<String, Object> selectSampleAndProductByOrderId(IPage<SampleProductDto2> page, SampleProductDto2 sampleProductDto); + + Map<String, Object> costStatistics(IPage<CostStatisticsDto> page, CostStatisticsDto costStatisticsDto); + + Map<String, Object> costStatistics2(CostStatisticsDto costStatisticsDto); + + Map<String, Object> selectSampleDefects(Page page, String inspectionItems, String orderNumber); + + int updateStatus(Integer id); + + + void export(CostStatisticsDto costStatisticsDto,HttpServletResponse response)throws IOException, ServletException; + + // 鑾峰彇ifs搴撳瓨淇℃伅 + void getIfsOrder(); + + /** + * 淇敼璁㈠崟鍗曞彿 + * @param insOrder + */ + void updateEntrustCode(InsOrder insOrder); + + List<InsUnqualifiedRetestProduct> getRetestResult(Integer insProductId); + + + + void updateIfsInventoryQuantity(Integer id); + + /** + * 閾滄潗涓嬪崟 + * @param list + * @param copperInsOrder + * @return + */ + int addRawCopperOrder(List<SampleProductDto> list, CopperInsOrderDto copperInsOrder); + + /** + * 淇敼濮旀墭缂栧彿 + * @param insOrder + */ + void updateOrderEntrustCode(InsOrder insOrder); + + + /** + * 淇敼妫�楠屼笅鍗曞唴瀹� + * @param insOrderUpdateDto + * @return + */ + Boolean updateInsOrder(InsOrderUpdateDto insOrderUpdateDto); + + /** + * 鎴愬搧鏍囩鎵撳嵃 + * @param ids + * @return + */ + List<InsOrderPrintingVo> labelOrderPrinting(List<Integer> ids); + + /** + * 鏍规嵁鏍峰搧id鏌ヨ妫�楠岄」鏍� + * @param insSampleId + * @return + */ + List<StandardProductList> getProductTreeBySampleId(Integer insSampleId); + + /** + * 娣诲姞閬楁紡鐨勬楠岄」 + * @param omitOrderProductDto + * @return + */ + boolean addOmitOrderProduct(OmitOrderProductDto omitOrderProductDto); + + /** + * 鎴愬搧妫�楠屽崟瀵煎嚭 + * @param sampleOrderDto + * @param response + */ + void rawAllInsOrderExport(SampleOrderDto sampleOrderDto, HttpServletResponse response); +} diff --git a/inspect-server/src/main/java/com/ruoyi/basic/service/RawMaterialOrderService.java b/inspect-server/src/main/java/com/ruoyi/basic/service/RawMaterialOrderService.java index 3cdf358..1662a1d 100644 --- a/inspect-server/src/main/java/com/ruoyi/basic/service/RawMaterialOrderService.java +++ b/inspect-server/src/main/java/com/ruoyi/basic/service/RawMaterialOrderService.java @@ -1,143 +1,146 @@ -//package com.ruoyi.basic.service; -// -//import com.baomidou.mybatisplus.core.metadata.IPage; -//import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -// -//import javax.servlet.http.HttpServletResponse; -//import java.io.UnsupportedEncodingException; -//import java.util.List; -//import java.util.Map; -// -///** -// * @Author zhuo -// * @Date 2024/7/31 -// */ -//public interface RawMaterialOrderService { -// -// RawMaterialStandardTreeDto selectStandardTreeListByPartNo(String partNo); -// -// /** -// * 鎶ユ鏌ヨ -// * @param page -// * @param ifsInventoryQuantity -// * @return -// */ -// Map<String,Object> getWarehouseSubmit(IPage<IfsInventoryQuantity> page, IfsInventoryQuantity ifsInventoryQuantity); -// -// /** -// * 鏌ヨ妫�楠屽�� -// * @param page -// * @param ifsInventoryQuantityDto -// * @return -// */ -// Map<String,Object> getIfsByStateOne(IPage<IfsInventoryQuantityDto> page, IfsInventoryQuantityDto ifsInventoryQuantityDto); -// -// int inspectionReport(List<Integer> ids); -// -// int revokeInspectionReport(Integer id); -// -// List<IfsInventoryQuantityDto> printLabel(List<Integer> ids); -// -// int inspectionReportOne(IfsInventoryQuantity ifsInventoryQuantity); -// -// String getIndustryChain(Integer id); -// -// /** -// * 鍘熸潗鏂欐挙閿�涓嬪崟 -// * @param ifsInventoryId -// * @return -// */ -// boolean repealRawOrder(Integer ifsInventoryId); -// -// /** -// * 娣诲姞鍏嶆璁㈠崟 -// * @param list -// * @param insOrder -// * @return -// */ -// int addExemptionOrder(List<SampleProductDto> list, InsOrder insOrder); -// -// Map<String,Object> selectIfsInventoryQuantity(Page<IfsInventoryQuantityCheckDto> page, IfsInventoryQuantityCheckDto ifsInventoryQuantity); -// -// /** -// * 鏌ヨ宸叉楠� -// * @param page -// * @param ifsInventoryQuantityDto -// * @return -// */ -// Map<String,Object> getIfsByOver(Page<IfsInventoryQuantitySupplierDto> page, IfsInventoryQuantitySupplierDto ifsInventoryQuantityDto); -// -// int delIfsInventory(Integer id); -// -// /** -// * 鍘熸潗鏂欐斁琛屽厤妫� -// * @param ifsInventoryId -// * @return -// */ -// boolean rawOrderRelease(Integer ifsInventoryId, String partDetail); -// -// /** -// * 鍘熸潗鏂欎笅鍗曢�氱煡鍏嶆鎴栬�呭娆℃楠� -// * @param ifsInventoryId -// * @return -// */ -// int notificationRawOrder(Integer ifsInventoryId); -// -// /** -// * 鎵嬪姩娣诲姞鍘熸潗淇℃伅 -// * @param ifsInventoryQuantity -// */ -// void addIfsInventoryQuantity(IfsInventoryQuantity ifsInventoryQuantity); -// -// void shiftingParking(List<Integer> ids); -// -// /** -// * 閾滃崟涓濅笅鍗曞厤妫� -// * @param list -// * @param copperInsOrder -// */ -// int addRawCopperOrderExemptionOrder(List<SampleProductDto> list, CopperInsOrderDto copperInsOrder); -// -// /** -// * 璁╂u鏀捐 -// * @param ifsInventoryId -// * @return -// */ -// boolean concessionRelease(Integer ifsInventoryId); -// -// /** -// * 鍘熸潗鏂欒繘鍘傛挙閿�涓嬪崟 -// * @param enterOrderId -// * @return -// */ -// boolean repealEnterRawOrder(Integer enterOrderId); -// -// /** -// * 鍘熸潗鏂欏搴︽挙閿�涓嬪崟 -// * @param quarterOrderId -// * @return -// */ -// boolean repealQuarterRawOrder(Integer quarterOrderId); -// -// /** -// * 鍘熸潗鏂欐姤妫�鍏ㄩ儴淇℃伅瀵煎嚭 -// * @param dto -// * @param response -// */ -// void rawAllExport(IfsInventoryQuantitySupplierDto dto, HttpServletResponse response) throws UnsupportedEncodingException; -// -// /** -// * 鍘熸潗鏂欐煡璇㈠彲浠ュ搴︽楠岀殑鍐呭 -// * @param page -// * @param ifsInventoryQuantityDto -// * @return -// */ -// Map<String,Object> getIfsByQuarter(Page page, IfsInventoryQuantitySupplierDto ifsInventoryQuantityDto); -// -// /** -// * advancedGodown -// * @param ifsInventoryId -// * @return -// */ -// boolean advancedGodown(Integer ifsInventoryId); -//} +package com.ruoyi.basic.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.basic.dto.*; +import com.ruoyi.basic.pojo.IfsInventoryQuantity; +import com.ruoyi.basic.pojo.InsOrder; + +import javax.servlet.http.HttpServletResponse; +import java.io.UnsupportedEncodingException; +import java.util.List; +import java.util.Map; + +/** + * @Author zhuo + * @Date 2024/7/31 + */ +public interface RawMaterialOrderService { + + RawMaterialStandardTreeDto selectStandardTreeListByPartNo(String partNo); + + /** + * 鎶ユ鏌ヨ + * @param page + * @param ifsInventoryQuantity + * @return + */ + Map<String,Object> getWarehouseSubmit(IPage<IfsInventoryQuantity> page, IfsInventoryQuantity ifsInventoryQuantity); + + /** + * 鏌ヨ妫�楠屽�� + * @param page + * @param ifsInventoryQuantityDto + * @return + */ + Map<String,Object> getIfsByStateOne(IPage<IfsInventoryQuantityDto> page, IfsInventoryQuantityDto ifsInventoryQuantityDto); + + int inspectionReport(List<Integer> ids); + + int revokeInspectionReport(Integer id); + + List<IfsInventoryQuantityDto> printLabel(List<Integer> ids); + + int inspectionReportOne(IfsInventoryQuantity ifsInventoryQuantity); + + String getIndustryChain(Integer id); + + /** + * 鍘熸潗鏂欐挙閿�涓嬪崟 + * @param ifsInventoryId + * @return + */ + boolean repealRawOrder(Integer ifsInventoryId); + + /** + * 娣诲姞鍏嶆璁㈠崟 + * @param list + * @param insOrder + * @return + */ + int addExemptionOrder(List<SampleProductDto> list, InsOrder insOrder); + + Map<String,Object> selectIfsInventoryQuantity(Page<IfsInventoryQuantityCheckDto> page, IfsInventoryQuantityCheckDto ifsInventoryQuantity); + + /** + * 鏌ヨ宸叉楠� + * @param page + * @param ifsInventoryQuantityDto + * @return + */ + Map<String,Object> getIfsByOver(Page<IfsInventoryQuantitySupplierDto> page, IfsInventoryQuantitySupplierDto ifsInventoryQuantityDto); + + int delIfsInventory(Integer id); + + /** + * 鍘熸潗鏂欐斁琛屽厤妫� + * @param ifsInventoryId + * @return + */ + boolean rawOrderRelease(Integer ifsInventoryId, String partDetail); + + /** + * 鍘熸潗鏂欎笅鍗曢�氱煡鍏嶆鎴栬�呭娆℃楠� + * @param ifsInventoryId + * @return + */ + int notificationRawOrder(Integer ifsInventoryId); + + /** + * 鎵嬪姩娣诲姞鍘熸潗淇℃伅 + * @param ifsInventoryQuantity + */ + void addIfsInventoryQuantity(IfsInventoryQuantity ifsInventoryQuantity); + + void shiftingParking(List<Integer> ids); + + /** + * 閾滃崟涓濅笅鍗曞厤妫� + * @param list + * @param copperInsOrder + */ + int addRawCopperOrderExemptionOrder(List<SampleProductDto> list, CopperInsOrderDto copperInsOrder); + + /** + * 璁╂u鏀捐 + * @param ifsInventoryId + * @return + */ + boolean concessionRelease(Integer ifsInventoryId); + + /** + * 鍘熸潗鏂欒繘鍘傛挙閿�涓嬪崟 + * @param enterOrderId + * @return + */ + boolean repealEnterRawOrder(Integer enterOrderId); + + /** + * 鍘熸潗鏂欏搴︽挙閿�涓嬪崟 + * @param quarterOrderId + * @return + */ + boolean repealQuarterRawOrder(Integer quarterOrderId); + + /** + * 鍘熸潗鏂欐姤妫�鍏ㄩ儴淇℃伅瀵煎嚭 + * @param dto + * @param response + */ + void rawAllExport(IfsInventoryQuantitySupplierDto dto, HttpServletResponse response) throws UnsupportedEncodingException; + + /** + * 鍘熸潗鏂欐煡璇㈠彲浠ュ搴︽楠岀殑鍐呭 + * @param page + * @param ifsInventoryQuantityDto + * @return + */ + Map<String,Object> getIfsByQuarter(Page page, IfsInventoryQuantitySupplierDto ifsInventoryQuantityDto); + + /** + * advancedGodown + * @param ifsInventoryId + * @return + */ + boolean advancedGodown(Integer ifsInventoryId); +} diff --git a/inspect-server/src/main/java/com/ruoyi/basic/service/RawMaterialOrderTemplateService.java b/inspect-server/src/main/java/com/ruoyi/basic/service/RawMaterialOrderTemplateService.java index 98b3b5e..71572e0 100644 --- a/inspect-server/src/main/java/com/ruoyi/basic/service/RawMaterialOrderTemplateService.java +++ b/inspect-server/src/main/java/com/ruoyi/basic/service/RawMaterialOrderTemplateService.java @@ -1,25 +1,25 @@ -//package com.ruoyi.basic.service; -// -//import com.baomidou.mybatisplus.extension.service.IService; -//import com.yuanchu.mom.pojo.RawMaterialOrderTemplate; -// -//import java.util.List; -// -///** -// * 鍘熸潗鏂欎笅鍗曟ā鏉� -// * -// * @author zhuo -// * @since 2024-08-05 -// */ -//public interface RawMaterialOrderTemplateService extends IService<RawMaterialOrderTemplate> { -// -// int addRawMaterOrderTemplate(RawMaterialOrderTemplate rawMaterialOrderTemplate); -// -// List<RawMaterialOrderTemplate> selectRawMaterOrderTemplate(String partNo); -// -// String selectRawMaterOrderTemplateById(Integer id); -// -// int delRawMaterOrderTemplate(Integer id); -// -//} -// +package com.ruoyi.basic.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.basic.pojo.RawMaterialOrderTemplate; + +import java.util.List; + +/** + * 鍘熸潗鏂欎笅鍗曟ā鏉� + * + * @author zhuo + * @since 2024-08-05 + */ +public interface RawMaterialOrderTemplateService extends IService<RawMaterialOrderTemplate> { + + int addRawMaterOrderTemplate(RawMaterialOrderTemplate rawMaterialOrderTemplate); + + List<RawMaterialOrderTemplate> selectRawMaterOrderTemplate(String partNo); + + String selectRawMaterOrderTemplateById(Integer id); + + int delRawMaterOrderTemplate(Integer id); + +} + diff --git a/inspect-server/src/main/java/com/ruoyi/basic/service/impl/RawMaterialOrderServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/basic/service/impl/RawMaterialOrderServiceImpl.java index 0be3f23..8bc4ca6 100644 --- a/inspect-server/src/main/java/com/ruoyi/basic/service/impl/RawMaterialOrderServiceImpl.java +++ b/inspect-server/src/main/java/com/ruoyi/basic/service/impl/RawMaterialOrderServiceImpl.java @@ -1,850 +1,861 @@ -//package com.ruoyi.basic.service.impl; -// -//import cn.hutool.core.collection.CollUtil; -//import cn.hutool.core.collection.CollectionUtil; -//import cn.hutool.core.date.DateTime; -//import cn.hutool.core.date.DateUtil; -//import cn.hutool.core.util.StrUtil; -//import com.alibaba.excel.EasyExcel; -//import com.alibaba.excel.ExcelWriter; -//import com.alibaba.excel.write.metadata.WriteSheet; -//import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; -//import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; -//import com.baomidou.mybatisplus.core.metadata.IPage; -//import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; -//import com.baomidou.mybatisplus.core.toolkit.StringUtils; -//import com.baomidou.mybatisplus.core.toolkit.Wrappers; -//import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -//import com.ruoyi.basic.service.RawMaterialOrderService; -//import lombok.AllArgsConstructor; -//import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; -//import org.springframework.stereotype.Service; -//import org.springframework.transaction.annotation.Transactional; -// -//import javax.servlet.http.HttpServletResponse; -//import java.io.IOException; -//import java.io.UnsupportedEncodingException; -//import java.math.BigDecimal; -//import java.net.URLEncoder; -//import java.text.SimpleDateFormat; -//import java.time.LocalDateTime; -//import java.time.format.DateTimeFormatter; -//import java.util.*; -//import java.util.concurrent.atomic.AtomicInteger; -// -///** -// * @Author zhuo -// * @Date 2024/7/31 -// */ -//@Service -//@AllArgsConstructor -//public class RawMaterialOrderServiceImpl implements RawMaterialOrderService { -// -// private StandardTreeMapper standardTreeMapper; -// private IfsInventoryQuantityMapper ifsInventoryQuantityMapper; -// private GetLook getLook; -// private UserMapper userMapper; -// private InsOrderService insOrderService; -// private InsOrderMapper insOrderMapper; -// private InsSampleMapper insSampleMapper; -// private final NumberGenerator<InsOrder> numberGenerator; -// private InsReportService insReportService; -// private WechatProperty wechatProperty; -// private ThreadPoolTaskExecutor threadPoolTaskExecutor; -// private InsProductMapper insProductMapper; -// private AuxiliaryOutputWorkingHoursMapper auxiliaryOutputWorkingHoursMapper; -// -// -// @Override -// public RawMaterialStandardTreeDto selectStandardTreeListByPartNo(String partNo) { -// if (StringUtils.isBlank(partNo)) { -// throw new ErrorException("闆朵欢鍙蜂涪澶�"); -// } -// List<FactoryDto> factoryDtos = standardTreeMapper.selectStandardTreeListByPartNo(partNo); -// if (CollectionUtil.isEmpty(factoryDtos)) { -// throw new ErrorException("闆朵欢鍙蜂负" + partNo + "鐨勫師鏉愭枡娌℃湁瀵瑰簲鐨勬爣鍑嗗簱閰嶇疆"); -// } -// RawMaterialStandardTreeDto rawMaterialStandardTreeDto = new RawMaterialStandardTreeDto(); -// for (FactoryDto factoryDto : factoryDtos) { -// for (LaboratoryDto laboratoryDto : factoryDto.getChildren()) { -// for (SampleTypeDto sampleTypeDto : laboratoryDto.getChildren()) { -// if (sampleTypeDto.getChildren().size() == 0) { -// sampleTypeDto.setChildren(standardTreeMapper.getStandardTree3(sampleTypeDto.getValue())); -// } -// // 鍒ゆ柇缁戝畾鐨勬槸鍚︽槸褰撳墠闆朵欢鍙� -// if (sampleTypeDto.getPartNo() != null && sampleTypeDto.getPartNo().equals(partNo)) { -// // 娣诲姞瀵硅薄 -// rawMaterialStandardTreeDto.setTreeName(factoryDto.getValue() + "-" -// + laboratoryDto.getValue() + "-" -// + sampleTypeDto.getValue()); -// rawMaterialStandardTreeDto.setCode(sampleTypeDto.getCode()); -// rawMaterialStandardTreeDto.setLabel(sampleTypeDto.getLabel()); -// rawMaterialStandardTreeDto.setValue(sampleTypeDto.getValue()); -// rawMaterialStandardTreeDto.setChildren1(sampleTypeDto.getChildren()); -// } else { -// for (SampleDto sampleDto : sampleTypeDto.getChildren()) { -// if (sampleDto.getPartNo() != null && sampleDto.getPartNo().equals(partNo)) { -// // 娣诲姞瀵硅薄 -// rawMaterialStandardTreeDto.setTreeName(factoryDto.getValue() + "-" -// + laboratoryDto.getValue() + "-" -// + sampleTypeDto.getValue() + "-" -// + sampleDto.getValue()); -// rawMaterialStandardTreeDto.setCode(sampleDto.getCode()); -// rawMaterialStandardTreeDto.setLabel(sampleDto.getLabel()); -// rawMaterialStandardTreeDto.setValue(sampleDto.getValue()); -// rawMaterialStandardTreeDto.setChildren2(sampleDto.getChildren()); -// } -// } -// } -// } -// } -// } -// return rawMaterialStandardTreeDto; -// } -// -// @Override -// public Map<String, Object> getWarehouseSubmit(IPage<IfsInventoryQuantity> page, IfsInventoryQuantity ifsInventoryQuantity) { -// Map<String, Object> map = new HashMap<>(); -// map.put("head", PrintChina.printChina(IfsInventoryQuantity.class)); -// map.put("body", standardTreeMapper.selectIfsPage(page, QueryWrappers.queryWrappers(ifsInventoryQuantity))); -// return map; -// } -// -// @Override -// public Map<String, Object> getIfsByStateOne(IPage<IfsInventoryQuantityDto> page, IfsInventoryQuantityDto ifsInventoryQuantityDto) { -// Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("getIfsByStateOne"); -// if (map1.get("look") == 1) { -// //涓汉 -// ifsInventoryQuantityDto.setCreateUser(map1.get("userId")); -// } -// Map<String, Object> map = new HashMap<>(); -//// ifsInventoryQuantityDto.setOrderState(null); -// map.put("head", PrintChina.printChina(IfsInventoryQuantityDto.class)); -// map.put("body", standardTreeMapper.getIfsByStateOne(page, QueryWrappers.queryWrappers(ifsInventoryQuantityDto))); -// return map; -// } -// -// -// /** -// * 鎶ユ -// * @param ids -// * @return -// */ -// @Override -// public int inspectionReport(List<Integer> ids) { -// Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId"); -// ifsInventoryQuantityMapper.update(null, Wrappers.<IfsInventoryQuantity>lambdaUpdate() -// .in(IfsInventoryQuantity::getId, ids) -// .set(IfsInventoryQuantity::getDeclareUser, userMapper.selectById(userId).getName()) -// .set(IfsInventoryQuantity::getDeclareUserId, userId) -// .set(IfsInventoryQuantity::getIsInspect, 1) -// .set(IfsInventoryQuantity::getDeclareDate, LocalDateTime.now()) -// ); -// threadPoolTaskExecutor.execute(() -> { -// List<IfsInventoryQuantity> quantityList = ifsInventoryQuantityMapper.selectList(Wrappers.<IfsInventoryQuantity>lambdaQuery() -// .in(IfsInventoryQuantity::getId, ids)); -// // 浼佷笟寰俊閫氱煡 -// String message = ""; -// message += "鏂板鎶ユ閫氱煡"; -// for (IfsInventoryQuantity inventoryQuantity : quantityList) { -// message += "\n鎵规鍙�: " + inventoryQuantity.getUpdateBatchNo(); -// message += "\n闆朵欢鎻忚堪: " + inventoryQuantity.getPartDesc(); -// message += "\n鎶佃揪鏁伴噺: " + inventoryQuantity.getQtyArrived().stripTrailingZeros().toPlainString() + inventoryQuantity.getBuyUnitMeas(); -// -// // 鍒ゆ柇鏈夋病鏈夊埌20鍚�. 鎴栬�呰兘鍚﹀厤妫� -// int result = notificationRawOrder(inventoryQuantity.getId()); -// switch (result) { -// case 1: -// message += "\n褰撳墠鏍峰搧宸叉楠岃繃, 鍙互鍏嶆"; -// break; -// case 2: -// message += "\n褰撳墠鏍峰搧宸茶秴杩�20鍚�"; -// break; -// } -// message += "\n"; -// } -// WxCpUtils.informWebHook(wechatProperty.getExaminingUrl(), message); -// }); -// return 1; -// } -// -// /** -// * 鎾ら攢鎶ユ -// * @param id -// * @return -// */ -// @Override -// public int revokeInspectionReport(Integer id) { -// return ifsInventoryQuantityMapper.update(null, Wrappers.<IfsInventoryQuantity>lambdaUpdate() -// .eq(IfsInventoryQuantity::getId, id) -// .set(IfsInventoryQuantity::getIsInspect, 0) -// ); -// } -// -// /** -// * 鎵撳嵃鏍囩鏌ヨ -// * @param ids -// * @return -// */ -// @Override -// public List<IfsInventoryQuantityDto> printLabel(List<Integer> ids) { -// return ifsInventoryQuantityMapper.printLabel(ids); -// } -// -// /** -// * 鎶ユ -// * @param ifsInventoryQuantity -// * @return -// */ -// @Override -// public int inspectionReportOne(IfsInventoryQuantity ifsInventoryQuantity) { -// Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId"); -// ifsInventoryQuantityMapper.update(null, Wrappers.<IfsInventoryQuantity>lambdaUpdate() -// .eq(IfsInventoryQuantity::getId, ifsInventoryQuantity.getId()) -// .set(IfsInventoryQuantity::getDeclareUser, userMapper.selectById(userId).getName()) -// .set(IfsInventoryQuantity::getDeclareUserId, userId) -// .set(IfsInventoryQuantity::getIsInspect, 1) -// .set(IfsInventoryQuantity::getDeclareDate, LocalDateTime.now()) -// .set(IfsInventoryQuantity::getUpdateBatchNo, ifsInventoryQuantity.getUpdateBatchNo()) -// ); -// -// threadPoolTaskExecutor.execute(() -> { -// IfsInventoryQuantity inventoryQuantity = ifsInventoryQuantityMapper.selectById(ifsInventoryQuantity.getId()); -// // 浼佷笟寰俊閫氱煡 -// String message = ""; -// message += "鏂板鎶ユ閫氱煡"; -// message += "\n鎵规鍙�: " + inventoryQuantity.getUpdateBatchNo(); -// message += "\n闆朵欢鎻忚堪: " + inventoryQuantity.getPartDesc(); -// message += "\n鎶佃揪鏁伴噺: " + inventoryQuantity.getQtyArrived().stripTrailingZeros().toPlainString() + inventoryQuantity.getBuyUnitMeas(); -// WxCpUtils.informWebHook(wechatProperty.getExaminingUrl(), message); -// }); -// return 1; -// } -// -// /** -// * 鑾峰彇閾滀骇涓氶摼妫�娴嬫暟鎹� -// * @param id -// * @return -// */ -// @Override -// public String getIndustryChain(Integer id) { -// return ifsInventoryQuantityMapper.selectById(id).getIndustryChain(); -// } -// -// /** -// * 鍘熸潗鏂欐挙閿�鎺ュ彛 -// * @param ifsInventoryId -// * @return -// */ -// @Override -// public boolean repealRawOrder(Integer ifsInventoryId) { -// // 鏌ヨ鍒ゆ柇鏄惁鏄摐鍗曚笣 -// IfsInventoryQuantity ifsInventoryQuantity = ifsInventoryQuantityMapper.selectById(ifsInventoryId); -// if (ifsInventoryQuantity.getIsCopper() != null && ifsInventoryQuantity.getIsCopper().equals(1)) { -// // 閾滃崟涓濈洿鎺ュ垹闄ゅ氨琛� -// ifsInventoryQuantityMapper.deleteById(ifsInventoryId); -// } else { -// ifsInventoryQuantityMapper.update(null, new LambdaUpdateWrapper<IfsInventoryQuantity>() -// .set(IfsInventoryQuantity::getState, 0) -// .set(IfsInventoryQuantity::getIsQuarter, 1) -// .eq(IfsInventoryQuantity::getId, ifsInventoryId)); -// } -// -// insOrderService.update(Wrappers.<InsOrder>lambdaUpdate() -// .eq(InsOrder::getIfsInventoryId, ifsInventoryId) -// .set(InsOrder::getState, -1) -// .set(InsOrder::getEntrustCode, ""));// 鎾ら攢 -// return true; -// } -// -// /** -// * 鍘熸潗鏂欏厤妫�涓嬪崟 -// * @param list -// * @param insOrder -// * @return -// */ -// @Override -// @Transactional(rollbackFor = Exception.class) -// public int addExemptionOrder(List<SampleProductDto> list, InsOrder insOrder) { -// if (!insOrder.getOrderType().equals(InsOrderTypeConstants.ENTER_THE_FACTORY)) { -// throw new ErrorException("鍙湁杩涘巶妫�楠屾墠鑳藉厤妫�"); -// } -// insOrder.setSendTime(LocalDateTime.now()); -// // 淇敼璁㈠崟琛ㄧ洿鎺ヤ负宸叉楠� -// insOrder.setState(4); -// insOrder.setTypeSource(1); -// -// String code = "Y"; -// // 鐢熸垚缂栧彿 -// String no = numberGenerator.generateNumberWithPrefix(3, -// "JCZX/ZB-" + code + LimsDateUtil.resetDate(LocalDateTime.now()), -// InsOrder::getEntrustCode); -// -// insOrderMapper.insert(insOrder); // 涓昏〃 -// -// AtomicInteger count = new AtomicInteger(); -// list.forEach(a -> { -// count.getAndIncrement(); -// a.setId(null); -// a.setInsOrderId(insOrder.getId()); -// if (StrUtil.isEmpty(a.getSampleCode())) { -// // 濡傛灉鍙湁涓�涓牱鍝佸氨涓嶉渶瑕佹嫾鎺ユ暟瀛� -// if (list.size() != 1) { -// a.setSampleCode(no + "-" + count.get()); -// } else { -// a.setSampleCode(no); -// } -// } -// insSampleMapper.insert(a); -// -// if (!CollectionUtil.isEmpty(a.getInsProduct())) { -// throw new ErrorException("鍏嶆涓嶉渶瑕佸~鍐欐楠岄」"); -// } -// }); -// -// // 鍘熸潗鏂欎笅鍗�: 濮旀墭浜哄氨鏄姤妫�浜�, 鐢熶骇鍗曚綅灏辨槸渚涘簲鍟嗗崟浣� -// IfsInventoryQuantity ifsInventoryQuantity = ifsInventoryQuantityMapper.selectById(insOrder.getIfsInventoryId()); -// Integer declareUserId = ifsInventoryQuantity.getDeclareUserId(); -// User user = userMapper.selectById(declareUserId); -// // 渚涘簲鍟嗗悕绉� -// insOrder.setProduction(ifsInventoryQuantity.getSupplierName()); -// // 濮旀墭浜哄悕绉� -// insOrder.setPrepareUser(user.getName()); -// insOrder.setPhone(user.getPhone()); -// -// // 淇敼鍘熸潗鏂欐暟鎹洿鎺ヤ负宸叉楠� -// ifsInventoryQuantityMapper.update(null, new LambdaUpdateWrapper<IfsInventoryQuantity>().set(IfsInventoryQuantity::getState, 2) -// .eq(IfsInventoryQuantity::getId, insOrder.getIfsInventoryId())); -// -// insOrder.setExamineTime(LocalDateTime.now()); -// -// insOrder.setEntrustCode(no); -// insOrder.setIsExemption(1); -// -// insOrderMapper.updateById(insOrder); -// -// // 娣诲姞宸ユ椂 -// addAuxiliary(insOrder, ifsInventoryQuantity); -// -// // todo: ifs鐩存帴绉诲簱 -// insReportService.isRawMaterial(insOrder); -// -// return insOrder.getId(); -// } -// -// -// /** -// * 鏌ヨ寰呬笅鍗� -// * @param page -// * @param ifsInventoryQuantity -// * @return -// */ -// @Override -// public Map<String, Object> selectIfsInventoryQuantity(Page<IfsInventoryQuantityCheckDto> page, IfsInventoryQuantityCheckDto ifsInventoryQuantity) { -// Map<String, Object> map = new HashMap<>(); -// map.put("head", PrintChina.printChina(IfsInventoryQuantityCheckDto.class)); -// map.put("body", standardTreeMapper.selectIfsInventoryQuantity(page, QueryWrappers.queryWrappers(ifsInventoryQuantity))); -// return map; -// } -// -// /** -// * 鏌ヨ宸叉楠� -// * @param page -// * @param ifsInventoryQuantityDto -// * @return -// */ -// @Override -// public Map<String, Object> getIfsByOver(Page<IfsInventoryQuantitySupplierDto> page, IfsInventoryQuantitySupplierDto ifsInventoryQuantityDto) { -// Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("getIfsByStateOne"); -// if (map1.get("look") == 1) { -// //涓汉 -// ifsInventoryQuantityDto.setCreateUser(map1.get("userId")); -// } -// String beginDeclareDate = ifsInventoryQuantityDto.getBeginDeclareDate(); -// String endDeclareDate = ifsInventoryQuantityDto.getEndDeclareDate(); -// ifsInventoryQuantityDto.setBeginDeclareDate(null); -// ifsInventoryQuantityDto.setEndDeclareDate(null); -// -// Map<String, Object> map = new HashMap<>(); -// map.put("head", PrintChina.printChina(IfsInventoryQuantitySupplierDto.class)); -// map.put("body", standardTreeMapper.getIfsByOver(page, QueryWrappers.queryWrappers(ifsInventoryQuantityDto), beginDeclareDate, endDeclareDate)); -// return map; -// } -// -// /** -// * 鍒犻櫎鍘熸潗鏂欐姤妫�淇℃伅 -// * @param id -// * @return -// */ -// @Override -// public int delIfsInventory(Integer id) { -// return ifsInventoryQuantityMapper.deleteById(id); -// } -// -// /** -// * 鍘熸潗鏂欐斁琛屽厤妫� -// * @param ifsInventoryId -// * @return -// */ -// @Override -// @Transactional(rollbackFor = Exception.class) -// public boolean rawOrderRelease(Integer ifsInventoryId, String partDetail) { -// // 淇敼鍘熸潗鏂欐暟鎹洿鎺ヤ负宸叉楠� -// ifsInventoryQuantityMapper.update(null, new LambdaUpdateWrapper<IfsInventoryQuantity>() -// .set(IfsInventoryQuantity::getState, 2) -// .set(IfsInventoryQuantity::getIsQuarter, 0) -// .eq(IfsInventoryQuantity::getId, ifsInventoryId)); -// -// // 鏌ヨ鍘熸潗鏂欎俊鎭� -// IfsInventoryQuantity ifsInventoryQuantity = ifsInventoryQuantityMapper.selectById(ifsInventoryId); -// // 濮旀墭浜哄氨鏄姤妫�浜�, 鐢熶骇鍗曚綅灏辨槸渚涘簲鍟嗗崟浣� -// Integer declareUserId = ifsInventoryQuantity.getDeclareUserId(); -// User user = userMapper.selectById(declareUserId); -// -// InsOrder insOrder = new InsOrder(); -// insOrder.setState(4); -// insOrder.setTypeSource(1); -// String code = "Y"; -// // 鐢熸垚缂栧彿 -// String no = numberGenerator.generateNumberWithPrefix(3, -// "JCZX/ZB-" + code + LimsDateUtil.resetDate(LocalDateTime.now()), -// InsOrder::getEntrustCode); -// insOrder.setExamineTime(LocalDateTime.now()); -// insOrder.setEntrustCode(no); -// insOrder.setIsExemption(1); -// // 渚涘簲鍟嗗悕绉� -// insOrder.setProduction(ifsInventoryQuantity.getSupplierName()); -// // 濮旀墭浜哄悕绉� -// insOrder.setPrepareUser(user.getName()); -// insOrder.setPhone(user.getPhone()); -// insOrder.setIfsInventoryId(ifsInventoryId); -// insOrder.setPartDetail(partDetail); -// insOrder.setSendTime(LocalDateTime.now()); -// insOrder.setSample(ifsInventoryQuantity.getPartDesc()); -// // 杩涘巶妫�楠� -// insOrder.setOrderType(InsOrderTypeConstants.ENTER_THE_FACTORY); -// -// insOrderMapper.insert(insOrder); -// -// // 娣诲姞宸ユ椂 -// addAuxiliary(insOrder, ifsInventoryQuantity); -// -// // todo: ifs鐩存帴绉诲簱 -// insReportService.isRawMaterial(insOrder); -// return true; -// } -// -// /** -// * 0, 鏃犳彁绀�, 1鎻愮ず 褰撳墠鎵规鐨勬牱鍝佸凡妫�楠岃繃, 鍙互鍏嶆, 2 鎻愮ず 褰撳墠鎵规鐨勬牱鍝佸凡瓒�20鍚�, 闇�瑕佸绾у娆℃楠� -// * -// * 鍘熸潗鏂欎笅鍗曢�氱煡鍏嶆鎴栬�呭娆℃楠� -// * @param ifsInventoryId -// * @return -// */ -// @Override -// public int notificationRawOrder(Integer ifsInventoryId) { -// IfsInventoryQuantity ifsInventory = ifsInventoryQuantityMapper.selectById(ifsInventoryId); -// // 鏌ヨ褰撳墠鎵规, 渚涘簲鍟�, 闆朵欢鍙风殑鍘熸潗鏂欐槸鍚﹁秴杩囦簡20鍚�, 瓒呰繃浜�20鍚ㄩ渶瑕佽繘琛屽娆℃楠屾彁閱� -// List<IfsInventoryQuantity> quantityList = ifsInventoryQuantityMapper.selectList(Wrappers.<IfsInventoryQuantity>lambdaQuery() -// .eq(IfsInventoryQuantity::getPartNo, ifsInventory.getPartNo()) -// .eq(IfsInventoryQuantity::getUpdateBatchNo, ifsInventory.getUpdateBatchNo()) -// .eq(IfsInventoryQuantity::getSupplierId, ifsInventory.getSupplierId()) -// .eq(IfsInventoryQuantity::getSupplierName, ifsInventory.getSupplierName())); -// -// // 鍒ゆ柇鏄惁澶т簬20鍚� -// BigDecimal bigDecimal = new BigDecimal("20000"); -// BigDecimal count = BigDecimal.ZERO; -// for (IfsInventoryQuantity inventoryQuantity : quantityList) { -// // 鍒ゆ柇鍗曚綅鏄痥g鎴栬�卼 -// if (inventoryQuantity.getBuyUnitMeas().equalsIgnoreCase("t")) { -// count = count.add(inventoryQuantity.getQtyArrived().multiply(new BigDecimal("1000"))); -// } else if (inventoryQuantity.getBuyUnitMeas().equalsIgnoreCase("kg")) { -// count = count.add(inventoryQuantity.getQtyArrived()); -// } -// } -// -// if (count.compareTo(bigDecimal) >= 0) { -// return 2; -// } else { -// // 鍒ゆ柇涔嬪墠鏄惁鍑鸿繃鎶ュ憡, 鍑鸿繃鎶ュ憡鍙互鍏嶆 -// int reportCount = ifsInventoryQuantityMapper.selectReportCountById(ifsInventoryId); -// if (reportCount > 0) { -// return 1; -// } -// } -// return 0; -// } -// -// /** -// * 鎶ユ鍙互鏂板鎶ユ淇℃伅 -// * @param ifsInventoryQuantity -// */ -// @Override -// public void addIfsInventoryQuantity(IfsInventoryQuantity ifsInventoryQuantity) { -// ifsInventoryQuantity.setIsSource(0); -// ifsInventoryQuantity.setState(0); -// ifsInventoryQuantity.setIsFinish(0); -// ifsInventoryQuantityMapper.insert(ifsInventoryQuantity); -// } -// -// @Override -// public void shiftingParking(List<Integer> ids) { -// for (Integer id : ids) { -// InsOrder order = insOrderService.getById(id); -// // todo: ifs鐩存帴绉诲簱 -// insReportService.isRawMaterial(order); -// } -// } -// -// /** -// * 閾滃崟涓濅笅鍗曞厤妫� -// * @param list -// * @param insOrder -// */ -// @Override -// @Transactional(rollbackFor = Exception.class) -// public int addRawCopperOrderExemptionOrder(List<SampleProductDto> list, CopperInsOrderDto insOrder) { -// if (!insOrder.getOrderType().equals(InsOrderTypeConstants.ENTER_THE_FACTORY)) { -// throw new ErrorException("鍙湁杩涘巶妫�楠屾墠鑳藉厤妫�"); -// } -// insOrder.setSendTime(LocalDateTime.now()); -// // 淇敼璁㈠崟琛ㄧ洿鎺ヤ负宸叉楠� -// insOrder.setState(4); -// insOrder.setTypeSource(1); -// -// String code = "Y"; -// // 鐢熸垚缂栧彿 -// String no = numberGenerator.generateNumberWithPrefix(3, -// "JCZX/ZB-" + code + LimsDateUtil.resetDate(LocalDateTime.now()), -// InsOrder::getEntrustCode); -// -// insOrderMapper.insert(insOrder); // 涓昏〃 -// -// AtomicInteger count = new AtomicInteger(); -// list.forEach(a -> { -// count.getAndIncrement(); -// a.setId(null); -// a.setInsOrderId(insOrder.getId()); -// if (StrUtil.isEmpty(a.getSampleCode())) { -// // 濡傛灉鍙湁涓�涓牱鍝佸氨涓嶉渶瑕佹嫾鎺ユ暟瀛� -// if (list.size() != 1) { -// a.setSampleCode(no + "-" + count.get()); -// } else { -// a.setSampleCode(no); -// } -// } -// insSampleMapper.insert(a); -// -// if (!CollectionUtil.isEmpty(a.getInsProduct())) { -// throw new ErrorException("鍏嶆涓嶉渶瑕佸~鍐欐楠岄」"); -// } -// }); -// // 娣诲姞鍘熸潗鏂欎俊鎭� -// IfsInventoryQuantity ifsInventoryQuantity = new IfsInventoryQuantity(); -// // 鍩烘湰淇℃伅 -// ifsInventoryQuantity.setIsSource(0); -// ifsInventoryQuantity.setState(2); -// ifsInventoryQuantity.setIsInspect(1); -// ifsInventoryQuantity.setIsFinish(1); -// ifsInventoryQuantity.setIsCopper(1); -// ifsInventoryQuantity.setInspectStatus(1); -// ifsInventoryQuantity.setIsQuarter(0); -// -// ifsInventoryQuantity.setQtyArrived(insOrder.getQtyArrived()); -// ifsInventoryQuantity.setBuyUnitMeas(insOrder.getBuyUnitMeas()); -// ifsInventoryQuantity.setSupplierName(insOrder.getSupplierName()); -// ifsInventoryQuantity.setUpdateBatchNo(insOrder.getUpdateBatchNo()); -// ifsInventoryQuantity.setDeclareDate(insOrder.getDeclareDate()); -// -// ifsInventoryQuantityMapper.insert(ifsInventoryQuantity); -// -// insOrder.setIfsInventoryId(ifsInventoryQuantity.getId()); -// insOrder.setExamineTime(LocalDateTime.now()); -// -// insOrder.setEntrustCode(no); -// insOrder.setIsExemption(1); -// -// insOrderMapper.updateById(insOrder); -// -// // 娣诲姞宸ユ椂 -// addAuxiliary(insOrder, ifsInventoryQuantity); -// -// return insOrder.getId(); -// } -// -// @Override -// @Transactional(rollbackFor = Exception.class) -// public boolean concessionRelease(Integer ifsInventoryId) { -// // 鏌ヨ鍘熸潗鏂欎俊鎭� -// IfsInventoryQuantity ifsInventoryQuantity = ifsInventoryQuantityMapper.selectById(ifsInventoryId); -// if (!ifsInventoryQuantity.getInspectStatus().equals(2)) { -// throw new ErrorException("涓嶅悎鏍肩殑鍘熸潗鏂欐墠鑳借姝ユ斁琛�"); -// } -// -// // todo:闇�瑕佸垽鏂璷a娴佺▼鏄惁鏄姝ユ斁琛� -// String toLocation = insReportService.moveRawMaterial(ifsInventoryQuantity); -// -// ifsInventoryQuantityMapper.update(null, new LambdaUpdateWrapper<IfsInventoryQuantity>() -// .set(IfsInventoryQuantity::getInspectStatus, 4) -// .set(IfsInventoryQuantity::getToLocation, toLocation) -// .eq(IfsInventoryQuantity::getId, ifsInventoryId)); -// -// return true; -// } -// -// /** -// * 鍘熸潗鏂欒繘鍘傛挙閿�涓嬪崟 -// * @param enterOrderId -// * @return -// */ -// @Override -// @Transactional(rollbackFor = Exception.class) -// public boolean repealEnterRawOrder(Integer enterOrderId) { -// // 鏌ヨ璁㈠崟 -// InsOrder order = insOrderMapper.selectById(enterOrderId); -// -// // 鏌ヨ鍒ゆ柇鏄惁鏄摐鍗曚笣 -// IfsInventoryQuantity ifsInventoryQuantity = ifsInventoryQuantityMapper.selectById(order.getIfsInventoryId()); -// if (ifsInventoryQuantity.getIsCopper() != null && ifsInventoryQuantity.getIsCopper().equals(1)) { -// // 閾滃崟涓濈洿鎺ュ垹闄ゅ氨琛� -// ifsInventoryQuantityMapper.deleteById(order.getIfsInventoryId()); -// } else { -// ifsInventoryQuantityMapper.update(null, new LambdaUpdateWrapper<IfsInventoryQuantity>() -// .set(IfsInventoryQuantity::getState, 0) -// .set(IfsInventoryQuantity::getIsQuarter, 1) -// .eq(IfsInventoryQuantity::getId, order.getIfsInventoryId())); -// } -// insOrderService.update(Wrappers.<InsOrder>lambdaUpdate() -// .eq(InsOrder::getId, enterOrderId) -// .set(InsOrder::getState, -1) -// .set(InsOrder::getEntrustCode, ""));// 鎾ら攢 -// -// // 娓呴櫎涔嬪墠鐨勫伐鏃� -// auxiliaryOutputWorkingHoursMapper.delete(Wrappers.<AuxiliaryOutputWorkingHours>lambdaQuery() -// .eq(AuxiliaryOutputWorkingHours::getOrderId, enterOrderId)); -// -// // 娓呴櫎涔嬪墠鎶ュ憡 -// insReportService.remove(Wrappers.<InsReport>lambdaQuery() -// .eq(InsReport::getInsOrderId, enterOrderId)); -// -// return true; -// } -// -// /** -// * 鍘熸潗鏂欏搴︽挙閿�涓嬪崟 -// * @param quarterOrderId -// * @return -// */ -// @Override -// @Transactional(rollbackFor = Exception.class) -// public boolean repealQuarterRawOrder(Integer quarterOrderId) { -// // 鏌ヨ璁㈠崟 -// InsOrder order = insOrderMapper.selectById(quarterOrderId); -// -// Long count = insOrderMapper.selectCount(Wrappers.<InsOrder>lambdaQuery() -// .eq(InsOrder::getIfsInventoryId, order.getIfsInventoryId()) -// .ne(InsOrder::getState, -1) -// .eq(InsOrder::getOrderType, InsOrderTypeConstants.ENTER_THE_FACTORY) -// .ne(InsOrder::getId, order.getId())); -// // 鍒ゆ柇涔嬪墠鏄惁鏈夎繘鍘傛楠�, 娌℃湁闇�瑕佷慨鏀瑰師鏉愭枡淇℃伅 -// if (count == 0) { -// ifsInventoryQuantityMapper.update(null, new LambdaUpdateWrapper<IfsInventoryQuantity>() -// .set(IfsInventoryQuantity::getState, 0) -// .set(IfsInventoryQuantity::getIsQuarter, 1) -// .eq(IfsInventoryQuantity::getId, order.getIfsInventoryId())); -// } else { -// ifsInventoryQuantityMapper.update(null, new LambdaUpdateWrapper<IfsInventoryQuantity>() -// .set(IfsInventoryQuantity::getIsQuarter, 1) -// .eq(IfsInventoryQuantity::getId, order.getIfsInventoryId())); -// } -// -// insOrderService.update(Wrappers.<InsOrder>lambdaUpdate() -// .eq(InsOrder::getId, quarterOrderId) -// .set(InsOrder::getState, -1) -// .set(InsOrder::getEntrustCode, ""));// 鎾ら攢 -// auxiliaryOutputWorkingHoursMapper.delete(Wrappers.<AuxiliaryOutputWorkingHours>lambdaQuery() -// .eq(AuxiliaryOutputWorkingHours::getOrderId, quarterOrderId)); -// // 娓呴櫎涔嬪墠鎶ュ憡 -// insReportService.remove(Wrappers.<InsReport>lambdaQuery() -// .eq(InsReport::getInsOrderId, quarterOrderId)); -// return true; -// } -// -// /** -// * 鍘熸潗鏂欐姤妫�鍏ㄩ儴淇℃伅瀵煎嚭 -// * @param ifsInventoryQuantityDto -// * @param response -// */ -// @Override -// public void rawAllExport(IfsInventoryQuantitySupplierDto ifsInventoryQuantityDto, HttpServletResponse response) throws UnsupportedEncodingException { -// //鏌ヨ瀵煎嚭鐨勮垂鐢ㄧ粺璁℃暟鎹� -// String beginDeclareDate = ifsInventoryQuantityDto.getBeginDeclareDate(); -// String endDeclareDate = ifsInventoryQuantityDto.getEndDeclareDate(); -// ifsInventoryQuantityDto.setBeginDeclareDate(null); -// ifsInventoryQuantityDto.setEndDeclareDate(null); -// List<IfsInventoryQuantitySupplierDto> ifsByOverList = standardTreeMapper.getIfsByOverList(QueryWrappers.queryWrappers(ifsInventoryQuantityDto), beginDeclareDate, endDeclareDate); -// -// for (IfsInventoryQuantitySupplierDto dto : ifsByOverList) { -// dto.setSendTimeString(dto.getSendTime() == null ? "" : dto.getSendTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); -// dto.setReceiverDateString(dto.getReceiverDate() == null ? "" : dto.getReceiverDate().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); -// dto.setDeclareDateString(dto.getDeclareDate() == null ? "" : dto.getDeclareDate().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); -// switch (dto.getInspectStatus()) { -// case 1: -// dto.setInspectStatusString("鍚堟牸"); -// break; -// case 2: -// dto.setInspectStatusString("涓嶅悎鏍�"); -// // 鏌ヨ涓嶅悎鏍奸」 -// List<String> unqualifiedList = insProductMapper.selectUnqualifiedList(dto.getEnterOrderId() == null ? dto.getQuarterOrderId() : dto.getEnterOrderId()); -// dto.setUnqualifiedItem(CollUtil.join(unqualifiedList, ",")); -// break; -// case 3: -// dto.setInspectStatusString("鏈笅鍗�"); -// break; -// case 4: -// dto.setInspectStatusString("璁╂鏀捐"); -// break; -// case 0: -// dto.setInspectStatusString("妫�楠屼腑"); -// break; -// -// } -// } -// -// -// response.setContentType("application/vnd.ms-excel"); -// response.setCharacterEncoding("UTF-8"); -// // 杩欓噷URLEncoder.encode鍙互闃叉涓枃涔辩爜 褰撶劧鍜宔asyexcel娌℃湁鍏崇郴 -// String fileName = URLEncoder.encode("鍘熸潗鏂欐娴嬩俊鎭鍑�", "UTF-8"); -// response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx"); -// try { -// //鏂板缓ExcelWriter -// ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).build(); -// //鑾峰彇sheet0瀵硅薄 -// WriteSheet mainSheet = EasyExcel.writerSheet(0, "鍘熸潗鏂欐娴嬩俊鎭鍑�").head(IfsInventoryQuantitySupplierDto.class).build(); -// -// //鍚憇heet0鍐欏叆鏁版嵁 浼犲叆绌簂ist杩欐牱鍙鍑鸿〃澶� -// excelWriter.write(ifsByOverList, mainSheet); -// //鍏抽棴娴� -// excelWriter.finish(); -// } catch (IOException e) { -// throw new RuntimeException("瀵煎嚭澶辫触"); -// } -// } -// -// /** -// * 鍘熸潗鏂欐煡璇㈠彲浠ュ搴︽楠岀殑鍐呭 -// * @param page -// * @param ifsInventoryQuantityDto -// * @return -// */ -// @Override -// public Map<String, Object> getIfsByQuarter(Page page, IfsInventoryQuantitySupplierDto ifsInventoryQuantityDto) { -// Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("getIfsByStateOne"); -// if (map1.get("look") == 1) { -// //涓汉 -// ifsInventoryQuantityDto.setCreateUser(map1.get("userId")); -// } -// String beginDeclareDate = ifsInventoryQuantityDto.getBeginDeclareDate(); -// String endDeclareDate = ifsInventoryQuantityDto.getEndDeclareDate(); -// ifsInventoryQuantityDto.setBeginDeclareDate(null); -// ifsInventoryQuantityDto.setEndDeclareDate(null); -// -// Map<String, Object> map = new HashMap<>(); -// map.put("head", PrintChina.printChina(IfsInventoryQuantitySupplierDto.class)); -// map.put("body", standardTreeMapper.getIfsByQuarter(page, QueryWrappers.queryWrappers(ifsInventoryQuantityDto), beginDeclareDate, endDeclareDate)); -// return map; -// } -// -// /** -// * 鎻愬墠鍏ュ簱 -// * @param ifsInventoryId -// * @return -// */ -// @Override -// public boolean advancedGodown(Integer ifsInventoryId) { -// // 鏌ヨ鍘熸潗鏂欎俊鎭� -// IfsInventoryQuantity ifsInventoryQuantity = ifsInventoryQuantityMapper.selectById(ifsInventoryId); -// if (!ifsInventoryQuantity.getInspectStatus().equals(0) -// && !ifsInventoryQuantity.getInspectStatus().equals(3)) { -// throw new ErrorException("鏈娴嬪畬鎴愭暟鎹墠鑳芥彁鍓嶅叆搴�"); -// } -// -// // todo:闇�瑕佸垽鏂璷a娴佺▼鏄惁鏄姝ユ斁琛� -// String toLocation = insReportService.moveRawMaterial(ifsInventoryQuantity); -// -// ifsInventoryQuantityMapper.update(null, new LambdaUpdateWrapper<IfsInventoryQuantity>() -// .set(IfsInventoryQuantity::getInspectStatus, 1) -// .set(IfsInventoryQuantity::getIsFinish, 1) -// .set(IfsInventoryQuantity::getToLocation, toLocation) -// .eq(IfsInventoryQuantity::getId, ifsInventoryId)); -// -// return true; -// } -// -// -// /** -// * 娣诲姞宸ユ椂 -// * @param insOrder -// * @param ifsInventoryQuantity -// */ -// private void addAuxiliary(InsOrder insOrder, IfsInventoryQuantity ifsInventoryQuantity) { -// AuxiliaryOutputWorkingHours auxiliaryOutputWorkingHours = new AuxiliaryOutputWorkingHours(); -// auxiliaryOutputWorkingHours.setInspectionItemClass(ifsInventoryQuantity.getUpdateBatchNo() + "鍏嶆");//妫�娴嬮」鍒嗙被 -// auxiliaryOutputWorkingHours.setSample(insOrder.getEntrustCode());//鏍峰搧缂栧彿 -// auxiliaryOutputWorkingHours.setOrderId(insOrder.getId());//璁㈠崟id -// auxiliaryOutputWorkingHours.setOrderNo(insOrder.getEntrustCode());//闈炲姞鐝鎵樺崟鍙� -// -// // 鍏嶆榛樿2 -// auxiliaryOutputWorkingHours.setWorkTime(new BigDecimal("2"));//闈炲姞鐝伐鏃� -// auxiliaryOutputWorkingHours.setAmount(1);//闈炲姞鐝暟閲� -// auxiliaryOutputWorkingHours.setOutputWorkTime((ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHours.getOvertimeWorkTime()) ? auxiliaryOutputWorkingHours.getOvertimeWorkTime() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHours.getWorkTime()) ? auxiliaryOutputWorkingHours.getWorkTime() : BigDecimal.ZERO));//浜ч噺宸ユ椂 -// DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); -// DateTimeFormatter formatters = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); -// auxiliaryOutputWorkingHours.setDateTime(LocalDateTime.now().toLocalDate().atStartOfDay().format(formatters));//鏃ユ湡 -// LocalDateTime localDateTime = LocalDateTime.now(); -// DateTime parse = DateUtil.parse(localDateTime.format(formatter)); -// auxiliaryOutputWorkingHours.setWeekDay(getWeek(localDateTime.format(formatters)));//鏄熸湡 -// auxiliaryOutputWorkingHours.setWeek(String.valueOf(DateUtil.weekOfYear(DateUtil.offsetDay(parse, 1))));//鍛ㄦ -// auxiliaryOutputWorkingHours.setCheck(getLook.selectPowerByMethodAndUserId(null).get("userId"));//妫�娴嬩汉 -// auxiliaryOutputWorkingHours.setPrice(new BigDecimal("1"));//鍗曚环 -// -// auxiliaryOutputWorkingHoursMapper.insert(auxiliaryOutputWorkingHours); -// } -// -// public static String getWeek(String dayStr) { -// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); -// try { -// Date date = sdf.parse(dayStr); -// Calendar calendar = Calendar.getInstance(); -// calendar.setTime(date); -// int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK); -// int day = calendar.get(Calendar.DAY_OF_MONTH); -// return getWeekDay(dayOfWeek); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// return null; -// } -// -// public static String getWeekDay(int dayOfWeek) { -// switch (dayOfWeek) { -// case Calendar.MONDAY: -// return "鍛ㄤ竴"; -// case Calendar.TUESDAY: -// return "鍛ㄤ簩"; -// case Calendar.WEDNESDAY: -// return "鍛ㄤ笁"; -// case Calendar.THURSDAY: -// return "鍛ㄥ洓"; -// case Calendar.FRIDAY: -// return "鍛ㄤ簲"; -// case Calendar.SATURDAY: -// return "鍛ㄥ叚"; -// case Calendar.SUNDAY: -// return "鍛ㄦ棩"; -// default: -// return "鏈煡"; -// } -// } -//} +package com.ruoyi.basic.service.impl; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.StrUtil; +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.ExcelWriter; +import com.alibaba.excel.write.metadata.WriteSheet; +import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.basic.dto.FactoryDto; +import com.ruoyi.basic.dto.LaboratoryDto; +import com.ruoyi.basic.dto.RawMaterialStandardTreeDto; +import com.ruoyi.basic.dto.SampleTypeDto; +import com.ruoyi.basic.mapper.IfsInventoryQuantityMapper; +import com.ruoyi.basic.mapper.StandardTreeMapper; +import com.ruoyi.basic.pojo.InsOrder; +import com.ruoyi.basic.service.InsOrderService; +import com.ruoyi.basic.service.RawMaterialOrderService; +import com.ruoyi.common.numgen.NumberGenerator; +import com.ruoyi.framework.exception.ErrorException; +import com.ruoyi.system.mapper.UserMapper; +import lombok.AllArgsConstructor; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.math.BigDecimal; +import java.net.URLEncoder; +import java.text.SimpleDateFormat; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.*; +import java.util.concurrent.atomic.AtomicInteger; + +/** + * @Author zhuo + * @Date 2024/7/31 + */ +@Service +@AllArgsConstructor +public class RawMaterialOrderServiceImpl implements RawMaterialOrderService { + + private StandardTreeMapper standardTreeMapper; + private IfsInventoryQuantityMapper ifsInventoryQuantityMapper; + private GetLook getLook; + private UserMapper userMapper; + private InsOrderService insOrderService; + private InsOrderMapper insOrderMapper; + private InsSampleMapper insSampleMapper; + private final NumberGenerator<InsOrder> numberGenerator; + private InsReportService insReportService; + private WechatProperty wechatProperty; + private ThreadPoolTaskExecutor threadPoolTaskExecutor; + private InsProductMapper insProductMapper; + private AuxiliaryOutputWorkingHoursMapper auxiliaryOutputWorkingHoursMapper; + + + @Override + public RawMaterialStandardTreeDto selectStandardTreeListByPartNo(String partNo) { + if (StringUtils.isBlank(partNo)) { + throw new ErrorException("闆朵欢鍙蜂涪澶�"); + } + List<FactoryDto> factoryDtos = standardTreeMapper.selectStandardTreeListByPartNo(partNo); + if (CollectionUtil.isEmpty(factoryDtos)) { + throw new ErrorException("闆朵欢鍙蜂负" + partNo + "鐨勫師鏉愭枡娌℃湁瀵瑰簲鐨勬爣鍑嗗簱閰嶇疆"); + } + RawMaterialStandardTreeDto rawMaterialStandardTreeDto = new RawMaterialStandardTreeDto(); + for (FactoryDto factoryDto : factoryDtos) { + for (LaboratoryDto laboratoryDto : factoryDto.getChildren()) { + for (SampleTypeDto sampleTypeDto : laboratoryDto.getChildren()) { + if (sampleTypeDto.getChildren().size() == 0) { + sampleTypeDto.setChildren(standardTreeMapper.getStandardTree3(sampleTypeDto.getValue())); + } + // 鍒ゆ柇缁戝畾鐨勬槸鍚︽槸褰撳墠闆朵欢鍙� + if (sampleTypeDto.getPartNo() != null && sampleTypeDto.getPartNo().equals(partNo)) { + // 娣诲姞瀵硅薄 + rawMaterialStandardTreeDto.setTreeName(factoryDto.getValue() + "-" + + laboratoryDto.getValue() + "-" + + sampleTypeDto.getValue()); + rawMaterialStandardTreeDto.setCode(sampleTypeDto.getCode()); + rawMaterialStandardTreeDto.setLabel(sampleTypeDto.getLabel()); + rawMaterialStandardTreeDto.setValue(sampleTypeDto.getValue()); + rawMaterialStandardTreeDto.setChildren1(sampleTypeDto.getChildren()); + } else { + for (SampleDto sampleDto : sampleTypeDto.getChildren()) { + if (sampleDto.getPartNo() != null && sampleDto.getPartNo().equals(partNo)) { + // 娣诲姞瀵硅薄 + rawMaterialStandardTreeDto.setTreeName(factoryDto.getValue() + "-" + + laboratoryDto.getValue() + "-" + + sampleTypeDto.getValue() + "-" + + sampleDto.getValue()); + rawMaterialStandardTreeDto.setCode(sampleDto.getCode()); + rawMaterialStandardTreeDto.setLabel(sampleDto.getLabel()); + rawMaterialStandardTreeDto.setValue(sampleDto.getValue()); + rawMaterialStandardTreeDto.setChildren2(sampleDto.getChildren()); + } + } + } + } + } + } + return rawMaterialStandardTreeDto; + } + + @Override + public Map<String, Object> getWarehouseSubmit(IPage<IfsInventoryQuantity> page, IfsInventoryQuantity ifsInventoryQuantity) { + Map<String, Object> map = new HashMap<>(); + map.put("head", PrintChina.printChina(IfsInventoryQuantity.class)); + map.put("body", standardTreeMapper.selectIfsPage(page, QueryWrappers.queryWrappers(ifsInventoryQuantity))); + return map; + } + + @Override + public Map<String, Object> getIfsByStateOne(IPage<IfsInventoryQuantityDto> page, IfsInventoryQuantityDto ifsInventoryQuantityDto) { + Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("getIfsByStateOne"); + if (map1.get("look") == 1) { + //涓汉 + ifsInventoryQuantityDto.setCreateUser(map1.get("userId")); + } + Map<String, Object> map = new HashMap<>(); +// ifsInventoryQuantityDto.setOrderState(null); + map.put("head", PrintChina.printChina(IfsInventoryQuantityDto.class)); + map.put("body", standardTreeMapper.getIfsByStateOne(page, QueryWrappers.queryWrappers(ifsInventoryQuantityDto))); + return map; + } + + + /** + * 鎶ユ + * @param ids + * @return + */ + @Override + public int inspectionReport(List<Integer> ids) { + Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId"); + ifsInventoryQuantityMapper.update(null, Wrappers.<IfsInventoryQuantity>lambdaUpdate() + .in(IfsInventoryQuantity::getId, ids) + .set(IfsInventoryQuantity::getDeclareUser, userMapper.selectById(userId).getName()) + .set(IfsInventoryQuantity::getDeclareUserId, userId) + .set(IfsInventoryQuantity::getIsInspect, 1) + .set(IfsInventoryQuantity::getDeclareDate, LocalDateTime.now()) + ); + threadPoolTaskExecutor.execute(() -> { + List<IfsInventoryQuantity> quantityList = ifsInventoryQuantityMapper.selectList(Wrappers.<IfsInventoryQuantity>lambdaQuery() + .in(IfsInventoryQuantity::getId, ids)); + // 浼佷笟寰俊閫氱煡 + String message = ""; + message += "鏂板鎶ユ閫氱煡"; + for (IfsInventoryQuantity inventoryQuantity : quantityList) { + message += "\n鎵规鍙�: " + inventoryQuantity.getUpdateBatchNo(); + message += "\n闆朵欢鎻忚堪: " + inventoryQuantity.getPartDesc(); + message += "\n鎶佃揪鏁伴噺: " + inventoryQuantity.getQtyArrived().stripTrailingZeros().toPlainString() + inventoryQuantity.getBuyUnitMeas(); + + // 鍒ゆ柇鏈夋病鏈夊埌20鍚�. 鎴栬�呰兘鍚﹀厤妫� + int result = notificationRawOrder(inventoryQuantity.getId()); + switch (result) { + case 1: + message += "\n褰撳墠鏍峰搧宸叉楠岃繃, 鍙互鍏嶆"; + break; + case 2: + message += "\n褰撳墠鏍峰搧宸茶秴杩�20鍚�"; + break; + } + message += "\n"; + } + WxCpUtils.informWebHook(wechatProperty.getExaminingUrl(), message); + }); + return 1; + } + + /** + * 鎾ら攢鎶ユ + * @param id + * @return + */ + @Override + public int revokeInspectionReport(Integer id) { + return ifsInventoryQuantityMapper.update(null, Wrappers.<IfsInventoryQuantity>lambdaUpdate() + .eq(IfsInventoryQuantity::getId, id) + .set(IfsInventoryQuantity::getIsInspect, 0) + ); + } + + /** + * 鎵撳嵃鏍囩鏌ヨ + * @param ids + * @return + */ + @Override + public List<IfsInventoryQuantityDto> printLabel(List<Integer> ids) { + return ifsInventoryQuantityMapper.printLabel(ids); + } + + /** + * 鎶ユ + * @param ifsInventoryQuantity + * @return + */ + @Override + public int inspectionReportOne(IfsInventoryQuantity ifsInventoryQuantity) { + Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId"); + ifsInventoryQuantityMapper.update(null, Wrappers.<IfsInventoryQuantity>lambdaUpdate() + .eq(IfsInventoryQuantity::getId, ifsInventoryQuantity.getId()) + .set(IfsInventoryQuantity::getDeclareUser, userMapper.selectById(userId).getName()) + .set(IfsInventoryQuantity::getDeclareUserId, userId) + .set(IfsInventoryQuantity::getIsInspect, 1) + .set(IfsInventoryQuantity::getDeclareDate, LocalDateTime.now()) + .set(IfsInventoryQuantity::getUpdateBatchNo, ifsInventoryQuantity.getUpdateBatchNo()) + ); + + threadPoolTaskExecutor.execute(() -> { + IfsInventoryQuantity inventoryQuantity = ifsInventoryQuantityMapper.selectById(ifsInventoryQuantity.getId()); + // 浼佷笟寰俊閫氱煡 + String message = ""; + message += "鏂板鎶ユ閫氱煡"; + message += "\n鎵规鍙�: " + inventoryQuantity.getUpdateBatchNo(); + message += "\n闆朵欢鎻忚堪: " + inventoryQuantity.getPartDesc(); + message += "\n鎶佃揪鏁伴噺: " + inventoryQuantity.getQtyArrived().stripTrailingZeros().toPlainString() + inventoryQuantity.getBuyUnitMeas(); + WxCpUtils.informWebHook(wechatProperty.getExaminingUrl(), message); + }); + return 1; + } + + /** + * 鑾峰彇閾滀骇涓氶摼妫�娴嬫暟鎹� + * @param id + * @return + */ + @Override + public String getIndustryChain(Integer id) { + return ifsInventoryQuantityMapper.selectById(id).getIndustryChain(); + } + + /** + * 鍘熸潗鏂欐挙閿�鎺ュ彛 + * @param ifsInventoryId + * @return + */ + @Override + public boolean repealRawOrder(Integer ifsInventoryId) { + // 鏌ヨ鍒ゆ柇鏄惁鏄摐鍗曚笣 + IfsInventoryQuantity ifsInventoryQuantity = ifsInventoryQuantityMapper.selectById(ifsInventoryId); + if (ifsInventoryQuantity.getIsCopper() != null && ifsInventoryQuantity.getIsCopper().equals(1)) { + // 閾滃崟涓濈洿鎺ュ垹闄ゅ氨琛� + ifsInventoryQuantityMapper.deleteById(ifsInventoryId); + } else { + ifsInventoryQuantityMapper.update(null, new LambdaUpdateWrapper<IfsInventoryQuantity>() + .set(IfsInventoryQuantity::getState, 0) + .set(IfsInventoryQuantity::getIsQuarter, 1) + .eq(IfsInventoryQuantity::getId, ifsInventoryId)); + } + + insOrderService.update(Wrappers.<InsOrder>lambdaUpdate() + .eq(InsOrder::getIfsInventoryId, ifsInventoryId) + .set(InsOrder::getState, -1) + .set(InsOrder::getEntrustCode, ""));// 鎾ら攢 + return true; + } + + /** + * 鍘熸潗鏂欏厤妫�涓嬪崟 + * @param list + * @param insOrder + * @return + */ + @Override + @Transactional(rollbackFor = Exception.class) + public int addExemptionOrder(List<SampleProductDto> list, InsOrder insOrder) { + if (!insOrder.getOrderType().equals(InsOrderTypeConstants.ENTER_THE_FACTORY)) { + throw new ErrorException("鍙湁杩涘巶妫�楠屾墠鑳藉厤妫�"); + } + insOrder.setSendTime(LocalDateTime.now()); + // 淇敼璁㈠崟琛ㄧ洿鎺ヤ负宸叉楠� + insOrder.setState(4); + insOrder.setTypeSource(1); + + String code = "Y"; + // 鐢熸垚缂栧彿 + String no = numberGenerator.generateNumberWithPrefix(3, + "JCZX/ZB-" + code + LimsDateUtil.resetDate(LocalDateTime.now()), + InsOrder::getEntrustCode); + + insOrderMapper.insert(insOrder); // 涓昏〃 + + AtomicInteger count = new AtomicInteger(); + list.forEach(a -> { + count.getAndIncrement(); + a.setId(null); + a.setInsOrderId(insOrder.getId()); + if (StrUtil.isEmpty(a.getSampleCode())) { + // 濡傛灉鍙湁涓�涓牱鍝佸氨涓嶉渶瑕佹嫾鎺ユ暟瀛� + if (list.size() != 1) { + a.setSampleCode(no + "-" + count.get()); + } else { + a.setSampleCode(no); + } + } + insSampleMapper.insert(a); + + if (!CollectionUtil.isEmpty(a.getInsProduct())) { + throw new ErrorException("鍏嶆涓嶉渶瑕佸~鍐欐楠岄」"); + } + }); + + // 鍘熸潗鏂欎笅鍗�: 濮旀墭浜哄氨鏄姤妫�浜�, 鐢熶骇鍗曚綅灏辨槸渚涘簲鍟嗗崟浣� + IfsInventoryQuantity ifsInventoryQuantity = ifsInventoryQuantityMapper.selectById(insOrder.getIfsInventoryId()); + Integer declareUserId = ifsInventoryQuantity.getDeclareUserId(); + User user = userMapper.selectById(declareUserId); + // 渚涘簲鍟嗗悕绉� + insOrder.setProduction(ifsInventoryQuantity.getSupplierName()); + // 濮旀墭浜哄悕绉� + insOrder.setPrepareUser(user.getName()); + insOrder.setPhone(user.getPhone()); + + // 淇敼鍘熸潗鏂欐暟鎹洿鎺ヤ负宸叉楠� + ifsInventoryQuantityMapper.update(null, new LambdaUpdateWrapper<IfsInventoryQuantity>().set(IfsInventoryQuantity::getState, 2) + .eq(IfsInventoryQuantity::getId, insOrder.getIfsInventoryId())); + + insOrder.setExamineTime(LocalDateTime.now()); + + insOrder.setEntrustCode(no); + insOrder.setIsExemption(1); + + insOrderMapper.updateById(insOrder); + + // 娣诲姞宸ユ椂 + addAuxiliary(insOrder, ifsInventoryQuantity); + + // todo: ifs鐩存帴绉诲簱 + insReportService.isRawMaterial(insOrder); + + return insOrder.getId(); + } + + + /** + * 鏌ヨ寰呬笅鍗� + * @param page + * @param ifsInventoryQuantity + * @return + */ + @Override + public Map<String, Object> selectIfsInventoryQuantity(Page<IfsInventoryQuantityCheckDto> page, IfsInventoryQuantityCheckDto ifsInventoryQuantity) { + Map<String, Object> map = new HashMap<>(); + map.put("head", PrintChina.printChina(IfsInventoryQuantityCheckDto.class)); + map.put("body", standardTreeMapper.selectIfsInventoryQuantity(page, QueryWrappers.queryWrappers(ifsInventoryQuantity))); + return map; + } + + /** + * 鏌ヨ宸叉楠� + * @param page + * @param ifsInventoryQuantityDto + * @return + */ + @Override + public Map<String, Object> getIfsByOver(Page<IfsInventoryQuantitySupplierDto> page, IfsInventoryQuantitySupplierDto ifsInventoryQuantityDto) { + Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("getIfsByStateOne"); + if (map1.get("look") == 1) { + //涓汉 + ifsInventoryQuantityDto.setCreateUser(map1.get("userId")); + } + String beginDeclareDate = ifsInventoryQuantityDto.getBeginDeclareDate(); + String endDeclareDate = ifsInventoryQuantityDto.getEndDeclareDate(); + ifsInventoryQuantityDto.setBeginDeclareDate(null); + ifsInventoryQuantityDto.setEndDeclareDate(null); + + Map<String, Object> map = new HashMap<>(); + map.put("head", PrintChina.printChina(IfsInventoryQuantitySupplierDto.class)); + map.put("body", standardTreeMapper.getIfsByOver(page, QueryWrappers.queryWrappers(ifsInventoryQuantityDto), beginDeclareDate, endDeclareDate)); + return map; + } + + /** + * 鍒犻櫎鍘熸潗鏂欐姤妫�淇℃伅 + * @param id + * @return + */ + @Override + public int delIfsInventory(Integer id) { + return ifsInventoryQuantityMapper.deleteById(id); + } + + /** + * 鍘熸潗鏂欐斁琛屽厤妫� + * @param ifsInventoryId + * @return + */ + @Override + @Transactional(rollbackFor = Exception.class) + public boolean rawOrderRelease(Integer ifsInventoryId, String partDetail) { + // 淇敼鍘熸潗鏂欐暟鎹洿鎺ヤ负宸叉楠� + ifsInventoryQuantityMapper.update(null, new LambdaUpdateWrapper<IfsInventoryQuantity>() + .set(IfsInventoryQuantity::getState, 2) + .set(IfsInventoryQuantity::getIsQuarter, 0) + .eq(IfsInventoryQuantity::getId, ifsInventoryId)); + + // 鏌ヨ鍘熸潗鏂欎俊鎭� + IfsInventoryQuantity ifsInventoryQuantity = ifsInventoryQuantityMapper.selectById(ifsInventoryId); + // 濮旀墭浜哄氨鏄姤妫�浜�, 鐢熶骇鍗曚綅灏辨槸渚涘簲鍟嗗崟浣� + Integer declareUserId = ifsInventoryQuantity.getDeclareUserId(); + User user = userMapper.selectById(declareUserId); + + InsOrder insOrder = new InsOrder(); + insOrder.setState(4); + insOrder.setTypeSource(1); + String code = "Y"; + // 鐢熸垚缂栧彿 + String no = numberGenerator.generateNumberWithPrefix(3, + "JCZX/ZB-" + code + LimsDateUtil.resetDate(LocalDateTime.now()), + InsOrder::getEntrustCode); + insOrder.setExamineTime(LocalDateTime.now()); + insOrder.setEntrustCode(no); + insOrder.setIsExemption(1); + // 渚涘簲鍟嗗悕绉� + insOrder.setProduction(ifsInventoryQuantity.getSupplierName()); + // 濮旀墭浜哄悕绉� + insOrder.setPrepareUser(user.getName()); + insOrder.setPhone(user.getPhone()); + insOrder.setIfsInventoryId(ifsInventoryId); + insOrder.setPartDetail(partDetail); + insOrder.setSendTime(LocalDateTime.now()); + insOrder.setSample(ifsInventoryQuantity.getPartDesc()); + // 杩涘巶妫�楠� + insOrder.setOrderType(InsOrderTypeConstants.ENTER_THE_FACTORY); + + insOrderMapper.insert(insOrder); + + // 娣诲姞宸ユ椂 + addAuxiliary(insOrder, ifsInventoryQuantity); + + // todo: ifs鐩存帴绉诲簱 + insReportService.isRawMaterial(insOrder); + return true; + } + + /** + * 0, 鏃犳彁绀�, 1鎻愮ず 褰撳墠鎵规鐨勬牱鍝佸凡妫�楠岃繃, 鍙互鍏嶆, 2 鎻愮ず 褰撳墠鎵规鐨勬牱鍝佸凡瓒�20鍚�, 闇�瑕佸绾у娆℃楠� + * + * 鍘熸潗鏂欎笅鍗曢�氱煡鍏嶆鎴栬�呭娆℃楠� + * @param ifsInventoryId + * @return + */ + @Override + public int notificationRawOrder(Integer ifsInventoryId) { + IfsInventoryQuantity ifsInventory = ifsInventoryQuantityMapper.selectById(ifsInventoryId); + // 鏌ヨ褰撳墠鎵规, 渚涘簲鍟�, 闆朵欢鍙风殑鍘熸潗鏂欐槸鍚﹁秴杩囦簡20鍚�, 瓒呰繃浜�20鍚ㄩ渶瑕佽繘琛屽娆℃楠屾彁閱� + List<IfsInventoryQuantity> quantityList = ifsInventoryQuantityMapper.selectList(Wrappers.<IfsInventoryQuantity>lambdaQuery() + .eq(IfsInventoryQuantity::getPartNo, ifsInventory.getPartNo()) + .eq(IfsInventoryQuantity::getUpdateBatchNo, ifsInventory.getUpdateBatchNo()) + .eq(IfsInventoryQuantity::getSupplierId, ifsInventory.getSupplierId()) + .eq(IfsInventoryQuantity::getSupplierName, ifsInventory.getSupplierName())); + + // 鍒ゆ柇鏄惁澶т簬20鍚� + BigDecimal bigDecimal = new BigDecimal("20000"); + BigDecimal count = BigDecimal.ZERO; + for (IfsInventoryQuantity inventoryQuantity : quantityList) { + // 鍒ゆ柇鍗曚綅鏄痥g鎴栬�卼 + if (inventoryQuantity.getBuyUnitMeas().equalsIgnoreCase("t")) { + count = count.add(inventoryQuantity.getQtyArrived().multiply(new BigDecimal("1000"))); + } else if (inventoryQuantity.getBuyUnitMeas().equalsIgnoreCase("kg")) { + count = count.add(inventoryQuantity.getQtyArrived()); + } + } + + if (count.compareTo(bigDecimal) >= 0) { + return 2; + } else { + // 鍒ゆ柇涔嬪墠鏄惁鍑鸿繃鎶ュ憡, 鍑鸿繃鎶ュ憡鍙互鍏嶆 + int reportCount = ifsInventoryQuantityMapper.selectReportCountById(ifsInventoryId); + if (reportCount > 0) { + return 1; + } + } + return 0; + } + + /** + * 鎶ユ鍙互鏂板鎶ユ淇℃伅 + * @param ifsInventoryQuantity + */ + @Override + public void addIfsInventoryQuantity(IfsInventoryQuantity ifsInventoryQuantity) { + ifsInventoryQuantity.setIsSource(0); + ifsInventoryQuantity.setState(0); + ifsInventoryQuantity.setIsFinish(0); + ifsInventoryQuantityMapper.insert(ifsInventoryQuantity); + } + + @Override + public void shiftingParking(List<Integer> ids) { + for (Integer id : ids) { + InsOrder order = insOrderService.getById(id); + // todo: ifs鐩存帴绉诲簱 + insReportService.isRawMaterial(order); + } + } + + /** + * 閾滃崟涓濅笅鍗曞厤妫� + * @param list + * @param insOrder + */ + @Override + @Transactional(rollbackFor = Exception.class) + public int addRawCopperOrderExemptionOrder(List<SampleProductDto> list, CopperInsOrderDto insOrder) { + if (!insOrder.getOrderType().equals(InsOrderTypeConstants.ENTER_THE_FACTORY)) { + throw new ErrorException("鍙湁杩涘巶妫�楠屾墠鑳藉厤妫�"); + } + insOrder.setSendTime(LocalDateTime.now()); + // 淇敼璁㈠崟琛ㄧ洿鎺ヤ负宸叉楠� + insOrder.setState(4); + insOrder.setTypeSource(1); + + String code = "Y"; + // 鐢熸垚缂栧彿 + String no = numberGenerator.generateNumberWithPrefix(3, + "JCZX/ZB-" + code + LimsDateUtil.resetDate(LocalDateTime.now()), + InsOrder::getEntrustCode); + + insOrderMapper.insert(insOrder); // 涓昏〃 + + AtomicInteger count = new AtomicInteger(); + list.forEach(a -> { + count.getAndIncrement(); + a.setId(null); + a.setInsOrderId(insOrder.getId()); + if (StrUtil.isEmpty(a.getSampleCode())) { + // 濡傛灉鍙湁涓�涓牱鍝佸氨涓嶉渶瑕佹嫾鎺ユ暟瀛� + if (list.size() != 1) { + a.setSampleCode(no + "-" + count.get()); + } else { + a.setSampleCode(no); + } + } + insSampleMapper.insert(a); + + if (!CollectionUtil.isEmpty(a.getInsProduct())) { + throw new ErrorException("鍏嶆涓嶉渶瑕佸~鍐欐楠岄」"); + } + }); + // 娣诲姞鍘熸潗鏂欎俊鎭� + IfsInventoryQuantity ifsInventoryQuantity = new IfsInventoryQuantity(); + // 鍩烘湰淇℃伅 + ifsInventoryQuantity.setIsSource(0); + ifsInventoryQuantity.setState(2); + ifsInventoryQuantity.setIsInspect(1); + ifsInventoryQuantity.setIsFinish(1); + ifsInventoryQuantity.setIsCopper(1); + ifsInventoryQuantity.setInspectStatus(1); + ifsInventoryQuantity.setIsQuarter(0); + + ifsInventoryQuantity.setQtyArrived(insOrder.getQtyArrived()); + ifsInventoryQuantity.setBuyUnitMeas(insOrder.getBuyUnitMeas()); + ifsInventoryQuantity.setSupplierName(insOrder.getSupplierName()); + ifsInventoryQuantity.setUpdateBatchNo(insOrder.getUpdateBatchNo()); + ifsInventoryQuantity.setDeclareDate(insOrder.getDeclareDate()); + + ifsInventoryQuantityMapper.insert(ifsInventoryQuantity); + + insOrder.setIfsInventoryId(ifsInventoryQuantity.getId()); + insOrder.setExamineTime(LocalDateTime.now()); + + insOrder.setEntrustCode(no); + insOrder.setIsExemption(1); + + insOrderMapper.updateById(insOrder); + + // 娣诲姞宸ユ椂 + addAuxiliary(insOrder, ifsInventoryQuantity); + + return insOrder.getId(); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public boolean concessionRelease(Integer ifsInventoryId) { + // 鏌ヨ鍘熸潗鏂欎俊鎭� + IfsInventoryQuantity ifsInventoryQuantity = ifsInventoryQuantityMapper.selectById(ifsInventoryId); + if (!ifsInventoryQuantity.getInspectStatus().equals(2)) { + throw new ErrorException("涓嶅悎鏍肩殑鍘熸潗鏂欐墠鑳借姝ユ斁琛�"); + } + + // todo:闇�瑕佸垽鏂璷a娴佺▼鏄惁鏄姝ユ斁琛� + String toLocation = insReportService.moveRawMaterial(ifsInventoryQuantity); + + ifsInventoryQuantityMapper.update(null, new LambdaUpdateWrapper<IfsInventoryQuantity>() + .set(IfsInventoryQuantity::getInspectStatus, 4) + .set(IfsInventoryQuantity::getToLocation, toLocation) + .eq(IfsInventoryQuantity::getId, ifsInventoryId)); + + return true; + } + + /** + * 鍘熸潗鏂欒繘鍘傛挙閿�涓嬪崟 + * @param enterOrderId + * @return + */ + @Override + @Transactional(rollbackFor = Exception.class) + public boolean repealEnterRawOrder(Integer enterOrderId) { + // 鏌ヨ璁㈠崟 + InsOrder order = insOrderMapper.selectById(enterOrderId); + + // 鏌ヨ鍒ゆ柇鏄惁鏄摐鍗曚笣 + IfsInventoryQuantity ifsInventoryQuantity = ifsInventoryQuantityMapper.selectById(order.getIfsInventoryId()); + if (ifsInventoryQuantity.getIsCopper() != null && ifsInventoryQuantity.getIsCopper().equals(1)) { + // 閾滃崟涓濈洿鎺ュ垹闄ゅ氨琛� + ifsInventoryQuantityMapper.deleteById(order.getIfsInventoryId()); + } else { + ifsInventoryQuantityMapper.update(null, new LambdaUpdateWrapper<IfsInventoryQuantity>() + .set(IfsInventoryQuantity::getState, 0) + .set(IfsInventoryQuantity::getIsQuarter, 1) + .eq(IfsInventoryQuantity::getId, order.getIfsInventoryId())); + } + insOrderService.update(Wrappers.<InsOrder>lambdaUpdate() + .eq(InsOrder::getId, enterOrderId) + .set(InsOrder::getState, -1) + .set(InsOrder::getEntrustCode, ""));// 鎾ら攢 + + // 娓呴櫎涔嬪墠鐨勫伐鏃� + auxiliaryOutputWorkingHoursMapper.delete(Wrappers.<AuxiliaryOutputWorkingHours>lambdaQuery() + .eq(AuxiliaryOutputWorkingHours::getOrderId, enterOrderId)); + + // 娓呴櫎涔嬪墠鎶ュ憡 + insReportService.remove(Wrappers.<InsReport>lambdaQuery() + .eq(InsReport::getInsOrderId, enterOrderId)); + + return true; + } + + /** + * 鍘熸潗鏂欏搴︽挙閿�涓嬪崟 + * @param quarterOrderId + * @return + */ + @Override + @Transactional(rollbackFor = Exception.class) + public boolean repealQuarterRawOrder(Integer quarterOrderId) { + // 鏌ヨ璁㈠崟 + InsOrder order = insOrderMapper.selectById(quarterOrderId); + + Long count = insOrderMapper.selectCount(Wrappers.<InsOrder>lambdaQuery() + .eq(InsOrder::getIfsInventoryId, order.getIfsInventoryId()) + .ne(InsOrder::getState, -1) + .eq(InsOrder::getOrderType, InsOrderTypeConstants.ENTER_THE_FACTORY) + .ne(InsOrder::getId, order.getId())); + // 鍒ゆ柇涔嬪墠鏄惁鏈夎繘鍘傛楠�, 娌℃湁闇�瑕佷慨鏀瑰師鏉愭枡淇℃伅 + if (count == 0) { + ifsInventoryQuantityMapper.update(null, new LambdaUpdateWrapper<IfsInventoryQuantity>() + .set(IfsInventoryQuantity::getState, 0) + .set(IfsInventoryQuantity::getIsQuarter, 1) + .eq(IfsInventoryQuantity::getId, order.getIfsInventoryId())); + } else { + ifsInventoryQuantityMapper.update(null, new LambdaUpdateWrapper<IfsInventoryQuantity>() + .set(IfsInventoryQuantity::getIsQuarter, 1) + .eq(IfsInventoryQuantity::getId, order.getIfsInventoryId())); + } + + insOrderService.update(Wrappers.<InsOrder>lambdaUpdate() + .eq(InsOrder::getId, quarterOrderId) + .set(InsOrder::getState, -1) + .set(InsOrder::getEntrustCode, ""));// 鎾ら攢 + auxiliaryOutputWorkingHoursMapper.delete(Wrappers.<AuxiliaryOutputWorkingHours>lambdaQuery() + .eq(AuxiliaryOutputWorkingHours::getOrderId, quarterOrderId)); + // 娓呴櫎涔嬪墠鎶ュ憡 + insReportService.remove(Wrappers.<InsReport>lambdaQuery() + .eq(InsReport::getInsOrderId, quarterOrderId)); + return true; + } + + /** + * 鍘熸潗鏂欐姤妫�鍏ㄩ儴淇℃伅瀵煎嚭 + * @param ifsInventoryQuantityDto + * @param response + */ + @Override + public void rawAllExport(IfsInventoryQuantitySupplierDto ifsInventoryQuantityDto, HttpServletResponse response) throws UnsupportedEncodingException { + //鏌ヨ瀵煎嚭鐨勮垂鐢ㄧ粺璁℃暟鎹� + String beginDeclareDate = ifsInventoryQuantityDto.getBeginDeclareDate(); + String endDeclareDate = ifsInventoryQuantityDto.getEndDeclareDate(); + ifsInventoryQuantityDto.setBeginDeclareDate(null); + ifsInventoryQuantityDto.setEndDeclareDate(null); + List<IfsInventoryQuantitySupplierDto> ifsByOverList = standardTreeMapper.getIfsByOverList(QueryWrappers.queryWrappers(ifsInventoryQuantityDto), beginDeclareDate, endDeclareDate); + + for (IfsInventoryQuantitySupplierDto dto : ifsByOverList) { + dto.setSendTimeString(dto.getSendTime() == null ? "" : dto.getSendTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + dto.setReceiverDateString(dto.getReceiverDate() == null ? "" : dto.getReceiverDate().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + dto.setDeclareDateString(dto.getDeclareDate() == null ? "" : dto.getDeclareDate().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + switch (dto.getInspectStatus()) { + case 1: + dto.setInspectStatusString("鍚堟牸"); + break; + case 2: + dto.setInspectStatusString("涓嶅悎鏍�"); + // 鏌ヨ涓嶅悎鏍奸」 + List<String> unqualifiedList = insProductMapper.selectUnqualifiedList(dto.getEnterOrderId() == null ? dto.getQuarterOrderId() : dto.getEnterOrderId()); + dto.setUnqualifiedItem(CollUtil.join(unqualifiedList, ",")); + break; + case 3: + dto.setInspectStatusString("鏈笅鍗�"); + break; + case 4: + dto.setInspectStatusString("璁╂鏀捐"); + break; + case 0: + dto.setInspectStatusString("妫�楠屼腑"); + break; + + } + } + + + response.setContentType("application/vnd.ms-excel"); + response.setCharacterEncoding("UTF-8"); + // 杩欓噷URLEncoder.encode鍙互闃叉涓枃涔辩爜 褰撶劧鍜宔asyexcel娌℃湁鍏崇郴 + String fileName = URLEncoder.encode("鍘熸潗鏂欐娴嬩俊鎭鍑�", "UTF-8"); + response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx"); + try { + //鏂板缓ExcelWriter + ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).build(); + //鑾峰彇sheet0瀵硅薄 + WriteSheet mainSheet = EasyExcel.writerSheet(0, "鍘熸潗鏂欐娴嬩俊鎭鍑�").head(IfsInventoryQuantitySupplierDto.class).build(); + + //鍚憇heet0鍐欏叆鏁版嵁 浼犲叆绌簂ist杩欐牱鍙鍑鸿〃澶� + excelWriter.write(ifsByOverList, mainSheet); + //鍏抽棴娴� + excelWriter.finish(); + } catch (IOException e) { + throw new RuntimeException("瀵煎嚭澶辫触"); + } + } + + /** + * 鍘熸潗鏂欐煡璇㈠彲浠ュ搴︽楠岀殑鍐呭 + * @param page + * @param ifsInventoryQuantityDto + * @return + */ + @Override + public Map<String, Object> getIfsByQuarter(Page page, IfsInventoryQuantitySupplierDto ifsInventoryQuantityDto) { + Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("getIfsByStateOne"); + if (map1.get("look") == 1) { + //涓汉 + ifsInventoryQuantityDto.setCreateUser(map1.get("userId")); + } + String beginDeclareDate = ifsInventoryQuantityDto.getBeginDeclareDate(); + String endDeclareDate = ifsInventoryQuantityDto.getEndDeclareDate(); + ifsInventoryQuantityDto.setBeginDeclareDate(null); + ifsInventoryQuantityDto.setEndDeclareDate(null); + + Map<String, Object> map = new HashMap<>(); + map.put("head", PrintChina.printChina(IfsInventoryQuantitySupplierDto.class)); + map.put("body", standardTreeMapper.getIfsByQuarter(page, QueryWrappers.queryWrappers(ifsInventoryQuantityDto), beginDeclareDate, endDeclareDate)); + return map; + } + + /** + * 鎻愬墠鍏ュ簱 + * @param ifsInventoryId + * @return + */ + @Override + public boolean advancedGodown(Integer ifsInventoryId) { + // 鏌ヨ鍘熸潗鏂欎俊鎭� + IfsInventoryQuantity ifsInventoryQuantity = ifsInventoryQuantityMapper.selectById(ifsInventoryId); + if (!ifsInventoryQuantity.getInspectStatus().equals(0) + && !ifsInventoryQuantity.getInspectStatus().equals(3)) { + throw new ErrorException("鏈娴嬪畬鎴愭暟鎹墠鑳芥彁鍓嶅叆搴�"); + } + + // todo:闇�瑕佸垽鏂璷a娴佺▼鏄惁鏄姝ユ斁琛� + String toLocation = insReportService.moveRawMaterial(ifsInventoryQuantity); + + ifsInventoryQuantityMapper.update(null, new LambdaUpdateWrapper<IfsInventoryQuantity>() + .set(IfsInventoryQuantity::getInspectStatus, 1) + .set(IfsInventoryQuantity::getIsFinish, 1) + .set(IfsInventoryQuantity::getToLocation, toLocation) + .eq(IfsInventoryQuantity::getId, ifsInventoryId)); + + return true; + } + + + /** + * 娣诲姞宸ユ椂 + * @param insOrder + * @param ifsInventoryQuantity + */ + private void addAuxiliary(InsOrder insOrder, IfsInventoryQuantity ifsInventoryQuantity) { + AuxiliaryOutputWorkingHours auxiliaryOutputWorkingHours = new AuxiliaryOutputWorkingHours(); + auxiliaryOutputWorkingHours.setInspectionItemClass(ifsInventoryQuantity.getUpdateBatchNo() + "鍏嶆");//妫�娴嬮」鍒嗙被 + auxiliaryOutputWorkingHours.setSample(insOrder.getEntrustCode());//鏍峰搧缂栧彿 + auxiliaryOutputWorkingHours.setOrderId(insOrder.getId());//璁㈠崟id + auxiliaryOutputWorkingHours.setOrderNo(insOrder.getEntrustCode());//闈炲姞鐝鎵樺崟鍙� + + // 鍏嶆榛樿2 + auxiliaryOutputWorkingHours.setWorkTime(new BigDecimal("2"));//闈炲姞鐝伐鏃� + auxiliaryOutputWorkingHours.setAmount(1);//闈炲姞鐝暟閲� + auxiliaryOutputWorkingHours.setOutputWorkTime((ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHours.getOvertimeWorkTime()) ? auxiliaryOutputWorkingHours.getOvertimeWorkTime() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHours.getWorkTime()) ? auxiliaryOutputWorkingHours.getWorkTime() : BigDecimal.ZERO));//浜ч噺宸ユ椂 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + DateTimeFormatter formatters = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + auxiliaryOutputWorkingHours.setDateTime(LocalDateTime.now().toLocalDate().atStartOfDay().format(formatters));//鏃ユ湡 + LocalDateTime localDateTime = LocalDateTime.now(); + DateTime parse = DateUtil.parse(localDateTime.format(formatter)); + auxiliaryOutputWorkingHours.setWeekDay(getWeek(localDateTime.format(formatters)));//鏄熸湡 + auxiliaryOutputWorkingHours.setWeek(String.valueOf(DateUtil.weekOfYear(DateUtil.offsetDay(parse, 1))));//鍛ㄦ + auxiliaryOutputWorkingHours.setCheck(getLook.selectPowerByMethodAndUserId(null).get("userId"));//妫�娴嬩汉 + auxiliaryOutputWorkingHours.setPrice(new BigDecimal("1"));//鍗曚环 + + auxiliaryOutputWorkingHoursMapper.insert(auxiliaryOutputWorkingHours); + } + + public static String getWeek(String dayStr) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + try { + Date date = sdf.parse(dayStr); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK); + int day = calendar.get(Calendar.DAY_OF_MONTH); + return getWeekDay(dayOfWeek); + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + public static String getWeekDay(int dayOfWeek) { + switch (dayOfWeek) { + case Calendar.MONDAY: + return "鍛ㄤ竴"; + case Calendar.TUESDAY: + return "鍛ㄤ簩"; + case Calendar.WEDNESDAY: + return "鍛ㄤ笁"; + case Calendar.THURSDAY: + return "鍛ㄥ洓"; + case Calendar.FRIDAY: + return "鍛ㄤ簲"; + case Calendar.SATURDAY: + return "鍛ㄥ叚"; + case Calendar.SUNDAY: + return "鍛ㄦ棩"; + default: + return "鏈煡"; + } + } +} diff --git a/inspect-server/src/main/java/com/ruoyi/basic/service/impl/RawMaterialOrderTemplateServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/basic/service/impl/RawMaterialOrderTemplateServiceImpl.java index 60dd9ed..d959998 100644 --- a/inspect-server/src/main/java/com/ruoyi/basic/service/impl/RawMaterialOrderTemplateServiceImpl.java +++ b/inspect-server/src/main/java/com/ruoyi/basic/service/impl/RawMaterialOrderTemplateServiceImpl.java @@ -1,68 +1,70 @@ -//package com.ruoyi.basic.service.impl; -// -//import com.baomidou.mybatisplus.core.toolkit.StringUtils; -//import com.baomidou.mybatisplus.core.toolkit.Wrappers; -//import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -//import com.ruoyi.basic.service.RawMaterialOrderTemplateService; -//import lombok.AllArgsConstructor; -//import org.springframework.stereotype.Service; -// -//import java.util.List; -// -///** -// * 鍘熸潗鏂欎笅鍗曟ā鏉� -// * -// * @author zhuo -// * @since 2024-08-05 -// */ -//@Service -//@AllArgsConstructor -//public class RawMaterialOrderTemplateServiceImpl extends ServiceImpl<RawMaterialOrderTemplateMapper, RawMaterialOrderTemplate> implements RawMaterialOrderTemplateService { -// -// -// /** -// * 娣诲姞鍘熸潗鏂欐楠屽崟妯℃澘 -// * @param rawMaterialOrderTemplate -// * @return -// */ -// @Override -// public int addRawMaterOrderTemplate(RawMaterialOrderTemplate rawMaterialOrderTemplate) { -// if (StringUtils.isBlank(rawMaterialOrderTemplate.getPartNo())) { -// throw new RuntimeException("缂哄皯闆朵欢鍙�"); -// } -// return baseMapper.insert(rawMaterialOrderTemplate); -// } -// -// /** -// * 鏌ヨ鍘熸潗鏂欐楠屽崟妯℃澘鍒楄〃 -// * @param partNo -// * @return -// */ -// @Override -// public List<RawMaterialOrderTemplate> selectRawMaterOrderTemplate(String partNo) { -// return baseMapper.selectList(Wrappers.<RawMaterialOrderTemplate>lambdaQuery() -// .eq(RawMaterialOrderTemplate::getPartNo, partNo)); -// } -// -// /** -// * 閫氳繃鍘熸潗鏂欐楠屽崟妯℃澘id鑾峰彇妫�楠屽崟妯℃澘鍐呭 -// * @param id -// * @return -// */ -// @Override -// public String selectRawMaterOrderTemplateById(Integer id) { -// return baseMapper.selectById(id).getThing(); -// } -// -// /** -// * 鍒犻櫎鍘熸潗鏂欐楠屽崟妯℃澘 -// * @param id -// * @return -// */ -// @Override -// public int delRawMaterOrderTemplate(Integer id) { -// return baseMapper.deleteById(id); -// } -// -//} -// +package com.ruoyi.basic.service.impl; + +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.basic.mapper.RawMaterialOrderTemplateMapper; +import com.ruoyi.basic.pojo.RawMaterialOrderTemplate; +import com.ruoyi.basic.service.RawMaterialOrderTemplateService; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 鍘熸潗鏂欎笅鍗曟ā鏉� + * + * @author zhuo + * @since 2024-08-05 + */ +@Service +@AllArgsConstructor +public class RawMaterialOrderTemplateServiceImpl extends ServiceImpl<RawMaterialOrderTemplateMapper, RawMaterialOrderTemplate> implements RawMaterialOrderTemplateService { + + + /** + * 娣诲姞鍘熸潗鏂欐楠屽崟妯℃澘 + * @param rawMaterialOrderTemplate + * @return + */ + @Override + public int addRawMaterOrderTemplate(RawMaterialOrderTemplate rawMaterialOrderTemplate) { + if (StringUtils.isBlank(rawMaterialOrderTemplate.getPartNo())) { + throw new RuntimeException("缂哄皯闆朵欢鍙�"); + } + return baseMapper.insert(rawMaterialOrderTemplate); + } + + /** + * 鏌ヨ鍘熸潗鏂欐楠屽崟妯℃澘鍒楄〃 + * @param partNo + * @return + */ + @Override + public List<RawMaterialOrderTemplate> selectRawMaterOrderTemplate(String partNo) { + return baseMapper.selectList(Wrappers.<RawMaterialOrderTemplate>lambdaQuery() + .eq(RawMaterialOrderTemplate::getPartNo, partNo)); + } + + /** + * 閫氳繃鍘熸潗鏂欐楠屽崟妯℃澘id鑾峰彇妫�楠屽崟妯℃澘鍐呭 + * @param id + * @return + */ + @Override + public String selectRawMaterOrderTemplateById(Integer id) { + return baseMapper.selectById(id).getThing(); + } + + /** + * 鍒犻櫎鍘熸潗鏂欐楠屽崟妯℃澘 + * @param id + * @return + */ + @Override + public int delRawMaterOrderTemplate(Integer id) { + return baseMapper.deleteById(id); + } + +} + diff --git a/performance-server/pom.xml b/performance-server/pom.xml index 12db53e..d24eb14 100644 --- a/performance-server/pom.xml +++ b/performance-server/pom.xml @@ -12,14 +12,19 @@ <artifactId>performance-server</artifactId> <dependencies> + <!-- 閫氱敤宸ュ叿--> <dependency> <groupId>com.ruoyi</groupId> <artifactId>ruoyi-common</artifactId> </dependency> + + <!-- 鏍稿績妯″潡--> <dependency> <groupId>com.ruoyi</groupId> <artifactId>ruoyi-framework</artifactId> </dependency> + + <!-- 绯荤粺妯″潡--> <dependency> <groupId>com.ruoyi</groupId> <artifactId>ruoyi-system</artifactId> diff --git a/pom.xml b/pom.xml index d60e905..49bce83 100644 --- a/pom.xml +++ b/pom.xml @@ -24,7 +24,8 @@ <swagger.version>3.0.0</swagger.version> <kaptcha.version>2.3.3</kaptcha.version> <pagehelper.boot.version>1.4.7</pagehelper.boot.version> - <fastjson.version>2.0.53</fastjson.version> + <fastjson2.version>2.0.53</fastjson2.version> + <fastjson.version>2.0.23</fastjson.version> <oshi.version>6.6.5</oshi.version> <commons.io.version>2.13.0</commons.io.version> <poi.version>4.1.2</poi.version> @@ -44,6 +45,7 @@ <okhttp.version>4.9.0</okhttp.version> <hutool.version>5.8.18</hutool.version> <easyexcel.version>3.3.2</easyexcel.version> + <poi.tl.version>1.12.2</poi.tl.version> </properties> <!-- 渚濊禆澹版槑 --> @@ -182,7 +184,7 @@ <dependency> <groupId>com.alibaba.fastjson2</groupId> <artifactId>fastjson2</artifactId> - <version>${fastjson.version}</version> + <version>${fastjson2.version}</version> </dependency> <!-- Token鐢熸垚涓庤В鏋�--> @@ -206,6 +208,13 @@ <version>${ruoyi.version}</version> </dependency> + <!-- 閫氱敤宸ュ叿--> + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>ruoyi-common</artifactId> + <version>${ruoyi.version}</version> + </dependency> + <!-- 鏍稿績妯″潡--> <dependency> <groupId>com.ruoyi</groupId> @@ -220,13 +229,33 @@ <version>${ruoyi.version}</version> </dependency> - <!-- 閫氱敤宸ュ叿--> + <!--鍩虹妯″潡--> <dependency> <groupId>com.ruoyi</groupId> - <artifactId>ruoyi-common</artifactId> + <artifactId>basic-server</artifactId> <version>${ruoyi.version}</version> </dependency> + <!--涓氬姟妯″潡--> + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>inspect-server</artifactId> + <version>${ruoyi.version}</version> + </dependency> + + <!--缁╂晥妯″潡--> + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>performance-server</artifactId> + <version>${ruoyi.version}</version> + </dependency> + + <!--cnas鏍囧噯鐗╄川--> + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>cnas-require</artifactId> + <version>${ruoyi.version}</version> + </dependency> <!-- minio --> <dependency> @@ -246,6 +275,13 @@ <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp</artifactId> <version>${okhttp.version}</version> + </dependency> + + <!-- poi-tl鍖呯敓鎴愭姤鍛� --> + <dependency> + <groupId>com.deepoove</groupId> + <artifactId>poi-tl</artifactId> + <version>${poi.tl.version}</version> </dependency> </dependencies> </dependencyManagement> @@ -318,7 +354,7 @@ <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> - <version>2.0.23</version> + <version>${fastjson.version}</version> </dependency> </dependencies> diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml index ae1928f..5449aa6 100644 --- a/ruoyi-admin/pom.xml +++ b/ruoyi-admin/pom.xml @@ -43,6 +43,7 @@ <artifactId>mysql-connector-java</artifactId> </dependency> + <!-- 閫氱敤宸ュ叿--> <dependency> <groupId>com.ruoyi</groupId> <artifactId>ruoyi-common</artifactId> @@ -64,23 +65,21 @@ <dependency> <groupId>com.ruoyi</groupId> <artifactId>basic-server</artifactId> - <version>${ruoyi.version}</version> </dependency> <!--涓氬姟妯″潡--> <dependency> <groupId>com.ruoyi</groupId> <artifactId>inspect-server</artifactId> - <version>${ruoyi.version}</version> </dependency> <!--缁╂晥妯″潡--> <dependency> <groupId>com.ruoyi</groupId> <artifactId>performance-server</artifactId> - <version>${ruoyi.version}</version> </dependency> + <!--cnas鏍囧噯鐗╄川--> <dependency> <groupId>com.ruoyi</groupId> <artifactId>cnas-require</artifactId> diff --git a/ruoyi-common/pom.xml b/ruoyi-common/pom.xml index ef7ea58..0e5f458 100644 --- a/ruoyi-common/pom.xml +++ b/ruoyi-common/pom.xml @@ -141,6 +141,24 @@ <artifactId>commons-text</artifactId> <version>1.3</version> </dependency> + + <!--浼佷笟寰俊鎺ュ彛--> + <dependency> + <groupId>com.github.binarywang</groupId> + <artifactId>weixin-java-cp</artifactId> + <version>4.1.0</version> + <exclusions> + <exclusion> + <groupId>com.github.binarywang</groupId> + <artifactId>weixin-java-common</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>com.github.binarywang</groupId> + <artifactId>weixin-java-common</artifactId> + <version>4.1.0</version> + </dependency> <dependency> <groupId>com.fasterxml.jackson.datatype</groupId> <artifactId>jackson-datatype-jsr310</artifactId> diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/Md5Util.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/Md5Util.java new file mode 100644 index 0000000..a56ecf1 --- /dev/null +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/Md5Util.java @@ -0,0 +1,68 @@ +package com.ruoyi.common.utils; + +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; + +/** + * @author cxf + */ +public class Md5Util { + /** + * 榛樿鐨勫瘑鐮佸瓧绗︿覆缁勫悎锛岀敤鏉ュ皢瀛楄妭杞崲鎴� 16 杩涘埗琛ㄧず鐨勫瓧绗� + */ + protected static char hexDigits[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}; + protected static MessageDigest messagedigest = null; + + static { + try { + messagedigest = MessageDigest.getInstance("MD5"); + } catch (NoSuchAlgorithmException e) { + e.printStackTrace(); + } + } + + public static String getFileMd5String(File file) throws IOException { + InputStream fis; + fis = new FileInputStream(file); + byte[] buffer = new byte[1024]; + int numRead = 0; + while ((numRead = fis.read(buffer)) > 0) { + messagedigest.update(buffer, 0, numRead); + } + fis.close(); + return bufferToHex(messagedigest.digest()); + } + + public static String getStringMd5(String str) { + byte[] buffer = str.getBytes(); + messagedigest.update(buffer); + return bufferToHex(messagedigest.digest()); + } + + public static String bufferToHex(byte bytes[]) { + return bufferToHex(bytes, 0, bytes.length); + } + + private static String bufferToHex(byte bytes[], int m, int n) { + StringBuffer stringbuffer = new StringBuffer(2 * n); + int k = m + n; + for (int l = m; l < k; l++) { + appendHexPair(bytes[l], stringbuffer); + } + return stringbuffer.toString(); + } + + private static void appendHexPair(byte bt, StringBuffer stringbuffer) { + // 鍙栧瓧鑺備腑楂� 4 浣嶇殑鏁板瓧杞崲 + char c0 = hexDigits[(bt & 0xf0) >> 4]; + // 涓洪�昏緫鍙崇Щ锛屽皢绗﹀彿浣嶄竴璧峰彸绉�,姝ゅ鏈彂鐜颁袱绉嶇鍙锋湁浣曚笉鍚� + // 鍙栧瓧鑺備腑浣� 4 浣嶇殑鏁板瓧杞崲 + char c1 = hexDigits[bt & 0xf]; + stringbuffer.append(c0); + stringbuffer.append(c1); + } +} diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/WxCpUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/WxCpUtils.java new file mode 100644 index 0000000..32266bf --- /dev/null +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/WxCpUtils.java @@ -0,0 +1,153 @@ +package com.ruoyi.common.utils; + +import cn.hutool.http.HttpRequest; +import cn.hutool.json.JSONObject; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import me.chanjar.weixin.common.bean.result.WxMediaUploadResult; +import me.chanjar.weixin.cp.api.impl.WxCpServiceImpl; +import me.chanjar.weixin.cp.bean.message.WxCpMessage; +import me.chanjar.weixin.cp.bean.message.WxCpMessageSendResult; +import me.chanjar.weixin.cp.config.impl.WxCpDefaultConfigImpl; + +import java.io.*; +import java.net.MalformedURLException; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.util.Base64; +import java.util.List; + +/** + * @Author: chenxiangfeng + * @Date: 2021/7/20 10:35 + */ +public class WxCpUtils { + + public static final String CORP_ID = "wwa423654b975441ac"; + public static final String CORP_SECRET = "snXq8qwA5tGu0YN1PlSDQqr6u9x3A0c_jQDmt8CN8Vs"; + public static final Integer AGENT_ID = 1000515; + + /** + * @param user 渚嬶細ZT-033268|ZT-028629锛屽涓腑闂寸敤|闅斿紑 + * @param content 浼犳枃鏈唴瀹� + * @param imageFile 鍥剧墖 + * @throws Exception + */ + public static void inform(String user, String content, File imageFile) throws Exception { + WxCpDefaultConfigImpl config = new WxCpDefaultConfigImpl(); + // 娉ㄥ唽鐨勪紒涓氫俊鎭� + config.setCorpId(CORP_ID); + config.setCorpSecret(CORP_SECRET); + + WxCpServiceImpl wxCpService = new WxCpServiceImpl(); + wxCpService.setWxCpConfigStorage(config); + + WxCpMessage message; + WxCpMessageSendResult result; + // 鍙戦�佹枃鏈� + if (StringUtils.isNotBlank(content)) { + message = WxCpMessage.TEXT() + .content(content) + // 鐢ㄦ埛id + .toUser(user) + // 搴旂敤id + .agentId(AGENT_ID) + .build(); + result = wxCpService.getMessageService().send(message); + } + // 鍙戦�佹枃浠� + if (imageFile != null) { + // 鑾峰彇鏂囦欢id + WxMediaUploadResult imgResult = wxCpService.getMediaService().upload("file", imageFile); + message = WxCpMessage.IMAGE() + .mediaId(imgResult.getMediaId()) + // 鐢ㄦ埛id + .toUser(user) + // 搴旂敤id + .agentId(AGENT_ID) + .build(); + result = wxCpService.getMessageService().send(message); + } + } + + /** + * 鎺ㄩ�佺兢娑堟伅 + * + * @param webHookList 浼佷笟寰俊鏈哄櫒浜哄湴鍧� + * @param file 鍥剧墖 + * @throws Exception + */ + public static void informWebHook(List<String> webHookList, File file) throws Exception { + JSONObject json = new JSONObject(); + json.putOpt("msgtype", "image"); + JSONObject image = new JSONObject(); + image.putOpt("base64", getBase64(file)); + image.putOpt("md5", getMd5(file)); + json.putOpt("image", image); + + webHookList.stream().forEach(webHook -> { + String result = HttpRequest.post(webHook) + .header("Content-Type", "application/json") + .body(json.toString()) + .execute().body(); + }); + } + + /** + * 鎺ㄩ�佺兢娑堟伅 + * + * @param webHook 浼佷笟寰俊鏈哄櫒浜哄湴鍧� + * @param content 鏁版嵁 + * @throws Exception + */ + public static String informWebHook(String webHook, String content) { + JSONObject jsonObject = new JSONObject() + .accumulate("msgtype", "text") + .accumulate("text", new JSONObject() + .accumulate("content", content)); + return HttpRequest.post(webHook).header("Content-Type", "application/json").body(jsonObject.toString()).execute().body(); + } + + public static String getMd5(File file) { + String name = ""; + try { + InputStream inputStream = new BufferedInputStream(new FileInputStream(file)); + byte[] bytes = new byte[1024]; + int len = 0; + MessageDigest messagedigest = MessageDigest.getInstance("MD5"); + while ((len = inputStream.read(bytes)) > 0) { + messagedigest.update(bytes, 0, len); + } + name = Md5Util.bufferToHex(messagedigest.digest()); + inputStream.close(); + } catch (MalformedURLException e) { + } catch (IOException e) { + } catch (NoSuchAlgorithmException e) { + } + return name; + + } + + public static String getBase64(File file) { + FileInputStream inputStream = null; + String base64Str = ""; + try { + inputStream = new FileInputStream(file); + Base64.Encoder encoder = Base64.getEncoder(); + int available = inputStream.available(); + byte[] bytes = new byte[available]; + inputStream.read(bytes); + base64Str = encoder.encodeToString(bytes); + inputStream.close(); + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + inputStream.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + return base64Str; + } + +} -- Gitblit v1.9.3