basic-server/src/main/java/com/ruoyi/basic/pojo/Laboratory.java
@@ -44,6 +44,7 @@ private Integer createUser; @ApiModelProperty(value = "å建人") @TableField(select = false,exist = false) private String createUserName; @ApiModelProperty(value = "ä¿®æ¹äººid") basic-server/src/main/resources/mapper/SealMapper.xml
@@ -4,8 +4,8 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ruoyi.basic.mapper.SealMapper"> <select id="selectSeal" resultType="com.ruoyi.basic.pojo.Seal"> select l.id,s.lab_id,l.laboratory_name ,s.address, s.type as Type,s.create_time from seal s LEFT JOIN laboratory l on s.lab_id=l.id select * from (select l.id,s.lab_id,l.laboratory_name ,s.address, s.type as Type,s.create_time from seal s LEFT JOIN laboratory l on s.lab_id=l.id) a <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> ${ew.customSqlSegment} </if> inspect-server/pom.xml
@@ -36,6 +36,12 @@ <artifactId>ruoyi-system</artifactId> </dependency> <!-- ç»©ææ¨å --> <dependency> <groupId>com.ruoyi</groupId> <artifactId>performance-server</artifactId> </dependency> <!-- poi-tlå çææ¥å --> <dependency> <groupId>com.deepoove</groupId> inspect-server/src/main/java/com/ruoyi/inspect/controller/InsOrderController.java
@@ -5,6 +5,11 @@ //import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; //import com.baomidou.mybatisplus.core.toolkit.Wrappers; //import com.baomidou.mybatisplus.extension.plugins.pagination.Page; //import com.ruoyi.basic.mapper.IfsInventoryQuantityMapper; //import com.ruoyi.common.core.domain.Result; //import com.ruoyi.inspect.dto.OmitOrderProductDto; //import com.ruoyi.inspect.dto.SampleOrderDto; //import com.ruoyi.inspect.service.InsOrderService; //import io.swagger.annotations.Api; //import io.swagger.annotations.ApiImplicitParam; //import io.swagger.annotations.ApiImplicitParams; inspect-server/src/main/java/com/ruoyi/inspect/controller/RawMaterialOrderController.java
@@ -1,319 +1,317 @@ package com.ruoyi.inspect.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.inspect.dto.SampleProductDto; import com.ruoyi.inspect.pojo.InsOrder; import com.ruoyi.inspect.pojo.RawMaterialOrderTemplate; import com.ruoyi.inspect.service.RawMaterialOrderService; import com.ruoyi.inspect.service.RawMaterialOrderTemplateService; import com.ruoyi.common.core.domain.Result; import com.ruoyi.common.utils.JackSonUtil; import com.ruoyi.common.utils.WxCpUtils; import com.ruoyi.inspect.dto.CopperInsOrderDto; 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)); } } //package com.ruoyi.inspect.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.inspect.dto.SampleProductDto; //import com.ruoyi.inspect.pojo.InsOrder; //import com.ruoyi.inspect.pojo.RawMaterialOrderTemplate; //import com.ruoyi.inspect.service.RawMaterialOrderService; //import com.ruoyi.inspect.service.RawMaterialOrderTemplateService; //import com.ruoyi.common.core.domain.Result; //import com.ruoyi.common.utils.JackSonUtil; //import com.ruoyi.common.utils.WxCpUtils; //import com.ruoyi.inspect.dto.CopperInsOrderDto; //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(Page page, IfsInventoryQuantity ifsInventoryQuantity) throws Exception { // 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/inspect/dto/InsOrderPlanDTO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,35 @@ package com.ruoyi.inspect.dto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; @Data public class InsOrderPlanDTO implements Serializable { @ApiModelProperty("æ£éªä»»å¡ä¸»é®id") private Long insSampleId; @ApiModelProperty("ç¨æ·id") private Long userId; @ApiModelProperty("ç¶æ(æ£éªå¤ç)") private Integer state; @ApiModelProperty("åå®éªå®¤") private String sonLaboratory; @ApiModelProperty("æ£éªç¶æ") private String insState; @ApiModelProperty("å§æç¼å·") private String entrustCode; @ApiModelProperty("æ£éªç±»å") private Integer typeSource; @ApiModelProperty("æ¯å¦å¤æ ¸") private Integer isCheck; } inspect-server/src/main/java/com/ruoyi/inspect/dto/InsProductBindingDto.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,21 @@ package com.ruoyi.inspect.dto; import com.ruoyi.inspect.pojo.InsProduct; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; /** * @Author zhuo * @Date 2024/11/29 */ @Data public class InsProductBindingDto { @ApiModelProperty("éè¦ç»å®çid") private Integer insProductId; @ApiModelProperty("éè¦ç»å®çæ£éªé¡¹") private List<InsProduct> insProductBindingList; } inspect-server/src/main/java/com/ruoyi/inspect/dto/OmitOrderProductDto.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,21 @@ package com.ruoyi.inspect.dto; import com.ruoyi.inspect.pojo.InsProduct; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; /** * @Author zhuo * @Date 2024/12/12 */ @Data public class OmitOrderProductDto { @ApiModelProperty("éè¦æ·»å çæ ·åId") private Integer insSampleId; @ApiModelProperty("éè¦ç»å®çæ£éªé¡¹") private List<InsProduct> insProductBindingList; } inspect-server/src/main/java/com/ruoyi/inspect/dto/ProductResultDto2.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,19 @@ package com.ruoyi.inspect.dto; import com.ruoyi.inspect.pojo.InsProduct; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data public class ProductResultDto2 extends InsProduct { @ApiModelProperty("æ£éªè®¾å¤") private String equipValue; @ApiModelProperty("æ£éªäºº") private String updateUserName; @ApiModelProperty("å§æç¼å·") private String entrustCode; } inspect-server/src/main/java/com/ruoyi/inspect/dto/ReportPageDto.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,42 @@ package com.ruoyi.inspect.dto; import com.ruoyi.inspect.pojo.InsReport; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; @Data public class ReportPageDto extends InsReport implements Serializable { @ApiModelProperty(value = "å§æç¼å·") private String entrustCode; @ApiModelProperty(value = "æäº¤äºº") private String writeUserName; @ApiModelProperty(value = "æ¹å人") private String ratifyUser; @ApiModelProperty(value = "å®¡æ ¸äºº") private String examineUser; @ApiModelProperty(value = "ä¸åç±»å«") private Integer typeSource; @ApiModelProperty(value = "æ£éªç±»å«") private String orderType; @ApiModelProperty(value = "åææid") private Integer ifsInventoryId; @ApiModelProperty(value = "æ¯å¦å¤æ ¸éè¿") private String queryStatus; @ApiModelProperty(value = "æ¯å¦æ¯éæ, 0å¦, 1æ¯") private Integer isCopper; @ApiModelProperty(value = "å®éªå®¤") private String sonLaboratory; } inspect-server/src/main/java/com/ruoyi/inspect/dto/SampleProductExportDto.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,128 @@ package com.ruoyi.inspect.dto; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.LinkedHashSet; import java.util.List; import java.util.TreeMap; /** * @Author zhuo * @Date 2024/11/30 */ @Data public class SampleProductExportDto { @ApiModelProperty("æ ·åid") private Integer id; @ApiModelProperty("产åid") private Integer insProductId; @ApiModelProperty("æ ·åç¼å·") private String sampleCode; @ApiModelProperty("æ ·ååç§°") private String sample; @ApiModelProperty("æ£éªé¡¹åç±»") private String inspectionItemClass; private String inspectionItemClassEN; @ApiModelProperty("æ£éªé¡¹") private String inspectionItem; private String inspectionItemEn; @ApiModelProperty("æ£éªå项") private String inspectionItemSubclass; 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 index; @ApiModelProperty("åç§°") private String inspectionName; //æ¡ä»¶ private String radius; // æ£éªç»æå表 private List<String> lastValueList; // æ£éªç»æå表 private List<Integer> insResultList; //æç»ç»æ private String finalResult; //åææid private Integer ifsInventoryId; //æ£éªåç±»å private String orderType; //æ£éªåç±»å private Integer quantity; //æ£éªåç±»å private Integer sort; //çµç¼æ è¯ private String cableTag; // å¯ä¸ç»æå¼ private LinkedHashSet<String> tellSet; // çµç¼æ è¯å 容éå private TreeMap<String, String> cableTagValueMap; // çµç¼æ è¯ç»æéå private TreeMap<String, Integer> cableTagResultMap; // æ£éªé¡¹åæ¡ä»¶åå¹¶å ³è public String getInspectionItemRadius() { if (StringUtils.isBlank(radius)) { return inspectionItem; } return inspectionItem + radius; } } inspect-server/src/main/java/com/ruoyi/inspect/dto/SampleProductRawAnalysisDto.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,41 @@ package com.ruoyi.inspect.dto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * @Author zhuo * @Date 2024/10/17 */ @Data public class SampleProductRawAnalysisDto { @ApiModelProperty("æ ·åid") private Integer insSampleId; @ApiModelProperty("æ£éªé¡¹id") private Integer insProductId; @ApiModelProperty("æ ·åç¼å·") private String sampleCode; @ApiModelProperty("æ£éªé¡¹åç§°") private String inspectionItem; @ApiModelProperty("æ£éªç»æ") private String lastValue; @ApiModelProperty("åæ ¼å¤æ, 1:åæ ¼, 0:ä¸åæ ¼, 3:ä¸å¤å®") private Integer insResult; @ApiModelProperty("æ¹æ¬¡å·") private String updateBatchNo; @ApiModelProperty("åå®¶åç§°") private String supplierName; @ApiModelProperty("æ ·ååç§°") private String sample; } inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsOrderMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,131 @@ package com.ruoyi.inspect.mapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.basic.pojo.StructureTestObject; import com.ruoyi.inspect.dto.CostStatisticsDto; import com.ruoyi.inspect.dto.SampleOrderDto; import com.ruoyi.inspect.dto.SampleProductDto2; import com.ruoyi.inspect.dto.SampleProductExportDto; import com.ruoyi.inspect.pojo.InsOrder; import com.ruoyi.inspect.vo.InsOrderPrintingVo; import com.ruoyi.inspect.vo.SampleDefectsFatherVo; import org.apache.ibatis.annotations.Param; import java.util.List; import java.util.Map; import java.util.Set; /** * @author gaoaoy * @description é对表ãins_order(æ£éªä¸å)ãçæ°æ®åºæä½Mapper * @createDate 2024-03-12 16:17:55 * @Entity com.yuanchu.mom.pojo.InsOrder */ public interface InsOrderMapper extends BaseMapper<InsOrder> { //è·åæ£éªä¸åæ°æ® IPage<SampleOrderDto> selectInsOrderPage(IPage<InsOrder> page, QueryWrapper<SampleOrderDto> ew, String laboratory, String isOrderAll); String getLaboratoryCode(String name); IPage<SampleProductDto2> selectSampleAndProductByOrderId(IPage<SampleProductDto2> page, QueryWrapper<SampleProductDto2> ew, Integer id); IPage<CostStatisticsDto> selectCostStatistics(IPage<CostStatisticsDto> page, QueryWrapper<CostStatisticsDto> ew); List<CostStatisticsDto> selectCostStatistics2(@Param("ew") QueryWrapper<CostStatisticsDto> ew); List<Map<String, String>> selectDeviceList(Set<String> names); List<SampleDefectsFatherVo> selectSampleDefects(Page page, @Param("inspectionItems") String inspectionItems, @Param("orderNumber") String orderNumber); Long getCount(@Param("inspectionItems") String inspectionItems, @Param("orderNumber") String orderNumber); String getEnumLabelByValue(String value); String getStandardMethodCode(Integer id); int updateStatus( Integer id); String selLaboratoryCode(String laboratory); List<Map<Integer, Object>> selectReportModelByOrderId(@Param("id") Integer id, @Param("laboratory") String laboratory); String seldepLimsId(int depLimsId); /** * æ¥è¯¢æ£éªç»æ * @param ids * @return */ List<SampleProductExportDto> selectSampleBySampleId(@Param("ids") List<Integer> ids); /** * è·åæ¹éæ£éªçæ»æ° * @param id * @return */ int selectSampleMax(Integer id); /** * è·å线è¯é¢è² * @param id * @return */ List<String> selectSampleCableTag(Integer id); /** * * @param orderId * @return */ int selectSampleItemS(Integer orderId); /** * åªæ¥è¯¢é»è®¤ç¬¬ä¸ä¸ªç产å * @param id * @return */ List<SampleProductExportDto> selectSampleBySampleIdOne(Integer id); /** * æ¥è¯¢æ¥åå¾ * @param * @return */ List<Map<String, Object>> selectCalendarWorkByWeek(int day); /** * * @param partNo * @return */ StructureTestObject selectProductByPartNo(String partNo); /** * * @param partNo * @return */ StructureTestObject selectByPartNo(String partNo); /** * æåæ ç¾æå° * @param ids * @return */ List<InsOrderPrintingVo> labelOrderPrinting(List<Integer> ids); List<SampleOrderDto> rawAllInsOrderExport(QueryWrapper<SampleOrderDto> ew, String laboratory, String isOrderAll); /** * æ ¹æ®è®¢åæ¥è¯¢è¯éªå®¤ * @param insOrderId * @return */ String selectLaboratoryByOrderId(Integer insOrderId); InsOrder selectFirstSubmit(Integer insSampleId); } inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsOrderStateMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,19 @@ package com.ruoyi.inspect.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.inspect.pojo.InsOrderState; /** * @author admin * @description é对表ãins_order_stateãçæ°æ®åºæä½Mapper * @createDate 2024-04-01 11:44:50 * @Entity com.yuanchu.mom.pojo.InsOrderState */ public interface InsOrderStateMapper extends BaseMapper<InsOrderState> { } inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsProductMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,67 @@ package com.ruoyi.inspect.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.inspect.dto.ProductResultDto2; import com.ruoyi.inspect.dto.SampleProductRawAnalysisDto; import com.ruoyi.inspect.pojo.InsProduct; import org.apache.ibatis.annotations.Param; import java.util.List; import java.util.Map; /** * @author Administrator * @description é对表ãins_product(æ£éªé¡¹ç®)ãçæ°æ®åºæä½Mapper * @createDate 2024-03-08 09:45:03 * @Entity com.yuanchu.mom.pojo.InsProduct */ public interface InsProductMapper extends BaseMapper<InsProduct> { int selectOrderManDay(Integer orderId); Map<String, String> selectUserById(Integer userId); List<ProductResultDto2> getProductAndResult(Integer sampleId); int updateInspected(@Param("id") Integer id); List<InsProduct> selectFiberInsProduct(List<Integer> ids, String laboratory); IPage<InsProduct> selectNoProducts(Page page, Integer orderId, List<Integer> noIds); int selectInsProductCountByOrderId(Integer orderId); /** * æ ¹æ®æ ·åidæ¥è¯¢æ£éªé¡¹ç® * @param sampleIds * @return */ List<SampleProductRawAnalysisDto> selectListBySampleIds(@Param("sampleIds") List<Integer> sampleIds); /** * æ¥è¯¢ææçæ£éªé¡¹ * @param sampleIds * @return */ List<String> selectItemNameBySampleIds(@Param("sampleIds") List<Integer> sampleIds); /** * æ ¹æ®è®¢åidæ¥è¯¢ä¸åæ ¼é¡¹ * @param orderId * @return */ List<String> selectUnqualifiedList(Integer orderId); /** * æ¥è¯¢å¤ææ¯å¦æä¸å¤å®é¡¹ç®,åå ¨é½æ¯å¤å®é¡¹ * @param orderId * @return */ int selectNoJudge(Integer orderId); } inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsProductUserMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,18 @@ package com.ruoyi.inspect.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.inspect.pojo.InsProductUser; /** * @author z1292 * @description é对表ãins_product_user(æ£éªé¡¹ç®çäººåæ£éªè®°å½)ãçæ°æ®åºæä½Mapper * @createDate 2024-04-17 13:42:44 * @Entity com.yuanchu.mom.pojo.InsProductUser */ public interface InsProductUserMapper extends BaseMapper<InsProductUser> { } inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsReportMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,38 @@ package com.ruoyi.inspect.mapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.ruoyi.inspect.dto.ReportPageDto; import com.ruoyi.inspect.pojo.InsReport; import org.apache.ibatis.annotations.Param; /** * @author Administrator * @description é对表ãins_report(æ£éªæ¥å)ãçæ°æ®åºæä½Mapper * @createDate 2024-03-17 22:10:02 * @Entity com.yuanchu.mom.pojo.InsReport */ public interface InsReportMapper extends BaseMapper<InsReport> { /** * æ¥è¯¢æ£éªä»»å¡ * @param userId å½åç»å½äººid * @param queryStatus ç¶æ * @param createOrderUser æ¯å¦æ¯åªææ¥çèªå·±çæé * @return */ IPage<ReportPageDto> pageInsReport(IPage<ReportPageDto> page, @Param("ew") QueryWrapper<ReportPageDto> ew, @Param("laboratory") String laboratory, @Param("userId") Integer userId, @Param("queryStatus") String queryStatus, @Param("createOrderUser") Integer createOrderUser); String getLaboratoryByName(String name, String type); } inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsSampleMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,130 @@ package com.ruoyi.inspect.mapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.inspect.dto.InsOrderPlanDTO; import com.ruoyi.inspect.dto.SampleProductDto; import com.ruoyi.inspect.pojo.InsProduct; import com.ruoyi.inspect.pojo.InsSample; import com.ruoyi.inspect.vo.InsOrderPlanTaskSwitchVo; import com.ruoyi.inspect.vo.InsOrderPlanVO; import com.ruoyi.inspect.vo.SampleVo; import org.apache.ibatis.annotations.Param; import java.util.List; import java.util.Map; /** * @author Administrator * @description é对表ãins_sample(æ£éªæ ·å)ãçæ°æ®åºæä½Mapper * @createDate 2024-03-14 17:14:57 * @Entity com.yuanchu.mom.pojo.InsSample */ public interface InsSampleMapper extends BaseMapper<InsSample> { IPage<InsOrderPlanVO> findInsSampleAndOrder(Page page, @Param("ew") QueryWrapper<InsOrderPlanDTO> ew, @Param("userName") String userName , @Param("userId") Integer userId, @Param("sonLaboratory") String sonLaboratory, @Param("laboratory") String laboratory, @Param("isCheck") Integer isCheck); IPage<InsOrderPlanTaskSwitchVo> inspectionOrderDetailsTaskSwitching(Page page, @Param("ew") QueryWrapper<InsOrderPlanDTO> ew, @Param("userId") Integer userId, @Param("sonLaboratory") String sonLaboratory, @Param("laboratory") String laboratory); List<SampleProductDto> selectSampleProductListByOrderId(Integer id); List<SampleProductDto> selectSampleProductListByOrderId2(Integer id); Map<String,Object> selectInsOrder(Integer id); List<SampleProductDto> getInsOrderAndSample(Integer id, String laboratory); String getSampleEn(String sample); /** * å¯è½æ²¡æäº§åç´æ¥å°±æ¯å¯¹è±¡ * @param sample * @return */ String getSampleEnByObject(String sample); /** * æ ·å * @param id * @param laboratory * @return */ List<InsProduct> getInsProduct1(Integer id, String laboratory, String cableTag, String repetitionTag, String isDisqualification); /** * åææ * @param id * @param laboratory * @param rawMaterialTag * @return */ List<InsProduct> getInsProduct6(Integer id, String laboratory, String rawMaterialTag, String isDisqualification); SampleVo getDetailById(Integer sampleId); String selMethodById(Integer sampleId); /** * çµç¼é ç½®æ¥çé ç½®æ è¯ * @param id * @param laboratory * @return */ List<Map<String, Object>> getCableTag(@Param("id") Integer id, @Param("laboratory") String laboratory); /** * åæææ¥çé ç½®æ è¯ * @param id * @param laboratory * @return */ List<Map<String, Object>> getRawMaterialTag(@Param("id") Integer id, @Param("laboratory") String laboratory); /** * æ¥çé夿 è¯ * @param id * @param laboratory * @return */ List<Map<String, Object>> getRepetitionTag(@Param("id") Integer id, @Param("laboratory") String laboratory, @Param("cableTag") String cableTag); List<SampleProductDto> selectExemptionByOrderId(Integer id); /** * æ¥è¯¢åå®¶å¯åº¦(æåå·) * @param sample * @param production * @return */ String selectSupplierDensityModel(@Param("sample") String sample, @Param("production") String production, @Param("model") String model); /** * æ¥è¯¢åå®¶å¯åº¦(没åå·) * @param sample * @param production * @return */ String selectSupplierDensity(@Param("sample") String sample, @Param("production") String production); /** * æ¥è¯¢æ£éªé¡¹æ£éªç»æ * @param itemIds * @return */ List<InsProduct> selectProductResult(List<Integer> itemIds); } inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsSampleUserMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,18 @@ package com.ruoyi.inspect.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.inspect.pojo.InsSampleUser; /** * @author Administrator * @description é对表ãins_sample_user(æ ·åè´è´£äººè®°å½)ãçæ°æ®åºæä½Mapper * @createDate 2024-03-14 17:12:02 * @Entity com.yuanchu.mom.pojo.InsSampleUser */ public interface InsSampleUserMapper extends BaseMapper<InsSampleUser> { } inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsUnqualifiedRetestProductMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,34 @@ package com.ruoyi.inspect.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.inspect.pojo.InsProduct; import com.ruoyi.inspect.pojo.InsUnqualifiedRetestProduct; import org.apache.ibatis.annotations.Mapper; import java.util.List; /** * ä¸åæ ¼æ£éªé¡¹ç®å¤æµ * @author é· * @since 2024-09-03 */ @Mapper public interface InsUnqualifiedRetestProductMapper extends BaseMapper<InsUnqualifiedRetestProduct> { /** * æ¥è¯¢ä¸åæ ¼å 容 * @param ids * @return */ List<InsUnqualifiedRetestProduct> selectRetestProduct(List<Integer> ids); // æ ·å List<InsProduct> getInsProductUnqualifiedRetest1(Integer id, String laboratory, String retestTag); // çµç¼é ç½® List<InsProduct> getInsProductUnqualifiedRetest5(Integer id, String laboratory, String cableTag, String retestTag); // åææä¸å List<InsProduct> getInsProductUnqualifiedRetest6(Integer id, String laboratory, String rawMaterialTag, String retestTag); } inspect-server/src/main/java/com/ruoyi/inspect/mapper/SpotCheckQuarterItemMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,17 @@ package com.ruoyi.inspect.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.inspect.pojo.SpotCheckQuarterItem; import org.apache.ibatis.annotations.Mapper; /** * å£åº¦æ½æ ·è®¡å详æ 表 * * @author zhuo * @since 2024-10-09 */ @Mapper public interface SpotCheckQuarterItemMapper extends BaseMapper<SpotCheckQuarterItem> { } inspect-server/src/main/java/com/ruoyi/inspect/pojo/InsOrderDeviceRecord.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,64 @@ package com.ruoyi.inspect.pojo; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.time.LocalDateTime; /** * cnas设å¤ä½¿ç¨è®°å½è¡¨(DeviceRecord)$desc * * @author makejava * @since 2024-12-21 11:11:01 */ @Data @TableName("device_record") public class InsOrderDeviceRecord { @TableId(value = "id", type = IdType.AUTO) private Integer id; @ApiModelProperty("设å¤id") private Integer deviceId; @ApiModelProperty("订åid") private Integer insOrderId; @ApiModelProperty("æ ·åç¼å·") private String sampleCode; @ApiModelProperty("温度") private String temperature; @ApiModelProperty("湿度") private String humidity; @ApiModelProperty("使ç¨å0ä»£è¡¨ä¸æ£å¸¸1代表æ£å¸¸") private Integer useBefore; @ApiModelProperty("使ç¨å0ä»£è¡¨ä¸æ£å¸¸1代表æ£å¸¸") private Integer useAfter; @ApiModelProperty("å¼å¸¸æ åµ") private String abnormal; @ApiModelProperty("使ç¨äººid") private Integer usePersonId; @ApiModelProperty("使ç¨äºº") private String usePerson; @ApiModelProperty("夿³¨") private String remark; @ApiModelProperty("使ç¨å¼å§æ¥æ") private LocalDateTime useStartDate; @ApiModelProperty("使ç¨ç»ææ¥æ") private LocalDateTime useEndDate; } inspect-server/src/main/java/com/ruoyi/inspect/pojo/InsOrderFactoryVerify.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,100 @@ package com.ruoyi.inspect.pojo; import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.time.LocalDateTime; import java.util.List; /** * åææåå®¶è¿è´§éªè¯ * * @author zhuo * @since 2024-09-26 */ @Data @TableName("ins_order_factory_verify") public class InsOrderFactoryVerify { @ApiModelProperty(value = "主é®") @TableId(type = IdType.AUTO) private Integer factoryVerifyId; @ApiModelProperty(value = "å¤é®: ins_order表 id") private Integer insOrderId; @ApiModelProperty(value = "å§æç¼å·") private String entrustCode; @ApiModelProperty("ææåå®¶") private String supplierName; @ApiModelProperty("å°è´§æ¥æ") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") private LocalDateTime declareDate; @ApiModelProperty("æ ·ååç§°") private String sample; @ApiModelProperty("è§æ ¼åå·") private String model; @ApiModelProperty("æææ¹å·") private String updateBatchNo; @ApiModelProperty(value = "éªè¯æä»¶ç¼å·") private String verifyFileCode; @ApiModelProperty(value = "1ææåç§°") private String basicName; @ApiModelProperty(value = "2è§æ ¼åå·") private String basicModel; @ApiModelProperty(value = "3æææ¹å·") private String basicBatchNo; @ApiModelProperty(value = "4æ§è¡æ å") private String basicStandard; @ApiModelProperty(value = "5çäº§æ¥æ") private String basicDate; @ApiModelProperty(value = "6ä¾è´§æ°é") private String basicNumber; @ApiModelProperty(value = "7ææé¢è²") private String basicColor; @ApiModelProperty(value = "8å ¶ä»(åç§°)") private String basicOtherValue; @ApiModelProperty(value = "8å ¶ä»") private String basicOther; @ApiModelProperty(value = "å建人id") @TableField(fill = FieldFill.INSERT) private Integer createUser; @ApiModelProperty(value = "ä¿®æ¹äººid") @TableField(fill = FieldFill.INSERT_UPDATE) private Integer updateUser; @ApiModelProperty(value = "å建æ¶é´") @TableField(fill = FieldFill.INSERT) @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime createTime; @ApiModelProperty(value = "æ´æ°æ¶é´") @TableField(fill = FieldFill.INSERT_UPDATE) @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime updateTime; @TableField(exist = false,select = false) @ApiModelProperty(value = "éªè¯é¡¹ç®éå") private List<InsOrderFactoryVerifyItem> factoryVerifyItemList; } inspect-server/src/main/java/com/ruoyi/inspect/pojo/InsOrderFactoryVerifyItem.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,57 @@ package com.ruoyi.inspect.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-09-26 */ @Data @TableName("ins_order_factory_verify_item") public class InsOrderFactoryVerifyItem { @ApiModelProperty(value = "主é®") @TableId(type = IdType.AUTO) private Integer factoryVerifyItemId; @ApiModelProperty(value = "å¤é®: è¿åéªè¯è¡¨ id") private Integer factoryVerifyId; @ApiModelProperty(value = "éªè¯é¡¹ç®") private String inspectionItem; @ApiModelProperty(value = "éªè¯ç»æ") private String result; @ApiModelProperty(value = "æåº") @TableField(fill = FieldFill.INSERT) private Integer sort; @ApiModelProperty(value = "å建人id") @TableField(fill = FieldFill.INSERT) private Integer createUser; @ApiModelProperty(value = "ä¿®æ¹äººid") @TableField(fill = FieldFill.INSERT_UPDATE) private Integer updateUser; @ApiModelProperty(value = "å建æ¶é´") @TableField(fill = FieldFill.INSERT) @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime createTime; @ApiModelProperty(value = "æ´æ°æ¶é´") @TableField(fill = FieldFill.INSERT_UPDATE) @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime updateTime; } inspect-server/src/main/java/com/ruoyi/inspect/pojo/InsOrderFile.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,57 @@ package com.ruoyi.inspect.pojo; import com.baomidou.mybatisplus.annotation.*; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; import java.io.Serializable; import java.time.LocalDateTime; /** * <p> * æ£éªåä¸çéä»¶å表 * </p> * * @author æ±èéµ·éç½ç»ç§ææéå ¬å¸ * @since 2024-06-06 10:08:21 */ @Getter @Setter @TableName("ins_order_file") @ApiModel(value = "InsOrderFile对象", description = "æ£éªåä¸çéä»¶å表") public class InsOrderFile implements Serializable { @TableId(value = "id", type = IdType.AUTO) private Integer id; @ApiModelProperty("å ³è æ£éªåå¤é®id") private Integer insOrderId; @ApiModelProperty("ç±»å") private Integer type; @ApiModelProperty("éä»¶è·¯å¾") private String fileUrl; @ApiModelProperty("éä»¶åç§°") private String fileName; @TableField(fill = FieldFill.INSERT) private Integer createUser; @ApiModelProperty("ä¸ä¼ 人") @TableField(exist = false, select = false) private String name; @TableField(fill = FieldFill.INSERT) @ApiModelProperty("ä¸ä¼ æ¶é´") private LocalDateTime createTime; @TableField(fill = FieldFill.INSERT_UPDATE) private Integer updateUser; @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; } inspect-server/src/main/java/com/ruoyi/inspect/pojo/InsOrderStandardTemplate.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,57 @@ package com.ruoyi.inspect.pojo; import com.baomidou.mybatisplus.annotation.*; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; /** * è®¢åæ åæ¨¡æ¿å¤å¶ * * @author zhuo * @since 2024-11-05 */ @Data @TableName(value = "ins_order_standard_template") public class InsOrderStandardTemplate { @TableId(type = IdType.AUTO) private Integer id; @ApiModelProperty("模æ¿id") private Integer templateId; @ApiModelProperty("订åid") private Integer insOrderId; @ApiModelProperty("模æ¿åç§°") private String name; @ApiModelProperty("夿³¨") private String remark; @ApiModelProperty("模æ¿ç»æ") private String thing; @TableField(fill = FieldFill.INSERT) @ApiModelProperty("å建人") private Integer createUser; @TableField(fill = FieldFill.INSERT_UPDATE) @ApiModelProperty("ä¿®æ¹äºº") private Integer updateUser; @TableField(fill = FieldFill.INSERT) @ApiModelProperty("å建æ¶é´") private Date createTime; @TableField(fill = FieldFill.INSERT_UPDATE) @ApiModelProperty("ä¿®æ¹æ¶é´") private Date updateTime; @ApiModelProperty("模æ¿ç¼å·") private String number; } inspect-server/src/main/java/com/ruoyi/inspect/pojo/InsOrderState.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,67 @@ package com.ruoyi.inspect.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_order_state */ @TableName(value ="ins_order_state") @Data public class InsOrderState implements Serializable { /** * */ @TableId(value = "id", type = IdType.AUTO) private Integer id; /** * å¤é®ï¼ins_order表id */ @TableField(value = "ins_order_id") private Integer insOrderId; /** * å®éªå®¤ */ @TableField(value = "laboratory") private String laboratory; /** * æ£éªç¶æ(0ï¼å¾ æ£éª1:æ£éªä¸ 2:å·²æ£éª3ï¼å¾ 夿 ¸4ï¼å¤æ ¸æªéè¿ 5ï¼å¤æ ¸éè¿) */ @TableField(value = "ins_state") private Integer insState; @ApiModelProperty("æ£éªæ¶é´") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime insTime; @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("夿 ¸äºº") private Integer verifyUser; @ApiModelProperty("夿 ¸çç±") private String verifyTell; } inspect-server/src/main/java/com/ruoyi/inspect/pojo/InsOrderTemplate.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,43 @@ package com.ruoyi.inspect.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_order_template */ @TableName(value ="ins_order_template") @Data public class InsOrderTemplate implements Serializable { /** * */ @TableId(type = IdType.AUTO) private Integer id; /** * 模æ¿åç§° */ @ApiModelProperty("模æ¿åç§°") private String name; /** * 模æ¿å 容 */ @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/inspect/pojo/InsProductUser.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,40 @@ package com.ruoyi.inspect.pojo; import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import java.io.Serializable; import java.time.LocalDateTime; /** * æ£éªé¡¹ç®çäººåæ£éªè®°å½ * @TableName ins_product_user */ @TableName(value ="ins_product_user") @Data @AllArgsConstructor @NoArgsConstructor public class InsProductUser implements Serializable { /** * */ @TableId(type = IdType.AUTO) private Integer id; @TableField(fill = FieldFill.INSERT) private Integer createUser; @ApiModelProperty("å建æ¶é´") @TableField(fill = FieldFill.INSERT) @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime createTime; /** * å¤é®ï¼ins_product表id */ private Integer insProductId; } inspect-server/src/main/java/com/ruoyi/inspect/pojo/InsReport.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,125 @@ package com.ruoyi.inspect.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_report */ @TableName(value ="ins_report") @Data public class InsReport implements Serializable { /** * */ @TableId(type = IdType.AUTO) private Integer id; @ApiModelProperty("æ¥åç¼å·") private String code; /** * å¤é®ï¼æ£éªåid */ @ApiModelProperty("å建æ¶é´") private Integer insOrderId; /** * ç³»ç»çææ¥åå°å */ @ApiModelProperty("å建æ¶é´") private String url; /** * æå¨ä¸ä¼ æ¥åå°å */ @ApiModelProperty("å建æ¶é´") private String urlS; /** * ä¸´æ¶æ¥åå°å */ @ApiModelProperty("å建æ¶é´") private String tempUrlPdf; /** * 1ï¼æ¹å 0ï¼ä¸æ¹å */ @ApiModelProperty("æ¹åç¶æ") private Integer isRatify; @ApiModelProperty("æ¹å夿³¨") private String ratifyTell; /** * 1ï¼å®¡æ ¸éè¿ 0ï¼å®¡æ ¸ä¸éè¿ */ @ApiModelProperty("å®¡æ ¸ç¶æ") private Integer isExamine; @ApiModelProperty("å®¡æ ¸å¤æ³¨") private String examineTell; /** * å¤é®ï¼ç¨æ·idï¼æäº¤äººï¼ */ @ApiModelProperty("å建æ¶é´") private Integer writeUserId; /** * å¤é®ï¼ç¨æ·idï¼æ¹åäººï¼ */ @ApiModelProperty("å建æ¶é´") private Integer ratifyUserId; /** * å¤é®ï¼ç¨æ·idï¼å®¡æ ¸äººï¼ */ @ApiModelProperty("å建æ¶é´") private Integer examineUserId; @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; /** * 1ï¼å·²æäº¤ 0ï¼å¾ æäº¤ */ @ApiModelProperty("æäº¤ç¶æ") private Integer state; @ApiModelProperty("æäº¤æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime writeTime; @ApiModelProperty("å®¡æ ¸æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime examineTime; @ApiModelProperty("æ¹åæ¶é´") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime ratifyTime; @ApiModelProperty(value = "æ¯å¦æ¯éè¿çæ¥å, 0:æªéè¿, 1:éè¿") private Integer isPass; } inspect-server/src/main/java/com/ruoyi/inspect/pojo/InsSampleUser.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,72 @@ package com.ruoyi.inspect.pojo; import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.NoArgsConstructor; import java.io.Serializable; import java.time.LocalDateTime; /** * æ ·åè´è´£äººè®°å½ * @TableName ins_sample_user */ @TableName(value ="ins_sample_user") @Data @NoArgsConstructor public class InsSampleUser implements Serializable { /** * */ @TableId(type = IdType.AUTO) private Integer id; /** * å¤é®ï¼æ£éªæ ·åins_sample表id */ private Integer insSampleId; /** * å¤é®ï¼ç¨æ·id è´è´£äºº */ private Integer userId; /** * 1ï¼ç¡®è®¤ 0ï¼æªç¡®è®¤ */ //1æ¯å¤æ ¸äºº 0æ¯æ£éªäºº private Integer state; @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; /** * åè¯éªå®¤ * @param insSampleId * @param userId * @param state */ private String sonLaboratory; public InsSampleUser(Integer insSampleId, Integer userId, Integer state,String sonLaboratory) { this.insSampleId = insSampleId; this.userId = userId; this.state = state; this.sonLaboratory = sonLaboratory; } } inspect-server/src/main/java/com/ruoyi/inspect/pojo/InsUnPass.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,83 @@ package com.ruoyi.inspect.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; /** * @author æ±ä½³å * @date 2024/5/8 14:11 */ @Data @TableName("ins_un_pass") public class InsUnPass implements Serializable { /** * ä¸åæ ¼id */ @ApiModelProperty(value = "主é®") @TableId(type = IdType.AUTO) private Integer id; /** * è§æ ¼åå· */ @ApiModelProperty("è§æ ¼åå·") private String model; /** * æ ·ååç§° */ @ApiModelProperty("æ ·ååç§°") private String sample; /** * æ£æµé¡¹ */ @ApiModelProperty("æ£æµé¡¹") private String inspectionItem; /** * æ£æµå项 */ @ApiModelProperty("æ£æµå项") private String inspectionItemSubclass; /** * æ£æµç»æ */ @ApiModelProperty("æ£æµç»æ") @TableField("`last_value`") private String lastValue; /** * å¤çæè§ */ @ApiModelProperty("å¤çæè§") private String handleSuggestion; /** * å§æç¼å· */ @ApiModelProperty("å§æç¼å·") private String entrustCode; /** * ç¨æ·å */ @ApiModelProperty("æ£éªäºº") private String name; @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/inspect/pojo/InsUnqualifiedHandler.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,131 @@ package com.ruoyi.inspect.pojo; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; import java.time.LocalDate; /** * ä¸åæ ¼å¤ç表 * @TableName ins_unqualified_handler */ @TableName(value ="ins_unqualified_handler") @Data public class InsUnqualifiedHandler implements Serializable { /** * 主é®id */ @ApiModelProperty(value = "主é®id") @TableId(type = IdType.AUTO) private Long id; /** * ç¼å· */ @ApiModelProperty(value = "ç¼å·") private String no; /** * æ é¢ */ @ApiModelProperty(value = "æ é¢") private String headline; /** * ç©æåç§° */ @ApiModelProperty(value = "ç©æåç§°") private String materialName; /** * çäº§æ¹æ¬¡ */ @ApiModelProperty(value = "çäº§æ¹æ¬¡") private String productionBatch; /** * å°è´§æ°é */ @ApiModelProperty(value = "å°è´§æ°é") private String cargoQuantity; /** * è§æ ¼åå· */ @ApiModelProperty(value = "è§æ ¼åå·") private String specsModels; /** * æ¥æ£æ¥æ */ @ApiModelProperty(value = "æ¥æ£æ¥æ") @JsonFormat(pattern = "yyyy-MM-dd") private LocalDate inspectTime; /** * åé¦äºº */ @ApiModelProperty(value = "åé¦äºº") private String feedbackUser; /** * å馿¥æ */ @ApiModelProperty(value = "å馿¥æ") @JsonFormat(pattern = "yyyy-MM-dd") private LocalDate feedbackTime; /** * åç±» */ @ApiModelProperty(value = "") private String classification; /** * ä¸åæ ¼å½å± */ @ApiModelProperty(value = "ä¸åæ ¼å½å±") private String offGradeAscription; /** * ä¸åæ ¼æè¿° */ @ApiModelProperty(value = "ä¸åæ ¼æè¿°") private String unqualifiedDesc; /** * åæææ£éªid */ @ApiModelProperty(value = "åæææ£éªid") private Integer inventoryQuantityId; /** * åæææ£éªid */ @ApiModelProperty(value = "订åid") private Integer insOrderId; /** * oa工使µid */ @ApiModelProperty(value = "oa工使µid") private Integer requestId; /** * oaå®¡æ ¸ç¶æ(1:å¾ å®¡æ ¸ 2:å®¡æ ¸ä¸ 3:éè¿ 4:驳å) */ @ApiModelProperty(value = "oaå®¡æ ¸ç¶æ") private Integer oaState; /** * oaéä»¶urlå°å */ @ApiModelProperty("oaéä»¶urlå°å") private String fileUrl; } inspect-server/src/main/java/com/ruoyi/inspect/pojo/InsUnqualifiedHandlerFile.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,79 @@ package com.ruoyi.inspect.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_unqualified_handler_file */ @TableName(value ="ins_unqualified_handler_file") @Data public class InsUnqualifiedHandlerFile implements Serializable { /** * 主é®id */ @ApiModelProperty(value = "主é®id") @TableId(type = IdType.AUTO) private Long id; /** * ä¸åæ ¼å¤çid */ @ApiModelProperty(value = "ä¸åæ ¼å¤çid") private Long unqualifiedId; /** * æä»¶ç±»å(1:å¾ç 2:æä»¶) */ @ApiModelProperty(value = "æä»¶ç±»å(1:å¾ç 2:æä»¶)") private Integer type; /** * æä»¶ä¸ä¼ è·¯å¾ */ @ApiModelProperty(value = "æä»¶ä¸ä¼ è·¯å¾") private String fileUrl; /** * æä»¶åç§° */ @ApiModelProperty(value = "æä»¶åç§°") private String fileName; /** * å建人 */ @ApiModelProperty(value = "å建人") @TableField(fill= FieldFill.INSERT) private Integer createUser; /** * å建æ¶é´ */ @ApiModelProperty(value = "å建æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @TableField(fill= FieldFill.INSERT) private LocalDateTime createTime; /** * æ´æ°äºº */ @ApiModelProperty(value = "æ´æ°äºº") @TableField(fill= FieldFill.INSERT_UPDATE) private Integer updateUser; /** * æ´æ°æ¶é´ */ @ApiModelProperty(value = "æ´æ°æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @TableField(fill= FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; } inspect-server/src/main/java/com/ruoyi/inspect/pojo/InsUnqualifiedRetestResult.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,51 @@ package com.ruoyi.inspect.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; /** * ä¸åæ ¼å¤æµæ£éªé¡¹ç®çç»æ * * @author zhuo * @since 2024-09-03 */ @TableName(value = "ins_unqualified_retest_result") @Data public class InsUnqualifiedRetestResult implements Serializable { @TableId(type = IdType.AUTO) private Integer id; //å¤é®ï¼ä¸åæ ¼æ£éªé¡¹ç®id private Integer retestProductId; //æ£éªå¼ private String insValue; //计ç®å¼ private String comValue; //设å¤ç¼ç private String equipValue; //设å¤åç§° 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/inspect/pojo/SpotCheckQuarter.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,67 @@ package com.ruoyi.inspect.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; /** * å£åº¦æ½æ ·è®¡å * * @author zhuo * @since 2024-10-09 */ @TableName(value = "spot_check_quarter") @Data public class SpotCheckQuarter implements Serializable { @TableId(type = IdType.AUTO) private Integer quarterId; @ApiModelProperty("ç¼å·") private String quarterNo; @ApiModelProperty("æ¥åçæå°å") private String fileUrl; @ApiModelProperty("å£åº¦å®æç¶æ") private Integer quarterStatus; @ApiModelProperty("夿³¨") private String remark; @ApiModelProperty("ç¼å¶äºº") private Integer writeUser; @ApiModelProperty("ä¼ç¾äºº") private String countersignUser; @ApiModelProperty("å®¡æ ¸äºº") private Integer examineUser; @ApiModelProperty("æ¹å人") private Integer ratifyUser; @ApiModelProperty(value = "å建人") @TableField(fill = FieldFill.INSERT) private Integer createUser; @ApiModelProperty(value = "ä¿®æ¹äººid") @TableField(fill = FieldFill.INSERT_UPDATE) private Integer updateUser; @ApiModelProperty(value = "å建æ¶é´") @TableField(fill = FieldFill.INSERT) @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime createTime; @ApiModelProperty(value = "æ´æ°æ¶é´") @TableField(fill = FieldFill.INSERT_UPDATE) @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime updateTime; } inspect-server/src/main/java/com/ruoyi/inspect/pojo/SpotCheckQuarterItem.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,69 @@ package com.ruoyi.inspect.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 makejava * @since 2024-10-09 */ @TableName(value ="spot_check_quarter_item") @Data public class SpotCheckQuarterItem { @TableId(type = IdType.AUTO) private Integer quarterItemId; @ApiModelProperty("主表id") private Integer quarterId; @ApiModelProperty("产åç±»å") private String productType; @ApiModelProperty("产ååå·") private String productModel; @ApiModelProperty("责任人") private String dutyUser; @ApiModelProperty("æ½æ ·æ°é") private String spotCheckNumber; @ApiModelProperty("æ½æ ·æ¶é´") private String spotCheckTime; @ApiModelProperty("è¯æ ·ç»è®º") private String result; @ApiModelProperty("åæ ·äººå") private String samplingUser; @ApiModelProperty("夿³¨") private String itemRemark; @ApiModelProperty(value = "å建人id") @TableField(fill = FieldFill.INSERT) private Integer createUser; @ApiModelProperty(value = "ä¿®æ¹äººid") @TableField(fill = FieldFill.INSERT_UPDATE) private Integer updateUser; @ApiModelProperty(value = "å建æ¶é´") @TableField(fill = FieldFill.INSERT) @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime createTime; @ApiModelProperty(value = "æ´æ°æ¶é´") @TableField(fill = FieldFill.INSERT_UPDATE) @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime updateTime; } inspect-server/src/main/java/com/ruoyi/inspect/pojo/SpotCheckYear.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,67 @@ package com.ruoyi.inspect.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; /** * å¹´åº¦æ½æ ·è®¡å * * @author zhuo * @since 2024-10-10 */ @TableName(value ="spot_check_year") @Data public class SpotCheckYear implements Serializable { @TableId(type = IdType.AUTO) private Integer yearId; @ApiModelProperty("åç§°") private String yearHead; @ApiModelProperty("æ¥åçæå°å") private String fileUrl; @ApiModelProperty("è¡¨æ ¼å 夿³¨") private String tableRemark; @ApiModelProperty("夿³¨") private String remark; @ApiModelProperty("ç¼å¶äºº") private Integer writeUser; @ApiModelProperty("ä¼ç¾äºº") private String countersignUser; @ApiModelProperty("æ¹å人") private Integer examineUser; @ApiModelProperty("æ¹å人") private Integer ratifyUser; @ApiModelProperty(value = "å建人") @TableField(fill = FieldFill.INSERT) private Integer createUser; @ApiModelProperty(value = "ä¿®æ¹äººid") @TableField(fill = FieldFill.INSERT_UPDATE) private Integer updateUser; @ApiModelProperty(value = "å建æ¶é´") @TableField(fill = FieldFill.INSERT) @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime createTime; @ApiModelProperty(value = "æ´æ°æ¶é´") @TableField(fill = FieldFill.INSERT_UPDATE) @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime updateTime; } inspect-server/src/main/java/com/ruoyi/inspect/pojo/SpotCheckYearItem.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,84 @@ package com.ruoyi.inspect.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-10-10 */ @TableName(value = "spot_check_year_item") @Data public class SpotCheckYearItem { @TableId(type = IdType.AUTO) private Integer yearItemId; //主表id @ApiModelProperty("主表id") private Integer yearId; @ApiModelProperty("ç±»å«") private String yearType; @ApiModelProperty("䏿") private String january; @ApiModelProperty("äºæ") private String february; @ApiModelProperty("䏿") private String march; @ApiModelProperty("åæ") private String april; @ApiModelProperty("äºæ") private String may; @ApiModelProperty("å æ") private String june; @ApiModelProperty("䏿") private String july; @ApiModelProperty("å «æ") private String august; @ApiModelProperty("乿") private String september; @ApiModelProperty("åæ") private String october; @ApiModelProperty("å䏿") private String november; @ApiModelProperty("åäºæ") private String december; @ApiModelProperty(value = "å建人id") @TableField(fill = FieldFill.INSERT) private Integer createUser; @ApiModelProperty(value = "ä¿®æ¹äººid") @TableField(fill = FieldFill.INSERT_UPDATE) private Integer updateUser; @ApiModelProperty(value = "å建æ¶é´") @TableField(fill = FieldFill.INSERT) @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime createTime; @ApiModelProperty(value = "æ´æ°æ¶é´") @TableField(fill = FieldFill.INSERT_UPDATE) @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime updateTime; } inspect-server/src/main/java/com/ruoyi/inspect/service/InsOrderService.java
@@ -3,9 +3,11 @@ 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.pojo.StandardProductList; import com.ruoyi.inspect.pojo.InsOrder; import com.ruoyi.inspect.pojo.InsUnqualifiedRetestProduct; import com.ruoyi.inspect.dto.*; import com.ruoyi.inspect.vo.InsOrderPrintingVo; import javax.servlet.ServletException; import javax.servlet.http.HttpServletResponse; @@ -21,7 +23,7 @@ public interface InsOrderService extends IService<InsOrder> { //è·åå使£éªä¸åæ°æ® Map<String, Object> selectInsOrderParameter(IPage<InsOrder> page, SampleOrderDto sampleOrderDto); IPage<SampleOrderDto> selectInsOrderParameter(IPage<InsOrder> page, SampleOrderDto sampleOrderDto); //ä¿®æ¹æ£éªä¸åæ°æ® @@ -35,9 +37,9 @@ Map<String, Object> getInsOrderAndSample(Integer id, String laboratory); Map<String, Object> selectSampleAndProductByOrderId(IPage<SampleProductDto2> page, SampleProductDto2 sampleProductDto); IPage<SampleProductDto2> selectSampleAndProductByOrderId(IPage<SampleProductDto2> page, SampleProductDto2 sampleProductDto); Map<String, Object> costStatistics(IPage<CostStatisticsDto> page, CostStatisticsDto costStatisticsDto); IPage<CostStatisticsDto> costStatistics(IPage<CostStatisticsDto> page, CostStatisticsDto costStatisticsDto); Map<String, Object> costStatistics2(CostStatisticsDto costStatisticsDto); inspect-server/src/main/java/com/ruoyi/inspect/service/InsProductService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,51 @@ package com.ruoyi.inspect.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.inspect.dto.InsProductBindingDto; import com.ruoyi.inspect.pojo.InsOrder; import com.ruoyi.inspect.pojo.InsProduct; import java.util.List; import java.util.Map; /** * @author Administrator * @description é对表ãins_product(æ£éªé¡¹ç®)ãçæ°æ®åºæä½Service * @createDate 2024-03-17 23:57:39 */ public interface InsProductService extends IService<InsProduct> { int selectOrderManDay(Integer orderId); int updateInspected(Integer id,String ids); boolean write(InsOrder insOrder); Map<String,Object> selectNoProducts(Page page, InsProduct insProduct,Integer orderId,String ids); void checkUpdate(Integer orderId,Integer state); /** * æ ¹æ®æ£éªé¡¹idæ¥è¯¢æ£éªé¡¹æ ä¿¡æ¯ * @param productId * @return */ List<InsProduct> getProductTreeByProductId(Integer productId); /** * ç¹æ®æ£éªé¡¹ç»å® * @param insProductBindingDto * @return */ boolean bindingProductTreeByProductId(InsProductBindingDto insProductBindingDto); /** * å é¤ç¹æ®æ£éªé¡¹ç»å®ä¿¡æ¯ * @param productId * @return */ boolean removeBindingProductTree(Integer productId); } inspect-server/src/main/java/com/ruoyi/inspect/service/InsReportService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,61 @@ package com.ruoyi.inspect.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.basic.pojo.IfsInventoryQuantity; import com.ruoyi.inspect.dto.ReportPageDto; import com.ruoyi.inspect.pojo.InsOrder; import com.ruoyi.inspect.pojo.InsReport; import org.springframework.web.multipart.MultipartFile; import java.io.IOException; import java.util.Map; /** * @author Administrator * @description é对表ãins_report(æ£éªæ¥å)ãçæ°æ®åºæä½Service * @createDate 2024-03-17 22:10:02 */ public interface InsReportService extends IService<InsReport> { Map<String,Object> pageInsReport(Page page, ReportPageDto reportPageDto); void wordToPdf(String path,String sealUrl, boolean isRawMater); int inReport(String url, Integer id); int upReportUrl(Integer id); //æäº¤ int writeReport(Integer id, Integer userId, Integer submitUserId); //å®¡æ ¸ int examineReport(Integer id, Integer isExamine, String examineTell, Integer userId); //æ¹å int ratifyReport(Integer id, Integer isRatify, String ratifyTell); int wordInsertUrl(Map<String, Object> map, String url); String downAll(String ids); int upAll(MultipartFile file) throws IOException; void isRawMaterial(InsOrder insOrder); Long getUnqualifiedCount(InsOrder insOrder); /** * ç§»åºæä½ * @param one * @return */ String moveRawMaterial(IfsInventoryQuantity one); /** * éåå°æ£éªä»»å¡ * @param id * @return */ boolean sendBackTask(Integer id); } inspect-server/src/main/java/com/ruoyi/inspect/service/InsSampleService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,13 @@ package com.ruoyi.inspect.service; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.inspect.pojo.InsSample; /** * @author Administrator * @description é对表ãins_sample(æ£éªæ ·å)ãçæ°æ®åºæä½Service * @createDate 2024-03-14 17:14:57 */ public interface InsSampleService extends IService<InsSample> { } inspect-server/src/main/java/com/ruoyi/inspect/service/RawMaterialOrderService.java
@@ -28,7 +28,7 @@ * @param ifsInventoryQuantity * @return */ Map<String,Object> getWarehouseSubmit(IPage<IfsInventoryQuantity> page, IfsInventoryQuantity ifsInventoryQuantity); IPage<IfsInventoryQuantity> getWarehouseSubmit(IPage<IfsInventoryQuantity> page, IfsInventoryQuantity ifsInventoryQuantity); /** * æ¥è¯¢æ£éªå¼ @@ -36,7 +36,7 @@ * @param ifsInventoryQuantityDto * @return */ Map<String,Object> getIfsByStateOne(IPage<IfsInventoryQuantityDto> page, IfsInventoryQuantityDto ifsInventoryQuantityDto); IPage<IfsInventoryQuantityDto> getIfsByStateOne(IPage<IfsInventoryQuantityDto> page, IfsInventoryQuantityDto ifsInventoryQuantityDto); int inspectionReport(List<Integer> ids); @@ -63,7 +63,7 @@ */ int addExemptionOrder(List<SampleProductDto> list, InsOrder insOrder); Map<String,Object> selectIfsInventoryQuantity(Page<IfsInventoryQuantityCheckDto> page, IfsInventoryQuantityCheckDto ifsInventoryQuantity); IPage<IfsInventoryQuantityCheckDto> selectIfsInventoryQuantity(Page<IfsInventoryQuantityCheckDto> page, IfsInventoryQuantityCheckDto ifsInventoryQuantity); /** * æ¥è¯¢å·²æ£éª @@ -71,7 +71,7 @@ * @param ifsInventoryQuantityDto * @return */ Map<String,Object> getIfsByOver(Page<IfsInventoryQuantitySupplierDto> page, IfsInventoryQuantitySupplierDto ifsInventoryQuantityDto); IPage<IfsInventoryQuantitySupplierDto> getIfsByOver(Page<IfsInventoryQuantitySupplierDto> page, IfsInventoryQuantitySupplierDto ifsInventoryQuantityDto); int delIfsInventory(Integer id); @@ -138,7 +138,7 @@ * @param ifsInventoryQuantityDto * @return */ Map<String,Object> getIfsByQuarter(Page page, IfsInventoryQuantitySupplierDto ifsInventoryQuantityDto); IPage<IfsInventoryQuantitySupplierDto> getIfsByQuarter(Page page, IfsInventoryQuantitySupplierDto ifsInventoryQuantityDto); /** * advancedGodown inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,1050 @@ //package com.ruoyi.inspect.service.impl; // //import cn.hutool.core.collection.CollUtil; //import cn.hutool.core.util.ObjectUtil; //import cn.hutool.core.util.StrUtil; //import cn.hutool.json.JSONUtil; //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.alibaba.excel.write.style.column.SimpleColumnWidthStyleStrategy; //import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; //import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; //import com.baomidou.mybatisplus.core.metadata.IPage; //import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; //import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; //import com.baomidou.mybatisplus.core.toolkit.Wrappers; //import com.baomidou.mybatisplus.extension.plugins.pagination.Page; //import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; //import com.ruoyi.basic.mapper.IfsInventoryQuantityMapper; //import com.ruoyi.basic.mapper.StandardProductListMapper; //import com.ruoyi.basic.pojo.IfsInventoryQuantity; //import com.ruoyi.basic.pojo.StandardProductList; //import com.ruoyi.basic.pojo.StructureTestObject; //import com.ruoyi.common.constant.InsOrderTypeConstants; //import com.ruoyi.common.core.domain.entity.User; //import com.ruoyi.common.numgen.NumberGenerator; //import com.ruoyi.common.utils.*; //import com.ruoyi.framework.exception.ErrorException; //import com.ruoyi.inspect.dto.*; //import com.ruoyi.inspect.mapper.*; //import com.ruoyi.inspect.pojo.*; //import com.ruoyi.inspect.service.InsOrderService; //import com.ruoyi.inspect.service.InsProductService; //import com.ruoyi.inspect.service.InsSampleService; //import com.ruoyi.inspect.vo.InsOrderPrintingVo; //import com.ruoyi.inspect.vo.SampleDefectsFatherVo; //import com.ruoyi.system.mapper.CustomMapper; //import com.ruoyi.system.mapper.UserMapper; //import lombok.AllArgsConstructor; //import org.apache.commons.lang3.StringUtils; //import org.springframework.beans.BeanUtils; //import org.springframework.stereotype.Service; //import org.springframework.transaction.annotation.Transactional; // //import javax.servlet.http.HttpServletResponse; //import java.io.IOException; //import java.math.BigDecimal; //import java.net.URLEncoder; //import java.time.LocalDate; //import java.time.LocalDateTime; //import java.time.Month; //import java.time.format.DateTimeFormatter; //import java.util.*; //import java.util.concurrent.atomic.AtomicInteger; //import java.util.stream.Collectors; // ///** // * @author gaoaoy // * @description é对表ãins_order(æ£éªä¸å)ãçæ°æ®åºæä½Serviceå®ç° // * @createDate 2024-03-12 16:17:55 // */ //@Service //@AllArgsConstructor //public class InsOrderServiceImpl extends ServiceImpl<InsOrderMapper, InsOrder> // implements InsOrderService { // // private InsOrderMapper insOrderMapper; // private InsSampleService insSampleService; // private InsSampleMapper insSampleMapper; // private InsProductService insProductService; // private InsProductMapper insProductMapper; // private InsProductUserMapper insProductUserMapper; // private InsSampleUserMapper insSampleUserMapper; // private InsOrderStateMapper insOrderStateMapper; // private UserMapper userMapper; // private IfsInventoryQuantityMapper ifsInventoryQuantityMapper; // private CustomMapper customMapper; // private final NumberGenerator<InsOrder> numberGenerator; // private InsReportMapper insReportMapper; // private InsUnqualifiedRetestProductMapper insUnqualifiedRetestProductMapper; // private IfsApiUtils ifsApiUtils; // private SpotCheckQuarterItemMapper spotCheckQuarterItemMapper; // private StandardProductListMapper standardProductListMapper; // // // // //è·åæ£éªä¸åæ°æ® // @Override // public IPage<SampleOrderDto> selectInsOrderParameter(IPage<InsOrder> page, SampleOrderDto sampleOrderDto) { // //todo: åªçæå¤æå ¨é¨,个人,ç»ç»çæé // String laboratory = null; // // 夿æ¯å¦æ¯å ¨é¨ // String isOrderAll = null; // if (sampleOrderDto.getState() != null && sampleOrderDto.getState() == -2) { // isOrderAll = "1"; // sampleOrderDto.setState(null); // } // IPage<SampleOrderDto> sampleOrderDtoIPage = insOrderMapper.selectInsOrderPage(page, QueryWrappers.queryWrappers(sampleOrderDto), laboratory, isOrderAll); // return insOrderMapper.selectInsOrderPage(page, QueryWrappers.queryWrappers(sampleOrderDto), laboratory, isOrderAll); // } // // // @Override // @Transactional(rollbackFor = Exception.class) // public int upInsOrder(Integer orderId, Integer sampleId, String appointed, Integer userId, String sonLaboratory) { // InsOrder insOrder = new InsOrder(); // insOrder.setId(orderId); // insOrder.setAppointed(StringUtils.isNotEmpty(appointed) ? LocalDate.parse(appointed) : null); // insOrder.setSendTime(LocalDateTime.now()); // insOrderMapper.updateById(insOrder); // List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId).select(InsSample::getId)); // List<Integer> ids = insSamples.stream().map(a -> a.getId()).collect(Collectors.toList()); // List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() // .in(InsProduct::getInsSampleId, ids) // .eq(InsProduct::getState, 1) // .select(InsProduct::getSonLaboratory).groupBy(InsProduct::getSonLaboratory)); // for (InsProduct insProduct : insProducts) { // InsOrderState insOrderState = new InsOrderState(); // insOrderState.setInsOrderId(orderId); // try { // insOrderState.setLaboratory(insProduct.getSonLaboratory()); // } catch (NullPointerException e) { // throw new ErrorException("该æ£éªåææªç»´æ¤å®éªå®¤çæ£éªé¡¹ç®"); // } // insOrderState.setInsState(0); // insOrderStateMapper.insert(insOrderState); // } // if (userId != null) { // InsSampleUser insSampleUser = new InsSampleUser(); // insSampleUser.setState(0); // insSampleUser.setUserId(userId); // insSampleUser.setInsSampleId(orderId); // insSampleUser.setSonLaboratory(sonLaboratory); // insSampleUserMapper.insert(insSampleUser); // } // // // å¤æè®¢åææ²¡æç»å®æ½æ ·è®¡å // InsOrder order = insOrderMapper.selectById(orderId); // if (order.getQuarterItemId() != null) { // // éè¦æ·»å ä¸åæ¶é´å°æ½æ ·æ¶é´, åæ ·äººåå°±æ¯æ£æµäºº // SpotCheckQuarterItem spotCheckQuarterItem = spotCheckQuarterItemMapper.selectById(order.getQuarterItemId()); // spotCheckQuarterItem.setSpotCheckTime(order.getSendTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); // User user = userMapper.selectById(userId); // spotCheckQuarterItem.setSamplingUser(user.getName()); // spotCheckQuarterItemMapper.updateById(spotCheckQuarterItem); // } // return 1; // } // // @Override // @Transactional(rollbackFor = Exception.class) // public int addInsOrder(List<SampleProductDto> list, InsOrder insOrder, List<List<Integer>> pairing) { // // todo: ä¸åå¤ææ½æ ·è®¡åçå¯ä¸æ§ // if (insOrder.getQuarterItemId() != null) { // Long quarterItemCount = insOrderMapper.selectCount(Wrappers.<InsOrder>lambdaQuery() // .eq(InsOrder::getQuarterItemId, insOrder.getQuarterItemId()) // .notIn(InsOrder::getState, -1 ,2 ,3)); // if (quarterItemCount > 0) { // throw new ErrorException("è¯¥æ½æ ·è®¡å已被ç»å®è¿"); // } // } // // insOrder.setState(0); // // LocalDate appointed = insOrder.getAppointed(); // // insOrderMapper.insert(insOrder); // 主表 // // list.forEach(a -> { // a.setId(null); // a.setInsOrderId(insOrder.getId()); // insSampleMapper.insert(a); // if (ObjectUtil.isNotEmpty(a.getInsProduct())) { // // 夿æ¯å¦å¡«åå¾ æ£é¡¹æ°é // if (a.getQuantity() != null) { // List<InsProduct> ip2 = new ArrayList<>(); // for (Integer i = 1; i <= a.getQuantity(); i++) { // // éæ°æ·è´ å建æ°å¯¹è±¡ // AtomicInteger atomicInteger = new AtomicInteger(i); // List<InsProduct> insProducts = a.getInsProduct().stream().map(insProduct -> { // insProduct.setRawMaterialTag(String.valueOf(atomicInteger.get())); // InsProduct product = new InsProduct(); // BeanUtils.copyProperties(insProduct, product); // return product; // }).collect(Collectors.toList()); // // ip2.addAll(insProducts); // } // addInsProductMethod(a.getId(), ip2); // } else { // addInsProductMethod(a.getId(), a.getInsProduct()); // } // } // // 夿æ¯å¦æçµç¼é ç½® // if (ObjectUtil.isNotEmpty(a.getInsulating())) { // // 夿æ¯å¦æè¾ å©çº¿è¯ // if (ObjectUtil.isNotEmpty(a.getAuxiliaryWireCore())) { // if (a.getAuxiliaryWireCore().getInsProduct().stream().filter(insProduct -> insProduct.getState() == 1).count() != // a.getInsulating().getInsProduct().stream().filter(insProduct -> insProduct.getState() == 1).count()) { // throw new ErrorException("çµç¼é ç½®è¾ å©çº¿è¯æ£éªé¡¹æ°éä¸ç»ä¸, è¯·æ£æ¥"); // } // } // List<InsProduct> ip2 = new ArrayList<>(); // for (String s : a.getInsulating().getNum()) { // // éæ°æ·è´ å建æ°å¯¹è±¡ // List<InsProduct> insProducts = a.getInsulating().getInsProduct().stream().map(insProduct -> { // insProduct.setCableTag(s); // InsProduct product = new InsProduct(); // BeanUtils.copyProperties(insProduct, product); // return product; // }).collect(Collectors.toList()); // ip2.addAll(insProducts); // } // for (InsProduct product : ip2) { // product.setStandardMethodListId(a.getInsulating().getStandardMethodListId()); // } // addInsProductMethod(a.getId(), ip2); // } // // 夿æ¯å¦æè¾ å©çº¿è¯ // if (ObjectUtil.isNotEmpty(a.getAuxiliaryWireCore())) { // List<InsProduct> ip2 = new ArrayList<>(); // for (String s : a.getAuxiliaryWireCore().getNum()) { // // éæ°æ·è´ å建æ°å¯¹è±¡ // List<InsProduct> insProducts = a.getAuxiliaryWireCore().getInsProduct().stream().map(insProduct -> { // insProduct.setCableTag(s); // InsProduct product = new InsProduct(); // BeanUtils.copyProperties(insProduct, product); // return product; // }).collect(Collectors.toList()); // ip2.addAll(insProducts); // } // for (InsProduct product : ip2) { // product.setStandardMethodListId(a.getAuxiliaryWireCore().getStandardMethodListId()); // } // addInsProductMethod(a.getId(), ip2); // } // // åæ ·åé ç½® // if (ObjectUtil.isNotEmpty(a.getChildSampleList())) { // for (SampleProductDto b : a.getChildSampleList()) { // for (int i = 0; i < b.getNum(); i++) { // b.setId(null); // b.setInsOrderId(insOrder.getId()); // b.setParentId(a.getId()); // insSampleMapper.insert(b); // if (ObjectUtil.isNotEmpty(b.getInsProduct())) { // addInsProductMethod(b.getId(), b.getInsProduct()); // } // } // } // } // }); // //æ¯å¦ä¸ºåææä¸å // if (insOrder.getTypeSource() != null && insOrder.getTypeSource().equals(1)) { // // åææä¸å: å§æäººå°±æ¯æ¥æ£äºº, ç产åä½å°±æ¯ä¾åºååä½ // IfsInventoryQuantity ifsInventoryQuantity = ifsInventoryQuantityMapper.selectById(insOrder.getIfsInventoryId()); // Integer declareUserId = ifsInventoryQuantity.getDeclareUserId(); // User user = userMapper.selectById(declareUserId); // if (user == null) { // throw new ErrorException("ç¼ºå°æ¥æ£äººä¿¡æ¯"); // } // // ä¾åºååç§° // insOrder.setProduction(ifsInventoryQuantity.getSupplierName()); // insOrder.setProductionEn(""); // // å§æäººåç§° // insOrder.setPrepareUserId(user.getId()); // insOrder.setPrepareUser(user.getName()); // insOrder.setPrepareUserEn(user.getNameEn()); // insOrder.setPhone(user.getPhone()); // insOrder.setState(1); // Long count1 = insOrderMapper.selectCount(Wrappers.<InsOrder>lambdaQuery() // .eq(InsOrder::getIfsInventoryId, insOrder.getIfsInventoryId()) // .ne(InsOrder::getState, -1) // .eq(InsOrder::getOrderType, InsOrderTypeConstants.ENTER_THE_FACTORY) // .ne(InsOrder::getId, insOrder.getId())); // // 夿ä¹åæ¯å¦æè¿åæ£éª // if (count1 == 0) { // ifsInventoryQuantityMapper.update(null, new LambdaUpdateWrapper<IfsInventoryQuantity>().set(IfsInventoryQuantity::getState, 1) // .eq(IfsInventoryQuantity::getId, insOrder.getIfsInventoryId())); // } // // // å¤æç»æç¶æä¿®æ¹åæ ¼ç¶æ // if (ifsInventoryQuantity.getIsFinish().equals(0)) { // ifsInventoryQuantityMapper.update(null, Wrappers.<IfsInventoryQuantity>lambdaUpdate() // .eq(IfsInventoryQuantity::getId, insOrder.getIfsInventoryId()) // .set(IfsInventoryQuantity::getInspectStatus, 0)); // } // // upInsOrderOfState(insOrder); // upInsOrder(insOrder.getId(), null, appointed != null ? appointed.toString() : null, SecurityUtils.getUserId().intValue(), "åææ"); // // // // æ ¹æ®é¶ä»¶å·å¤ææ¯å¦æ¯è¾ æ // boolean isRaw = false; // StructureTestObject productObject = insOrderMapper.selectProductByPartNo(ifsInventoryQuantity.getPartNo()); // // æ¥è¯¢äº§å // if (productObject != null && StrUtil.isNotBlank(productObject.getObjectType()) && productObject.getObjectType().equals("1")) { // isRaw = true; // } else { // // æ¥è¯¢å¯¹è±¡ // StructureTestObject testObject = insOrderMapper.selectByPartNo(ifsInventoryQuantity.getPartNo()); // if (testObject != null && StrUtil.isNotBlank(testObject.getObjectType()) && testObject.getObjectType().equals("1")) { // isRaw = true; // } // } // // if (isRaw) { // // è·åå½åå£åº¦çå¼å§æ¶é´åç»ææ¶é´ // LocalDateTime now = LocalDateTime.now(); // // è·åå½åæä»½ // int month = now.getMonthValue(); // // ç¡®å®å½åå£åº¦çå¼å§æä»½ // int startMonth = (month - 1) / 3 * 3 + 1; // // æé å£åº¦çå¼å§æ¶é´ // LocalDateTime startOfQuarter = LocalDateTime.of(now.getYear(), Month.of(startMonth), 1, 0, 0); // // 计ç®ä¸ä¸ä¸ªå£åº¦çå¼å§æ¶é´ // LocalDateTime startOfNextQuarter = startOfQuarter.plusMonths(3); // // 计ç®å½åå£åº¦çç»ææ¶é´ // LocalDateTime endOfQuarter = startOfNextQuarter.minusSeconds(1); // // // æ ¹æ®ä¸åçè§æ ¼åå·å¤ææ¯å¦ä¸ºå£åº¦é¦æ¬¡åºç° // Integer count = ifsInventoryQuantityMapper.selectIsFirst(insOrder.getPartDetail(), // ifsInventoryQuantity.getSupplierName(), // startOfNextQuarter, // endOfQuarter); // // if(count == 0) { // ifsInventoryQuantity.setIsFirst(1); // ifsInventoryQuantityMapper.update(null, Wrappers.<IfsInventoryQuantity>lambdaUpdate() // .eq(IfsInventoryQuantity::getId, insOrder.getIfsInventoryId()) // .set(IfsInventoryQuantity::getIsFirst, 1)); // } // } // } // return insOrder.getId(); // } // // /** // * æ·»å æ£éªé¡¹ // * @param sampleId // * @param productList // */ // private void addInsProductMethod(Integer sampleId, List<InsProduct> productList) { // for (InsProduct product : productList) { // if (product.getState() == 1) { // product.setId(null); // product.setCreateTime(null); // product.setCreateUser(null); // product.setUpdateTime(null); // product.setUpdateUser(null); // product.setInsSampleId(sampleId); // if (product.getInspectionItemSubclass() == null) { // product.setInspectionItemSubclass(""); // } // if (StringUtils.isBlank(product.getAsk()) || StringUtils.isBlank(product.getTell())) { // throw new ErrorException("ææ£éªé¡¹çè¦æ±å¼æè¦æ±æè¿°ä¸ºç©º, 请å 廿 ååºé ç½®è¦æ±å¼æè¦æ±æè¿°"); // } // insProductMapper.insert(product); // } // } // } // // // @Override // public Map<String, Object> getInsOrder(Integer id) { // Map<String, Object> map = new HashMap<>(); // InsOrder insOrder = insOrderMapper.selectById(id); // List<SampleProductDto> list; // // 夿æ¯å¦æ¯è¿åæ¥åå æ£ // if (insOrder.getIsExemption().equals(1)) { // list = insSampleMapper.selectExemptionByOrderId(id); // } else { // list = insSampleMapper.selectSampleProductListByOrderId2(id); // } // Map<String, Object> map1 = insSampleMapper.selectInsOrder(id); // map.put("insOrder", insOrder); // map.put("sampleProduct", list); // map.put("insOrderTemplate", map1); // return map; // } // // @Override // public int upInsOrderOfState(InsOrder insOrder) { // insOrder.setExamineTime(LocalDateTime.now()); // if (insOrder.getState() == 1) { // //å®¡æ ¸éè¿æä¼çæå§æç¼å· // // todo: æ£éªç±»åç¼å· // InsOrder order = this.getById(insOrder.getId()); // String code = ""; // switch (order.getOrderType()) { // case InsOrderTypeConstants.SPOT_CHECK: // code = "C"; // break; // case InsOrderTypeConstants.CUSTOMER_ORDERED: // code = "W"; // break; // case InsOrderTypeConstants.ENTER_THE_FACTORY: // case InsOrderTypeConstants.QUARTERLY_TEST: // code = "Y"; // break; // } // // çæç¼å· // String no = numberGenerator.generateNumberWithPrefix(3, // "JCZX/ZB-" + code + LimsDateUtil.resetDate(LocalDateTime.now()), // InsOrder::getEntrustCode); // // 夿æ¯å¦æ¯å£åº¦æ£éª, æ¯å£åº¦æ£éªåæ¶åææå£åº¦æ£éªä¸å // if (InsOrderTypeConstants.QUARTERLY_TEST.equals(order.getOrderType())) { // ifsInventoryQuantityMapper.update(null, Wrappers.<IfsInventoryQuantity>lambdaUpdate() // .eq(IfsInventoryQuantity::getId, order.getIfsInventoryId()) // .set(IfsInventoryQuantity::getIsQuarter, 0)); // // // æ¥è¯¢æ¯å¦æè¿è¿åæ£éª, æè·åéé¢çç¼å· // InsOrder order1 = insOrderMapper.selectOne(Wrappers.<InsOrder>lambdaQuery() // .eq(InsOrder::getIfsInventoryId, order.getIfsInventoryId()) // .ne(InsOrder::getState, -1) // .eq(InsOrder::getOrderType, InsOrderTypeConstants.ENTER_THE_FACTORY)); // if (order1 != null) { // no = order1.getEntrustCode(); // } // } // // int count = 1; // // æ¥è¯¢æ ·å表 // List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery() // .eq(InsSample::getInsOrderId, insOrder.getId())); // for (InsSample insSample : insSamples) { // if (StringUtils.isBlank(insSample.getSampleCode())) { // // å¦æåªæä¸ä¸ªæ ·åå°±ä¸éè¦æ¼æ¥æ°å // if (insSamples.size() != 1) { // insSample.setSampleCode(no + "-" + count); // count++; // } else { // insSample.setSampleCode(no); // } // } // } // insSampleService.updateBatchById(insSamples); // // insOrder.setEntrustCode(no); // } // return insOrderMapper.updateById(insOrder); // } // // @Override // public Map<String, Object> getInsOrderAndSample(Integer id, String laboratory) { // Map<String, Object> map = new HashMap<>(); // InsOrder insOrder = insOrderMapper.selectById(id); // List<SampleProductDto> list = insSampleMapper.getInsOrderAndSample(id, laboratory); // for (SampleProductDto sampleProductDto : list) { // List<Integer> ids = sampleProductDto.getInsProduct().stream().map(InsProduct::getId).collect(Collectors.toList()); // List<InsProductUser> insProductUsers = insProductUserMapper.selectList(Wrappers.<InsProductUser>lambdaQuery() // .in(InsProductUser::getInsProductId, ids)); // if (CollectionUtils.isNotEmpty(insProductUsers)) { // List<Integer> userIds = insProductUsers.stream().map(InsProductUser::getCreateUser).distinct().collect(Collectors.toList()); // String collect = userMapper.selectBatchIds(userIds).stream().map(User::getName).collect(Collectors.joining(",")); // sampleProductDto.setCheckName(collect); // } // } // map.put("insOrder", insOrder); // map.put("sampleProduct", list); // //æ¥è¯¢ææè®°å½æ¨¡çå»é // List<Map<Integer, Object>> list2 = insOrderMapper.selectReportModelByOrderId(id, laboratory); // map.put("reportModel", list2); // return map; // } // // @Override // public IPage<SampleProductDto2> selectSampleAndProductByOrderId(IPage<SampleProductDto2> page, SampleProductDto2 sampleProductDto) { // IPage<SampleProductDto2> productDto2IPage = insOrderMapper.selectSampleAndProductByOrderId(page, // QueryWrappers.queryWrappers(sampleProductDto) // .orderByAsc("sample_code") // .orderByAsc("cable_tag") // .orderByAsc("sort"), // sampleProductDto.getId()); // return productDto2IPage; // } // // @Override // public IPage<CostStatisticsDto> costStatistics(IPage<CostStatisticsDto> page, CostStatisticsDto costStatisticsDto) { // String dates = costStatisticsDto.getDates(); // String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(","); // costStatisticsDto.setDates(null); // // //todo:ä» çèªå·± // // IPage<CostStatisticsDto> dtoIPage = insOrderMapper.selectCostStatistics(page, QueryWrappers.queryWrappers(costStatisticsDto).ge("create_time", split[0]).le("create_time", split[1] + " 23:59:59")); // List<CostStatisticsDto> collect = dtoIPage.getRecords().stream().map(dto -> { // Set<String> uniqueTags = new HashSet<>(); // if (dto.getInspectionItem().contains(",")) { // for (String s : dto.getInspectionItem().split(",")) { // uniqueTags.add(s.split("@")[0]); // } // } else { // uniqueTags.add(dto.getInspectionItem().split("@")[0]); // } // dto.setInspectionItem(uniqueTags.toString()); // return dto; // }).collect(Collectors.toList()); // dtoIPage.setRecords(collect); // return dtoIPage; // } // // @Override // public Map<String, Object> costStatistics2(CostStatisticsDto costStatisticsDto) { // Map<String, Object> map = new HashMap<>(); // String dates = costStatisticsDto.getDates(); // String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(","); // costStatisticsDto.setDates(null); // List<CostStatisticsDto> costStatisticsDtos = insOrderMapper.selectCostStatistics2(QueryWrappers.queryWrappers(costStatisticsDto).ge("create_time", split[0]).le("create_time", split[1] + " 23:59:59")); // double totalPrice = costStatisticsDtos.stream() // .filter(dto -> dto.getPrice() != null) // è¿æ»¤æä»·æ ¼ä¸º null ç对象 // .mapToDouble(value -> value.getPrice().doubleValue() * value.getNum()) // .sum(); // map.put("total", totalPrice); // return map; // } // // @Override // public Map<String, Object> selectSampleDefects(Page page, String inspectionItems, String orderNumber) { // List<SampleDefectsFatherVo> sampleDefectsFatherVos = insOrderMapper.selectSampleDefects(page, inspectionItems, orderNumber); // Map<String, Object> map = new HashMap<>(); // map.put("records", sampleDefectsFatherVos); // Long aLong = insOrderMapper.getCount(inspectionItems, orderNumber); // map.put("total", aLong); // return map; // } // // @Override // public int updateStatus(Integer id) { // return insOrderMapper.updateStatus(id); // } // // // @Override // public void export(CostStatisticsDto costStatisticsDto, HttpServletResponse response) throws IOException { // //æ¥è¯¢å¯¼åºçè´¹ç¨ç»è®¡æ°æ® // String dates = costStatisticsDto.getDates(); // String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(","); // costStatisticsDto.setDates(null); // List<CostStatisticsDto> costStatisticsDtos = insOrderMapper.selectCostStatistics2(QueryWrappers.queryWrappers(costStatisticsDto).ge("create_time", split[0]).le("create_time", split[1] + " 23:59:59")); // costStatisticsDtos = costStatisticsDtos.stream().map(dto -> { // Set<String> uniqueTags = new HashSet<>(); // if (dto.getInspectionItem().contains(",")) { // for (String s : dto.getInspectionItem().split(",")) { // uniqueTags.add(s.split("@")[0]); // } // } else { // uniqueTags.add(dto.getInspectionItem().split("@")[0]); // } // dto.setInspectionItem(uniqueTags.toString()); // return dto; // }).collect(Collectors.toList()); // // 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"); // Map<String, List<CostStatisticsDto>> groupByCompany = // costStatisticsDtos.stream().filter(e -> StrUtil.isNotEmpty(e.getCompany())) // .collect(Collectors.groupingBy(CostStatisticsDto::getCompany)); // try { // // æ°å»ºExcelWriter // // æ°å»ºExcelWriter // ExcelWriter excelWriter = // EasyExcel.write(response.getOutputStream()) // .registerWriteHandler(new SimpleColumnWidthStyleStrategy(25)) // .build(); // for (Map.Entry<String, List<CostStatisticsDto>> companyDataEntry : groupByCompany.entrySet()) { // String sheetName = companyDataEntry.getKey(); // List<CostStatisticsDto> dataList = companyDataEntry.getValue(); // WriteSheet mainSheet = EasyExcel.writerSheet(sheetName) // .head(CostStatisticsDto.class) // .registerWriteHandler(new SimpleColumnWidthStyleStrategy(25)) // .build(); // excelWriter.write(dataList, mainSheet); // } // // å ³éæµ // excelWriter.finish(); // } catch (IOException e) { // throw new RuntimeException("导åºå¤±è´¥"); // } // } // // /** // * è·åifsåºåä¿¡æ¯ // * @param // * @return // */ // @Override // public void getIfsOrder() { // HashMap<String, Object> map = new HashMap<>(); // map.put("LOCATION_NO","1302"); // map.put("STATE_DB","To be Inspected"); // List<Map<String, Object>> inventory = ifsApiUtils.getInventory(JSONUtil.toJsonStr(map)); // if(inventory.size() == 0) { // return; // } // // è¿è¡ä¿å // for (Map<String, Object> map1 : inventory) { // DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); // æ¶é´æ ¼å¼å // IfsInventoryQuantity ifsInventoryQuantity = new IfsInventoryQuantity(); // ifsInventoryQuantity.setContract(map1.get("CONTRACT") == null ? "" : map1.get("CONTRACT").toString()); // å // ifsInventoryQuantity.setPartNo(map1.get("PART_NO") == null ? "" : map1.get("PART_NO").toString() ); // é¶ä»¶å· // ifsInventoryQuantity.setPartDesc(map1.get("PART_DESC") == null ? "" : map1.get("PART_DESC").toString()); // é¶ä»¶æè¿° // ifsInventoryQuantity.setOrderNo(map1.get("ORDER_NO") == null ? "" : map1.get("ORDER_NO").toString()); // 订åå· // ifsInventoryQuantity.setLineNo(map1.get("LINE_NO") == null ? "" : map1.get("LINE_NO").toString()); // è¡å· // ifsInventoryQuantity.setReleaseNo(map1.get("RELEASE_NO") == null ? "" : map1.get("RELEASE_NO").toString()); // ä¸è¾¾å· // ifsInventoryQuantity.setReceiptNo(Integer.parseInt(map1.get("RECEIPT_NO") == null ? "" : map1.get("RECEIPT_NO").toString())); // æ¥æ¶å· // ifsInventoryQuantity.setStatus(map1.get("STATE") == null ? "" : map1.get("STATE").toString()); // ç¶ææè¿° // ifsInventoryQuantity.setStatusDb(map1.get("STATE_DB") == null ? "" : map1.get("STATE_DB").toString()); // ç¶æ // if(map1.get("QTY_ARRIVED") != null) { // ifsInventoryQuantity.setQtyArrived(new BigDecimal(map1.get("QTY_ARRIVED").toString())); // æµè¾¾çéè´æ°é // } // if(map1.get("QTY_INSPECTED") != null) { // ifsInventoryQuantity.setQtyInspected(new BigDecimal(map1.get("QTY_INSPECTED").toString())); // å·²æ£éªçè´ä¹°æ°é // } // if(map1.get("QTY_TO_INSPECT") != null) { // ifsInventoryQuantity.setQtyToInspect(new BigDecimal(map1.get("QTY_TO_INSPECT").toString())); // è¦æ£éªçéè´æ°é // } // if(map1.get("INV_QTY_IN_STORE") != null) { // ifsInventoryQuantity.setInvQtyInStore(new BigDecimal(map1.get("INV_QTY_IN_STORE").toString())); // æµè¾¾çåºåæ°é // } // if(map1.get("PUR_QTY_IN_STORE") != null) { // ifsInventoryQuantity.setPurQtyInStore(new BigDecimal( map1.get("PUR_QTY_IN_STORE").toString())); // æµè¾¾çéè´æ°é // // } // ifsInventoryQuantity.setSupplierId(map1.get("SUPPLIER_ID") == null ? "" : map1.get("SUPPLIER_ID").toString()); // ä¾åºåID // ifsInventoryQuantity.setSupplierName(map1.get("SUPPLIER_NAME") == null ? "" : map1.get("SUPPLIER_NAME").toString()); // ä¾åºååç§° // ifsInventoryQuantity.setConfigurationId(map1.get("CONFIGURATION_ID") == null ? "" : map1.get("CONFIGURATION_ID").toString()); // é ç½®æ è¯ // ifsInventoryQuantity.setLotBatchNo(map1.get("LOT_BATCH_NO") == null ? "" : map1.get("LOT_BATCH_NO").toString()); // æ¹æ¬¡å· // ifsInventoryQuantity.setUpdateBatchNo(map1.get("LOT_BATCH_NO") == null ? "" : map1.get("LOT_BATCH_NO").toString()); // æ¹æ¬¡å· // ifsInventoryQuantity.setWaivDevRejNo(map1.get("WAIV_DEV_REJ_NO") == null ? "" : map1.get("WAIV_DEV_REJ_NO").toString()); // WDRå· // ifsInventoryQuantity.setActivitySeq(map1.get("ACTIVITY_SEQ") == null ? null : Integer.parseInt(map1.get("ACTIVITY_SEQ").toString())); // æ´»å¨åºå // ifsInventoryQuantity.setSerialNo(map1.get("SERIAL_NO") == null ? "" : map1.get("SERIAL_NO").toString()); // åºåå· // ifsInventoryQuantity.setLocationNo(map1.get("LOCATION_NO") == null ? "" : map1.get("LOCATION_NO").toString()); // åºä½å· // ifsInventoryQuantity.setEngChgLevel(map1.get("ENG_CHG_LEVEL") == null ? "" : map1.get("ENG_CHG_LEVEL").toString()); // çæ¬å· // ifsInventoryQuantity.setReceiver(map1.get("RECEIVER") == null ? "" : map1.get("RECEIVER").toString()); // æ¥æ¶äºº // ifsInventoryQuantity.setReceiverName(map1.get("RECEIVER_NAME") == null ? "" : map1.get("RECEIVER_NAME").toString()); // æ¥æ¶äººåç§° // ifsInventoryQuantity.setBuyerCode(map1.get("BUYER_CODE") == null ? "" : map1.get("BUYER_CODE").toString()); // éè´å // ifsInventoryQuantity.setBuyerName(map1.get("BUYER_NAME") == null ? "" : map1.get("BUYER_NAME").toString()); // éè´ååç§° // // if(map1.get("ARRIVE_DATE") != null) { // ifsInventoryQuantity.setArriveDate(LocalDateTime.parse(map1.get("ARRIVE_DATE").toString(),dateTimeFormatter)); // å®é å°è´§æ¥æ // } // if(map1.get("DELIVERY_DATE") != null) { // ifsInventoryQuantity.setDeliveryDate(LocalDateTime.parse(map1.get("DELIVERY_DATE").toString(),dateTimeFormatter)); // å®é äº¤è´§æ¥æ // } // if(map1.get("PRODUCT_DATE") != null) { // ifsInventoryQuantity.setProductDate(LocalDateTime.parse(map1.get("PRODUCT_DATE").toString(),dateTimeFormatter)); // çäº§æ¥æ // // } // if(map1.get("INVALID_DATE") != null) { // ifsInventoryQuantity.setInvalidDate(LocalDateTime.parse(map1.get("INVALID_DATE").toString(),dateTimeFormatter)); // å¤±ææ¥æ // } // if(map1.get("APPROVED_DATE") != null) { // ifsInventoryQuantity.setApprovedDate(LocalDateTime.parse(map1.get("APPROVED_DATE").toString(),dateTimeFormatter)); // å®¡æ¹æ¥æ // } // ifsInventoryQuantity.setReqCeater(map1.get("REQ_CEATER") == null ? "" : map1.get("REQ_CEATER").toString()); // éè´ç³è¯·å建人 // ifsInventoryQuantity.setReqCeaterName(map1.get("REQ_CEATER_NAME") == null ? "" : map1.get("REQ_CEATER_NAME").toString()); // éè´ç³è¯·å建人åç§° // ifsInventoryQuantity.setLineRemarks(map1.get("LINE_REMARKS") == null ? "" : map1.get("LINE_REMARKS").toString()); // éè´è®¢åè¡å¤æ³¨ // ifsInventoryQuantity.setBuyUnitMeas(map1.get("BUY_UNIT_MEAS") == null ? "" : map1.get("BUY_UNIT_MEAS").toString()); // éè´åä½ // ifsInventoryQuantity.setReceiverDate(LocalDateTime.now()); // æ¥æ¶æ¥æ // ifsInventoryQuantity.setIsSource(1); // ifsInventoryQuantity.setState(0); // // IfsInventoryQuantity one = ifsInventoryQuantityMapper.selectOne(new LambdaQueryWrapper<IfsInventoryQuantity>() // .eq(IfsInventoryQuantity::getOrderNo, ifsInventoryQuantity.getOrderNo()) // .eq(IfsInventoryQuantity::getLineNo, ifsInventoryQuantity.getLineNo()) // .eq(IfsInventoryQuantity::getReleaseNo, ifsInventoryQuantity.getReleaseNo()) // .eq(IfsInventoryQuantity::getReceiptNo, ifsInventoryQuantity.getReceiptNo()) // .eq(IfsInventoryQuantity::getLocationNo, ifsInventoryQuantity.getLocationNo()) // .eq(IfsInventoryQuantity::getLotBatchNo, ifsInventoryQuantity.getLotBatchNo()) // .eq(IfsInventoryQuantity::getSerialNo, ifsInventoryQuantity.getSerialNo()) // .eq(IfsInventoryQuantity::getEngChgLevel, ifsInventoryQuantity.getEngChgLevel()) // .eq(IfsInventoryQuantity::getWaivDevRejNo, ifsInventoryQuantity.getWaivDevRejNo()) // .eq(IfsInventoryQuantity::getActivitySeq, ifsInventoryQuantity.getActivitySeq()) // ); // if(Objects.isNull(one)) { // // ifsInventoryQuantity.setIsFirst(0); // // æ¥è¯¢äº§ä¸é¾æ£æµæ°æ® // String industryChainAttrFields = IndustryChainUtils.getIndustryChainAttrFields(ifsInventoryQuantity.getOrderNo(), // ifsInventoryQuantity.getLineNo(), // ifsInventoryQuantity.getReleaseNo()); // ifsInventoryQuantity.setIndustryChain(industryChainAttrFields); // // ifsInventoryQuantityMapper.insert(ifsInventoryQuantity); // } // } // } // // /** // * idæ¯åææçid // * // * ä¿®æ¹è®¢ååå· // * @param insOrder // */ // @Override // @Transactional(rollbackFor = Exception.class) // public void updateEntrustCode(InsOrder insOrder) { // // 夿å½åè®¢åæ¯å¦çæäºæ¥å, çæäºæ¥åä¸è½ä¿®æ¹åå· // List<InsOrder> insOrders = insOrderMapper.selectList(Wrappers.<InsOrder>lambdaQuery() // .eq(InsOrder::getIfsInventoryId, insOrder.getId()) // .ne(InsOrder::getState, -1)); // List<Integer> insOrderIds = insOrders.stream().map(InsOrder::getId).collect(Collectors.toList()); // Long count = insReportMapper.selectCount(Wrappers.<InsReport>lambdaQuery() // .in(InsReport::getInsOrderId, insOrderIds)); // if (count > 0 ) { // throw new ErrorException("å½å订åå·²ç»çæäºæ¥åä¸è½ä¿®æ¹ç¼å·"); // } // // // Long count1 = insOrderMapper.selectCount(Wrappers.<InsOrder>lambdaQuery() // .eq(InsOrder::getEntrustCode, insOrder.getEntrustCode()) // .ne(InsOrder::getIfsInventoryId, insOrder.getId()) // .ne(InsOrder::getInsState, -1)); // if (count1 > 0) { // throw new ErrorException("该ç¼å·éå¤"); // } // // //ä¿®æ¹æ¥åçç¼å· // insOrderMapper.update(null, Wrappers.<InsOrder>lambdaUpdate() // .eq(InsOrder::getIfsInventoryId, insOrder.getId()) // .set(InsOrder::getEntrustCode, insOrder.getEntrustCode())); // // // ä¿®æ¹æ ·åçç¼å· // // æ¥è¯¢ææçæ ·å // List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery() // .in(InsSample::getInsOrderId, insOrderIds)); // for (InsSample insSample : insSamples) { // String sampleCode = insSample.getSampleCode(); // String updateCode = insOrder.getEntrustCode(); // // æ¥æ¾æåä¸ä¸ª'-'çä½ç½® // int lastDashIndex = sampleCode.lastIndexOf('-'); // if (lastDashIndex != -1) { // int secondLastDashIndex = sampleCode.lastIndexOf('-', lastDashIndex - 1); // // å¤çæåä¸ä¸ª'-'åçé¨å // if (secondLastDashIndex != -1) { // // å¤çæåä¸ä¸ª'-'åä¹åçé¨å // String afterLastDash = sampleCode.substring(lastDashIndex); // // updateCode = updateCode + afterLastDash; // } // } // insSampleMapper.update(null, Wrappers.<InsSample>lambdaUpdate() // .eq(InsSample::getId, insSample.getId()) // .set(InsSample::getSampleCode, updateCode)); // // } // } // // @Override // public List<InsUnqualifiedRetestProduct> getRetestResult(Integer insProductId) { // return insUnqualifiedRetestProductMapper.selectList(Wrappers.<InsUnqualifiedRetestProduct>lambdaQuery() // .eq(InsUnqualifiedRetestProduct::getInsProductId, insProductId)); // } // // /** // * ä¿®æ¹éè´è®¢åæ¥æ¶ç¶æ, é¿å åæ» // * @param id // */ // @Transactional // public void updateIfsInventoryQuantity(Integer id) { // ifsInventoryQuantityMapper.update(null, Wrappers.<IfsInventoryQuantity>lambdaUpdate() // .set(IfsInventoryQuantity::getIsRegister, 1) // .eq(IfsInventoryQuantity::getId, id)); // } // // /** // * æ°å¢éåä¸ä¸å // * @param list // * @param insOrder // * @return // */ // @Override // public int addRawCopperOrder(List<SampleProductDto> list, CopperInsOrderDto insOrder) { // insOrder.setState(1); // insOrder.setTypeSource(1); // // LocalDate appointed = insOrder.getAppointed(); // // insOrderMapper.insert(insOrder); // 主表 // // list.forEach(a -> { // a.setId(null); // a.setInsOrderId(insOrder.getId()); // insSampleMapper.insert(a); // if (ObjectUtil.isNotEmpty(a.getInsProduct())) { // // 夿æ¯å¦å¡«åå¾ æ£é¡¹æ°é // if (a.getQuantity() != null) { // List<InsProduct> ip2 = new ArrayList<>(); // for (Integer i = 1; i <= a.getQuantity(); i++) { // // éæ°æ·è´ å建æ°å¯¹è±¡ // AtomicInteger atomicInteger = new AtomicInteger(i); // List<InsProduct> insProducts = a.getInsProduct().stream().map(insProduct -> { // insProduct.setRawMaterialTag(String.valueOf(atomicInteger.get())); // InsProduct product = new InsProduct(); // BeanUtils.copyProperties(insProduct, product); // return product; // }).collect(Collectors.toList()); // // ip2.addAll(insProducts); // } // addInsProductMethod(a.getId(), ip2); // } else { // addInsProductMethod(a.getId(), a.getInsProduct()); // } // } // if (ObjectUtil.isNotEmpty(a.getChildSampleList())) { // for (SampleProductDto b : a.getChildSampleList()) { // for (int i = 0; i < b.getNum(); i++) { // b.setId(null); // b.setInsOrderId(insOrder.getId()); // b.setParentId(a.getId()); // insSampleMapper.insert(b); // if (ObjectUtil.isNotEmpty(b.getInsProduct())) { // addInsProductMethod(b.getId(), b.getInsProduct()); // } // } // } // } // }); // // // æ·»å åææä¿¡æ¯ // IfsInventoryQuantity ifsInventoryQuantity = new IfsInventoryQuantity(); // // åºæ¬ä¿¡æ¯ // ifsInventoryQuantity.setIsSource(0); // ifsInventoryQuantity.setIsInspect(1); // ifsInventoryQuantity.setState(1); // ifsInventoryQuantity.setIsFinish(0); // ifsInventoryQuantity.setIsCopper(1); // ifsInventoryQuantity.setIsQuarter(0); // ifsInventoryQuantity.setInspectStatus(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.setState(1); // // // upInsOrderOfState(insOrder); // upInsOrder(insOrder.getId(), null, appointed != null ? appointed.toString() : null, SecurityUtils.getUserId().intValue(), "åææ"); // // return insOrder.getId(); // } // // /** // * ä¿®æ¹å§æä¸åç¼å· // * @param insOrder // */ // @Override // public void updateOrderEntrustCode(InsOrder insOrder) { // // 夿å½åè®¢åæ¯å¦çæäºæ¥å, çæäºæ¥åä¸è½ä¿®æ¹åå· // Long count = insReportMapper.selectCount(Wrappers.<InsReport>lambdaQuery() // .eq(InsReport::getInsOrderId, insOrder.getId())); // if (count > 0 ) { // throw new ErrorException("å½å订åå·²ç»çæäºæ¥åä¸è½ä¿®æ¹ç¼å·"); // } // // Long count1 = insOrderMapper.selectCount(Wrappers.<InsOrder>lambdaQuery() // .eq(InsOrder::getEntrustCode, insOrder.getEntrustCode())); // if (count1 > 0) { // throw new ErrorException("该ç¼å·éå¤"); // } // // //ä¿®æ¹æ¥åçç¼å· // insOrderMapper.update(null, Wrappers.<InsOrder>lambdaUpdate() // .eq(InsOrder::getId, insOrder.getId()) // .set(InsOrder::getEntrustCode, insOrder.getEntrustCode())); // // // ä¿®æ¹æ ·åçç¼å· // // æ¥è¯¢ææçæ ·å // List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery() // .eq(InsSample::getInsOrderId, insOrder.getId())); // for (InsSample insSample : insSamples) { // String sampleCode = insSample.getSampleCode(); // String updateCode = insOrder.getEntrustCode(); // // æ¥æ¾æåä¸ä¸ª'-'çä½ç½® // int lastDashIndex = sampleCode.lastIndexOf('-'); // if (lastDashIndex != -1) { // int secondLastDashIndex = sampleCode.lastIndexOf('-', lastDashIndex - 1); // // å¤çæåä¸ä¸ª'-'åçé¨å // if (secondLastDashIndex != -1) { // // å¤çæåä¸ä¸ª'-'åä¹åçé¨å // String afterLastDash = sampleCode.substring(lastDashIndex); // // updateCode = updateCode + afterLastDash; // } // } // insSampleMapper.update(null, Wrappers.<InsSample>lambdaUpdate() // .eq(InsSample::getId, insSample.getId()) // .set(InsSample::getSampleCode, updateCode)); // // } // } // // /** // * ä¿®æ¹æ£éªä¸åå 容 // * @param insOrderUpdateDto // * @return // */ // @Override // @Transactional(rollbackFor = Exception.class) // public Boolean updateInsOrder(InsOrderUpdateDto insOrderUpdateDto) { // // ä¿®æ¹è®¢å // insOrderUpdateDto.getInsOrder().setState(0); // insOrderUpdateDto.getInsOrder().setTell(""); // insOrderMapper.updateById(insOrderUpdateDto.getInsOrder()); // // // ä¿®æ¹æ£éªé¡¹ // for (SampleProductDto sampleProductDto : insOrderUpdateDto.getSampleProduct()) { // insProductService.updateBatchById(sampleProductDto.getInsProduct()); // } // // return true; // } // // /** // * æåæ ç¾æå° // * @param ids // * @return // */ // @Override // public List<InsOrderPrintingVo> labelOrderPrinting(List<Integer> ids) { // return insOrderMapper.labelOrderPrinting(ids); // } // // /** // * æ ¹æ®æ ·åidæ¥è¯¢æ£éªé¡¹æ // * @param insSampleId // * @return // */ // @Override // public List<StandardProductList> getProductTreeBySampleId(Integer insSampleId) { // // æ¥è¯¢ç¬¬ä¸ä¸ªæ£éªé¡¹è·åæ£éªé¡¹æ // InsProduct insProduct = insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery() // .eq(InsProduct::getInsSampleId, insSampleId) // .last("limit 1")); // String tree = insProduct.getFactory() + " - " + // insProduct.getLaboratory() + " - " + // insProduct.getSampleType() + " - " + // insProduct.getSample() + " - " + // insProduct.getModel(); // // æ¥è¯¢æ åæ // List<StandardProductList> standardProductLists = standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery() // .eq(StandardProductList::getStandardMethodListId, insProduct.getStandardMethodListId()) // .eq(StandardProductList::getTree, tree)); // for (StandardProductList standardProductList : standardProductLists) { // standardProductList.setId(null); // } // // return standardProductLists; // } // // /** // * æ·»å éæ¼çæ£éªé¡¹ // * @param omitOrderProductDto // * @return // */ // @Override // public boolean addOmitOrderProduct(OmitOrderProductDto omitOrderProductDto) { // if (omitOrderProductDto.getInsSampleId() == null) { // throw new ErrorException("ç¼ºå°æ ·åId"); // } // for (InsProduct product : omitOrderProductDto.getInsProductBindingList()) { // if (product.getState() == 1) { // product.setId(null); // product.setCreateTime(null); // product.setCreateUser(null); // product.setUpdateTime(null); // product.setUpdateUser(null); // product.setInsSampleId(omitOrderProductDto.getInsSampleId()); // if (StringUtils.isBlank(product.getCableTag())) { // product.setCableTag(null); // } // if (product.getInspectionItemSubclass() == null) { // product.setInspectionItemSubclass(""); // } // if (StringUtils.isBlank(product.getAsk()) || StringUtils.isBlank(product.getTell())) { // throw new ErrorException("ææ£éªé¡¹çè¦æ±å¼æè¦æ±æè¿°ä¸ºç©º, 请填åè¦æ±å¼æè¦æ±æè¿°"); // } // insProductMapper.insert(product); // } // } // // return true; // } // // /** // * æåæ£éªåå¯¼åº // * @param sampleOrderDto // * @param response // */ // @Override // public void rawAllInsOrderExport(SampleOrderDto sampleOrderDto, HttpServletResponse response) { // //å¤æå ¨é¨,个人,ç»ç»çæé // //todo:ä» çæè·åå½å人æå±å®éªå®¤id // String laboratory = null; // // 夿æ¯å¦æ¯å ¨é¨ // String isOrderAll = null; // if (sampleOrderDto.getState() != null && sampleOrderDto.getState() == -2) { // isOrderAll = "1"; // sampleOrderDto.setState(null); // } // List<SampleOrderDto> sampleOrderDtoList = insOrderMapper.rawAllInsOrderExport(QueryWrappers.queryWrappers(sampleOrderDto), laboratory, isOrderAll); // // // 夿æ¯å¦æ¯ä¸åæ ¼, ä¸åæ ¼æ¥è¯¢ä¸åæ ¼é¡¹ // for (SampleOrderDto orderDto : sampleOrderDtoList) { // if (orderDto.getInsResult() != null && orderDto.getInsResult() == 0){ // // æ¥è¯¢ä¸åæ ¼é¡¹ // List<String> unqualifiedList = insProductMapper.selectUnqualifiedList(orderDto.getId()); // orderDto.setUnqualifiedItem(CollUtil.join(unqualifiedList, ",")); // } // orderDto.setCreateTimeString(orderDto.getCreateTime() == null ? "" : orderDto.getCreateTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); // // } // // response.setContentType("application/vnd.ms-excel"); // response.setCharacterEncoding("UTF-8"); // try { // // è¿éURLEncoder.encodeå¯ä»¥é²æ¢ä¸æä¹±ç å½ç¶åeasyexcel没æå ³ç³» // String fileName = URLEncoder.encode("å§ææ£æµä¿¡æ¯å¯¼åº", "UTF-8"); // response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx"); // //æ°å»ºExcelWriter // ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).build(); // //è·åsheet0对象 // WriteSheet mainSheet = EasyExcel.writerSheet(0, "å§ææ£æµä¿¡æ¯å¯¼åº").head(SampleOrderDto.class).build(); // // //åsheet0åå ¥æ°æ® ä¼ å ¥ç©ºlistè¿æ ·åªå¯¼åºè¡¨å¤´ // excelWriter.write(sampleOrderDtoList, mainSheet); // //å ³éæµ // excelWriter.finish(); // } catch (IOException e) { // throw new RuntimeException("导åºå¤±è´¥"); // } // } // //} // // // // inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsReportServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,1174 @@ //package com.ruoyi.inspect.service.impl; // //import cn.hutool.core.util.StrUtil; //import cn.hutool.json.JSONUtil; //import com.aspose.words.*; //import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; //import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; //import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; //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.baomidou.mybatisplus.extension.service.impl.ServiceImpl; //import com.deepoove.poi.XWPFTemplate; //import com.deepoove.poi.data.Pictures; //import com.itextpdf.text.BadElementException; //import com.itextpdf.text.DocumentException; //import com.itextpdf.text.pdf.PdfContentByte; //import com.itextpdf.text.pdf.PdfReader; //import com.itextpdf.text.pdf.PdfStamper; //import com.yuanchu.mom.common.GetLook; //import com.yuanchu.mom.common.InsOrderTypeConstants; //import com.yuanchu.mom.common.PrintChina; //import com.yuanchu.mom.dto.ReportPageDto; //import com.yuanchu.mom.exception.ErrorException; //import com.yuanchu.mom.mapper.*; //import com.yuanchu.mom.pojo.*; //import com.yuanchu.mom.properties.WechatProperty; //import com.yuanchu.mom.service.InformationNotificationService; //import com.yuanchu.mom.service.InsOrderService; //import com.yuanchu.mom.service.InsReportService; //import com.yuanchu.mom.utils.DateImageUtil; //import com.yuanchu.mom.utils.IfsApiUtils; //import com.yuanchu.mom.utils.QueryWrappers; //import com.yuanchu.mom.utils.WxCpUtils; //import com.yuanchu.mom.vo.Result; //import org.apache.poi.xwpf.usermodel.*; //import org.springframework.beans.factory.annotation.Value; //import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; //import org.springframework.stereotype.Service; //import org.springframework.transaction.annotation.Transactional; //import org.springframework.web.multipart.MultipartFile; // //import javax.annotation.Resource; //import javax.imageio.ImageIO; //import java.awt.image.BufferedImage; //import java.io.*; //import java.nio.file.Files; //import java.nio.file.Path; //import java.nio.file.Paths; //import java.nio.file.StandardCopyOption; //import java.time.LocalDateTime; //import java.time.format.DateTimeFormatter; //import java.util.*; //import java.util.stream.Collectors; //import java.util.zip.ZipEntry; //import java.util.zip.ZipFile; //import java.util.zip.ZipOutputStream; // ///** // * @author Administrator // * @description é对表ãins_report(æ£éªæ¥å)ãçæ°æ®åºæä½Serviceå®ç° // * @createDate 2024-03-17 22:10:02 // */ //@Service //public class InsReportServiceImpl extends ServiceImpl<InsReportMapper, InsReport> // implements InsReportService { // // @Resource // private GetLook getLook; // @Resource // private UserMapper userMapper; // @Resource // private InsReportMapper insReportMapper; // @Resource // private InsOrderStateMapper insOrderStateMapper; // @Resource // private InsProductMapper insProductMapper; // @Resource // private InformationNotificationService informationNotificationService; // @Value("${wordUrl}") // private String wordUrl; // @Value("${file.path}") // private String imgUrl; // @Value("${file.licenseUrl}") // private String licenseUrl; // @Resource // private InsOrderMapper insOrderMapper; // @Resource // private IfsInventoryQuantityMapper ifsInventoryQuantityMapper; // @Resource // private InsUnqualifiedHandlerMapper insUnqualifiedHandlerMapper; // @Resource // private InsSampleMapper insSampleMapper; // @Resource // private ThreadPoolTaskExecutor threadPoolTaskExecutor; // @Resource // private InsOrderService insOrderService; // @Resource // private WechatProperty wechatProperty; // @Resource // private InsUnqualifiedRetestProductMapper insUnqualifiedRetestProductMapper; // @Resource // private IfsApiUtils ifsApiUtils; // @Resource // private InsSampleUserMapper insSampleUserMapper; // // // @Override // public Map<String, Object> pageInsReport(Page page, ReportPageDto reportPageDto) { // Map<String, Object> map = new HashMap<>(); // map.put("head", PrintChina.printChina(ReportPageDto.class)); // Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("pageInsReport"); // User user = userMapper.selectById(map1.get("userId"));//å½åç»å½ç人 // //è·åå½å人æå±å®éªå®¤id // String departLimsId = user.getDepartLimsId(); // String laboratory = null; //// if (ObjectUtils.isNotEmpty(departLimsId) && !departLimsId.equals("")) { //// String[] split = departLimsId.split(","); //// //æ¥è¯¢å¯¹åºæ¶æåç§°(éä¿¡å®éªå®¤,çµåå®éªå®¤,æ£æµå) //// String departLims = insOrderMapper.seldepLimsId(Integer.parseInt(split[split.length - 1])); //// if (departLims.contains("å®éªå®¤")) { //// laboratory = departLims; //// } //// } // // Integer createOrderUser = null; // if (map1.get("look") == 1) { // //个人 // createOrderUser = map1.get("userId"); // } // String queryStatus = reportPageDto.getQueryStatus(); // reportPageDto.setQueryStatus(null); // // map.put("body", insReportMapper.pageInsReport(page, // QueryWrappers.queryWrappers(reportPageDto), // laboratory, // map1.get("userId"), // queryStatus, // createOrderUser)); // return map; // } // // @Override // public int inReport(String url, Integer id) { // InsReport insReport = new InsReport(); // insReport.setId(id); // insReport.setUrlS(url); // // è¿åpdf // String tempUrlPdf = wordToPdfTemp(insReport.getUrlS().replace("/word", wordUrl)); // insReport.setTempUrlPdf("/word/" + tempUrlPdf); // return insReportMapper.updateById(insReport); // } // // @Override // public int upReportUrl(Integer id) { // InsReport report = insReportMapper.selectById(id); // // è¿åpdf // String tempUrlPdf = wordToPdfTemp(report.getUrl().replace("/word", wordUrl)); // // return insReportMapper.update(null, Wrappers.<InsReport>lambdaUpdate() // .eq(InsReport::getId, id) // .set(InsReport::getUrlS, null) // .set(InsReport::getTempUrlPdf, "/word/" + tempUrlPdf)); // } // // //æäº¤ // @Override // @Transactional(rollbackFor = Exception.class) // public int writeReport(Integer id, Integer userId, Integer submitUserId) { // submitUserId = submitUserId == null ? getLook.selectPowerByMethodAndUserId(null).get("userId") : submitUserId; // InsReport insReport = insReportMapper.selectById(id); // insReport.setId(id); // insReport.setState(1); // insReport.setWriteUserId(submitUserId);//æäº¤äºº // if (userId == null) { // throw new ErrorException("缺å°å®¡æ ¸äºº"); // } // insReport.setExamineUserId(userId);//å®¡æ ¸äºº // insReport.setWriteTime(LocalDateTime.now());//æäº¤æ¶é´ // //è·åæäº¤äººçç¾åå°å // String signatureUrl; // try { // signatureUrl = userMapper.selectById(insReport.getWriteUserId()).getSignatureUrl(); // } catch (Exception e) { // throw new ErrorException("æ¾ä¸å°ç¼å¶äººçç¾å"); // } // if (ObjectUtils.isEmpty(signatureUrl) || signatureUrl.equals("")) { // throw new ErrorException("æ¾ä¸å°æ£éªäººçç¾å"); // } // // Integer insOrderId = insReportMapper.selectById(id).getInsOrderId(); // InsOrder order = insOrderMapper.selectById(insOrderId); // boolean isRawMater = order.getTypeSource() != null && order.getTypeSource().equals(1); // // //åéæ¶æ¯ // InformationNotification info = new InformationNotification(); // info.setCreateUser(insProductMapper.selectUserById(userId).get("name")); // info.setMessageType("3"); // info.setTheme("å®¡æ ¸éç¥"); // info.setContent("æ¨æä¸æ¡æ¥åç¼å¶å¾ å®¡æ ¸æ¶æ¯, ç¼å·:" + insReport.getCode()); // info.setSenderId(submitUserId); //åé人 // info.setConsigneeId(userId); //æ¶ä»¶äºº // info.setViewStatus(false); // info.setJumpPath("b1-report-preparation"); // informationNotificationService.addInformationNotification(info); // //ç³»ç»çææ¥åå°å // String url = insReport.getUrl(); // //æå¨ä¸ä¼ æ¥åå°å // String urlS = insReport.getUrlS(); // // // 夿æ¯å¦æ¯åææ éè¦æ¿æ¢****æä¾åºå // IfsInventoryQuantity one = ifsInventoryQuantityMapper.selectOne(new LambdaQueryWrapper<IfsInventoryQuantity>() // .eq(IfsInventoryQuantity::getId, order.getIfsInventoryId())); // if (one != null) { // if (isRawMater && order.getOrderType().equals(InsOrderTypeConstants.ENTER_THE_FACTORY)) { // changeText(new HashMap<String, String>() {{ // put("**********", one.getSupplierName()); // }}, (StrUtil.isBlank(urlS) ? url : urlS).replace("/word", wordUrl)); // } // } // // wordInsertUrl(new HashMap<String, Object>() {{ // put("writeUrl", Pictures.ofLocal(imgUrl + "/" + signatureUrl).create()); // put("writeDateUrl", Pictures.ofStream(DateImageUtil.createDateImage(null)).create()); // put("insUrl", Pictures.ofLocal(imgUrl + "/" + signatureUrl).create()); // }}, (StrUtil.isBlank(urlS) ? url : urlS).replace("/word", wordUrl)); // // // ä¿®æ¹ä¸´æ¶pdf // String tempUrlPdf = wordToPdfTemp((StrUtil.isBlank(urlS) ? url : urlS).replace("/word", wordUrl)); // insReport.setTempUrlPdf("/word/" + tempUrlPdf); // // insReportMapper.updateById(insReport); // // // æ¸ ç©ºå®¡æ ¸æ¶é´, å®¡æ ¸ç¶æ // insReportMapper.update(null, Wrappers.<InsReport>lambdaUpdate() // .eq(InsReport::getId, insReport.getId()) // .set(InsReport::getRatifyTime, null) // .set(InsReport::getIsRatify, null) // .set(InsReport::getExamineTime, null) // .set(InsReport::getIsExamine, null)); // // return 1; // } // // //å®¡æ ¸ // @Override // @Transactional(rollbackFor = Exception.class) // public int examineReport(Integer id, Integer isExamine, String examineTell, Integer userId) { // InsReport insReport = insReportMapper.selectById(id); // insReport.setIsExamine(isExamine); // if (ObjectUtils.isNotEmpty(examineTell)) { // insReport.setExamineTell(examineTell); // } // // // æ£éªäºº // String userName = insProductMapper.selectUserById(insReport.getWriteUserId()).get("name"); // String userAccount = insProductMapper.selectUserById(insReport.getWriteUserId()).get("account"); // // // å®¡æ ¸äºº // Integer checkUserId = getLook.selectPowerByMethodAndUserId(null).get("userId"); // String checkUserName = insProductMapper.selectUserById(checkUserId).get("name"); // // insReport.setExamineTime(LocalDateTime.now());//å®¡æ ¸æ¶é´ // if (isExamine == 0) { // // åéä¼ä¸å¾®ä¿¡éç¥(å®¡æ ¸éå) // threadPoolTaskExecutor.execute(() -> { // // æ¥è¯¢è®¢å // InsOrder order = insOrderMapper.selectById(insReport.getInsOrderId()); // InsSample insSample = insSampleMapper.selectOne(Wrappers.<InsSample>lambdaQuery() // .eq(InsSample::getInsOrderId, insReport.getInsOrderId()) // .last("limit 1")); // // æ¥è¯¢åææ // IfsInventoryQuantity ifsInventoryQuantity = ifsInventoryQuantityMapper.selectById(order.getIfsInventoryId()); // // String message = ""; // message += "æ¥åç¼å¶å®¡æ ¸éåéç¥"; // message += "\nå®¡æ ¸äºº: " + checkUserName; // message += "\nå§æç¼å·: " + order.getEntrustCode(); // message += "\næ ·ååç§°: " + insSample.getModel(); // message += "\nè§æ ¼åå·: " + order.getPartDetail(); // if (ifsInventoryQuantity != null) { // message += "\næ¹æ¬¡å·: " + ifsInventoryQuantity.getUpdateBatchNo(); // } // message += "\néååå : " + examineTell; // //åéä¼ä¸å¾®ä¿¡æ¶æ¯éç¥ æäº¤å¤æ ¸ // try { // WxCpUtils.inform(userAccount, message, null); // } catch (Exception e) { // throw new RuntimeException(e); // } // }); // // //å¦æå®¡æ ¸ä¸éè¿ // insReport.setState(0);//æäº¤ç¶ææ¹ä¸ºå¾ æäº¤ // return insReportMapper.updateById(insReport); // } else { // if (userId == null) { // throw new ErrorException("ç¼ºå°æ¹å人"); // } // } // insReport.setRatifyUserId(userId);//æ¹å人 // //è·åå®¡æ ¸äººçç¾åå°å // String signatureUrl; // try { // signatureUrl = userMapper.selectById(insReport.getExamineUserId()).getSignatureUrl(); // } catch (Exception e) { // throw new ErrorException("æ¾ä¸å°å®¡æ ¸äººçç¾å"); // } // if (StringUtils.isBlank(signatureUrl)) { // throw new ErrorException("æ¾ä¸å°å®¡æ ¸äººçç¾å"); // } // // // æ¹å人 // String sendUserAccount = insProductMapper.selectUserById(userId).get("account"); // // //åéæ¶æ¯ // //å½åç¨æ· // Integer currentUser = getLook.selectPowerByMethodAndUserId(null).get("userId"); // InformationNotification info = new InformationNotification(); // info.setCreateUser(insProductMapper.selectUserById(userId).get("name")); // info.setMessageType("3"); // info.setTheme("æ¹åéç¥"); // info.setContent("æ¨æä¸æ¡æ¥åç¼å¶å¾ æ¹åæ¶æ¯, ç¼å·:" + insReport.getCode()); // info.setSenderId(currentUser); //åé人 // info.setConsigneeId(userId); //æ¶ä»¶äºº // info.setViewStatus(false); // info.setJumpPath("b1-report-preparation"); // informationNotificationService.addInformationNotification(info); // //ç³»ç»çææ¥åå°å // String url = insReport.getUrl(); // //æå¨ä¸ä¼ æ¥åå°å // String urlS = insReport.getUrlS(); // wordInsertUrl(new HashMap<String, Object>() {{ // put("examineUrl", Pictures.ofLocal(imgUrl + "/" + signatureUrl).create()); // put("examineDateUrl", Pictures.ofStream(DateImageUtil.createDateImage(null)).create()); // }}, (StrUtil.isBlank(urlS) ? url : urlS).replace("/word", wordUrl)); // // // ä¿®æ¹ä¸´æ¶pdf // String tempUrlPdf = wordToPdfTemp((StrUtil.isBlank(urlS) ? url : urlS).replace("/word", wordUrl)); // insReport.setTempUrlPdf("/word/" + tempUrlPdf); // // // åéä¼ä¸å¾®ä¿¡éç¥(éç¥æ¹å人审æ¹) // threadPoolTaskExecutor.execute(() -> { // // æ¥è¯¢è®¢å // InsOrder order = insOrderMapper.selectById(insReport.getInsOrderId()); // InsSample insSample = insSampleMapper.selectOne(Wrappers.<InsSample>lambdaQuery() // .eq(InsSample::getInsOrderId, insReport.getInsOrderId()) // .last("limit 1")); // // æ¥è¯¢åææ // IfsInventoryQuantity ifsInventoryQuantity = ifsInventoryQuantityMapper.selectById(order.getIfsInventoryId()); // // String message = ""; // message += "æ¥åç¼å¶æ¹åéç¥"; // message += "\næ£éªäºº: " + userName; // message += "\n夿 ¸äºº: " + checkUserName; // message += "\nå§æç¼å·: " + order.getEntrustCode(); // message += "\næ ·ååç§°: " + insSample.getModel(); // message += "\nè§æ ¼åå·: " + order.getPartDetail(); // if (ifsInventoryQuantity != null) { // message += "\nç产åå®¶: " + ifsInventoryQuantity.getSupplierName(); // message += "\næ¹æ¬¡å·: " + ifsInventoryQuantity.getUpdateBatchNo(); // } // //åéä¼ä¸å¾®ä¿¡æ¶æ¯éç¥ æäº¤å¤æ ¸ // try { // WxCpUtils.inform(sendUserAccount, message, null); // } catch (Exception e) { // throw new RuntimeException(e); // } // }); // insReportMapper.updateById(insReport); // // // æ¸ ç©ºæ¹å夿³¨, æ¹åæ¶é´, æ¹åç¶æ // insReportMapper.update(null, Wrappers.<InsReport>lambdaUpdate() // .eq(InsReport::getId, insReport.getId()) // .set(InsReport::getExamineTell, null) // .set(InsReport::getRatifyTime, null) // .set(InsReport::getIsRatify, null)); // return 1; // } // // //æ¹å // @Override // @Transactional(rollbackFor = Exception.class) // public int ratifyReport(Integer id, Integer isRatify, String ratifyTell) { // InsReport insReport = insReportMapper.selectById(id); // insReport.setIsRatify(isRatify); // if (ObjectUtils.isNotEmpty(ratifyTell)) { // insReport.setRatifyTell(ratifyTell); // } // insReport.setRatifyTime(LocalDateTime.now());//æ¹åæ¶é´ // if (isRatify == 0) { // // // æ¹å人 // Integer ratifyUserId = getLook.selectPowerByMethodAndUserId(null).get("userId"); // String ratifyUserName = insProductMapper.selectUserById(ratifyUserId).get("name"); // // // åé人(å®¡æ ¸äºº)(æ£éªäºº) // // æ£éªäºº // String userAccount = insProductMapper.selectUserById(insReport.getWriteUserId()).get("account"); // // å®¡æ ¸äºº // String checkUserAccount = insProductMapper.selectUserById(insReport.getExamineUserId()).get("account"); // // // // åéä¼ä¸å¾®ä¿¡éç¥(æ¹åéå) // threadPoolTaskExecutor.execute(() -> { // // æ¥è¯¢è®¢å // InsOrder order = insOrderMapper.selectById(insReport.getInsOrderId()); // InsSample insSample = insSampleMapper.selectOne(Wrappers.<InsSample>lambdaQuery() // .eq(InsSample::getInsOrderId, insReport.getInsOrderId()) // .last("limit 1")); // // æ¥è¯¢åææ // IfsInventoryQuantity ifsInventoryQuantity = ifsInventoryQuantityMapper.selectById(order.getIfsInventoryId()); // // String message = ""; // message += "æ¥åç¼å¶æ¹åéåéç¥"; // message += "\næ¹å人: " + ratifyUserName; // message += "\nå§æç¼å·: " + order.getEntrustCode(); // message += "\næ ·ååç§°: " + insSample.getModel(); // message += "\nè§æ ¼åå·: " + order.getPartDetail(); // if (ifsInventoryQuantity != null) { // message += "\næ¹æ¬¡å·: " + ifsInventoryQuantity.getUpdateBatchNo(); // } // message += "\néååå : " + ratifyTell; // //åéä¼ä¸å¾®ä¿¡æ¶æ¯éç¥ æäº¤å¤æ ¸ // try { // // 审æ¹äºº // WxCpUtils.inform(checkUserAccount, message, null); // // // æ£éªäºº // WxCpUtils.inform(userAccount, message, null); // } catch (Exception e) { // throw new RuntimeException(e); // } // }); // // //妿æ¹åä¸éè¿ ç´æ¥éåå°æäº¤äººé£è¾¹å» // insReport.setState(0); // insReport.setIsExamine(0); // return insReportMapper.updateById(insReport); // } // //è·åæ¹å人çç¾åå°å // String signatureUrl; // try { // signatureUrl = userMapper.selectById(insReport.getRatifyUserId()).getSignatureUrl(); // } catch (Exception e) { // throw new ErrorException("æ¾ä¸å°æ¹å人çç¾å"); // } // if (StringUtils.isBlank(signatureUrl)) { // throw new ErrorException("æ¾ä¸å°æ¹å人çç¾å"); // } // Integer insOrderId = insReportMapper.selectById(id).getInsOrderId(); // InsOrder order = insOrderMapper.selectById(insOrderId); // boolean isRawMater = order.getTypeSource() != null && order.getTypeSource().equals(1); // // //è·ååºæçæ¥åä¸ç¨ç« // String sealUrl; // String laboratory = insOrderMapper.selectById(insReport.getInsOrderId()).getLaboratory(); // try { // String type = ""; // if (isRawMater && order.getOrderType().equals(InsOrderTypeConstants.ENTER_THE_FACTORY)) { // type = "è¿åæ¥å"; // } else { // type = "å§ææ¥å"; // } // sealUrl = insReportMapper.getLaboratoryByName(laboratory, type); // } catch (Exception e) { // throw new ErrorException(laboratory + "æ¾ä¸å°æ¥åä¸ç¨ç« "); // } // if (StringUtils.isBlank(sealUrl)) { // throw new ErrorException(laboratory + "æ¾ä¸å°æ¥åä¸ç¨ç« "); // } // //ç³»ç»çææ¥åå°å // String url = insReport.getUrl(); // //æå¨ä¸ä¼ æ¥åå°å // String urlS = insReport.getUrlS(); // String finalUrl = (StrUtil.isBlank(urlS) ? url : urlS).replace("/word", wordUrl); // // wordInsertUrl(new HashMap<String, Object>() {{ // put("ratifyUrl", Pictures.ofLocal(imgUrl + "/" + signatureUrl).create()); // put("ratifyDateUrl", Pictures.ofStream(DateImageUtil.createDateImage(null)).create()); // put("seal1", Pictures.ofLocal(imgUrl + "/" + sealUrl).create()); // put("seal2", Pictures.ofLocal(imgUrl + "/" + sealUrl).create()); // }}, finalUrl); // // // ä¿®æ¹ä¸´æ¶pdf // insReport.setTempUrlPdf((StrUtil.isBlank(urlS) ? url : urlS).replace(".docx", ".pdf")); // // InsOrder insOrder = new InsOrder(); // insOrder.setId(insOrderId); // insOrder.setState(4); // insOrderMapper.updateById(insOrder); // // wordToPdf(finalUrl, sealUrl, isRawMater && order.getOrderType().equals(InsOrderTypeConstants.ENTER_THE_FACTORY)); // // // 夿æ¯å¦ä¸ºåææ // if (isRawMater) { // // ä¿®æ¹ifsåºåç¶æ // ifsInventoryQuantityMapper.update(null, new LambdaUpdateWrapper<IfsInventoryQuantity>() // .set(IfsInventoryQuantity::getState, 2) // .eq(IfsInventoryQuantity::getId, order.getIfsInventoryId())); // } // insReport.setRatifyTell(""); // // // åéæä»¶å°å§æäºº // if (StringUtils.isNotBlank(order.getPrepareCode())) { // threadPoolTaskExecutor.execute(() -> { // String message = ""; // message += "å§æç¼å·: " + order.getEntrustCode(); // message += "å§ææ ·å: " + order.getSampleView(); // message += "å·²æ£æµç»æ, è¯·æ¥æ¶"; // try { // WxCpUtils.inform(order.getPrepareCode(), message, new File(finalUrl.replace(".docx", ".pdf"))); // } catch (Exception e) { // throw new RuntimeException(e); // } // }); // } // // return insReportMapper.updateById(insReport); // } // // @Override // public int wordInsertUrl(Map<String, Object> map, String url) { // XWPFTemplate template = XWPFTemplate.compile(url).render(map); // try { // template.writeAndClose(Files.newOutputStream(Paths.get(url))); // } catch (IOException e) { // throw new RuntimeException(e); // } // return 1; // } // // // //æ¥åæ¹éä¸è½½ // @Override // @Transactional(rollbackFor = Exception.class) // public String downAll(String ids) { // List<Long> list = Arrays.stream(ids.split(",")).map(Long::parseLong).collect(Collectors.toList()); // List<InsReport> insReports = insReportMapper.selectBatchIds(list); // String zipFilePath = null; // // ä¸´æ¶æä»¶å¤¹è·¯å¾ // try { // String tempFolderPath = wordUrl + "/tempFolder"; // File tempFolder = new File(tempFolderPath); // if (tempFolder.exists()) { // deleteDirectory(tempFolder); // å 餿§çä¸´æ¶æä»¶å¤¹ // } // tempFolder.mkdirs(); // å建æ°çä¸´æ¶æä»¶å¤¹ // for (InsReport insReport : insReports) { // File sourceFile = new File((ObjectUtils.isNotEmpty(insReport.getUrlS()) ? insReport.getUrlS() : insReport.getUrl()).replace("/word", wordUrl)); // File destinationFile = new File(tempFolder, sourceFile.getName()); // Files.copy(sourceFile.toPath(), destinationFile.toPath(), StandardCopyOption.REPLACE_EXISTING); // } // // åç¼©ä¸´æ¶æä»¶å¤¹ // zipFilePath = wordUrl + "/zip/output.zip"; // zipDirectory(tempFolderPath, zipFilePath); // // // æ¸ çä¸´æ¶æä»¶å¤¹ // deleteDirectory(tempFolder); // // System.out.println("ZIPæä»¶åå»ºå®æï¼"); // } catch (IOException e) { // e.printStackTrace(); // } // return "/word/zip/output.zip"; // } // // //æ¹éä¸ä¼ // @Override // @Transactional(rollbackFor = Exception.class) // public int upAll(MultipartFile file) throws IOException { // File tempFile = null; // File unzipDir = null; // try { // tempFile = File.createTempFile(wordUrl, ".zip"); // file.transferTo(tempFile); // // unzipDir = new File("uploaded_files"); // if (!unzipDir.exists()) { // unzipDir.mkdir(); // } // unzip(tempFile, unzipDir); // // å¤çè§£ååçæä»¶ // File[] files = unzipDir.listFiles(); // if (files != null) { // for (File f : files) { // // æ ¹æ®æä»¶åæ¥è¯¢id // String name = f.getName(); // InsReport insReport = insReportMapper.selectOne(Wrappers.<InsReport>lambdaQuery().like(InsReport::getCode, f.getName().replace(".docx", "").replace("JCZX", "JCZX/"))); // if (ObjectUtils.isEmpty(insReport)) { // throw new ErrorException("æ²¡ææ¾å° " + f.getName() + " è¿ä¸ªæä»¶å¯¹åºçæ¥åæ°æ®"); // } // String urlString; // String pathName; // try { // String path = wordUrl; // File realpath = new File(path); // if (!realpath.exists()) { // realpath.mkdirs(); // } // pathName = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyMMddHHmmss")) + "_" + f.getName(); // urlString = realpath + "/" + pathName; // // å¤å¶æä»¶å°æå®è·¯å¾ // Files.copy(f.toPath(), new File(urlString).toPath(), StandardCopyOption.REPLACE_EXISTING); // inReport("/word/" + pathName, insReport.getId()); // } catch (IOException e) { // throw new ErrorException("æä»¶ä¸ä¼ 失败"); // } // } // } // } catch (IOException e) { // throw new ErrorException("æä»¶å¤ç失败"); // } finally { // if (tempFile != null && tempFile.exists()) { // tempFile.delete(); // } // // éå½å é¤è§£åç®å½åå ¶ä¸çæä»¶ // if (unzipDir.exists()) { // deleteDirectory(unzipDir); // å 餿§çä¸´æ¶æä»¶å¤¹ // } // } // return 0; // } // // // //è§£åæä»¶å¤¹ // private void unzip(File zipFile, File destDir) throws IOException { // try (ZipFile zip = new ZipFile(zipFile)) { // Enumeration<? extends ZipEntry> entries = zip.entries(); // while (entries.hasMoreElements()) { // ZipEntry entry = entries.nextElement(); // File file = new File(destDir, entry.getName()); // if (entry.isDirectory()) { // file.mkdirs(); // } else { // file.getParentFile().mkdirs(); // try (InputStream in = zip.getInputStream(entry); // OutputStream out = new FileOutputStream(file)) { // byte[] buffer = new byte[1024]; // int len; // while ((len = in.read(buffer)) > 0) { // out.write(buffer, 0, len); // } // } // } // } // } // } // // // å缩æä»¶å¤¹ // public static void zipDirectory(String sourceDirPath, String zipFilePath) throws IOException { // try (ZipOutputStream zipOut = new ZipOutputStream(new FileOutputStream(zipFilePath))) { // Path sourceDir = Paths.get(sourceDirPath); // Files.walk(sourceDir) // .filter(path -> !Files.isDirectory(path)) // .forEach(path -> { // ZipEntry zipEntry = new ZipEntry(sourceDir.relativize(path).toString()); // try { // zipOut.putNextEntry(zipEntry); // Files.copy(path, zipOut); // zipOut.closeEntry(); // } catch (IOException e) { // e.printStackTrace(); // } // }); // } // } // // // å 餿件夹åå ¶å 容 // public static void deleteDirectory(File directory) throws IOException { // if (directory.isDirectory()) { // File[] files = directory.listFiles(); // if (files != null) { // for (File file : files) { // deleteDirectory(file); // } // } // } // Files.delete(directory.toPath()); // } // // @Override // public void wordToPdf(String path, String sealUrl, boolean isRawMater) { // try { // wordToPdf(path, path.replace(".docx", ".pdf"), sealUrl, isRawMater); // } catch (Exception e) { // throw new ErrorException("转æ¢å¤±è´¥"); // } // } // // // public String wordToPdf(String wordPath, String pdfPath, String sealUrl, boolean isRawMater) { // FileOutputStream os = null; // try { // //åè¯ ä¸ç¶åæ¢åææ°´å° //// InputStream is = this.getClass().getResourceAsStream("/lib/license.xml"); //// InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream("license.xml"); // InputStream is = Files.newInputStream(new File(licenseUrl).toPath()); // License license = new License(); // license.setLicense(is); // if (!license.getIsLicensed()) { // System.out.println("Licenseéªè¯ä¸éè¿..."); // return null; // } // //çæä¸ä¸ªç©ºçPDFæä»¶ // File file; // //夿æ¯å¦æ¯è¿åæ¥å // if (!isRawMater) { // file = new File(pdfPath.replace(".pdf", "-1.pdf")); // } else { // file = new File(pdfPath.replace(".pdf", ".pdf")); // } // os = new FileOutputStream(file); // //è¦è½¬æ¢çwordæä»¶ // com.aspose.words.Document doc = new com.aspose.words.Document(wordPath); // doc.save(os, SaveFormat.PDF); // // //æ·»å éªç¼ç« // if (!isRawMater) { // stamperCheckMarkPDF(pdfPath.replace(".pdf", "-1.pdf"), pdfPath, imgUrl + "/" + sealUrl); // } // // // } catch (Exception e) { // e.printStackTrace(); // } finally { // if (os != null) { // try { // os.close(); // } catch (IOException e) { // e.printStackTrace(); // } // } // } // return null; // } // // /** // * åå²å¾ç // * // * @param Path å¾çè·¯å¾ // * @param n åå²ä»½æ° // */ // public static com.itextpdf.text.Image[] slicingImages(String Path, int n) throws IOException, BadElementException { // com.itextpdf.text.Image[] nImage = new com.itextpdf.text.Image[n]; // BufferedImage img = ImageIO.read(new File(Path)); // // int h = img.getHeight(); // int w = img.getWidth(); // // int sw = w / n; // for (int i = 0; i < n; i++) { // BufferedImage subImg; // if (i == n - 1) {//æåå©ä½é¨å // subImg = img.getSubimage(i * sw, 0, w - i * sw, h); // } else {//ån-1åååå // subImg = img.getSubimage(i * sw, 0, sw, h); // } // ByteArrayOutputStream out = new ByteArrayOutputStream(); // ImageIO.write(subImg, Path.substring(Path.lastIndexOf('.') + 1), out); // nImage[i] = com.itextpdf.text.Image.getInstance(out.toByteArray()); // // } // return nImage; // } // // /** // * çéªç¼ç« // * // * @param infilePath åPDFè·¯å¾ // * @param outFilePath è¾åºPDFè·¯å¾ // */ // public static void stamperCheckMarkPDF(String infilePath, String outFilePath, String picPath) throws IOException, DocumentException { // PdfReader reader = new PdfReader(infilePath);//éæ©éè¦å°ç« çpdf // PdfStamper stamp = new PdfStamper(reader, new FileOutputStream(outFilePath));//å å®å°ç« åçpdf // // // com.itextpdf.text.Rectangle pageSize = reader.getPageSize(1);//è·å¾ç¬¬ä¸é¡µ // float height = pageSize.getHeight(); // float width = pageSize.getWidth(); // // int nums = reader.getNumberOfPages(); // com.itextpdf.text.Image[] nImage = slicingImages(picPath, nums);//çæéªç¼ç« åå²å¾ç // // for (int n = 1; n <= nums; n++) { // PdfContentByte over = stamp.getOverContent(n);//设置å¨ç¬¬å 页æå°å°ç« // com.itextpdf.text.Image img = nImage[n - 1];//éæ©å¾ç // float newHeight = 100f; // float newWidth = img.getWidth() / (img.getHeight() / 100); // img.scaleAbsolute(newWidth, newHeight);//æ§å¶å¾çå¤§å° // img.setAbsolutePosition(width - newWidth, height / 2 - newHeight / 2);//æ§å¶å¾çä½ç½® // over.addImage(img); // } // stamp.close(); // } // // @Transactional(rollbackFor = Exception.class) // public void isRawMaterial(InsOrder insOrder) { // IfsInventoryQuantity one = ifsInventoryQuantityMapper.selectOne(new LambdaQueryWrapper<IfsInventoryQuantity>() // .eq(IfsInventoryQuantity::getId, insOrder.getIfsInventoryId())); // if (Objects.isNull(one)) { // throw new ErrorException("æ¾ä¸å°åææä¿¡æ¯"); // } // // 夿æ¯å¦æä¸åæ ¼ä¿¡æ¯ // Long count = insUnqualifiedHandlerMapper.selectCount(Wrappers.<InsUnqualifiedHandler>lambdaQuery() // .eq(InsUnqualifiedHandler::getInventoryQuantityId, one.getId())); // String toLocation = null; // // // 夿æ¯å¦æä¸åæ ¼ // Long unqualifiedCount = getUnqualifiedCount(insOrder); // // if (count.equals(0L) && unqualifiedCount.equals(0L) && one.getIsFinish().equals(0) && one.getIsSource().equals(1)) { // // åææç§»åº // toLocation = this.moveRawMaterial(one); // } // // // å¤æç»æç¶æä¿®æ¹åæ ¼ç¶æ // int inspectStatus = (count == 0 && unqualifiedCount == 0) ? 1 : 2; // insOrderMapper.update(null, Wrappers.<InsOrder>lambdaUpdate() // .eq(InsOrder::getId, insOrder.getId()) // .set(InsOrder::getInsResult, inspectStatus)); // // if (one.getIsFinish().equals(0)) { // ifsInventoryQuantityMapper.update(null, Wrappers.<IfsInventoryQuantity>lambdaUpdate() // .eq(IfsInventoryQuantity::getId, insOrder.getIfsInventoryId()) // .set(IfsInventoryQuantity::getInspectStatus, inspectStatus)); // // // ä¿®æ¹ifsåºåç¶æ // if (StringUtils.isBlank(toLocation)) { // ifsInventoryQuantityMapper.update(null, new LambdaUpdateWrapper<IfsInventoryQuantity>() // .set(IfsInventoryQuantity::getIsFinish, 1) // .eq(IfsInventoryQuantity::getId, insOrder.getIfsInventoryId())); // } else { // ifsInventoryQuantityMapper.update(null, new LambdaUpdateWrapper<IfsInventoryQuantity>() // .set(IfsInventoryQuantity::getIsFinish, 1) // .set(IfsInventoryQuantity::getToLocation, toLocation) // .eq(IfsInventoryQuantity::getId, insOrder.getIfsInventoryId())); // } // // threadPoolTaskExecutor.execute(() -> { // // ä¼ä¸å¾®ä¿¡éç¥ // String message = ""; // message += "æ£æµç»ææäº¤éç¥"; // message += "\næ¹æ¬¡å·: " + one.getUpdateBatchNo(); // message += "\né¶ä»¶å·: " + one.getPartNo(); // message += "\né¶ä»¶æè¿°: " + one.getPartDesc(); // message += "\nä¾åºååç§°: " + one.getSupplierName(); // message += "\næµè¾¾æ°é: " + one.getQtyArrived().stripTrailingZeros().toPlainString() + one.getBuyUnitMeas(); // // åéä¼ä¸inspectStatusä¿¡éç¥ // if (inspectStatus == 1) { // message += "\næ£æµç»æ: åæ ¼"; // } else { // message += "\næ£æµç»æ: ä¸åæ ¼"; // } // WxCpUtils.informWebHook(wechatProperty.getExaminingUrl(), message); // }); // // } // // // } // // /** // * 夿æ¯å¦æä¸åæ ¼ // * @param insOrder // * @return // */ // @Override // public Long getUnqualifiedCount(InsOrder insOrder) { // Long unqualifiedCount = 0L; // List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery() // .eq(InsSample::getInsOrderId, insOrder.getId())); // if (CollectionUtils.isNotEmpty(insSamples)) { // unqualifiedCount = insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery() // .in(InsProduct::getInsSampleId, insSamples.stream().map(InsSample::getId).collect(Collectors.toList())) // .eq(InsProduct::getInsResult, 0)); // // // 夿妿æä¸åæ ¼çæ£éªé¡¹, å¤æææ²¡ææ£éªé¡¹å¤æµ, 夿 ¸åæ ¼ä¹ç®åæ ¼éè¿ // if (!unqualifiedCount.equals(0L)) { // List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() // .in(InsProduct::getInsSampleId, insSamples.stream().map(InsSample::getId).collect(Collectors.toList())) // .eq(InsProduct::getInsResult, 0)); // // boolean flag = true; // for (InsProduct insProduct : insProducts) { // Long unqualifiedProductCount = insUnqualifiedRetestProductMapper.selectCount(Wrappers.<InsUnqualifiedRetestProduct>lambdaQuery() // .eq(InsUnqualifiedRetestProduct::getInsProductId, insProduct.getId()) // .ne(InsUnqualifiedRetestProduct::getInsResult, 0)); // if (unqualifiedProductCount != 2) { // flag = false; // } // } // if (flag) { // unqualifiedCount = 0L; // } // } // } // return unqualifiedCount; // } // // /** // * ifsç§»åºæä½ // * @param one // * @return // */ // @Override // public String moveRawMaterial(IfsInventoryQuantity one) { // String toLocation; // // ç»è®°éè´æ£éªç»æSTD // if (one.getIsRegister().equals(0)) { // Map<String, Object> resultMap = new HashMap<>(); // List<Map<String, Object>> resultList = new ArrayList<>(); // Map<String, Object> map = new HashMap<>(); // map.put("ORDER_NO", one.getOrderNo()); // éè´è®¢åå· // map.put("LINE_NO", one.getLineNo()); // è¡å· // map.put("RELEASE_NO", one.getReleaseNo()); // ä¸è¾¾å· // map.put("RECEIPT_NO", one.getReceiptNo()); // æ¥æ¶å· // map.put("PURCH_QTY", one.getQtyToInspect()); // è¦æ£éªçéè´æ°é // resultList.add(map); // resultMap.put("RECORD_ID", UUID.randomUUID().toString()); // resultMap.put("SYSCODE", "LIMS"); // resultMap.put("SYSMODEL", "ç»è®°éè´æ£éªç»æ"); // resultMap.put("BATCH_INFO", resultList); // Result result = ifsApiUtils.getProcurementResults(JSONUtil.toJsonStr(resultMap)); // if (result.getCode() != 200) { // throw new ErrorException("IFSç»è®°éè´æ£éªç»æå¤±è´¥: " + result.getMessage()); // } // } // insOrderService.updateIfsInventoryQuantity(one.getId()); // /** // * TODO åç»éè¦è°ç¨IFSçæ¥å£ ç§»å ¥çåºä½å· toLocation // */ // // æ£éªåç§»åº // toLocation = "1301"; // Map<String, Object> moveResultMap = new HashMap<>(); // List<Map<String, Object>> moveResultList = new ArrayList<>(); // Map<String, Object> moveMap = new HashMap<>(); // moveMap.put("ORDER_NO", one.getOrderNo()); // éè´è®¢åå· // moveMap.put("LINE_NO", one.getLineNo()); // moveMap.put("RELEASE_NO", one.getReleaseNo()); // moveMap.put("RECEIPT_NO", one.getReceiptNo()); // moveMap.put("PART_NO", one.getPartNo()); // moveMap.put("QTY", one.getQtyArrived()); // moveMap.put("LOCATION_NO", one.getLocationNo()); // moveMap.put("TO_LOCATION_NO", toLocation); // moveMap.put("LOT_BATCH_NO", one.getLotBatchNo()); // moveMap.put("SERIAL_NO", one.getSerialNo()); // moveMap.put("WAIV_DEV_REJ_NO", one.getWaivDevRejNo()); // moveMap.put("ENG_CHG_LEVEL", one.getEngChgLevel()); // moveMap.put("ACTIVITY_SEQ", one.getActivitySeq()); // moveResultList.add(moveMap); // moveResultMap.put("RECORD_ID", UUID.randomUUID().toString()); // moveResultMap.put("SYSCODE", "LIMS"); // moveResultMap.put("SYSMODEL", "æ£éªåç§»åº"); // moveResultMap.put("BATCH_INFO", moveResultList); // // Result result1 = ifsApiUtils.moveReceipt(JSONUtil.toJsonStr(moveResultMap)); // // 妿æå¿ 须为é¶ä»¶æå®æ¹å·æ¥ééè¦éæ°æäº¤ç§»åºä¿¡æ¯å»æå®æ¹å· // if (result1.getCode() != 200) { // String message = result1.getMessage(); // if (message.contains("å¿ é¡»ä¸ºé¶ä»¶") && message.contains("æå®æ¹å·")) { // updaeBatch(one, toLocation); // } else { // throw new ErrorException("IFSæ£éªåç§»åºå¤±è´¥: " + result1.getMessage()); // } // } // return toLocation; // } // // /** // * éåå°æ£éªä»»å¡ // * @param id // * @return // */ // @Override // @Transactional(rollbackFor = Exception.class) // public boolean sendBackTask(Integer id) { // InsReport report = insReportMapper.selectById(id); // // æ ¹æ®è®¢åæ¥è¯¢è¯éªå®¤ // String laboratory = insOrderMapper.selectLaboratoryByOrderId(report.getInsOrderId()); // // // ä¿®æ¹è®¢åç¶æ // insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate() // .eq(InsOrderState::getInsOrderId, report.getInsOrderId()) // .eq(InsOrderState::getLaboratory, laboratory) // .set(InsOrderState::getInsState, 4)); // // Integer insSampleId = insSampleUserMapper.selectOne(Wrappers.<InsSampleUser>lambdaQuery() // .eq(InsSampleUser::getInsSampleId, report.getInsOrderId()) // .orderByDesc(InsSampleUser::getId) // .last("limit 1")).getId(); // insSampleUserMapper.deleteById(insSampleId); // // // ä¿®æ¹æ¥åè¡ä¸ºæªæ¾ç¤º // insReportMapper.update(null, Wrappers.<InsReport>lambdaUpdate() // .eq(InsReport::getId, id) // .set(InsReport::getIsPass, 0)); // // return false; // } // // // /** // * å ä¿®æ¹éè´è®¢åæ¹æ¬¡å·, åè¿è¡ç§»åºæä½ // * @param one // * @param toLocation // */ // private void updaeBatch(IfsInventoryQuantity one, String toLocation) { // if (one.getIsUpdateBatch().equals(0)) { // // å ä¿®æ¹æ¹æ¬¡å·åè¿è¡ç§»åº // Map<String, Object> resultMap = new HashMap<>(); // List<Map<String, Object>> resultList = new ArrayList<>(); // Map<String, Object> map = new HashMap<>(); // map.put("ORDER_NO", one.getOrderNo()); // éè´è®¢åå· // map.put("LINE_NO", one.getLineNo()); // è¡å· // map.put("RELEASE_NO", one.getReleaseNo()); // ä¸è¾¾å· // map.put("RECEIPT_NO", one.getReceiptNo()); // æ¥æ¶å· // map.put("PART_NO", one.getPartNo()); //é¶ä»¶å· // map.put("CONFIGURATION_ID", one.getConfigurationId()); // é ç½®æ è¯ // map.put("LOCATION_NO", one.getLocationNo()); // åºä½å· // map.put("LOT_BATCH_NO", one.getLotBatchNo());// æ¹æ¬¡å· // map.put("NEW_LOT_BATCH_NO", one.getUpdateBatchNo()); // ç®æ æ¹æ¬¡å· // map.put("SERIAL_NO", one.getSerialNo()); // åºåå· // map.put("ENG_CHG_LEVEL", one.getEngChgLevel()); // çæ¬å· // map.put("WAIV_DEV_REJ_NO", one.getWaivDevRejNo()); // wdrå· // map.put("ACTIVITY_SEQ", one.getActivitySeq()); // æ´»å¨åºå· // map.put("QTY_TO_CHANGE", one.getQtyArrived()); // åæ´æ°é // resultList.add(map); // resultMap.put("RECORD_ID", UUID.randomUUID().toString()); // resultMap.put("SYSCODE", "LIMS"); // resultMap.put("SYSMODEL", "ä¿®æ¹éè´è®¢åæ¹æ¬¡å·"); // resultMap.put("BATCH_INFO", resultList); // // Result result = ifsApiUtils.updateMoveReceiptLot(JSONUtil.toJsonStr(resultMap)); // // if (result.getCode() != 200) { // throw new ErrorException("IFSä¿®æ¹æ¹æ¬¡å·å¤±è´¥: " + result.getMessage()); // } // ifsInventoryQuantityMapper.update(null, Wrappers.<IfsInventoryQuantity>lambdaUpdate() // .set(IfsInventoryQuantity::getIsUpdateBatch, 1) // .eq(IfsInventoryQuantity::getId, one.getId())); // } // // Map<String, Object> moveResultMap = new HashMap<>(); // List<Map<String, Object>> moveResultList = new ArrayList<>(); // Map<String, Object> moveMap = new HashMap<>(); // moveMap.put("ORDER_NO", one.getOrderNo()); // éè´è®¢åå· // moveMap.put("LINE_NO", one.getLineNo()); // moveMap.put("RELEASE_NO", one.getReleaseNo()); // moveMap.put("RECEIPT_NO", one.getReceiptNo()); // moveMap.put("PART_NO", one.getPartNo()); // moveMap.put("QTY", one.getQtyArrived()); // moveMap.put("LOCATION_NO", one.getLocationNo()); // moveMap.put("TO_LOCATION_NO", toLocation); // moveMap.put("LOT_BATCH_NO", one.getUpdateBatchNo()); // moveMap.put("SERIAL_NO", one.getSerialNo()); // moveMap.put("WAIV_DEV_REJ_NO", one.getWaivDevRejNo()); // moveMap.put("ENG_CHG_LEVEL", one.getEngChgLevel()); // moveMap.put("ACTIVITY_SEQ", one.getActivitySeq()); // moveResultList.add(moveMap); // moveResultMap.put("RECORD_ID", UUID.randomUUID().toString()); // moveResultMap.put("SYSCODE", "LIMS"); // moveResultMap.put("SYSMODEL", "æ£éªåç§»åº"); // moveResultMap.put("BATCH_INFO", moveResultList); // // Result result1 = ifsApiUtils.moveReceipt(JSONUtil.toJsonStr(moveResultMap)); // if (result1.getCode() != 200) { // throw new ErrorException("IFSæ£éªåç§»åºå¤±è´¥: " + result1.getMessage()); // } // // } // // /** // * æ¿æ¢æ®µè½ææ¬ // * @param filePath docxè§£æå¯¹è±¡ // * @param textMap éè¦æ¿æ¢çä¿¡æ¯éå // */ // public static void changeText(Map<String, String> textMap, String filePath) { // try { // FileInputStream stream = new FileInputStream(filePath); // XWPFDocument document = new XWPFDocument(stream); // List<XWPFTable> tables = document.getTables(); // for (XWPFTable table : tables) { // for (XWPFTableRow row : table.getRows()) { // for (XWPFTableCell cell : row.getTableCells()) { // // textMap.forEach((s, s2) -> { // if (cell.getText().equals(s)) { // XWPFParagraph paragraph = cell.getParagraphs().get(0); // XWPFRun oldRun = paragraph.getRuns().get(0); // // ä¿ååæ ·å¼ // String fontFamily = oldRun.getFontFamily(); // int fontSize = oldRun.getFontSize(); // String color = oldRun.getColor(); // ParagraphAlignment alignment = paragraph.getAlignment(); // // æ¿æ¢å 容 // paragraph.removeRun(0); // ç§»é¤åæç run // XWPFRun newRun = paragraph.createRun(); // newRun.setText(s2); // // åºç¨åæ ·å¼ // newRun.setFontFamily(fontFamily); // newRun.setFontSize(fontSize); // newRun.setColor(color); // paragraph.setAlignment(alignment); // } // }); // } // } // } // FileOutputStream fileOutputStream = new FileOutputStream(filePath); // document.write(fileOutputStream); // fileOutputStream.close(); // // } catch (Exception e) { // e.printStackTrace(); // throw new ErrorException(e.getMessage()); // } // } // // /** // * word转æ¢pdf // * @param path // * @return // */ // private String wordToPdfTemp(String path) { // try { // return wordToPdf(path, path.replace(".docx", "-临æ¶.pdf")); // } catch (Exception e) { // throw new ErrorException("转æ¢å¤±è´¥"); // } // } // // private String wordToPdf(String wordPath, String pdfPath) { // FileOutputStream os = null; // try { // //åè¯ ä¸ç¶åæ¢åææ°´å° // InputStream is = Files.newInputStream(new File(licenseUrl).toPath()); // License license = new License(); // license.setLicense(is); // if (!license.getIsLicensed()) { // System.out.println("Licenseéªè¯ä¸éè¿..."); // return null; // } // //çæä¸ä¸ªç©ºçPDFæä»¶ // File file; // //夿æ¯å¦æ¯è¿åæ¥å // file = new File(pdfPath); // os = new FileOutputStream(file); // //è¦è½¬æ¢çwordæä»¶ // com.aspose.words.Document doc = new com.aspose.words.Document(wordPath); // doc.save(os, SaveFormat.PDF); // String name = file.getName(); // return file.getName(); // } catch (Exception e) { // e.printStackTrace(); // } finally { // if (os != null) { // try { // os.close(); // } catch (IOException e) { // e.printStackTrace(); // } // } // } // return null; // } //} // // // // // // inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsSampleServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,22 @@ package com.ruoyi.inspect.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.inspect.mapper.InsSampleMapper; import com.ruoyi.inspect.pojo.InsSample; import com.ruoyi.inspect.service.InsSampleService; import org.springframework.stereotype.Service; /** * @author Administrator * @description é对表ãins_sample(æ£éªæ ·å)ãçæ°æ®åºæä½Serviceå®ç° * @createDate 2024-03-14 17:14:57 */ @Service public class InsSampleServiceImpl extends ServiceImpl<InsSampleMapper, InsSample> implements InsSampleService { } inspect-server/src/main/java/com/ruoyi/inspect/service/impl/RawMaterialOrderServiceImpl.java
@@ -1,861 +1,847 @@ package com.ruoyi.inspect.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.inspect.dto.RawMaterialStandardTreeDto; import com.ruoyi.basic.dto.SampleTypeDto; import com.ruoyi.basic.mapper.IfsInventoryQuantityMapper; import com.ruoyi.basic.mapper.StandardTreeMapper; import com.ruoyi.inspect.pojo.InsOrder; import com.ruoyi.inspect.service.InsOrderService; import com.ruoyi.inspect.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 "æªç¥"; } } } //package com.ruoyi.inspect.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.*; //import com.ruoyi.basic.pojo.IfsInventoryQuantity; //import com.ruoyi.common.constant.InsOrderTypeConstants; //import com.ruoyi.common.core.domain.entity.User; //import com.ruoyi.common.utils.LimsDateUtil; //import com.ruoyi.common.utils.QueryWrappers; //import com.ruoyi.common.utils.SecurityUtils; //import com.ruoyi.common.utils.WxCpUtils; //import com.ruoyi.framework.properties.WechatProperty; //import com.ruoyi.inspect.dto.CopperInsOrderDto; //import com.ruoyi.inspect.dto.RawMaterialStandardTreeDto; //import com.ruoyi.basic.mapper.IfsInventoryQuantityMapper; //import com.ruoyi.basic.mapper.StandardTreeMapper; //import com.ruoyi.inspect.dto.SampleProductDto; //import com.ruoyi.inspect.mapper.InsOrderMapper; //import com.ruoyi.inspect.mapper.InsProductMapper; //import com.ruoyi.inspect.mapper.InsSampleMapper; //import com.ruoyi.inspect.pojo.InsOrder; //import com.ruoyi.inspect.pojo.InsReport; //import com.ruoyi.inspect.service.InsOrderService; //import com.ruoyi.inspect.service.InsReportService; //import com.ruoyi.inspect.service.RawMaterialOrderService; //import com.ruoyi.common.numgen.NumberGenerator; //import com.ruoyi.framework.exception.ErrorException; //import com.ruoyi.performance.mapper.AuxiliaryOutputWorkingHoursMapper; //import com.ruoyi.performance.pojo.AuxiliaryOutputWorkingHours; //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 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 IPage<IfsInventoryQuantity> getWarehouseSubmit(IPage<IfsInventoryQuantity> page, IfsInventoryQuantity ifsInventoryQuantity) { // return standardTreeMapper.selectIfsPage(page, QueryWrappers.queryWrappers(ifsInventoryQuantity)); // } // // @Override // public IPage<IfsInventoryQuantityDto> getIfsByStateOne(IPage<IfsInventoryQuantityDto> page, IfsInventoryQuantityDto ifsInventoryQuantityDto) { // return standardTreeMapper.getIfsByStateOne(page, QueryWrappers.queryWrappers(ifsInventoryQuantityDto)); // } // // // /** // * æ¥æ£ // * @param ids // * @return // */ // @Override // public int inspectionReport(List<Integer> ids) { // Integer userId = SecurityUtils.getUserId().intValue(); // 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 = SecurityUtils.getUserId().intValue(); // 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 IPage<IfsInventoryQuantityCheckDto> selectIfsInventoryQuantity(Page<IfsInventoryQuantityCheckDto> page, IfsInventoryQuantityCheckDto ifsInventoryQuantity) { // return standardTreeMapper.selectIfsInventoryQuantity(page, QueryWrappers.queryWrappers(ifsInventoryQuantity)); // } // // /** // * æ¥è¯¢å·²æ£éª // * @param page // * @param ifsInventoryQuantityDto // * @return // */ // @Override // public IPage<IfsInventoryQuantitySupplierDto> getIfsByOver(Page<IfsInventoryQuantitySupplierDto> page, IfsInventoryQuantitySupplierDto ifsInventoryQuantityDto) { // // todo: åªçæ // String beginDeclareDate = ifsInventoryQuantityDto.getBeginDeclareDate(); // String endDeclareDate = ifsInventoryQuantityDto.getEndDeclareDate(); // ifsInventoryQuantityDto.setBeginDeclareDate(null); // ifsInventoryQuantityDto.setEndDeclareDate(null); // // return standardTreeMapper.getIfsByOver(page, QueryWrappers.queryWrappers(ifsInventoryQuantityDto), beginDeclareDate, endDeclareDate); // } // // /** // * å é¤åæææ¥æ£ä¿¡æ¯ // * @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 IPage<IfsInventoryQuantitySupplierDto> getIfsByQuarter(Page page, IfsInventoryQuantitySupplierDto ifsInventoryQuantityDto) { // // // todo: åªçæ // String beginDeclareDate = ifsInventoryQuantityDto.getBeginDeclareDate(); // String endDeclareDate = ifsInventoryQuantityDto.getEndDeclareDate(); // ifsInventoryQuantityDto.setBeginDeclareDate(null); // ifsInventoryQuantityDto.setEndDeclareDate(null); // // return standardTreeMapper.getIfsByQuarter(page, QueryWrappers.queryWrappers(ifsInventoryQuantityDto), beginDeclareDate, endDeclareDate); // } // // /** // * æåå ¥åº // * @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(SecurityUtils.getUserId().intValue());//æ£æµäºº // 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/inspect/vo/DeviationAnalyzeVo.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,58 @@ package com.ruoyi.inspect.vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; /** * åå·®åæå¯¹è±¡ * * @Author zhuo * @Date 2024/10/25 */ @Data public class DeviationAnalyzeVo { @ApiModelProperty("åå®¶æ£æµæ°æ®") private List<Object> supplierData; @ApiModelProperty("æ¬å°æ£æµæ°æ®") private List<Object> localData; @ApiModelProperty("ç»å¯¹åå·®") private List<Object> absoluteDeviation; @ApiModelProperty("å¹³åå¼") private List<Object> average; /** * åå®¶ */ @ApiModelProperty("UCL") private List<Object> supplierULC; @ApiModelProperty("LCL") private List<Object> supplierLCL; @ApiModelProperty("å¹³åå¼") private List<Object> supplierAverage; @ApiModelProperty("æå·®") private List<Object> supplierRange; /** * æ¬å° */ @ApiModelProperty("UCL") private List<Object> localULC; @ApiModelProperty("LCL") private List<Object> localLCL; @ApiModelProperty("å¹³åå¼") private List<Object> localAverage; @ApiModelProperty("æå·®") private List<Object> localRange; } inspect-server/src/main/java/com/ruoyi/inspect/vo/InsOrderPlanTaskSwitchVo.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,35 @@ package com.ruoyi.inspect.vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data public class InsOrderPlanTaskSwitchVo{ private String id; private String entrustCode; private String sampleType; @ApiModelProperty("ç´§æ¥ç¨åº¦") private String type; @ApiModelProperty("ç¶æ") private String insState; @ApiModelProperty("çº¦å®æ¶é´") private String appointed; @ApiModelProperty("ä¸åæ¶é´") private String sendTime; private Integer userId; private String sonLaboratory; private String laboratory; private Integer orderUserId; private Integer verifyUser; } inspect-server/src/main/java/com/ruoyi/inspect/vo/InsOrderPlanVO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,78 @@ package com.ruoyi.inspect.vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data public class InsOrderPlanVO{ private String id; @ApiModelProperty("å§æç¼å·") private String entrustCode; @ApiModelProperty("æ ·ååç§°") private String sample; @ApiModelProperty("æ ·ååå·") private String sampleModel; @ApiModelProperty("ç´§æ¥ç¨åº¦") private String type; @ApiModelProperty("æ£éªç±»å") private String orderType; @ApiModelProperty("ç¶æ") private String insState; @ApiModelProperty("æ£éªäºº") private String userName; @ApiModelProperty("夿 ¸äºº") private String checkName; private Integer userId; @ApiModelProperty("æ£éªå¼å§æ¶é´") private String insTime; @ApiModelProperty("çº¦å®æ¶é´") private String appointed; @ApiModelProperty("ä¸åæ¶é´") private String sendTime; @ApiModelProperty("çç±") private String verifyTell; private String sonLaboratory; private Integer orderUserId; private Integer verifyUser; @ApiModelProperty("ä¸åç±»å«") private Integer typeSource; @ApiModelProperty("åææid") private Integer ifsInventoryId; @ApiModelProperty("æ¥åå°å") private String url; @ApiModelProperty("æ°å°å") private String urlS; @ApiModelProperty("æ¯å¦æ¯éåä¸") private Integer isCopper; @ApiModelProperty("æ¥çä¸´æ¶æ¥åå°å") private String tempUrlPdf; @ApiModelProperty("æ¥åid") private String insReportId; } inspect-server/src/main/java/com/ruoyi/inspect/vo/InsOrderPrintingVo.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,47 @@ package com.ruoyi.inspect.vo; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.time.LocalDateTime; /** * @Author zhuo * @Date 2024/12/3 */ @Data public class InsOrderPrintingVo { @ApiModelProperty("订åç¼å·") private Integer insOrderId; @ApiModelProperty("æ ·ååç§°") private String sampleView; @ApiModelProperty("ç产åä½") private String production; @ApiModelProperty("è§æ ¼åå·") private String sampleModel; @ApiModelProperty("å§ææ¥æ") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime sendTime; @ApiModelProperty("å§æäºº") private String prepareUser; @ApiModelProperty("æ£æµç¼å·") private String entrustCode; @ApiModelProperty("æ ·åæ°é") private String testQuantity; @ApiModelProperty("æ¡å½¢ç ") private String labelBarCode; @ApiModelProperty("订åç¶æ") private Integer insState; } inspect-server/src/main/java/com/ruoyi/inspect/vo/ProductVo.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,22 @@ package com.ruoyi.inspect.vo; import com.ruoyi.inspect.pojo.InsProduct; import lombok.Data; @Data public class ProductVo { //ç®¡è²æ private String bushColor; //å çº¤è²æ private String color; //å 纤带ç¼å· private String code; //æ£éªé¡¹ç® private InsProduct insProduct; } inspect-server/src/main/java/com/ruoyi/inspect/vo/RawMaterialSupplierVo.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,31 @@ package com.ruoyi.inspect.vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * @Author zhuo * @Date 2024/10/24 */ @Data public class RawMaterialSupplierVo { @ApiModelProperty("订åid") private Integer OrderId; @ApiModelProperty("ä¾åºååç§°") private String supplierName; @ApiModelProperty("æ£æµç¼å·") private String entrustCode; @ApiModelProperty("æ ·ååç§°") private String sample; @ApiModelProperty("åå·") private String model; @ApiModelProperty("æ£æµå¼") private String lastValue; } inspect-server/src/main/java/com/ruoyi/inspect/vo/RawProductAnalysisVo.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,23 @@ package com.ruoyi.inspect.vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; import java.util.Map; /** * 项æ£åæè¿å对象 * * @Author zhuo * @Date 2024/10/17 */ @Data public class RawProductAnalysisVo { @ApiModelProperty("æ£éªé¡¹åç§°") private List<String> itemNames; @ApiModelProperty("æ£éªé¡¹å 容") private List<Map<String, Object>> productList; } inspect-server/src/main/java/com/ruoyi/inspect/vo/SampleDefectsChildrenVo.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,17 @@ package com.ruoyi.inspect.vo; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import java.time.LocalDateTime; @Data @AllArgsConstructor @NoArgsConstructor public class SampleDefectsChildrenVo { private String entrust_code;//å§æç¼ç private String inspection_item;//æ£éªé¡¹ private String name;//æ£éªäºº private LocalDateTime create_time;//æ£éªæ¥æ } inspect-server/src/main/java/com/ruoyi/inspect/vo/SampleDefectsFatherVo.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,17 @@ package com.ruoyi.inspect.vo; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import java.util.List; @Data @AllArgsConstructor @NoArgsConstructor public class SampleDefectsFatherVo { private Integer id;//æ ·åid private String sample;//æ ·ååç§° private List<SampleDefectsChildrenVo> children;//åç±» } inspect-server/src/main/java/com/ruoyi/inspect/vo/SampleVo.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,10 @@ package com.ruoyi.inspect.vo; import com.ruoyi.inspect.pojo.InsSample; import lombok.Data; @Data public class SampleVo extends InsSample { //è¯éªæ¹æ³ private String methodName; } inspect-server/src/main/java/com/ruoyi/inspect/vo/UnqualifiedHandlerVO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,155 @@ package com.ruoyi.inspect.vo; import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.inspect.pojo.InsUnqualifiedHandler; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; import java.time.LocalDateTime; @Data public class UnqualifiedHandlerVO extends InsUnqualifiedHandler { @ApiModelProperty("ä¸åæ ¼å¤ç主é®id") private Long handlerId; @ApiModelProperty("å") private String contract; @ApiModelProperty("订åå·") private String orderNo; @ApiModelProperty("è¡å·") private String lineNo; @ApiModelProperty("ä¸è¾¾å·") private String releaseNo; @ApiModelProperty("æ¥æ¶å·") private Integer receiptNo; @ApiModelProperty("é¶ä»¶å·") private String partNo; @ApiModelProperty("é¶ä»¶æè¿°") private String partDesc; @ApiModelProperty("ç¶ææè¿°") private String status; @ApiModelProperty("ç¶æ") private String statusDB; @ApiModelProperty("æµè¾¾çéè´æ°é") private BigDecimal qtyArrived; @ApiModelProperty("å·²æ£éªçè´ä¹°æ°é") private BigDecimal qtyInspected; @ApiModelProperty("è¦æ£éªçéè´æ°é") private BigDecimal qtyToInspect; @ApiModelProperty("ä¾åºåç¼å·") private String supplierId; @ApiModelProperty("ä¾åºååç§°") private String supplierName; @ApiModelProperty("æµè¾¾çåºåæ°é") private BigDecimal invQtyInStore; @ApiModelProperty("æµè¾¾çéè´æ°é") private BigDecimal purQtyInStore; @ApiModelProperty("é ç½®æ è¯") private String configurationId; @ApiModelProperty("æ¹å·") private String lotBatchNo; @ApiModelProperty("wdrå·") private String waivDevRejNo; @ApiModelProperty("æ´»å¨åºå") private String activitySeq; @ApiModelProperty("åºåå·") private String serialNo; @ApiModelProperty("åºä½å·") private String locationNo; @ApiModelProperty("çæ¬å·") private String engChgLevel; @ApiModelProperty("æ¥æ¶äºº") private String receiver; @ApiModelProperty("æ¥æ¶äººå§å") private String receiverName; @ApiModelProperty("éè´å") private String buyerCode; @ApiModelProperty("éè´åå§å") private String buyerName; @ApiModelProperty("å®é å°è´§æ¥æ") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") private LocalDateTime arriveDate; @ApiModelProperty("å®é äº¤è´§æ¥æ") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") private LocalDateTime deliveryDate; @ApiModelProperty("çäº§æ¥æ") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") private LocalDateTime productDate; @ApiModelProperty("å¤±ææ¥æ") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") private LocalDateTime invalidDate; @ApiModelProperty("å®¡æ¹æ¥æ") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") private LocalDateTime approvedDate; @ApiModelProperty("éè´ç³è¯·å建人") private String reqCeater; @ApiModelProperty("éè´ç³è¯·å建人å§å") private String reqCeaterName; @ApiModelProperty("éè´è®¢åè¡å¤æ³¨") private String lineRemarks; @ApiModelProperty("éè´åä½") private String buyUnitMeas; /** * æ¯å¦ä¸ºifsæå 1:æ¯ 0:å¦ */ @ApiModelProperty("æ¯å¦ä¸ºifsæå 1:æ¯ 0:å¦") private Integer isSource; /** * æåæ°é */ @ApiModelProperty("æåæ°é") private Integer number; /** * æ£éªç¶æ */ @ApiModelProperty("æ£éªç¶æ") private Integer state; @ApiModelProperty("æ¥æ¶æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") private LocalDateTime receiverDate; } inspect-server/src/main/resources/static/factory_verify.docxBinary files differ
inspect-server/src/main/resources/static/report-template.docxBinary files differ
inspect-server/src/main/resources/static/small-report-template.docxBinary files differ
inspect-server/src/main/resources/static/spot_check_quarter.docxBinary files differ
inspect-server/src/main/resources/static/spot_check_year.docxBinary files differ
performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryCorrectionHoursController.java
@@ -35,7 +35,7 @@ AuxiliaryCorrectionHoursService auxiliaryCorrectionHoursService; @ApiOperation(value = "æ¥è¯¢ä¿®æ£å·¥æ¶") @PostMapping("/selectAuxiliaryCorrectionHours") @GetMapping("/selectAuxiliaryCorrectionHours") public Result selectAuxiliaryCorrectionHours(Page page,AuxiliaryCorrectionHoursDto entity) throws Exception { return Result.success(auxiliaryCorrectionHoursService.selectAuxiliaryCorrectionHours(page, entity)); } performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryOriginalHoursController.java
@@ -25,20 +25,20 @@ AuxiliaryOriginalHoursService auxiliaryOriginalHoursService; @ApiOperation(value = "æ¥è¯¢åå§å·¥æ¶") @PostMapping("/selectAuxiliaryOriginalHours") @GetMapping("/selectAuxiliaryOriginalHours") public Result selectAuxiliaryOriginalHours(Page page, AuxiliaryOriginalHoursLookDto entity) throws Exception { return Result.success(auxiliaryOriginalHoursService.selectAuxiliaryOriginalHours(page, entity)); } @ApiOperation(value = "导åºåå§å·¥æ¶") @PostMapping("/exportOriginalHours") @GetMapping("/exportOriginalHours") public void exportOriginalHours(@RequestParam("month") String month, @RequestParam("name") String name, @RequestParam("departLims") String departLims,HttpServletResponse response) throws IOException { auxiliaryOriginalHoursService.exportWorkingHours(month,name,departLims,response); } @ApiOperation(value = "æ¥è¯¢æä»½å ¨é¨å·¥æ¶") @PostMapping("/selectAuxiliaryAllByMonth") public Result selectAuxiliaryAllByMonth(@RequestBody AuxiliaryOriginalHoursLookDto dto){ @GetMapping("/selectAuxiliaryAllByMonth") public Result selectAuxiliaryAllByMonth(AuxiliaryOriginalHoursLookDto dto){ return Result.success(auxiliaryOriginalHoursService.selectAuxiliaryAllByMonth(dto)); } } performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryOutputWorkingHoursController.java
@@ -33,15 +33,14 @@ private AuxiliaryOutputWorkingHoursService auxiliaryOutputWorkingHoursService; @ApiOperation(value = "æ¥è¯¢äº§éå·¥æ¶") @PostMapping("/selectAuxiliaryOutputWorkingHours") @GetMapping("/selectAuxiliaryOutputWorkingHours") public Result selectAuxiliaryOutputWorkingHours(Page page,AuxiliaryOutputWorkingHoursDto entity) throws Exception { return Result.success(auxiliaryOutputWorkingHoursService.selectAuxiliaryOutputWorkingHours(page, entity)); } @ApiOperation(value = "ç»è®¡äº§éå·¥æ¶æ±æ»åè¾ å©å·¥æ¶æ±æ»") @PostMapping("/collectWorkingHours") public Result collectWorkingHours(@RequestBody Map<String, Object> data)throws Exception{ AuxiliaryOutputWorkingHoursDto entity = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), AuxiliaryOutputWorkingHoursDto.class); @GetMapping("/collectWorkingHours") public Result collectWorkingHours(AuxiliaryOutputWorkingHoursDto entity)throws Exception{ return Result.success(auxiliaryOutputWorkingHoursService.collectWorkingHours(entity)); } @@ -65,9 +64,8 @@ * @throws IOException */ @ApiOperation(value = "导åºäº§éå·¥æ¶") @PostMapping("/exportOutputHours") public void exportOutputHours(@RequestBody Map<String, Object> data, HttpServletResponse response) throws Exception { AuxiliaryOutputWorkingHoursDto entity = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), AuxiliaryOutputWorkingHoursDto.class); @GetMapping("/exportOutputHours") public void exportOutputHours(AuxiliaryOutputWorkingHoursDto entity, HttpServletResponse response) throws Exception { auxiliaryOutputWorkingHoursService.exportOutputHours(entity, response); } performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryWorkingHoursController.java
@@ -8,10 +8,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.Map; @@ -33,13 +30,13 @@ private AuxiliaryWorkingHoursService auxiliaryWorkingHoursService; @ApiOperation(value="æ¥è¯¢è¾ å©å·¥æ¶") @PostMapping("/selectAuxiliaryWorkingHours") @GetMapping("/selectAuxiliaryWorkingHours") public Result selectAuxiliaryWorkingHours(Page page,AuxiliaryWorkingHours entity) throws Exception { return Result.success(auxiliaryWorkingHoursService.selectAuxiliaryWorkingHours(page,entity)); } @ApiOperation(value="å é¤è¾ å©å·¥æ¶") @PostMapping("/deleteAuxiliaryWorkingHours") @DeleteMapping("/deleteAuxiliaryWorkingHours") public Result deleteAuxiliaryWorkingHours(Integer id){ return Result.success(auxiliaryWorkingHoursService.deleteAuxiliaryWorkingHours(id)); } performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryWorkingHoursDayController.java
@@ -10,10 +10,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; @@ -39,19 +36,19 @@ private AuxiliaryWorkingHoursDayService auxiliaryWorkingHoursDayService; @ApiOperation(value = "æ¥è¯¢å·¥æ¶ç»è®¡çè¾ å©å·¥æ¶") @PostMapping("/selectAuxiliaryWorkingHoursDay") @GetMapping("/selectAuxiliaryWorkingHoursDay") public Result selectAuxiliaryWorkingHoursDay(Page page,AuxiliaryWorkingHoursDayDto entity) throws Exception { return Result.success(auxiliaryWorkingHoursDayService.selectAuxiliaryWorkingHoursDay(page, entity)); } @ApiOperation(value = "æ ¹æ®ç¼å·æ¥è¯¢è¾ å©å·¥æ¶é 置信æ¯") @PostMapping("/selectAuxiliaryWorkingHoursByNumber") @GetMapping("/selectAuxiliaryWorkingHoursByNumber") public Result selectAuxiliaryWorkingHoursByNumber(String number) { return Result.success(auxiliaryWorkingHoursDayService.selectAuxiliaryWorkingHoursByNumber(number)); } @ApiOperation(value = "æ ¹æ®ç¼å·å½åç¨æ·ä¿¡æ¯æ¥è¯¢æå¨ç次") @PostMapping("/selectshiftByUser") @GetMapping("/selectshiftByUser") public Result selectshiftByUser(LocalDateTime dateTime) { return Result.success(auxiliaryWorkingHoursDayService.selectshiftByUser(dateTime)); } @@ -81,7 +78,7 @@ } @ApiOperation(value = "å é¤å·¥æ¶ç»è®¡çè¾ å©å·¥æ¶") @PostMapping("/deleteAuxiliaryWorkingHoursDay") @DeleteMapping("/deleteAuxiliaryWorkingHoursDay") public Result deleteAuxiliaryWorkingHoursDay(Integer id) { return Result.success(auxiliaryWorkingHoursDayService.deleteAuxiliaryWorkingHoursDay(id)); } @@ -92,9 +89,8 @@ * @throws IOException */ @ApiOperation(value = "导åºè¾ å©å·¥æ¶") @PostMapping("/exportAssistantHours") public void exportAssistantHours(@RequestBody Map<String, Object> data, HttpServletResponse response) throws Exception { AuxiliaryWorkingHoursDayDto entity = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), AuxiliaryWorkingHoursDayDto.class); @GetMapping("/exportAssistantHours") public void exportAssistantHours(AuxiliaryWorkingHoursDayDto entity, HttpServletResponse response) throws Exception { auxiliaryWorkingHoursDayService.exportWorkingHours(entity, response); } performance-server/src/main/java/com/ruoyi/performance/controller/PerformanceShiftController.java
@@ -63,19 +63,19 @@ } @ApiOperation(value = "æä»½å页æ¥è¯¢") @PostMapping("page") @GetMapping("page") public Result<?> performanceShiftPage(Integer size, Integer current, String time, String userName, String laboratory) { return Result.success(performanceShiftService.performanceShiftPage(new Page<>(current, size), time, userName, laboratory)); } @ApiOperation(value = "年份å页æ¥è¯¢") @PostMapping("pageYear") @GetMapping("pageYear") public Result<?> performanceShiftPageYear(Integer size, Integer current, String time, String userName, String laboratory) { return Result.success(performanceShiftService.performanceShiftPageYear(new Page<>(current, size), time, userName, laboratory)); } @ApiOperation(value = "çæ¬¡ç¶æä¿®æ¹") @PutMapping("update") @PostMapping("update") public Result<?> performanceShiftUpdate(@RequestBody PerformanceShift performanceShift) { performanceShiftService.performanceShiftUpdate(performanceShift); return Result.success(); performance-server/src/main/java/com/ruoyi/performance/controller/ShiftTimeController.java
@@ -6,10 +6,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.*; /** * <p> @@ -35,13 +32,13 @@ } @ApiOperation(value = "æçæ¶é´é ç½®æ¥è¯¢") @PostMapping("list") @GetMapping("list") public Result<?> shiftTimeList() { return Result.success(shiftTimeService.shiftTimeList()); } @ApiOperation(value = "æçæ¶é´é ç½®å é¤") @PostMapping("remove") @DeleteMapping("remove") public Result<?> shiftTimeRemove(Long id) { return Result.success(shiftTimeService.removeById(id)); } performance-server/src/main/java/com/ruoyi/performance/mapper/AuxiliaryWorkingHoursMapper.java
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.performance.pojo.AuxiliaryWorkingHours; import org.apache.ibatis.annotations.Param; /** * <p> @@ -15,5 +16,5 @@ * @since 2024-05-09 06:58:31 */ public interface AuxiliaryWorkingHoursMapper extends BaseMapper<AuxiliaryWorkingHours> { IPage<AuxiliaryWorkingHours> selectAuxiliaryWorkingHours(Page page, QueryWrapper<AuxiliaryWorkingHours> ew); IPage<AuxiliaryWorkingHours> selectAuxiliaryWorkingHours(@Param("page") Page page, @Param("ew") QueryWrapper<AuxiliaryWorkingHours> ew); } performance-server/src/main/java/com/ruoyi/performance/mapper/PerformanceShiftMapper.java
@@ -5,7 +5,7 @@ import com.ruoyi.framework.mybatis_config.MyBaseMapper; import com.ruoyi.performance.dto.PerformanceShiftMapDto; import com.ruoyi.performance.pojo.PerformanceShift; import org.springframework.data.repository.query.Param; import org.apache.ibatis.annotations.Param; import java.util.List; import java.util.Map; @@ -31,11 +31,11 @@ @Param("userName") String userName, @Param("laboratory") String laboratory); IPage<Map<String, Object>> performanceShiftYear(Page<Object> page, String time, String userName, String laboratory); IPage<Map<String, Object>> performanceShiftYear(@Param("page") Page<Object> page, @Param("time") String time, @Param("userName") String userName, @Param("laboratory") String laboratory); List<Map<String, Object>> performanceShiftYearList(String time, String userName, String laboratory); List<Map<String, Object>> performanceShiftYearList(@Param("time") String time, @Param("userName") String userName, @Param("laboratory") String laboratory); List<PerformanceShiftMapDto> performanceShiftList(String time, String userName, String laboratory); List<PerformanceShiftMapDto> performanceShiftList(@Param("time") String time, @Param("userName") String userName, @Param("laboratory") String laboratory); String seldepLimsId(int depLimsId); String seldepLimsId(@Param("depLimsId") int depLimsId); } ruoyi-common/src/main/java/com/ruoyi/common/constant/InsOrderTypeConstants.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,19 @@ package com.ruoyi.common.constant; /** * æ£éªç±»å * * @Author zhuo * @Date 2024/8/11 */ public class InsOrderTypeConstants { // æ£éªç±»å public static final String SPOT_CHECK = "æ½æ£"; // å§ææ£éª public static final String CUSTOMER_ORDERED = "Customer-ordered test"; // è¿åæ£éª public static final String ENTER_THE_FACTORY = "è¿åæ£éª"; // å£åº¦æ£éª public static final String QUARTERLY_TEST = "Quarterly inspection"; } ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/User.java
@@ -18,10 +18,10 @@ @ApiModelProperty(value = "主é®") @TableId(type = IdType.AUTO) private Long id; private Integer id; @ApiModelProperty(value = "é¨é¨ID") private Long deptId; private Integer deptId; @ApiModelProperty(value = "ç¨æ·è´¦å·") private String account; ruoyi-common/src/main/java/com/ruoyi/common/properties/IfsProperties.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,46 @@ package com.ruoyi.common.properties; import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Configuration; /** * @Author zhuo * @Date 2024/9/29 */ @Configuration @ConfigurationProperties(prefix = "ifs") @Data public class IfsProperties { /** * å */ private String contract; /** * ç§é¥-get */ private String contractKeyGet; /** * ç§é¥-post */ private String contractKeyPost; /** * 80 */ private String custorder; /** * 8008 */ private String custorderPort; /** * 8081 */ private String erpServices; } ruoyi-common/src/main/java/com/ruoyi/common/properties/WechatProperty.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,21 @@ package com.ruoyi.common.properties; import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Configuration; /** * @author ZTT */ @Configuration @ConfigurationProperties(prefix = "wechat") @Data public class WechatProperty { /** * è£ å¤çµç¼ï¼æ¥æ£éç¥url */ private String examiningUrl; } ruoyi-common/src/main/java/com/ruoyi/common/utils/Base64.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,27 @@ package com.ruoyi.common.utils; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import javax.xml.bind.DatatypeConverter; import java.nio.charset.StandardCharsets; public class Base64 { /** * base64 ç¼ç ï¼æ¹æ³ä¸ï¼ * @explain DatatypeConverter.javaå®ç° * @param str å¾ ç¼ç å符串 * @return ç¼ç å符串 */ public static String encode(String str) { // base64å符串 String base64Str = ""; // éå符串æè¿è¡ç¼ç if (StringUtils.isNotBlank(str)) { // String 转 byte[] byte[] bytes = str.getBytes(StandardCharsets.UTF_8); // ç¼ç base64Str = DatatypeConverter.printBase64Binary(bytes); } return base64Str; } } ruoyi-common/src/main/java/com/ruoyi/common/utils/IfsApiUtils.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,180 @@ package com.ruoyi.common.utils; import cn.hutool.http.HttpRequest; import cn.hutool.json.JSONUtil; import com.alibaba.fastjson.JSONObject; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; import com.ruoyi.common.core.domain.Result; import com.ruoyi.common.properties.IfsProperties; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; import java.util.List; import java.util.Map; /** * @Author zhuo * @Date 2024/9/29 */ @Slf4j @AllArgsConstructor @Component public class IfsApiUtils { private IfsProperties ifsProperties; /** * æ¥è¯¢éè´è®¢åæªæ£éª */ private String getStock(String inAttr) { return ifsProperties.getCustorderPort() + "contract=" + ifsProperties.getContract() + "&contractKey=" + ifsProperties.getContractKeyGet() + "&procedureName=QUERY_POL_RECEIPT_STD&userId=lims_user&inAttr=" + inAttr; } public List<Map<String, Object>> getInventory(String inAttr) { String body = HttpRequest.get(getStock(inAttr)).execute().body(); ObjectMapper objectMapper = new ObjectMapper(); try { Map map = objectMapper.readValue(body, Map.class); List<Map<String, Object>> maps = objectMapper.readValue(JSONUtil.toJsonStr(map.get("LIST_INFO")), new TypeReference<List<Map<String, Object>>>() { }); log.info("è·åéè´è®¢å-->>" + maps); return maps; } catch (JsonProcessingException e) { e.printStackTrace(); throw new RuntimeException(e); } } /** * ç»è®°éè´æ£éªç»æSTD */ private String ProcurementResultsURL(String inAttr) { return ifsProperties.getCustorder() + "contract=" + ifsProperties.getContract() + "&contractKey=" + ifsProperties.getContractKeyGet() + "&procedureName=REGIST_INSPECTION_RESULTS_STD&userId=lims_user&inAttr=" + inAttr; } public Result getProcurementResults(String inAttr) { String body = HttpRequest.get(ProcurementResultsURL(inAttr)).execute().body(); log.info("ç»è®°éè´æ£éªç»æ-->" + body); ObjectMapper objectMapper = new ObjectMapper(); try { Map map = objectMapper.readValue(body, Map.class); String successFlag = map.get("SuccessFlag").toString(); if (Integer.valueOf(successFlag) == 1) { return Result.success(map); } else { return Result.fail(map.get("ErrorMsg").toString()); } } catch (JsonProcessingException e) { e.printStackTrace(); return Result.fail(e.getMessage()); } } /** * æ£éªåç§»åº */ private String getMoveReceiptApi(String inAttr) { return ifsProperties.getCustorder() + "contract=" + ifsProperties.getContract() + "&contractKey=" + ifsProperties.getContractKeyGet() + "&procedureName=MOVE_RECEIPT_STD&userId=lims_user&inAttr=" + inAttr; } /** * åæææ£éª-æ£éªåç§»åº * * @param inAttr * @return */ public Result moveReceipt(String inAttr) { String body = HttpRequest.get(getMoveReceiptApi(inAttr)).execute().body(); log.info("æ£éªåç§»åº-->" + body); ObjectMapper objectMapper = new ObjectMapper(); try { Map map = objectMapper.readValue(body, Map.class); String successFlag = map.get("SuccessFlag").toString(); if (Integer.valueOf(successFlag) == 1) { return Result.success(map); } else { return Result.fail(map.get("ErrorMsg").toString()); } } catch (JsonProcessingException e) { e.printStackTrace(); return Result.fail(e.getMessage()); } } /** * éè´æ¥æ¶æ´æ¹æ¹å· */ private String getMoveReceiptLotApi(String inAttr) { return ifsProperties.getCustorder() + "contract=" + ifsProperties.getContract() + "&contractKey=" + ifsProperties.getContractKeyGet() + "&procedureName=MODIFY_PURCH_RECEIPT_LOT_STD&userId=lims_user&inAttr=" + inAttr; } /** * åæææ£éª-æ£éªåç§»åº * * @param inAttr * @return */ public Result updateMoveReceiptLot(String inAttr) { String body = HttpRequest.get(getMoveReceiptLotApi(inAttr)).execute().body(); log.info("ä¿®æ¹éè´è®¢åæ¹æ¬¡å·-->" + body); ObjectMapper objectMapper = new ObjectMapper(); try { Map map = objectMapper.readValue(body, Map.class); String successFlag = map.get("SuccessFlag").toString(); if (Integer.valueOf(successFlag) == 1) { return Result.success(map); } else { return Result.fail(map.get("ErrorMsg").toString()); } } catch (JsonProcessingException e) { e.printStackTrace(); return Result.fail(e.getMessage()); } } /** * æ¥è¯¢åºåæ°æ® */ private String getIfsStockApi(String inAttr) { return ifsProperties.getCustorderPort() + "contract=" + ifsProperties.getContract() + "&contractKey=" + ifsProperties.getContractKeyGet() + "&procedureName=QUERY_INVENTORY_INFO_STD&userId=lims_user&inAttr=" + inAttr; } /** * æ¥è¯¢åºåæ°æ® * * @param inAttr * @return */ public Result getIfsStock(String inAttr) { JSONObject stockMap = new JSONObject(); stockMap.put("procedureName", "QUERY_INVENTORY_INFO_STD"); stockMap.put("contract", ifsProperties.getContract()); stockMap.put("contractKey", ifsProperties.getContractKeyPost()); stockMap.put("userId", "userId"); stockMap.put("inAttr", inAttr); String body = HttpRequest.post(ifsProperties.getCustorderPort()).form(stockMap).execute().body(); log.info("æ¥è¯¢åºåä¿¡æ¯-->" + body); ObjectMapper objectMapper = new ObjectMapper(); try { Map map = objectMapper.readValue(body, Map.class); String successFlag = map.get("SuccessFlag").toString(); if (Integer.valueOf(successFlag) == 1) { return Result.success(map); } else { return Result.fail(map.get("ErrorMsg").toString()); } } catch (JsonProcessingException e) { e.printStackTrace(); return Result.fail(e.getMessage()); } } } ruoyi-common/src/main/java/com/ruoyi/common/utils/IndustryChainUtils.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,93 @@ package com.ruoyi.common.utils; import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpResponse; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; public class IndustryChainUtils { private static final String CLOUD_LOGIN = "https://gym.ztt.cn:1443/openApi/v1/user/login"; private static final String CLOUD_REQUEST = "https://gym.ztt.cn:1443/openApi/codeGenerate/getCodeDetailByOrder"; //请æ±è¡¨åè´¦å· private static final String USERNAME = "ZTKJ-N002096"; //请æ±è¡¨åå¯ç private static final String PASSWORD = "Abc12345@"; //Base64æ ¼å¼ç¼ç private static final String PWDBASE64 = Base64.encode(PASSWORD); //è·åtoken public static String getToken() { HttpRequest request = HttpRequest.post(CLOUD_LOGIN) .header("Content-Type", "application/x-www-form-urlencoded") .form("username", USERNAME) .form("password", PWDBASE64); HttpResponse response = request.execute(); ObjectMapper objectMapper = new ObjectMapper(); JsonNode jsonNode; try { jsonNode = objectMapper.readTree(response.body()); //éè¿è¿åæ°æ®è·åtoken String accessToken = jsonNode.get("data").get("token").asText(); return accessToken; } catch (Exception e) { throw new RuntimeException(e.getMessage()); } } //è¾åºæææ°æ® public static String getIndustryChainAll(String orderNo, String lineNum, String releaseNum) { String token = getToken(); HttpRequest request = HttpRequest.get(CLOUD_REQUEST) .header("Authorization", "Bearer " + token) .form("orderNo", orderNo) .form("lineNum", lineNum) .form("releaseNum", releaseNum); HttpResponse response = request.execute(); ObjectMapper objectMapper = new ObjectMapper(); JsonNode jsonNode; try { jsonNode = objectMapper.readTree(response.body()); return jsonNode.toString(); } catch (Exception e) { throw new RuntimeException(e.getMessage()); } } /** * * @param orderNo 订åå· * @param lineNum è¡å· * @param releaseNum ä¸è¾¾å· * @return */ public static String getIndustryChainAttrFields(String orderNo, String lineNum, String releaseNum) { String token = getToken(); HttpRequest request = HttpRequest.get(CLOUD_REQUEST) .header("Authorization", "Bearer " + token) .form("orderNo", orderNo) .form("lineNum", lineNum) .form("releaseNum", releaseNum); HttpResponse response = request.execute(); ObjectMapper objectMapper = new ObjectMapper(); JsonNode jsonNode; try { jsonNode = objectMapper.readTree(response.body()); // 夿æ¯å¦éè¿ if (jsonNode.get("code").asInt() != 200) { return null; } JsonNode data = jsonNode.get("data"); for (JsonNode dataNode : data) { //è·åattrFieldsæ°æ® String attrFields = dataNode.get("attrFields").toPrettyString(); return attrFields; } } catch (Exception e) { throw new RuntimeException(e.getMessage()); } return null; } } ruoyi-common/src/main/java/com/ruoyi/common/utils/LimsDateUtil.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,33 @@ package com.ruoyi.common.utils; import cn.hutool.core.date.DateUtil; import java.time.LocalDateTime; /** * @Author zhuo * @Date 2024/9/28 */ public class LimsDateUtil { /** * æ¥ææ ¼å¼å°26巿份å ä¸ * @param localDateTime * @return */ public static String resetDate(LocalDateTime localDateTime) { // è·åå½åæ¥ int dayOfMonth = localDateTime.getDayOfMonth(); // 夿æ¯å¦æ¯26æ¥åä»¥ä¸ if (dayOfMonth >= 26) { // æä»½å 1 localDateTime = localDateTime.plusMonths(1); } // æ ¼å¼å为"yyMM"æ ¼å¼ String formattedDate = DateUtil.format(localDateTime, "yyMM"); return formattedDate; } }