刀具刃磨-刃磨刀具选择列表接口/ 工具报损-审批、提交 工具盘点-审批 ,提交
| | |
| | | IPage<StocktakingPoundVo> resultPage = baseToolsService.pageWithLedgerAndConfig(page, queryWrapper); |
| | | return Result.OK(resultPage); |
| | | } |
| | | |
| | | |
| | | |
| | | @GetMapping("/listWithSharpedAndConfig") |
| | | public Result<IPage<SharpeeningVo>> listWithSharpedAndConfig( |
| | | SharpeeningVo sharpeeningVo, |
| | | @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, |
| | | @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, |
| | | HttpServletRequest req) { |
| | | |
| | | // ä½¿ç¨ QueryGenerator æå»º QueryWrapper |
| | | QueryWrapper<SharpeeningVo> queryWrapper = QueryGenerator.initQueryWrapper(sharpeeningVo, req.getParameterMap()); |
| | | |
| | | Page<SharpeeningVo> page = new Page<>(pageNo, pageSize); |
| | | IPage<SharpeeningVo> resultPage = baseToolsService.pageWithSharpedAndConfig(page, queryWrapper); |
| | | return Result.OK(resultPage); |
| | | } |
| | | } |
| | |
| | | package org.jeecg.modules.tms.controller; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | import org.jeecg.common.api.vo.Result; |
| | | import org.jeecg.common.aspect.annotation.AutoLog; |
| | | import org.jeecg.common.system.query.QueryGenerator; |
| | | import org.jeecg.modules.tms.entity.ToolLedger; |
| | | import org.jeecg.modules.tms.entity.ToolSharpening; |
| | | import org.jeecg.modules.tms.entity.ToolsLossBoundDetail; |
| | | import org.jeecg.modules.tms.entity.vo.ToolSharpeningVo; |
| | | import org.jeecg.modules.tms.service.IToolsSharpeningService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | |
| | | |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | |
| | | /** |
| | | * @Description: åå
·åç£¨è®°å½ æ§å¶å¨ |
| | |
| | | /** |
| | | * å页æ¥è¯¢ |
| | | */ |
| | | @GetMapping("/list") |
| | | @ApiOperation(value = "å页æ¥è¯¢", notes = "å页æ¥è¯¢") |
| | | public Result<IPage<ToolSharpening>> queryPageList(ToolSharpening toolSharpening, |
| | | // @GetMapping("/list") |
| | | // @ApiOperation(value = "å页æ¥è¯¢", notes = "å页æ¥è¯¢") |
| | | // public Result<IPage<ToolSharpening>> queryPageList(ToolSharpening toolSharpening, |
| | | // @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, |
| | | // @RequestParam(name="pageSize", defaultValue="10") Integer pageSize) { |
| | | // Page<ToolSharpening> page = new Page<>(pageNo, pageSize); |
| | | // QueryWrapper<ToolSharpening> queryWrapper = new QueryWrapper<>(toolSharpening); |
| | | // IPage<ToolSharpening> iPage = toolSharpeningService.page(page, queryWrapper); |
| | | // return Result.OK(iPage); |
| | | // } |
| | | |
| | | |
| | | @ApiOperation(value="æ¥æç³è¯·åæç»-éè¿ä¸»è¡¨IDæ¥è¯¢", notes="æ¥æç³è¯·åæç»-éè¿ä¸»è¡¨IDæ¥è¯¢") |
| | | @GetMapping(value = "/listToolSharpening") |
| | | public Result<IPage<ToolSharpeningVo>> listToolSharpening(ToolSharpeningVo toolSharpeningVo, |
| | | @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, |
| | | @RequestParam(name="pageSize", defaultValue="10") Integer pageSize) { |
| | | Page<ToolSharpening> page = new Page<>(pageNo, pageSize); |
| | | QueryWrapper<ToolSharpening> queryWrapper = new QueryWrapper<>(toolSharpening); |
| | | IPage<ToolSharpening> iPage = toolSharpeningService.page(page, queryWrapper); |
| | | return Result.OK(iPage); |
| | | @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, |
| | | HttpServletRequest req) { |
| | | Map<String, String[]> parameterMap = req.getParameterMap(); |
| | | QueryWrapper<ToolSharpeningVo> queryWrapper = QueryGenerator.initQueryWrapper(toolSharpeningVo, parameterMap); |
| | | Page<ToolSharpeningVo> page = new Page<ToolSharpeningVo>(pageNo, pageSize); |
| | | IPage<ToolSharpeningVo> pageList = toolSharpeningService.queryPageList(page, parameterMap); |
| | | return Result.OK(pageList); |
| | | } |
| | | |
| | | /** |
| | |
| | | return Result.OK(entity); |
| | | } |
| | | |
| | | /** |
| | | * æ°å¢ |
| | | */ |
| | | @PostMapping |
| | | @ApiOperation(value = "æ°å¢", notes = "æ°å¢") |
| | | public Result<ToolSharpening> add(@RequestBody ToolSharpening toolSharpening) { |
| | | toolSharpeningService.save(toolSharpening); |
| | | return Result.OK(toolSharpening); |
| | | } |
| | | |
| | | @AutoLog(value = "tms_tool_sharpening-æ·»å ") |
| | | @ApiOperation(value="tms_tool_sharpening-æ·»å ", notes="tms_tool_sharpening-æ·»å ") |
| | | @PostMapping(value = "/add") |
| | | public Result<String> add(@RequestBody ToolSharpening toolSharpening) { |
| | | toolSharpeningService.save(toolSharpening); |
| | | return Result.OK("æ·»å æåï¼"); |
| | | } |
| | | /** |
| | | * ä¿®æ¹ |
| | | */ |
| | |
| | | import org.jeecg.modules.tms.entity.OutboundOrder; |
| | | import org.jeecg.modules.tms.entity.ToolsLossBound; |
| | | import org.jeecg.modules.tms.entity.ToolsLossBoundDetail; |
| | | import org.jeecg.modules.tms.entity.dto.LossBoundFlowDto; |
| | | import org.jeecg.modules.tms.entity.dto.OutBoundOrderFlowDto; |
| | | import org.jeecg.modules.tms.entity.vo.OutboundDetailVo; |
| | | import org.jeecg.modules.tms.enums.OutBillStatus; |
| | | import org.jeecg.modules.tms.service.IToolsLossBoundDetailService; |
| | |
| | | return Result.OK("æäº¤æå"); |
| | | } |
| | | |
| | | |
| | | |
| | | @AutoLog(value = "å®¡æ¹æµç¨") |
| | | @ApiOperation(value = "æ¥æå-å®¡æ¹æµç¨", notes = "æ¥æå-å®¡æ¹æµç¨") |
| | | @PostMapping("/approval") |
| | | public Result<?> approval(@RequestBody LossBoundFlowDto lossBoundFlowDto) { |
| | | toolsLossBoundService.approvalProcess(lossBoundFlowDto); |
| | | return Result.OK("æä½æå"); |
| | | } |
| | | /** |
| | | * æ¹éå é¤ |
| | | * @param ids |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "åºåºç³è¯·åæç»-æ¹éå é¤") |
| | | @ApiOperation(value="åºåºç³è¯·åæç»-æ¹éå é¤", notes="åºåºç³è¯·åæç»-æ¹éå é¤") |
| | | @AutoLog(value = "æ¥æåæç»-æ¹éå é¤") |
| | | @ApiOperation(value="æ¥æåæç»-æ¹éå é¤", notes="æ¥æåæç»-æ¹éå é¤") |
| | | @DeleteMapping(value = "/deleteBatchLossboundDetail") |
| | | public Result<String> deleteBatchLossboundDetail(@RequestParam(name="ids",required=true) String ids) { |
| | | this.toolsLossBoundDetailService.removeByIds(Arrays.asList(ids.split(","))); |
| | |
| | | } |
| | | |
| | | |
| | | /*--------------------------------å表å¤ç-åºåºç³è¯·åæç»-begin----------------------------------------------*/ |
| | | |
| | | /** |
| | | * éè¿ä¸»è¡¨IDæ¥è¯¢ |
| | | * @return |
| | | */ |
| | | //@AutoLog(value = "åºåºç³è¯·åæç»-éè¿ä¸»è¡¨IDæ¥è¯¢") |
| | | @ApiOperation(value="åºæ¥æç³è¯·åæç»-éè¿ä¸»è¡¨IDæ¥è¯¢", notes="åºæ¥æç³è¯·åæç»-éè¿ä¸»è¡¨IDæ¥è¯¢") |
| | | |
| | | @ApiOperation(value="æ¥æç³è¯·åæç»-éè¿ä¸»è¡¨IDæ¥è¯¢", notes="æ¥æç³è¯·åæç»-éè¿ä¸»è¡¨IDæ¥è¯¢") |
| | | @GetMapping(value = "/listlossboundDetailByMainId") |
| | | public Result<IPage<ToolsLossBoundDetail>> listlossboundDetailByMainId(ToolsLossBoundDetail toolsLossBoundDetail, |
| | | @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, |
| | |
| | | import org.jeecg.modules.tms.entity.BaseTools; |
| | | import org.jeecg.modules.tms.entity.ToolsStocktakingBound; |
| | | import org.jeecg.modules.tms.entity.ToolsStocktakingBoundDetail; |
| | | import org.jeecg.modules.tms.entity.dto.LossBoundFlowDto; |
| | | import org.jeecg.modules.tms.entity.dto.StocktakingBoundFlowDto; |
| | | import org.jeecg.modules.tms.entity.vo.ToolsStocktakingVo; |
| | | import org.jeecg.modules.tms.enums.OutBillStatus; |
| | | import org.jeecg.modules.tms.mapper.ToolsStocktakingBoundMapper; |
| | |
| | | return Result.OK("æäº¤æå"); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * å®¡æ¹æµç¨ |
| | | * @param stocktakingBoundFlowDto |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "å®¡æ¹æµç¨") |
| | | @ApiOperation(value = "æ¥æå-å®¡æ¹æµç¨", notes = "æ¥æå-å®¡æ¹æµç¨") |
| | | @PostMapping("/approval") |
| | | public Result<?> approval(@RequestBody StocktakingBoundFlowDto stocktakingBoundFlowDto) { |
| | | toolsStocktakingBoundService.approvalProcess(stocktakingBoundFlowDto); |
| | | return Result.OK("æä½æå"); |
| | | } |
| | | /** |
| | | * ç¼è¾ |
| | | * |
| | |
| | | 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.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | | import org.jeecg.common.aspect.annotation.Dict; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | /** |
| | | * @Description: tms_tool_sharpening |
| | |
| | | private String toolId; |
| | | |
| | | /** å磨æ¶é´ */ |
| | | @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") |
| | | @ApiModelProperty(value = "å磨æ¶é´") |
| | | private Date sharpeningTime; |
| | | |
| | |
| | | |
| | | /** 责任人 */ |
| | | @ApiModelProperty(value = "责任人") |
| | | @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "id") |
| | | private String responsiblePerson; |
| | | |
| | | /** 夿³¨ */ |
| | |
| | | private String createBy; |
| | | |
| | | /** å建æ¶é´ */ |
| | | @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") |
| | | @ApiModelProperty(value = "å建æ¶é´") |
| | | private Date createTime; |
| | | |
| | |
| | | private String updateBy; |
| | | |
| | | /** æ´æ°æ¶é´ */ |
| | | @ApiModelProperty(value = "æ´æ°æ¶é´") |
| | | private Date updateTime; |
| | | @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") |
| | | @ApiModelProperty(value = "æ´æ°æ¥æ") |
| | | private java.util.Date updateTime; |
| | | } |
| | |
| | | @ApiModelProperty(value = "çç¹æ¶é´") |
| | | private java.util.Date inventoryTime; |
| | | |
| | | |
| | | /** |
| | | * å®¡æ ¸æ¶é´ |
| | | */ |
| | | @Excel(name = "approvalDate", width = 20, format = "yyyy-MM-dd HH:mm:ss") |
| | | @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @ApiModelProperty(value = "å®¡æ ¸æ¶é´") |
| | | private java.util.Date approvalDate; |
| | | |
| | | @TableField(exist = false) |
| | | private List<ToolsStocktakingBoundDetail> toolsStocktakingBoundDetailList; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.jeecg.modules.tms.entity.dto; |
| | | |
| | | import lombok.Data; |
| | | import org.jeecg.modules.flowable.domain.vo.FlowTaskVo; |
| | | |
| | | @Data |
| | | public class LossBoundFlowDto extends FlowTaskVo { |
| | | //审æ¹ç¶æ |
| | | private String status; |
| | | //å®¡æ¹æè§ |
| | | private String approvalOpinion; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.jeecg.modules.tms.entity.dto; |
| | | |
| | | import lombok.Data; |
| | | import org.jeecg.modules.flowable.domain.vo.FlowTaskVo; |
| | | |
| | | @Data |
| | | public class StocktakingBoundFlowDto extends FlowTaskVo { |
| | | //审æ¹ç¶æ |
| | | private String status; |
| | | //å®¡æ¹æè§ |
| | | private String approvalOpinion; |
| | | } |
| | |
| | | private String positionCode; |
| | | |
| | | @ApiModelProperty(value = "å·¥å
·ç±»å;1.éç¨ 2.ä¸ç¨") |
| | | private java.lang.String applicationType; |
| | | private String applicationType; |
| | | |
| | | @ApiModelProperty(value = "åå®¶") |
| | | private java.lang.String supplierId; |
| | | private String supplierId; |
| | | |
| | | @ApiModelProperty(value = "ä»åºç份åå¸") |
| | | private java.lang.String provinceCity; |
| | | private String provinceCity; |
| | | |
| | | @ApiModelProperty(value = "åå¨ä½ç½®ï¼åé£ä¸ªååºçåºï¼") |
| | | private java.lang.String storageLocation; |
| | | private String storageLocation; |
| | | |
| | | @ApiModelProperty(value = "计é主åä½") |
| | | private java.lang.String mainUnit; |
| | | private String mainUnit; |
| | | |
| | | @ApiModelProperty(value = "计éè¾
åä½") |
| | | private java.lang.String auxiliaryUnit; |
| | | private String auxiliaryUnit; |
| | | |
| | | @ApiModelProperty(value = "æ¯å¦æè®¡éè¾
åä½;1,æè¾
å©åä½2.æ è¾
å©åä½") |
| | | private java.lang.String auxiliaryUnitFlag; |
| | | private String auxiliaryUnitFlag; |
| | | |
| | | @ApiModelProperty(value = "åä»·") |
| | | private java.math.BigDecimal price; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.jeecg.modules.tms.entity.vo; |
| | | |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | | import org.jeecg.common.aspect.annotation.Dict; |
| | | |
| | | @Data |
| | | @Accessors(chain = true) |
| | | @EqualsAndHashCode(callSuper = false) |
| | | public class SharpeeningVo { |
| | | private String id; |
| | | |
| | | @Dict(dictTable = "tms_tools_classify", dicText = "type_name", dicCode = "id") |
| | | private String classifyId; |
| | | |
| | | private String toolCode; |
| | | |
| | | private String foreignLanguageName; |
| | | private String standardLevel; |
| | | private String standardCode; |
| | | private String toolModel; |
| | | @Dict(dicCode = "tool_para_type") |
| | | private String paramaTableName; |
| | | private Integer totalCount; |
| | | @Dict(dicCode = "application_type") |
| | | private String applicationType; |
| | | private String chineseName; |
| | | private String supplierId; |
| | | private String storageLocation; |
| | | private String mainUnit; |
| | | private String toolId; |
| | | private String positionCode; |
| | | private String warehouseId; |
| | | private String provinceCity; |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.jeecg.modules.tms.entity.vo; |
| | | |
| | | 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.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | | import org.jeecg.common.aspect.annotation.Dict; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | import java.io.Serializable; |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * @Description: tms_tool_sharpening |
| | | * @Author: houjie |
| | | * @Date: 2025-05-10 |
| | | * @Version: V1.0 |
| | | */ |
| | | @Data |
| | | @TableName("tms_tool_sharpening") |
| | | @Accessors(chain = true) |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @ApiModel(value="ToolSharpening对象", description="åå
·å磨记å½å®ä½ç±»") |
| | | public class ToolSharpeningVo implements Serializable { |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** 主é®ID */ |
| | | @TableId(type = IdType.ASSIGN_ID) |
| | | @ApiModelProperty(value = "主é®ID") |
| | | private String id; |
| | | |
| | | /** å·¥å
·ç¼ç */ |
| | | @ApiModelProperty(value = "å·¥å
·ç¼ç ") |
| | | private String toolCode; |
| | | |
| | | /** å·¥å
·ç¼å· */ |
| | | @ApiModelProperty(value = "å·¥å
·ç¼å·") |
| | | private String toolId; |
| | | |
| | | /** å磨æ¶é´ */ |
| | | @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") |
| | | @ApiModelProperty(value = "å磨æ¶é´") |
| | | private Date sharpeningTime; |
| | | |
| | | /** åç£¨ç»æå建议 */ |
| | | @ApiModelProperty(value = "åç£¨ç»æå建议") |
| | | private String sharpeningResult; |
| | | |
| | | /** 责任人 */ |
| | | @ApiModelProperty(value = "责任人") |
| | | @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "id") |
| | | private String responsiblePerson; |
| | | |
| | | /** 夿³¨ */ |
| | | @ApiModelProperty(value = "夿³¨") |
| | | private String remark; |
| | | |
| | | /** ç§æ·å· */ |
| | | @ApiModelProperty(value = "ç§æ·å·") |
| | | private String tenantId; |
| | | |
| | | /** å建人 */ |
| | | @ApiModelProperty(value = "å建人") |
| | | private String createBy; |
| | | |
| | | /** å建æ¶é´ */ |
| | | @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") |
| | | @ApiModelProperty(value = "å建æ¶é´") |
| | | private Date createTime; |
| | | |
| | | /** æ´æ°äºº */ |
| | | @ApiModelProperty(value = "æ´æ°äºº") |
| | | private String updateBy; |
| | | |
| | | /** æ´æ°æ¶é´ */ |
| | | @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") |
| | | @ApiModelProperty(value = "æ´æ°æ¥æ") |
| | | private Date updateTime; |
| | | |
| | | @Dict(dictTable = "tms_tools_classify" , dicText = "type_name", dicCode = "id") |
| | | @ApiModelProperty(value = "å·¥å
·åç±»") |
| | | private String classifyId; |
| | | |
| | | |
| | | @Dict(dicCode = "tool_para_type") |
| | | @ApiModelProperty(value = "å·¥å
·åç±»ç¼ç ") |
| | | private String paramaTableName; |
| | | |
| | | @ApiModelProperty(value = "å·¥å
·åç§°") |
| | | private String typeName; |
| | | |
| | | |
| | | @Dict(dicCode = "application_type") |
| | | @ApiModelProperty(value = "å·¥å
·åç±»ç¼ç ") |
| | | private String applicationType; |
| | | |
| | | |
| | | @ApiModelProperty(value = "åå·/è§å") |
| | | private String toolModel; |
| | | |
| | | @ApiModelProperty(value = "ä»åºåå¸") |
| | | private String provinceCity; |
| | | |
| | | @ApiModelProperty(value = "䏿åå") |
| | | private String chineseName; |
| | | |
| | | @ApiModelProperty(value = "åå®¶") |
| | | private String supplierId; |
| | | |
| | | @ApiModelProperty(value = "åå¨ä½ç½®") |
| | | private String positionCode; |
| | | |
| | | |
| | | @ApiModelProperty(value = "计ç®ä¸»åä½") |
| | | private String mainUnit; |
| | | |
| | | |
| | | @ApiModelProperty(value = "åºåº/åºå·") |
| | | private String warehouseId; |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | @Param(Constants.WRAPPER) Wrapper<ParaBladeVo> queryWrapper); |
| | | |
| | | IPage<StocktakingPoundVo> pageWithLedgerAndConfig(Page<StocktakingPoundVo> page, @Param(Constants.WRAPPER) Wrapper<StocktakingPoundVo> wrapper); |
| | | |
| | | IPage<SharpeeningVo> pageWithSharpedAndConfig(Page<SharpeeningVo> page, @Param(Constants.WRAPPER) Wrapper<SharpeeningVo> wrapper); |
| | | } |
| | |
| | | package org.jeecg.modules.tms.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.Wrapper; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.Constants; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import org.apache.ibatis.annotations.Param; |
| | | import org.jeecg.modules.tms.entity.OutboundDetail; |
| | | import org.jeecg.modules.tms.entity.OutboundOrder; |
| | | import org.jeecg.modules.tms.entity.ToolSharpening; |
| | | import org.jeecg.modules.tms.entity.vo.OutboundDetailVo; |
| | | import org.jeecg.modules.tms.entity.vo.ToolSharpeningVo; |
| | | |
| | | /** |
| | | * @Description: tms_tool_sharpening Mapper æ¥å£ |
| | |
| | | * @Date: 2025-05-10 |
| | | */ |
| | | public interface ToolsSharpeningMapper extends BaseMapper<ToolSharpening> { |
| | | // å¯èªå®ä¹æ¥è¯¢æ¹æ³ |
| | | IPage<ToolSharpeningVo> queryPageList(Page<ToolSharpeningVo> page, |
| | | @Param(Constants.WRAPPER) Wrapper<ToolSharpeningVo> queryWrapper); |
| | | } |
| | |
| | | ORDER BY t.create_time DESC |
| | | </select> |
| | | |
| | | |
| | | <select id="pageWithSharpedAndConfig" resultType="org.jeecg.modules.tms.entity.vo.SharpeeningVo"> |
| | | SELECT |
| | | t.id, |
| | | t.classify_id AS classifyId, |
| | | t.tool_code AS toolCode, |
| | | t.foreign_language_name AS foreignLanguageName, |
| | | t.standard_level AS standardLevel, |
| | | t.standard_code AS standardCode, |
| | | t.tool_model AS toolModel, |
| | | t.parama_table_name AS paramaTableName, |
| | | t.tool_id AS toolId, |
| | | t1.total_count AS totalCount, |
| | | t1.available_count AS availableCount, |
| | | t4.position_code AS positionCode, |
| | | t3.application_type AS applicationType, |
| | | t3.chinese_name AS chineseName, |
| | | t3.supplier_id AS supplierId, |
| | | t3.storage_location AS storageLocation, |
| | | t3.main_unit AS mainUnit, |
| | | t4.warehouse_id AS warehouseId, |
| | | t3.province_city AS provinceCity |
| | | |
| | | FROM tms_base_tools t |
| | | LEFT JOIN tms_tool_ledger t1 ON t1.tool_id = t.id |
| | | LEFT JOIN tms_tools_config_property t3 ON t3.tool_code = t.id |
| | | LEFT JOIN tms_tool_ledger_detail t4 ON t4.tool_code = t.id |
| | | |
| | | <where> |
| | | <if test="ew.paramNameValuePairs.toolCode != null and ew.paramNameValuePairs.toolCode != ''"> |
| | | AND t.tool_code LIKE CONCAT('%', #{ew.paramNameValuePairs.toolCode}, '%') |
| | | </if> |
| | | </where> |
| | | |
| | | ORDER BY t.create_time DESC |
| | | </select> |
| | | |
| | | </mapper> |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="org.jeecg.modules.tms.mapper.ToolsSharpeningMapper"> |
| | | |
| | | <select id="queryPageList" resultType="org.jeecg.modules.tms.entity.vo.ToolSharpeningVo"> |
| | | SELECT |
| | | t.*, |
| | | t1.classify_id AS classifyId, |
| | | t1.parama_table_name AS paramaTableName, |
| | | t2.type_name AS typeName, |
| | | t3.application_type AS applicationType, |
| | | t3.tool_model AS toolModel, |
| | | t3.province_city AS provinceCity, |
| | | t3.chinese_name AS chineseName, |
| | | t3.supplier_id AS supplierId, |
| | | t3.storage_location AS storageLocation, |
| | | t3.main_unit AS mainUnit, |
| | | t4.position_code AS positionCode, |
| | | t4.warehouse_id AS warehouseId |
| | | FROM tms_tool_sharpening t |
| | | LEFT JOIN tms_base_tools t1 ON t1.id = t.tool_code |
| | | LEFT JOIN tms_tools_classify t2 ON t1.classify_id = t2.id |
| | | LEFT JOIN tms_tools_config_property t3 ON t3.tool_code = t.tool_id |
| | | LEFT JOIN tms_tool_ledger_detail t4 ON t4.tool_code = t.tool_id |
| | | ${ew.customSqlSegment} |
| | | </select> |
| | | </mapper> |
| | |
| | | |
| | | IPage<ParaBladeVo> paraBladeList(Page<ParaBladeVo> page, Map<String, String[]> parameterMap); |
| | | IPage<StocktakingPoundVo> pageWithLedgerAndConfig(Page<StocktakingPoundVo> page, QueryWrapper<StocktakingPoundVo> queryWrapper); |
| | | IPage<SharpeeningVo> pageWithSharpedAndConfig(Page<SharpeeningVo> page, QueryWrapper<SharpeeningVo> queryWrapper); |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import org.jeecg.modules.tms.entity.ToolsLossBound; |
| | | import org.jeecg.modules.tms.entity.dto.LossBoundFlowDto; |
| | | |
| | | import java.io.Serializable; |
| | | import java.util.Collection; |
| | |
| | | * @return |
| | | */ |
| | | boolean submintOrder(String id); |
| | | |
| | | |
| | | void approvalProcess(LossBoundFlowDto lossBoundFlowDto); |
| | | } |
| | |
| | | package org.jeecg.modules.tms.service; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import org.jeecg.modules.tms.entity.ToolSharpening; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import org.jeecg.modules.tms.entity.ToolsLossBoundDetail; |
| | | import org.jeecg.modules.tms.entity.vo.ToolSharpeningVo; |
| | | |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * @Description: åå
·åç£¨è®°å½ Service æ¥å£ |
| | |
| | | * @Date: 2025-05-10 |
| | | */ |
| | | public interface IToolsSharpeningService extends IService<ToolSharpening> { |
| | | |
| | | IPage<ToolSharpeningVo> queryPageList(Page<ToolSharpeningVo> page, Map<String, String[]> parameterMap); |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import org.jeecg.modules.tms.entity.ToolsStocktakingBound; |
| | | import org.jeecg.modules.tms.entity.ToolsStocktakingBoundDetail; |
| | | import org.jeecg.modules.tms.entity.dto.LossBoundFlowDto; |
| | | import org.jeecg.modules.tms.entity.dto.StocktakingBoundFlowDto; |
| | | import org.jeecg.modules.tms.entity.vo.StocktakingPoundVo; |
| | | |
| | | import java.io.Serializable; |
| | | import java.util.Collection; |
| | |
| | | */ |
| | | boolean submintOrder(String id); |
| | | |
| | | /** |
| | | * å®¡æ¹æµç¨ |
| | | * @param stocktakingBoundFlowDto |
| | | */ |
| | | void approvalProcess(StocktakingBoundFlowDto stocktakingBoundFlowDto); |
| | | |
| | | } |
| | |
| | | public IPage<StocktakingPoundVo> pageWithLedgerAndConfig(Page<StocktakingPoundVo> page, QueryWrapper<StocktakingPoundVo> queryWrapper) { |
| | | return baseMapper.pageWithLedgerAndConfig(page, queryWrapper); |
| | | } |
| | | |
| | | @Override |
| | | public IPage<SharpeeningVo> pageWithSharpedAndConfig(Page<SharpeeningVo> page, QueryWrapper<SharpeeningVo> queryWrapper) { |
| | | return baseMapper.pageWithSharpedAndConfig(page, queryWrapper); |
| | | } |
| | | } |
| | |
| | | import cn.hutool.core.bean.BeanUtil; |
| | | import cn.hutool.core.collection.CollectionUtil; |
| | | import cn.hutool.core.util.StrUtil; |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.apache.shiro.SecurityUtils; |
| | | import org.flowable.engine.TaskService; |
| | | import org.flowable.task.api.Task; |
| | | import org.jeecg.common.api.vo.Result; |
| | | import org.jeecg.common.exception.JeecgBootException; |
| | | import org.jeecg.common.system.vo.LoginUser; |
| | | import org.jeecg.modules.flowable.apithird.business.entity.FlowMyBusiness; |
| | | import org.jeecg.modules.flowable.apithird.business.service.IFlowMyBusinessService; |
| | | import org.jeecg.modules.flowable.apithird.service.FlowCallBackServiceI; |
| | | import org.jeecg.modules.flowable.apithird.service.FlowCommonService; |
| | | import org.jeecg.modules.flowable.service.IFlowDefinitionService; |
| | |
| | | import org.jeecg.modules.system.service.ISysBusinessCodeRuleService; |
| | | import org.jeecg.modules.tms.entity.ToolsLossBound; |
| | | import org.jeecg.modules.tms.entity.ToolsLossBoundDetail; |
| | | import org.jeecg.modules.tms.entity.dto.LossBoundFlowDto; |
| | | import org.jeecg.modules.tms.enums.OutBillStatus; |
| | | import org.jeecg.modules.tms.enums.OutBoundStatusEnum; |
| | | import org.jeecg.modules.tms.mapper.ToolsLossBoundDetailMapper; |
| | | import org.jeecg.modules.tms.mapper.ToolsLossBoundMapper; |
| | | import org.jeecg.modules.tms.service.IToolsLossBoundDetailService; |
| | |
| | | private IFlowTaskService flowTaskService; |
| | | @Autowired |
| | | private ISysBusinessCodeRuleService businessCodeRuleService; |
| | | |
| | | @Autowired |
| | | private IFlowMyBusinessService flowMyBusinessService; |
| | | @Autowired |
| | | private TaskService taskService; |
| | | |
| | | @Override |
| | | public void delMain(String id) { |
| | |
| | | } |
| | | |
| | | @Override |
| | | public void approvalProcess(LossBoundFlowDto lossBoundFlowDto) { |
| | | if (StrUtil.isBlank(lossBoundFlowDto.getTaskId()) || StrUtil.isBlank(lossBoundFlowDto.getDataId())) { |
| | | throw new JeecgBootException("鿳忰ï¼"); |
| | | } |
| | | |
| | | // è·åå½åç»å½ç¨æ· |
| | | LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); |
| | | if (user == null || StrUtil.isBlank(user.getId())) { |
| | | throw new JeecgBootException("è´¦å·ä¸åå¨"); |
| | | } |
| | | |
| | | //è·åæ¥æåä¿¡æ¯ |
| | | ToolsLossBound toolsLossBound = getById(lossBoundFlowDto.getDataId()); |
| | | if (toolsLossBound == null) { |
| | | throw new JeecgBootException("æªæ¾å°å¯¹åºçåºåºç³è¯·åï¼"); |
| | | } |
| | | |
| | | //è·åæµç¨ä¸å¡è®°å½ |
| | | FlowMyBusiness flowMyBusiness = getFlowMyBusiness(lossBoundFlowDto.getInstanceId()); |
| | | if (flowMyBusiness == null) { |
| | | throw new JeecgBootException("æµç¨è®°å½ä¸åå¨"); |
| | | } |
| | | |
| | | // æ£æ¥ç¨æ·æ¯å¦ææéæä½ä»»å¡ |
| | | if (!isUserAuthorized(flowMyBusiness, user)) { |
| | | throw new JeecgBootException("ç¨æ·æ ææä½æ¤ä»»å¡"); |
| | | } |
| | | |
| | | // 认é¢ä»»å¡ |
| | | if (!claimTask(flowMyBusiness.getTaskId(), user)) { |
| | | throw new JeecgBootException("ä»»å¡ä¸åå¨ã已宿æå·²è¢«ä»äººè®¤é¢"); |
| | | } |
| | | |
| | | //设置æµç¨åé |
| | | setupProcessVariables(lossBoundFlowDto, toolsLossBound, user); |
| | | |
| | | //宿æµç¨ä»»å¡ |
| | | Result result = flowTaskService.complete(lossBoundFlowDto); |
| | | |
| | | //æ ¹æ®ä»»å¡å®æç»ææ´æ°ç³è¯·åç¶æ |
| | | if (result.isSuccess()) { |
| | | toolsLossBound.setOrderStatus(lossBoundFlowDto.getStatus()); |
| | | if (OutBillStatus.APPROVED.getValue().equals(lossBoundFlowDto.getStatus())) { |
| | | toolsLossBound.setOrderStatus(OutBoundStatusEnum.NOT_OUTBOUND.getValue()); |
| | | } |
| | | toolsLossBound.setApprovalDate(new Date()); |
| | | toolsLossBound.setApprovalOpinion(lossBoundFlowDto.getApprovalOpinion()); |
| | | updateById(toolsLossBound); |
| | | } |
| | | } |
| | | |
| | | private void setupProcessVariables(LossBoundFlowDto lossBoundFlowDto, ToolsLossBound toolsLossBound, LoginUser user) { |
| | | if (OutBillStatus.SUBMITTED.getValue().equals(toolsLossBound.getOrderStatus()) && user.getUsername().equals(toolsLossBound.getReviewer())) { |
| | | Map<String, Object> values = new HashMap<>(); |
| | | values.put("dataId", toolsLossBound.getId()); |
| | | values.put("organization", lossBoundFlowDto.getApprovalOpinion()); |
| | | values.put("comment", lossBoundFlowDto.getApprovalOpinion()); |
| | | values.put("status", lossBoundFlowDto.getStatus()); |
| | | values.put("NextAssignee", Collections.singletonList(toolsLossBound.getReviewer())); |
| | | lossBoundFlowDto.setValues(values); |
| | | } |
| | | } |
| | | |
| | | private FlowMyBusiness getFlowMyBusiness(String instanceId) { |
| | | List<FlowMyBusiness> businessList = flowMyBusinessService.list( |
| | | new LambdaQueryWrapper<FlowMyBusiness>().eq(FlowMyBusiness::getProcessInstanceId, instanceId)); |
| | | return businessList.isEmpty() ? null : businessList.get(0); |
| | | } |
| | | |
| | | private boolean isUserAuthorized(FlowMyBusiness flowMyBusiness, LoginUser user) { |
| | | List<String> todoUsers = JSON.parseArray(flowMyBusiness.getTodoUsers(), String.class); |
| | | return todoUsers != null && todoUsers.contains(user.getUsername()); |
| | | } |
| | | |
| | | private boolean claimTask(String taskId, LoginUser user) { |
| | | Task task = taskService.createTaskQuery().taskId(taskId).singleResult(); |
| | | if (task == null) { |
| | | return false; |
| | | } |
| | | if (task.getAssignee() != null && !task.getAssignee().equals(user.getUsername())) { |
| | | return false; |
| | | } |
| | | taskService.claim(taskId, user.getUsername()); |
| | | return true; |
| | | } |
| | | |
| | | @Override |
| | | public void afterFlowHandle(FlowMyBusiness business) { |
| | | business.getTaskNameId();//æ¥ä¸æ¥å®¡æ¹çèç¹ |
| | | business.getValues();//åç«¯ä¼ è¿æ¥çåæ° |
| | |
| | | package org.jeecg.modules.tms.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import org.jeecg.modules.tms.entity.ToolSharpening; |
| | | import org.jeecg.modules.tms.entity.ToolsLossBoundDetail; |
| | | import org.jeecg.modules.tms.entity.vo.ToolSharpeningVo; |
| | | import org.jeecg.modules.tms.mapper.ToolsSharpeningMapper; |
| | | import org.jeecg.modules.tms.service.IToolsSharpeningService; |
| | | import org.springframework.stereotype.Service; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * @Description: åå
·åç£¨è®°å½ Service å®ç°ç±» |
| | |
| | | */ |
| | | @Service |
| | | public class ToolsSharpeningServiceImpl extends ServiceImpl<ToolsSharpeningMapper, ToolSharpening> implements IToolsSharpeningService { |
| | | // å¦éæ©å±é»è¾å¯å¨æ¤æ·»å |
| | | @Override |
| | | public IPage<ToolSharpeningVo> queryPageList(Page<ToolSharpeningVo> page, Map<String, String[]> parameterMap) { |
| | | QueryWrapper<ToolSharpeningVo> queryWrapper = Wrappers.query(); |
| | | String[] ids = parameterMap.get("id"); |
| | | if (ids != null && ids.length > 0) { |
| | | queryWrapper.like("t.id", ids[0]); |
| | | } |
| | | String[] toolIds = parameterMap.get("toolId"); |
| | | if (toolIds != null && toolIds.length > 0) { |
| | | queryWrapper.like("t.tool_id", toolIds[0]); |
| | | } |
| | | String[] startTimes = parameterMap.get("startTime"); |
| | | if (startTimes != null && startTimes.length > 0) { |
| | | queryWrapper.ge("t.create_time", startTimes[0]); |
| | | } |
| | | String[] endTimes = parameterMap.get("endTime"); |
| | | if (endTimes != null && endTimes.length > 0) { |
| | | queryWrapper.le("t.create_time", endTimes[0]); |
| | | } |
| | | queryWrapper.orderByDesc("t.create_time"); |
| | | return this.baseMapper.queryPageList(page, queryWrapper); |
| | | } |
| | | |
| | | |
| | | } |
| | |
| | | |
| | | |
| | | import cn.hutool.core.util.StrUtil; |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.apache.shiro.SecurityUtils; |
| | | import org.flowable.engine.TaskService; |
| | | import org.flowable.task.api.Task; |
| | | import org.jeecg.common.api.vo.Result; |
| | | import org.jeecg.common.exception.JeecgBootException; |
| | | import org.jeecg.common.system.vo.LoginUser; |
| | | import org.jeecg.modules.flowable.apithird.business.entity.FlowMyBusiness; |
| | | import org.jeecg.modules.flowable.apithird.business.service.IFlowMyBusinessService; |
| | | import org.jeecg.modules.flowable.apithird.service.FlowCallBackServiceI; |
| | | import org.jeecg.modules.flowable.apithird.service.FlowCommonService; |
| | | import org.jeecg.modules.flowable.service.IFlowDefinitionService; |
| | |
| | | import org.jeecg.modules.system.entity.SysUser; |
| | | import org.jeecg.modules.system.service.ISysUserService; |
| | | import org.jeecg.modules.tms.entity.BaseTools; |
| | | import org.jeecg.modules.tms.entity.ToolsLossBound; |
| | | import org.jeecg.modules.tms.entity.ToolsStocktakingBound; |
| | | import org.jeecg.modules.tms.entity.ToolsStocktakingBoundDetail; |
| | | import org.jeecg.modules.tms.entity.dto.LossBoundFlowDto; |
| | | import org.jeecg.modules.tms.entity.dto.StocktakingBoundFlowDto; |
| | | import org.jeecg.modules.tms.enums.OutBillStatus; |
| | | import org.jeecg.modules.tms.enums.OutBoundStatusEnum; |
| | | import org.jeecg.modules.tms.mapper.ToolsStocktakingBoundDetailMapper; |
| | | import org.jeecg.modules.tms.mapper.ToolsStocktakingBoundMapper; |
| | | import org.jeecg.modules.tms.service.IToolsStocktakingBoundService; |
| | |
| | | private IFlowDefinitionService flowDefinitionService; |
| | | @Autowired |
| | | private IFlowTaskService flowTaskService; |
| | | @Autowired |
| | | private IFlowMyBusinessService flowMyBusinessService; |
| | | @Autowired |
| | | private TaskService taskService; |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void saveMain(ToolsStocktakingBound toolsStocktakingBound, List<ToolsStocktakingBoundDetail> toolsStocktakingBoundDetailList) { |
| | |
| | | toolsStocktakingBoundMapper.deleteById(id); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public boolean submintOrder(String id) { |
| | |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public void approvalProcess(StocktakingBoundFlowDto stocktakingBoundFlowDto) { |
| | | if (StrUtil.isBlank(stocktakingBoundFlowDto.getTaskId()) || StrUtil.isBlank(stocktakingBoundFlowDto.getDataId())) { |
| | | throw new JeecgBootException("鿳忰ï¼"); |
| | | } |
| | | |
| | | // è·åå½åç»å½ç¨æ· |
| | | LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); |
| | | if (user == null || StrUtil.isBlank(user.getId())) { |
| | | throw new JeecgBootException("è´¦å·ä¸åå¨"); |
| | | } |
| | | |
| | | //è·åæ¥æåä¿¡æ¯ |
| | | ToolsStocktakingBound toolsStocktakingBound = getById(stocktakingBoundFlowDto.getDataId()); |
| | | if (toolsStocktakingBound == null) { |
| | | throw new JeecgBootException("æªæ¾å°å¯¹åºçåºåºç³è¯·åï¼"); |
| | | } |
| | | |
| | | //è·åæµç¨ä¸å¡è®°å½ |
| | | FlowMyBusiness flowMyBusiness = getFlowMyBusiness(stocktakingBoundFlowDto.getInstanceId()); |
| | | if (flowMyBusiness == null) { |
| | | throw new JeecgBootException("æµç¨è®°å½ä¸åå¨"); |
| | | } |
| | | |
| | | // æ£æ¥ç¨æ·æ¯å¦ææéæä½ä»»å¡ |
| | | if (!isUserAuthorized(flowMyBusiness, user)) { |
| | | throw new JeecgBootException("ç¨æ·æ ææä½æ¤ä»»å¡"); |
| | | } |
| | | |
| | | // 认é¢ä»»å¡ |
| | | if (!claimTask(flowMyBusiness.getTaskId(), user)) { |
| | | throw new JeecgBootException("ä»»å¡ä¸åå¨ã已宿æå·²è¢«ä»äººè®¤é¢"); |
| | | } |
| | | |
| | | //设置æµç¨åé |
| | | setupProcessVariables(stocktakingBoundFlowDto, toolsStocktakingBound, user); |
| | | |
| | | //宿æµç¨ä»»å¡ |
| | | Result result = flowTaskService.complete(stocktakingBoundFlowDto); |
| | | |
| | | //æ ¹æ®ä»»å¡å®æç»ææ´æ°ç³è¯·åç¶æ |
| | | if (result.isSuccess()) { |
| | | toolsStocktakingBound.setApprovalStatus(stocktakingBoundFlowDto.getStatus()); |
| | | if (OutBillStatus.APPROVED.getValue().equals(stocktakingBoundFlowDto.getStatus())) { |
| | | toolsStocktakingBound.setApprovalStatus(OutBoundStatusEnum.NOT_OUTBOUND.getValue()); |
| | | } |
| | | toolsStocktakingBound.setApprovalDate(new Date()); |
| | | toolsStocktakingBound.setApprovalOpinion(stocktakingBoundFlowDto.getApprovalOpinion()); |
| | | updateById(toolsStocktakingBound); |
| | | } |
| | | } |
| | | |
| | | private void setupProcessVariables(StocktakingBoundFlowDto stocktakingBoundFlowDto, ToolsStocktakingBound toolsStocktakingBound, LoginUser user) { |
| | | if (OutBillStatus.SUBMITTED.getValue().equals(toolsStocktakingBound.getApprovalStatus()) && user.getUsername().equals(toolsStocktakingBound.getReviewer())) { |
| | | Map<String, Object> values = new HashMap<>(); |
| | | values.put("dataId", toolsStocktakingBound.getId()); |
| | | values.put("organization", stocktakingBoundFlowDto.getApprovalOpinion()); |
| | | values.put("comment", stocktakingBoundFlowDto.getApprovalOpinion()); |
| | | values.put("status", stocktakingBoundFlowDto.getStatus()); |
| | | values.put("NextAssignee", Collections.singletonList(toolsStocktakingBound.getReviewer())); |
| | | stocktakingBoundFlowDto.setValues(values); |
| | | } |
| | | } |
| | | |
| | | private FlowMyBusiness getFlowMyBusiness(String instanceId) { |
| | | List<FlowMyBusiness> businessList = flowMyBusinessService.list( |
| | | new LambdaQueryWrapper<FlowMyBusiness>().eq(FlowMyBusiness::getProcessInstanceId, instanceId)); |
| | | return businessList.isEmpty() ? null : businessList.get(0); |
| | | } |
| | | |
| | | private boolean isUserAuthorized(FlowMyBusiness flowMyBusiness, LoginUser user) { |
| | | List<String> todoUsers = JSON.parseArray(flowMyBusiness.getTodoUsers(), String.class); |
| | | return todoUsers != null && todoUsers.contains(user.getUsername()); |
| | | } |
| | | |
| | | private boolean claimTask(String taskId, LoginUser user) { |
| | | Task task = taskService.createTaskQuery().taskId(taskId).singleResult(); |
| | | if (task == null) { |
| | | return false; |
| | | } |
| | | if (task.getAssignee() != null && !task.getAssignee().equals(user.getUsername())) { |
| | | return false; |
| | | } |
| | | taskService.claim(taskId, user.getUsername()); |
| | | return true; |
| | | } |
| | | @Override |
| | | public void afterFlowHandle(FlowMyBusiness business) { |
| | | business.getTaskNameId();//æ¥ä¸æ¥å®¡æ¹çèç¹ |
| | | business.getValues();//åç«¯ä¼ è¿æ¥çåæ° |
| | | business.getValues(); |
| | | business.getActStatus(); |
| | | } |
| | | |