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> 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; 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; } 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; 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> </project> 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> 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 åææid // * @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 åææid // * @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 åææid // * @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 åææid * @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 åææid * @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 åææid * @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)); } } 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; } 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; } inspect-server/src/main/java/com/ruoyi/basic/dto/IfsInventoryQuantityCheckDto.java
ÎļþÒÑɾ³ý inspect-server/src/main/java/com/ruoyi/basic/dto/IfsInventoryQuantityDto.java
ÎļþÒÑɾ³ý inspect-server/src/main/java/com/ruoyi/basic/dto/IfsInventoryQuantitySupplierDto.java
ÎļþÒÑɾ³ý 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; } 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; } 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; } 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; } 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; } 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; } 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("åææid") 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; } 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> { } 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("ä¸å人id") 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("å§æäººid") 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("å®¡æ ¸æ¤éç项ç®id") private String revocationInsProductIds; @ApiModelProperty("æ¯å¦ä¸ºåææ 1 æ¯ 0 å¦") private Integer typeSource; @ApiModelProperty("åææid") 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("å£åº¦æ½æ ·é¡¹ç®id") private Integer quarterItemId; @ApiModelProperty("æ ·ååç§°(æ¥åå±ç¤ºå段)") private String sampleView; @ApiModelProperty("æ ·ååç§°å¼æ(æ¥åå±ç¤ºå段)") private String sampleViewEn; @ApiModelProperty("æ¯å¦æ¯ç¬¬ä¸æ¬¡æäº¤0å¦1æ¯") private Integer isFirstSubmit; @ApiModelProperty("ç¬¬ä¸æ¬¡æäº¤æ¶é´") private LocalDateTime firstSubmitDate; } 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("å¤é®ï¼ins_sample表id") 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("å¤é®ï¼standard_template表id") 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; } 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("å¤é®ï¼æ£éªé¡¹ç®id") 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; } 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; // // /** // * å¤é®ï¼ins_order表id // */ // 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; /** * å¤é®ï¼ins_order表id */ 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; } 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; //å¤é®ï¼ins_product表id 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; //å¤é®ï¼ins_sample表id 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; //å¤é®ï¼standard_template表id 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; //å¤é®ï¼æ åæ¹æ³id 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; } 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; } 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 é对表ãins_order(æ£éªä¸å)ãçæ°æ®åºæä½Service * @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); } 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); } 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); } 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) { // // 夿å使¯kgæè t // 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:éè¦å¤æoaæµç¨æ¯å¦æ¯è®©æ¥æ¾è¡ // 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å¯ä»¥é²æ¢ä¸æä¹±ç å½ç¶åeasyexcel没æå ³ç³» // 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(); // // //åsheet0åå ¥æ°æ® ä¼ å ¥ç©ºlistè¿æ ·åªå¯¼åºè¡¨å¤´ // 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:éè¦å¤æoaæµç¨æ¯å¦æ¯è®©æ¥æ¾è¡ // 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) { // 夿å使¯kgæè t 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:éè¦å¤æoaæµç¨æ¯å¦æ¯è®©æ¥æ¾è¡ 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å¯ä»¥é²æ¢ä¸æä¹±ç å½ç¶åeasyexcel没æå ³ç³» 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(); //åsheet0åå ¥æ°æ® ä¼ å ¥ç©ºlistè¿æ ·åªå¯¼åºè¡¨å¤´ 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:éè¦å¤æoaæµç¨æ¯å¦æ¯è®©æ¥æ¾è¡ 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 "æªç¥"; } } } 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); } } 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> 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> 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> 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> 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); } } 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; } }