QaProcessInstanceVO
package org. jeecg. modules. quality. vo ;
import lombok. Data ;
import io. swagger. annotations. ApiModelProperty ;
import com. baomidou. mybatisplus. annotation. IdType ;
import com. baomidou. mybatisplus. annotation. TableField ;
import com. baomidou. mybatisplus. annotation. TableId ;
import com. fasterxml. jackson. annotation. JsonFormat ;
import org. jeecg. common. aspect. annotation. Dict ;
import org. jeecgframework. poi. excel. annotation. Excel ;
import org. springframework. format. annotation. DateTimeFormat ;
import java. io. Serializable ;
@Data
public class QaProcessInstanceVO implements Serializable {
@TableId ( type = IdType . ID_WORKER_STR)
@ApiModelProperty ( value = "主键" )
private java. lang. String id;
@ApiModelProperty ( value = "更新人" )
@TableField ( "update_by" )
private java. lang. String updateBy;
@JsonFormat ( timezone = "GMT+8" , pattern = "yyyy-MM-dd HH:mm:ss" )
@DateTimeFormat ( pattern = "yyyy-MM-dd HH:mm:ss" )
@ApiModelProperty ( value = "更新日期" )
@TableField ( "update_time" )
private java. util. Date updateTime;
@ApiModelProperty ( value = "所属部门" )
@TableField ( "sys_org_code" )
private java. lang. String sysOrgCode;
@ApiModelProperty ( value = "流程ID" )
@TableField ( "process_id" )
private java. lang. String processId;
@ApiModelProperty ( value = "流程状态" )
@TableField ( "process_status" )
@Dict ( dicCode = "process_instance_status" )
@Excel ( name = "流程状态" , dicCode = "process_instance_status" , width = 15 )
private java. lang. Integer processStatus;
@TableField ( "cur_node_id" )
@ApiModelProperty ( value = "当前处理环节ID" )
private java. lang. String curNodeId;
@TableField ( "next_node_id" )
@ApiModelProperty ( value = "下一处理环节ID" )
private java. lang. String nextNodeId;
@TableField ( "handle_flag" )
@ApiModelProperty ( value = "处理标识" )
private Integer handleFlag;
@ApiModelProperty ( value = "流程编号值" )
@Excel ( name = "流程编号" , width = 15 )
private String processNoCode;
@ApiModelProperty ( value = "流程名称" )
@TableField ( "process_name" )
@Excel ( name = "流程名称" , width = 15 )
private java. lang. String processName;
@ApiModelProperty ( value = "流程编码" )
@TableField ( "process_code" )
private java. lang. String processCode;
@ApiModelProperty ( value = "流程类型" )
@TableField ( "process_type" )
@Dict ( dicCode = "bpm_process_type" )
private java. lang. String processType;
@TableField ( "cur_node_name" )
@ApiModelProperty ( value = "当前处理环节名称" )
private java. lang. String curNodeName;
@TableField ( "handle_user_id" )
@ApiModelProperty ( value = "当前处理环节人ID" )
private java. lang. String handleUserId;
@TableField ( "handle_user_type" )
@ApiModelProperty ( value = "当前处理环节人类型" )
private java. lang. String handleUserType;
@TableField ( "next_node_name" )
@ApiModelProperty ( value = "下一处理环节名称" )
private java. lang. String nextNodeName;
@ApiModelProperty ( value = "流程编号" )
private Integer processNo;
@TableField ( exist = false )
private String processStatusName;
@TableField ( exist = false )
private String processTypeName;
@ApiModelProperty ( value = "CPK数据ID" )
@TableField ( exist = false )
private java. lang. String cpkDataId;
@ApiModelProperty ( value = "检验项名称" )
@TableField ( "cpk_name" )
@Excel ( name = "检验项名称" , width = 15 )
private java. lang. String cpkName;
@ApiModelProperty ( value = "工位线组" )
@TableField ( "group_line" )
@Excel ( name = "线组" , width = 15 )
private java. lang. String groupLine;
@ApiModelProperty ( value = "创建人" )
@TableField ( "create_by" )
@Excel ( name = "流程发起人" , width = 15 )
private java. lang. String createBy;
@JsonFormat ( timezone = "GMT+8" , pattern = "yyyy-MM-dd HH:mm:ss" )
@DateTimeFormat ( pattern = "yyyy-MM-dd HH:mm:ss" )
@ApiModelProperty ( value = "创建日期" )
@TableField ( "create_time" )
@Excel ( name = "发起时间" , exportFormat= "yyyy-MM-dd HH:mm:ss" , width = 25 )
private java. util. Date createTime;
@ApiModelProperty ( value = "处理人员" )
@TableField ( "realname" )
private java. lang. String realName;
@ApiModelProperty ( value = "原因" )
@TableField ( "reason" )
@Excel ( name = "原因" , width = 25 )
private java. lang. String reason;
@ApiModelProperty ( value = "工位" )
@TableField ( "wu_code" )
@Excel ( name = "工位" , width = 25 )
private java. lang. String wuCode;
}
QaProcessInstanceController 类
package org. jeecg. modules. quality. controller ;
import java. util. Arrays ;
import java. util. List ;
import java. util. Map ;
import java. util. stream. Collectors ;
import java. io. IOException ;
import java. io. UnsupportedEncodingException ;
import java. net. URLDecoder ;
import javax. servlet. http. HttpServletRequest ;
import javax. servlet. http. HttpServletResponse ;
import com. alibaba. fastjson. JSONArray ;
import com. alibaba. fastjson. JSONObject ;
import org. apache. shiro. SecurityUtils ;
import org. jeecg. common. api. vo. Result ;
import org. jeecg. common. system. query. QueryGenerator ;
import org. jeecg. common. system. vo. LoginUser ;
import org. jeecg. common. util. oConvertUtils ;
import org. jeecg. modules. quality. entity. QaProcessInstance ;
import org. jeecg. modules. quality. entity. QaProcessNodeItemInstance ;
import org. jeecg. modules. quality. service. IQaProcessInstanceService ;
import com. baomidou. mybatisplus. core. conditions. query. QueryWrapper ;
import com. baomidou. mybatisplus. core. metadata. IPage ;
import com. baomidou. mybatisplus. extension. plugins. pagination. Page ;
import lombok. extern. slf4j. Slf4j ;
import org. jeecg. modules. quality. vo. QaProcessInstanceVO ;
import org. jeecgframework. poi. excel. ExcelImportUtil ;
import org. jeecgframework. poi. excel. def. NormalExcelConstants ;
import org. jeecgframework. poi. excel. entity. ExportParams ;
import org. jeecgframework. poi. excel. entity. ImportParams ;
import org. jeecgframework. poi. excel. view. JeecgEntityExcelView ;
import org. jeecg. common. system. base. controller. JeecgController ;
import org. springframework. beans. factory. annotation. Autowired ;
import org. springframework. beans. factory. annotation. Value ;
import org. springframework. web. bind. annotation. * ;
import org. springframework. web. multipart. MultipartFile ;
import org. springframework. web. multipart. MultipartHttpServletRequest ;
import org. springframework. web. servlet. ModelAndView ;
import com. alibaba. fastjson. JSON;
import io. swagger. annotations. Api ;
import io. swagger. annotations. ApiOperation ;
import org. jeecg. common. aspect. annotation. AutoLog ;
@Api ( tags= "流程实例表" )
@RestController
@RequestMapping ( "/quality/qaProcessInstance" )
@Slf4j
public class QaProcessInstanceController extends JeecgController < QaProcessInstance , IQaProcessInstanceService > {
@Autowired
private IQaProcessInstanceService qaProcessInstanceService;
@AutoLog ( value = "流程实例表-分页列表查询" )
@ApiOperation ( value= "流程实例表-分页列表查询" , notes= "流程实例表-分页列表查询" )
@GetMapping ( value = "/list" )
public Result < ? > queryPageList ( QaProcessInstanceVO qaProcessInstanceVO,
@RequestParam ( name= "pageNo" , defaultValue= "1" ) Integer pageNo,
@RequestParam ( name= "pageSize" , defaultValue= "10" ) Integer pageSize,
HttpServletRequest req) {
QueryWrapper < QaProcessInstanceVO > queryWrapper = QueryGenerator . initQueryWrapper ( qaProcessInstanceVO, req. getParameterMap ( ) ) ;
Page < QaProcessInstanceVO > page = new Page < QaProcessInstanceVO > ( pageNo, pageSize) ;
IPage < QaProcessInstanceVO > pageList = qaProcessInstanceService. getQaProcessInstanceVOList ( page, queryWrapper) ;
return Result . ok ( pageList) ;
}
@AutoLog ( value = "流程实例表-发布" )
@ApiOperation ( value= "流程实例表-发布" , notes= "流程实例表-发布" )
@PostMapping ( value = "/publish" )
public Result < ? > publish ( @RequestBody JSONObject jsonObject) {
qaProcessInstanceService. publishProcess ( jsonObject) ;
return Result . ok ( "提交成功!" ) ;
}
@AutoLog ( value = "流程实例表-添加" )
@ApiOperation ( value= "流程实例表-添加" , notes= "流程实例表-添加" )
@PostMapping ( value = "/add" )
public Result < ? > add ( @RequestBody QaProcessInstance qaProcessInstance) {
qaProcessInstanceService. save ( qaProcessInstance) ;
return Result . ok ( "添加成功!" ) ;
}
@AutoLog ( value = "流程实例表-编辑" )
@ApiOperation ( value= "流程实例表-编辑" , notes= "流程实例表-编辑" )
@PutMapping ( value = "/edit" )
public Result < ? > edit ( @RequestBody QaProcessInstance qaProcessInstance) {
qaProcessInstanceService. updateById ( qaProcessInstance) ;
return Result . ok ( "编辑成功!" ) ;
}
@AutoLog ( value = "流程实例表-通过id删除" )
@ApiOperation ( value= "流程实例表-通过id删除" , notes= "流程实例表-通过id删除" )
@DeleteMapping ( value = "/delete" )
public Result < ? > delete ( @RequestParam ( name= "id" , required= true ) String id) {
qaProcessInstanceService. deleteProcessInstance ( id) ;
return Result . ok ( "删除成功!" ) ;
}
@AutoLog ( value = "流程实例表-批量删除" )
@ApiOperation ( value= "流程实例表-批量删除" , notes= "流程实例表-批量删除" )
@DeleteMapping ( value = "/deleteBatch" )
public Result < ? > deleteBatch ( @RequestParam ( name= "ids" , required= true ) String ids) {
this . qaProcessInstanceService. removeByIds ( Arrays . asList ( ids. split ( "," ) ) ) ;
return Result . ok ( "批量删除成功!" ) ;
}
@AutoLog ( value = "流程实例表-通过id查询" )
@ApiOperation ( value= "流程实例表-通过id查询" , notes= "流程实例表-通过id查询" )
@GetMapping ( value = "/queryById" )
public Result < ? > queryById ( @RequestParam ( name= "id" , required= true ) String id) {
QaProcessInstance qaProcessInstance = qaProcessInstanceService. getById ( id) ;
if ( qaProcessInstance== null ) {
return Result . error ( "未找到对应数据" ) ;
}
return Result . ok ( qaProcessInstance) ;
}
@Value ( "${jeecg.path.upload}" )
private String upLoadImgPath;
@RequestMapping ( value = "/exportXls" )
public ModelAndView exportXls ( HttpServletRequest request, QaProcessInstanceVO qaProcessInstanceVO) {
String title = "异常流程处理数据" ;
QueryWrapper < QaProcessInstanceVO > queryWrapper = QueryGenerator . initQueryWrapper ( qaProcessInstanceVO, request. getParameterMap ( ) ) ;
LoginUser sysUser = ( LoginUser ) SecurityUtils . getSubject ( ) . getPrincipal ( ) ;
List < QaProcessInstanceVO > pageList = qaProcessInstanceService. findList ( queryWrapper) ;
List < QaProcessInstanceVO > exportList = null ;
String selections = request. getParameter ( "selections" ) ;
if ( oConvertUtils. isNotEmpty ( selections) ) {
List < String > selectionList = Arrays . asList ( selections. split ( "," ) ) ;
exportList = pageList. stream ( ) . filter ( item -> selectionList. contains ( item. getId ( ) ) ) . collect ( Collectors . toList ( ) ) ;
} else {
exportList = pageList;
}
ModelAndView mv = new ModelAndView ( new JeecgEntityExcelView ( ) ) ;
mv. addObject ( NormalExcelConstants . FILE_NAME, title) ;
mv. addObject ( NormalExcelConstants . CLASS, QaProcessInstanceVO . class ) ;
ExportParams exportParams= new ExportParams ( title + "报表" , "导出人:" + sysUser. getRealname ( ) , title) ;
exportParams. setImageBasePath ( upLoadImgPath) ;
mv. addObject ( NormalExcelConstants . PARAMS, exportParams) ;
mv. addObject ( NormalExcelConstants . DATA_LIST, exportList) ;
return mv;
}
@RequestMapping ( value = "/importExcel" , method = RequestMethod . POST)
public Result < ? > importExcel ( HttpServletRequest request, HttpServletResponse response) {
return super . importExcel ( request, response, QaProcessInstance . class ) ;
}
@AutoLog ( value = "流程实例表-发布" )
@ApiOperation ( value= "流程实例表-发布" , notes= "流程实例表-发布" )
@PostMapping ( value = "/publishSys" )
public Result < ? > publishSysExpProcess ( @RequestBody JSONObject jsonObject) {
qaProcessInstanceService. publishSysExpProcess ( jsonObject) ;
return Result . ok ( "提交成功!" ) ;
}
}
IQaProcessInstanceService 类
package org. jeecg. modules. quality. service ;
import com. alibaba. fastjson. JSONObject ;
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. IService ;
import org. jeecg. common. system. vo. DictModel ;
import org. jeecg. modules. quality. entity. QaProcessInstance ;
import org. jeecg. modules. quality. vo. QaProcessCpkDataVO ;
import org. jeecg. modules. quality. vo. QaProcessExpDataVO ;
import org. jeecg. modules. quality. vo. QaProcessInstanceVO ;
import java. util. List ;
import java. util. Map ;
public interface IQaProcessInstanceService extends IService < QaProcessInstance > {
int publishProcess ( JSONObject jsonObject) ;
IPage < QaProcessInstanceVO > getQaProcessInstanceVOList ( Page < QaProcessInstanceVO > page, QueryWrapper < QaProcessInstanceVO > queryWrapper) ;
List < QaProcessInstanceVO > findList ( QueryWrapper < QaProcessInstanceVO > queryWrapper) ;
int deleteProcessInstance ( String processInstanceId) ;
List < Map < String , Object > > handlingSituationDataCreateList ( ) ;
List < Map < String , Object > > handlingSituationDataHandleOverList ( ) ;
List < Map < String , Object > > handlingSituationDataHandlingList ( ) ;
List < Map < String , Object > > processPercentageDataList ( ) ;
List < Map < String , Object > > abnormalPercentageDataList ( ) ;
List < Map < String , Object > > processPendingDataList ( ) ;
List < Map < String , Object > > initiateNumberDataList ( List < DictModel > dictModelList) ;
List < Map < String , Object > > expDataContractList ( List < QaProcessInstanceVO > qaProcessInstanceList) ;
List < Map < String , Object > > cpkDataCheckList ( List < QaProcessInstanceVO > qaProcessInstanceList) ;
List < Map < String , Object > > expDataCheckList ( List < QaProcessInstance > qaProcessInstanceList) ;
List < QaProcessInstanceVO > findListByDay ( int day, String processCode) ;
IPage < QaProcessExpDataVO > findProcessExpByPage ( IPage < QaProcessExpDataVO > page, QueryWrapper < QaProcessExpDataVO > wrapper) ;
IPage < QaProcessCpkDataVO > findProcessCpkByPage ( IPage < QaProcessCpkDataVO > page, QueryWrapper < QaProcessCpkDataVO > wrapper) ;
QaProcessInstance publishCpkProcess ( JSONObject jsonObject) ;
List < QaProcessExpDataVO > findProcessExp ( QueryWrapper < QaProcessExpDataVO > wrapper) ;
List < QaProcessCpkDataVO > findProcessCpk ( QueryWrapper < QaProcessCpkDataVO > wrapper) ;
List < QaProcessInstance > getMonthData ( String line) ;
List < QaProcessInstance > getMonthTypeData ( String line) ;
QaProcessInstance publishSysExpProcess ( JSONObject jsonObject) ;
}
QaProcessInstanceServiceImpl 类
package org. jeecg. modules. quality. service. impl ;
import com. alibaba. fastjson. JSONArray ;
import com. alibaba. fastjson. JSONObject ;
import com. baomidou. mybatisplus. core. conditions. query. QueryWrapper ;
import com. baomidou. mybatisplus. core. conditions. update. LambdaUpdateWrapper ;
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. jeecg. common. system. vo. DictModel ;
import org. jeecg. modules. quality. entity. * ;
import org. jeecg. modules. quality. mapper. * ;
import org. jeecg. modules. quality. service. IQaProcessInstanceService ;
import org. jeecg. modules. quality. service. IQaProcessItemInstanceService ;
import org. jeecg. modules. quality. service. IQaProcessNodeService ;
import org. jeecg. modules. quality. vo. QaProcessCpkDataVO ;
import org. jeecg. modules. quality. vo. QaProcessExpDataVO ;
import org. jeecg. modules. quality. vo. QaProcessInstanceVO ;
import org. springframework. beans. factory. annotation. Autowired ;
import org. springframework. stereotype. Service ;
import org. springframework. transaction. annotation. Transactional ;
import java. util. ArrayList ;
import java. util. List ;
import java. util. Map ;
@Service
public class QaProcessInstanceServiceImpl extends ServiceImpl < QaProcessInstanceMapper , QaProcessInstance > implements IQaProcessInstanceService {
@Autowired
private IQaProcessItemInstanceService qaProcessItemInstanceService;
@Autowired
private IQaProcessNodeService qaProcessNodeService;
@Autowired
private QaProcessItemInstanceMapper qaProcessItemInstanceMapper;
@Autowired
private QaProcessNodeItemInstanceMapper qaProcessNodeItemInstanceMapper;
@Autowired
private QaProcessNodeInstanceMapper qaProcessNodeInstanceMapper;
@Autowired
private QaProcessMapper qaProcessMapper;
@Autowired
private QaProcessItemMapper qaProcessItemMapper;
@Autowired
private QaCpkConfMapper qaCpkConfMapper;
@Autowired
private QaProcessInstanceHandleMapper qaProcessInstanceHandleMapper;
@Override
@Transactional
public int publishProcess ( JSONObject jsonObject) {
QaProcessInstance qaProcessInstance = new QaProcessInstance ( ) ;
qaProcessInstance. setProcessId ( jsonObject. getString ( "id" ) ) ;
qaProcessInstance. setProcessStatus ( 1 ) ;
QueryWrapper < QaProcessNode > queryWrapper = new QueryWrapper < > ( ) ;
queryWrapper. in ( "process_id" , qaProcessInstance. getProcessId ( ) ) ;
queryWrapper. orderByAsc ( "order_no" ) ;
List < QaProcessNode > qaProcessNodeList = qaProcessNodeService. list ( queryWrapper) ;
if ( qaProcessNodeList. size ( ) == 1 ) {
qaProcessInstance. setCurNodeId ( qaProcessNodeList. get ( 0 ) . getId ( ) ) ;
} else if ( qaProcessNodeList. size ( ) > 1 ) {
qaProcessInstance. setCurNodeId ( qaProcessNodeList. get ( 0 ) . getId ( ) ) ;
qaProcessInstance. setNextNodeId ( qaProcessNodeList. get ( 1 ) . getId ( ) ) ;
}
baseMapper. insert ( qaProcessInstance) ;
qaProcessInstance = baseMapper. selectById ( qaProcessInstance. getId ( ) ) ;
qaProcessInstance. setProcessNoCode ( String . format ( "FN%08d" , qaProcessInstance. getProcessNo ( ) ) ) ;
update ( new LambdaUpdateWrapper < QaProcessInstance > ( ) . set ( QaProcessInstance :: getProcessNoCode , qaProcessInstance. getProcessNoCode ( ) ) . eq ( QaProcessInstance :: getId , qaProcessInstance. getId ( ) ) ) ;
JSONArray itemList = jsonObject. getJSONArray ( "itemList" ) ;
List < QaProcessItemInstance > qaProcessItemInstanceList = new ArrayList < > ( ) ;
for ( int i = 0 ; i < itemList. size ( ) ; i++ ) {
JSONObject item = itemList. getJSONObject ( i) ;
QaProcessItemInstance qaProcessItemInstance = new QaProcessItemInstance ( ) ;
qaProcessItemInstance. setProcessInstanceId ( qaProcessInstance. getId ( ) ) ;
qaProcessItemInstance. setProcessItemId ( item. getString ( "id" ) ) ;
qaProcessItemInstance. setProcessItemInstanceValue ( item. getString ( "processItemInstanceValue" ) ) ;
qaProcessItemInstance. setProcessItemValue ( item. getString ( "processItemValue" ) ) ;
qaProcessItemInstance. setProcessItemName ( item. getString ( "processItemName" ) ) ;
qaProcessItemInstance. setProcessItemType ( item. getInteger ( "processItemType" ) ) ;
qaProcessItemInstanceList. add ( qaProcessItemInstance) ;
}
qaProcessItemInstanceService. saveBatch ( qaProcessItemInstanceList) ;
return 0 ;
}
@Override
public IPage < QaProcessInstanceVO > getQaProcessInstanceVOList ( Page < QaProcessInstanceVO > page, QueryWrapper < QaProcessInstanceVO > queryWrapper) {
return baseMapper. findByPage ( page, queryWrapper) ;
}
@Override
public List < QaProcessInstanceVO > findList ( QueryWrapper < QaProcessInstanceVO > queryWrapper) {
return baseMapper. findList ( queryWrapper) ;
}
@Override
@Transactional
public int deleteProcessInstance ( String processInstanceId) {
qaProcessNodeItemInstanceMapper. deleteByProcessInstanceId ( processInstanceId) ;
qaProcessNodeInstanceMapper. deleteByProcessInstanceId ( processInstanceId) ;
qaProcessItemInstanceMapper. deleteByProcessInstanceId ( processInstanceId) ;
baseMapper. deleteById ( processInstanceId) ;
return 1 ;
}
@Override
public List < Map < String , Object > > handlingSituationDataCreateList ( ) {
return baseMapper. handlingSituationDataCreateList ( ) ;
}
@Override
public List < Map < String , Object > > handlingSituationDataHandleOverList ( ) {
return baseMapper. handlingSituationDataHandleOverList ( ) ;
}
@Override
public List < Map < String , Object > > handlingSituationDataHandlingList ( ) {
return baseMapper. handlingSituationDataHandlingList ( ) ;
}
@Override
public List < Map < String , Object > > processPercentageDataList ( ) {
return baseMapper. processPercentageDataList ( ) ;
}
@Override
public List < Map < String , Object > > abnormalPercentageDataList ( ) {
return baseMapper. abnormalPercentageDataList ( ) ;
}
@Override
public List < Map < String , Object > > processPendingDataList ( ) {
return baseMapper. processPendingDataList ( ) ;
}
@Override
public List < Map < String , Object > > initiateNumberDataList ( List < DictModel > dictModelList) {
return baseMapper. initiateNumberDataList ( dictModelList) ;
}
@Override
public List < Map < String , Object > > expDataContractList ( List < QaProcessInstanceVO > qaProcessInstanceList) {
return baseMapper. expDataContractList ( qaProcessInstanceList) ;
}
@Override
public List < Map < String , Object > > cpkDataCheckList ( List < QaProcessInstanceVO > qaProcessInstanceList) {
return baseMapper. cpkDataCheckList ( qaProcessInstanceList) ;
}
@Override
public List < Map < String , Object > > expDataCheckList ( List < QaProcessInstance > qaProcessInstanceList) {
return baseMapper. expDataCheckList ( qaProcessInstanceList) ;
}
@Override
public List < QaProcessInstanceVO > findListByDay ( int day, String processCode) {
return baseMapper. findListByDay ( day, processCode) ;
}
@Override
public IPage < QaProcessExpDataVO > findProcessExpByPage ( IPage < QaProcessExpDataVO > page, QueryWrapper < QaProcessExpDataVO > wrapper) {
return baseMapper. findProcessExpByPage ( page, wrapper) ;
}
@Override
public IPage < QaProcessCpkDataVO > findProcessCpkByPage ( IPage < QaProcessCpkDataVO > page, QueryWrapper < QaProcessCpkDataVO > wrapper) {
return baseMapper. findProcessCpkByPage ( page, wrapper) ;
}
@Override
@Transactional
public QaProcessInstance publishCpkProcess ( JSONObject jsonObject) {
QueryWrapper < QaProcess > queryProcessWrapper = new QueryWrapper < > ( ) ;
queryProcessWrapper. eq ( "process_code" , jsonObject. getString ( "processCode" ) ) ;
QaProcess qaProcess = qaProcessMapper. selectOne ( queryProcessWrapper) ;
QaProcessInstanceHandle qaProcessInstanceHandle = new QaProcessInstanceHandle ( ) ;
QaProcessInstance qaProcessInstance = new QaProcessInstance ( ) ;
qaProcessInstance. setProcessId ( qaProcess. getId ( ) ) ;
qaProcessInstance. setProcessStatus ( 1 ) ;
QueryWrapper < QaProcessNode > queryWrapper = new QueryWrapper < > ( ) ;
queryWrapper. in ( "process_id" , qaProcess. getId ( ) ) ;
queryWrapper. orderByAsc ( "order_no" ) ;
List < QaProcessNode > qaProcessNodeList = qaProcessNodeService. list ( queryWrapper) ;
if ( qaProcessNodeList. size ( ) == 1 ) {
qaProcessInstanceHandle. setHandle ( qaProcessNodeList. get ( 0 ) . getProcessNodeName ( ) ) ;
qaProcessInstanceHandle. setCurNodeId ( qaProcessNodeList. get ( 0 ) . getId ( ) ) ;
qaProcessInstance. setCurNodeId ( qaProcessNodeList. get ( 0 ) . getId ( ) ) ;
} else if ( qaProcessNodeList. size ( ) > 1 ) {
qaProcessInstanceHandle. setHandle ( qaProcessNodeList. get ( 0 ) . getProcessNodeName ( ) ) ;
qaProcessInstanceHandle. setCurNodeId ( qaProcessNodeList. get ( 0 ) . getId ( ) ) ;
qaProcessInstanceHandle. setNextNodeId ( qaProcessNodeList. get ( 1 ) . getId ( ) ) ;
qaProcessInstance. setCurNodeId ( qaProcessNodeList. get ( 0 ) . getId ( ) ) ;
qaProcessInstance. setNextNodeId ( qaProcessNodeList. get ( 1 ) . getId ( ) ) ;
}
baseMapper. insert ( qaProcessInstance) ;
qaProcessInstance = baseMapper. selectById ( qaProcessInstance. getId ( ) ) ;
qaProcessInstance. setProcessNoCode ( String . format ( "FN%08d" , qaProcessInstance. getProcessNo ( ) ) ) ;
update ( new LambdaUpdateWrapper < QaProcessInstance > ( ) . set ( QaProcessInstance :: getProcessNoCode , qaProcessInstance. getProcessNoCode ( ) ) . eq ( QaProcessInstance :: getId , qaProcessInstance. getId ( ) ) ) ;
qaProcessInstanceHandle. setProcessInstanceId ( qaProcessInstance. getId ( ) ) ;
qaProcessInstanceHandle. setProcessNo ( qaProcessInstance. getProcessNo ( ) ) ;
qaProcessInstanceHandle. setProcessNoCode ( qaProcessInstance. getProcessNoCode ( ) ) ;
QueryWrapper < QaProcessItem > queryProcessItemWrapper = new QueryWrapper < > ( ) ;
queryProcessItemWrapper. eq ( "process_id" , qaProcess. getId ( ) ) ;
queryProcessItemWrapper. orderByAsc ( "order_no" ) ;
List < QaProcessItem > qaProcessItemList = qaProcessItemMapper. selectList ( queryProcessItemWrapper) ;
JSONArray itemList = jsonObject. getJSONArray ( "itemList" ) ;
for ( int j = 0 ; j < itemList. size ( ) ; j++ ) {
JSONObject item = itemList. getJSONObject ( j) ;
if ( "wu_code" . equals ( item. getString ( "processItemCode" ) ) ) {
qaProcessInstanceHandle. setWuCode ( item. getString ( "processItemInstanceValue" ) ) ;
}
else if ( "cpk_reason" . equals ( item. getString ( "processItemCode" ) ) ) {
qaProcessInstanceHandle. setReason ( item. getString ( "processItemInstanceValue" ) ) ;
}
else if ( "group_line" . equals ( item. getString ( "processItemCode" ) ) ) {
qaProcessInstanceHandle. setGroupLine ( item. getString ( "processItemInstanceValue" ) ) ;
}
else if ( "cpk" . equals ( item. getString ( "processItemCode" ) ) ) {
qaProcessInstanceHandle. setCpk ( item. getString ( "processItemInstanceValue" ) ) ;
}
else if ( "cpk_id" . equals ( item. getString ( "processItemCode" ) ) ) {
qaProcessInstanceHandle. setCpkId ( item. getString ( "processItemInstanceValue" ) ) ;
}
}
List < QaProcessItemInstance > qaProcessItemInstanceList = new ArrayList < > ( ) ;
for ( int i = 0 ; i < qaProcessItemList. size ( ) ; i++ ) {
QaProcessItem qaProcessItem = qaProcessItemList. get ( i) ;
QaProcessItemInstance qaProcessItemInstance = new QaProcessItemInstance ( ) ;
qaProcessItemInstance. setProcessInstanceId ( qaProcessInstance. getId ( ) ) ;
qaProcessItemInstance. setProcessItemId ( qaProcessItem. getId ( ) ) ;
qaProcessItemInstance. setProcessItemName ( qaProcessItem. getProcessItemName ( ) ) ;
qaProcessItemInstance. setProcessItemType ( qaProcessItem. getProcessItemType ( ) ) ;
for ( int j = 0 ; j < itemList. size ( ) ; j++ ) {
JSONObject item = itemList. getJSONObject ( j) ;
if ( item. getString ( "processItemCode" ) . equals ( qaProcessItem. getProcessItemCode ( ) ) ) {
qaProcessItemInstance. setProcessItemInstanceValue ( item. getString ( "processItemInstanceValue" ) ) ;
if ( "check_code" . equals ( item. getString ( "processItemCode" ) ) ) {
QueryWrapper queryWrapper1 = new QueryWrapper < > ( ) ;
queryWrapper1. eq ( "cpk_code" , qaProcessItemInstance. getProcessItemInstanceValue ( ) ) ;
queryWrapper1. eq ( "process" , qaProcessInstanceHandle. getWuCode ( ) ) ;
QaCpkConf qaCpkConf = qaCpkConfMapper. selectOne ( queryWrapper1) ;
String value = "{\"kpc_id\":\"" + qaCpkConf. getId ( ) + "\",\"kpc_code\":\"" + qaCpkConf. getKpcCode ( ) + "\",\"kpc_name\":\"" + qaCpkConf. getCpkName ( ) + "\"}" ;
qaProcessInstanceHandle. setCpkName ( qaCpkConf. getCpkName ( ) ) ;
qaProcessInstanceHandle. setKpcType ( qaCpkConf. getCpkType ( ) ) ;
qaProcessInstanceHandle. setElevatorType ( qaCpkConf. getEscalatorType ( ) ) ;
qaProcessItemInstance. setProcessItemValue ( value) ;
}
break ;
}
}
qaProcessItemInstanceList. add ( qaProcessItemInstance) ;
}
qaProcessInstanceHandleMapper. insert ( qaProcessInstanceHandle) ;
qaProcessItemInstanceService. saveBatch ( qaProcessItemInstanceList) ;
return qaProcessInstance;
}
@Override
public List < QaProcessExpDataVO > findProcessExp ( QueryWrapper < QaProcessExpDataVO > wrapper) {
return this . baseMapper. findProcessExpByPage ( wrapper) ;
}
@Override
public List < QaProcessCpkDataVO > findProcessCpk ( QueryWrapper < QaProcessCpkDataVO > wrapper) {
return this . baseMapper. findProcessCpkByPage ( wrapper) ;
}
@Override
public List < QaProcessInstance > getMonthData ( String line) {
return baseMapper. getMonthData ( line) ;
}
@Override
public List < QaProcessInstance > getMonthTypeData ( String line) {
return baseMapper. getMonthTypeData ( line) ;
}
@Override
@Transactional
public QaProcessInstance publishSysExpProcess ( JSONObject jsonObject) {
QueryWrapper < QaProcess > queryProcessWrapper = new QueryWrapper < > ( ) ;
queryProcessWrapper. eq ( "process_code" , jsonObject. getString ( "processCode" ) ) ;
QaProcess qaProcess = qaProcessMapper. selectOne ( queryProcessWrapper) ;
QaProcessInstanceHandle qaProcessInstanceHandle = new QaProcessInstanceHandle ( ) ;
QaProcessInstance qaProcessInstance = new QaProcessInstance ( ) ;
qaProcessInstance. setProcessId ( qaProcess. getId ( ) ) ;
qaProcessInstance. setProcessStatus ( 1 ) ;
QueryWrapper < QaProcessNode > queryWrapper = new QueryWrapper < > ( ) ;
queryWrapper. in ( "process_id" , qaProcess. getId ( ) ) ;
queryWrapper. orderByAsc ( "order_no" ) ;
List < QaProcessNode > qaProcessNodeList = qaProcessNodeService. list ( queryWrapper) ;
if ( qaProcessNodeList. size ( ) == 1 ) {
qaProcessInstanceHandle. setHandle ( qaProcessNodeList. get ( 0 ) . getProcessNodeName ( ) ) ;
qaProcessInstanceHandle. setCurNodeId ( qaProcessNodeList. get ( 0 ) . getId ( ) ) ;
qaProcessInstance. setCurNodeId ( qaProcessNodeList. get ( 0 ) . getId ( ) ) ;
} else if ( qaProcessNodeList. size ( ) > 1 ) {
qaProcessInstanceHandle. setHandle ( qaProcessNodeList. get ( 0 ) . getProcessNodeName ( ) ) ;
qaProcessInstanceHandle. setCurNodeId ( qaProcessNodeList. get ( 0 ) . getId ( ) ) ;
qaProcessInstanceHandle. setNextNodeId ( qaProcessNodeList. get ( 1 ) . getId ( ) ) ;
qaProcessInstance. setCurNodeId ( qaProcessNodeList. get ( 0 ) . getId ( ) ) ;
qaProcessInstance. setNextNodeId ( qaProcessNodeList. get ( 1 ) . getId ( ) ) ;
}
baseMapper. insert ( qaProcessInstance) ;
qaProcessInstance = baseMapper. selectById ( qaProcessInstance. getId ( ) ) ;
qaProcessInstance. setProcessNoCode ( String . format ( "FN%08d" , qaProcessInstance. getProcessNo ( ) ) ) ;
update ( new LambdaUpdateWrapper < QaProcessInstance > ( ) . set ( QaProcessInstance :: getProcessNoCode , qaProcessInstance. getProcessNoCode ( ) ) . eq ( QaProcessInstance :: getId , qaProcessInstance. getId ( ) ) ) ;
qaProcessInstanceHandle. setProcessInstanceId ( qaProcessInstance. getId ( ) ) ;
qaProcessInstanceHandle. setProcessNo ( qaProcessInstance. getProcessNo ( ) ) ;
qaProcessInstanceHandle. setProcessNoCode ( qaProcessInstance. getProcessNoCode ( ) ) ;
QueryWrapper < QaProcessItem > queryProcessItemWrapper = new QueryWrapper < > ( ) ;
queryProcessItemWrapper. eq ( "process_id" , qaProcess. getId ( ) ) ;
queryProcessItemWrapper. orderByAsc ( "order_no" ) ;
List < QaProcessItem > qaProcessItemList = qaProcessItemMapper. selectList ( queryProcessItemWrapper) ;
JSONArray itemList = jsonObject. getJSONArray ( "itemList" ) ;
for ( int j = 0 ; j < itemList. size ( ) ; j++ ) {
JSONObject item = itemList. getJSONObject ( j) ;
if ( "wu_code" . equals ( item. getString ( "processItemCode" ) ) ) {
qaProcessInstanceHandle. setWuCode ( item. getString ( "processItemInstanceValue" ) ) ;
}
else if ( "exp_reason" . equals ( item. getString ( "processItemCode" ) ) ) {
qaProcessInstanceHandle. setReason ( item. getString ( "processItemInstanceValue" ) ) ;
}
else if ( "group_line" . equals ( item. getString ( "processItemCode" ) ) ) {
qaProcessInstanceHandle. setGroupLine ( item. getString ( "processItemInstanceValue" ) ) ;
}
else if ( "system_name" . equals ( item. getString ( "processItemCode" ) ) ) {
qaProcessInstanceHandle. setCpkName ( item. getString ( "processItemInstanceValue" ) ) ;
}
else if ( "sys_id" . equals ( item. getString ( "processItemCode" ) ) ) {
qaProcessInstanceHandle. setCpkId ( item. getString ( "processItemInstanceValue" ) ) ;
}
}
List < QaProcessItemInstance > qaProcessItemInstanceList = new ArrayList < > ( ) ;
for ( int i = 0 ; i < qaProcessItemList. size ( ) ; i++ ) {
QaProcessItem qaProcessItem = qaProcessItemList. get ( i) ;
QaProcessItemInstance qaProcessItemInstance = new QaProcessItemInstance ( ) ;
qaProcessItemInstance. setProcessInstanceId ( qaProcessInstance. getId ( ) ) ;
qaProcessItemInstance. setProcessItemId ( qaProcessItem. getId ( ) ) ;
qaProcessItemInstance. setProcessItemName ( qaProcessItem. getProcessItemName ( ) ) ;
qaProcessItemInstance. setProcessItemType ( qaProcessItem. getProcessItemType ( ) ) ;
qaProcessItemInstance. setProcessItemInstanceValue ( qaProcessItem. getProcessItemInstanceValue ( ) ) ;
for ( int j = 0 ; j < itemList. size ( ) ; j++ ) {
JSONObject item = itemList. getJSONObject ( j) ;
if ( item. getString ( "processItemCode" ) . equals ( qaProcessItem. getProcessItemCode ( ) ) ) {
qaProcessItemInstance. setProcessItemInstanceValue ( item. getString ( "processItemInstanceValue" ) ) ;
break ;
}
}
qaProcessItemInstanceList. add ( qaProcessItemInstance) ;
}
qaProcessInstanceHandleMapper. insert ( qaProcessInstanceHandle) ;
qaProcessItemInstanceService. saveBatch ( qaProcessItemInstanceList) ;
return qaProcessInstance;
}
}
QaProcessInstanceMapper 类
package org. jeecg. modules. quality. mapper ;
import com. baomidou. mybatisplus. core. conditions. Wrapper ;
import com. baomidou. mybatisplus. core. conditions. query. QueryWrapper ;
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. apache. ibatis. annotations. Select ;
import org. jeecg. common. system. vo. DictModel ;
import org. jeecg. modules. quality. entity. QaProcessInstance ;
import com. baomidou. mybatisplus. core. mapper. BaseMapper ;
import org. jeecg. modules. quality. vo. QaProcessCpkDataVO ;
import org. jeecg. modules. quality. vo. QaProcessExpDataVO ;
import org. jeecg. modules. quality. vo. QaProcessInstanceVO ;
import java. util. List ;
import java. util. Map ;
public interface QaProcessInstanceMapper extends BaseMapper < QaProcessInstance > {
IPage < QaProcessInstanceVO > findByPage ( IPage < QaProcessInstanceVO > page, @Param ( Constants . WRAPPER) Wrapper < QaProcessInstanceVO > wrapper) ;
List < QaProcessInstanceVO > findList ( @Param ( Constants . WRAPPER) Wrapper < QaProcessInstanceVO > wrapper) ;
List < Map < String , Object > > handlingSituationDataCreateList ( ) ;
List < Map < String , Object > > handlingSituationDataHandleOverList ( ) ;
List < Map < String , Object > > handlingSituationDataHandlingList ( ) ;
List < Map < String , Object > > processPercentageDataList ( ) ;
List < Map < String , Object > > abnormalPercentageDataList ( ) ;
List < Map < String , Object > > processPendingDataList ( ) ;
List < Map < String , Object > > initiateNumberDataList ( List < DictModel > dictModelList) ;
List < Map < String , Object > > expDataContractList ( List < QaProcessInstanceVO > qaProcessInstanceList) ;
List < Map < String , Object > > expDataCheckList ( List < QaProcessInstance > qaProcessInstanceList) ;
List < Map < String , Object > > cpkDataCheckList ( List < QaProcessInstanceVO > qaProcessInstanceList) ;
List < QaProcessInstanceVO > findListByDay ( @Param ( "day" ) int day, @Param ( "processCode" ) String processCode) ;
IPage < QaProcessExpDataVO > findProcessExpByPage ( IPage < QaProcessExpDataVO > page, @Param ( Constants . WRAPPER) Wrapper < QaProcessExpDataVO > wrapper) ;
IPage < QaProcessCpkDataVO > findProcessCpkByPage ( IPage < QaProcessCpkDataVO > page, @Param ( Constants . WRAPPER) Wrapper < QaProcessCpkDataVO > wrapper) ;
List < QaProcessExpDataVO > findProcessExpByPage ( @Param ( Constants . WRAPPER) QueryWrapper < QaProcessExpDataVO > wrapper) ;
List < QaProcessCpkDataVO > findProcessCpkByPage ( @Param ( Constants . WRAPPER) QueryWrapper < QaProcessCpkDataVO > wrapper) ;
List < QaProcessInstance > getMonthData ( @Param ( "line" ) String line) ;
List < QaProcessInstance > getMonthTypeData ( @Param ( "line" ) String line) ;
}
QaProcessInstanceMapper.xml
<?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.quality.mapper.QaProcessInstanceMapper" >
< select id = " findByPage" resultType = " org.jeecg.modules.quality.vo.QaProcessInstanceVO" >
select * from (
SELECT
qa_process_instance.*, qa_process.process_name,
qa_process.process_code,
qa_process.process_type,
c.process_node_name AS cur_node_name,
n.process_node_name AS next_node_name,
h.cpk_id AS cpk_data_id,
h.cpk_name AS cpk_name,
h.reason,
h.wu_code AS wu_code,
h.group_line
FROM
qa_process_instance
LEFT JOIN qa_process ON qa_process_instance.process_id = qa_process.id
LEFT JOIN qa_process_node c ON qa_process_instance.cur_node_id = c.id
LEFT JOIN qa_process_node n ON qa_process_instance.next_node_id = n.id
INNER JOIN qa_process_instance_handle h ON h.process_instance_id = qa_process_instance.id)
AS t ${ew.customSqlSegment}
</ select>
< select id = " findList" resultType = " org.jeecg.modules.quality.vo.QaProcessInstanceVO" >
select * from (
SELECT
qa_process_instance.*, qa_process.process_name,
qa_process.process_code,
qa_process.process_type,
c.process_node_name AS cur_node_name,
n.process_node_name AS next_node_name,
h.cpk_id AS cpk_data_id,
h.cpk_name AS cpk_name,
h.reason,
h.group_line
FROM
qa_process_instance
LEFT JOIN qa_process ON qa_process_instance.process_id = qa_process.id
LEFT JOIN qa_process_node c ON qa_process_instance.cur_node_id = c.id
LEFT JOIN qa_process_node n ON qa_process_instance.next_node_id = n.id
INNER JOIN qa_process_instance_handle h ON h.process_instance_id = qa_process_instance.id)
AS t ${ew.customSqlSegment}
</ select>
< select id = " handlingSituationDataCreateList" resultType = " Map" >
SELECT
a.create_by AS createUser,
b.realname AS createUserName,
COUNT (*) AS totalNum
FROM
qa_process_instance a
INNER JOIN sys_user b ON a.create_by COLLATE Chinese_PRC_CI_AS = b.username
GROUP BY
a.create_by,
b.realname
</ select>
< select id = " handlingSituationDataHandleOverList" resultType = " Map" >
SELECT
b.username AS handleUser,
b.realname AS handleUserName,
COUNT (a.id) AS totalNum
FROM
qa_process_instance a
INNER JOIN (
SELECT
process_instance_id,
handle_user_id
FROM
qa_process_node_instance
GROUP BY
process_instance_id,
handle_user_id
) c ON c.process_instance_id = a.id
INNER JOIN sys_user b ON c.handle_user_id COLLATE Chinese_PRC_CI_AS = b.id
WHERE
a.process_status = 2
GROUP BY
b.username,
b.realname
</ select>
< select id = " handlingSituationDataHandlingList" resultType = " Map" >
SELECT
b.username AS handleUser,
b.realname AS handleUserName,
COUNT (a.id) AS totalNum
FROM
qa_process_instance a
INNER JOIN (
SELECT
process_instance_id,
handle_user_id
FROM
qa_process_node_instance
GROUP BY
process_instance_id,
handle_user_id
) c ON c.process_instance_id = a.id
INNER JOIN sys_user b ON c.handle_user_id COLLATE Chinese_PRC_CI_AS = b.id
WHERE
a.process_status IN (0, 1)
GROUP BY
b.username,
b.realname
</ select>
< select id = " processPercentageDataList" resultType = " Map" >
SELECT
b.process_code AS processCode,
b.process_name AS processName,
COUNT (a.id) AS totalNum
FROM
qa_process_instance a
INNER JOIN qa_process b ON a.process_id = b.id
GROUP BY
b.process_code,
b.process_name
</ select>
< select id = " abnormalPercentageDataList" resultType = " Map" >
SELECT
b.process_type AS processCode,
di.item_text AS processName,
COUNT (a.id) AS totalNum
FROM
qa_process_instance a
INNER JOIN qa_process b ON a.process_id = b.id
INNER JOIN sys_dict_item di ON b.process_type COLLATE Database_Default = di.item_value
INNER JOIN sys_dict d ON d.id = di.dict_id
WHERE
d.dict_code = 'bpm_process_type'
GROUP BY
b.process_type,
di.item_text
</ select>
< select id = " processPendingDataList" resultType = " Map" >
SELECT
b.process_code,
b.process_name,
COUNT (a.id) AS totalNum
FROM
qa_process_instance a
INNER JOIN qa_process b ON a.process_id = b.id
WHERE
a.process_status IN (0, 1)
GROUP BY
b.process_code,
b.process_name
</ select>
< select id = " initiateNumberDataList" resultType = " Map" >
SELECT
c.process_name,
c.process_code,
a.process_item_instance_value,
a.process_item_value
FROM
qa_process_item_instance a
INNER JOIN qa_process_instance b ON a.process_instance_id = b.id
INNER JOIN qa_process c ON c.id = b.process_id
WHERE
a.process_item_type = 3 AND a.process_item_name = '产生来源'
AND c.id IN
< foreach item = " item" index = " index" collection = " list" open = " (" separator = " ," close = " )" >
#{item.value}
</ foreach>
</ select>
< select id = " findListByDay" resultType = " org.jeecg.modules.quality.vo.QaProcessInstanceVO" >
SELECT
qa_process_instance.*, qa_process.process_name,
qa_process.process_code,
qa_process.process_type,
c.process_node_name as cur_node_name,
c.handle_user_id as handle_user_id,
c.handle_user_type as handle_user_type,
n.process_node_name as next_node_name
FROM
qa_process_instance
INNER JOIN qa_process ON qa_process_instance.process_id = qa_process.id
LEFT JOIN qa_process_node c ON qa_process_instance.cur_node_id = c.id
LEFT JOIN qa_process_node n ON qa_process_instance.next_node_id = n.id
WHERE datediff(day, qa_process_instance.create_time, getdate())>= 0 AND datediff(DAY, qa_process_instance.create_time, getdate()) < = #{day} AND qa_process.process_code= #{processCode}
</ select>
< select id = " expDataContractList" resultType = " Map" >
SELECT
c.id,
CONVERT(varchar(100), c.create_time, 23) AS create_time,
a.process_item_instance_value,
d.group_line,
d.model
FROM
qa_process_item_instance a
INNER JOIN qa_process_instance c ON c.id=a.process_instance_id
INNER JOIN qa_process_item b ON b.id = a.process_item_id
INNER JOIN qa_plan d ON d.contract_no = a.process_item_instance_value
AND b.process_item_code = 'contract_no'
WHERE c.id IN
< foreach item = " item" index = " index" collection = " list" open = " (" separator = " ," close = " )" >
#{item.id}
</ foreach>
</ select>
< select id = " expDataCheckList" resultType = " Map" >
SELECT
c.id,
CONVERT(varchar(100), c.create_time, 23) AS create_time,
a.process_item_instance_value,
d.kpc_code,
d.target_value,
d.cpk_type
FROM
qa_process_item_instance a
INNER JOIN qa_process_instance c ON c.id=a.process_instance_id
INNER JOIN qa_process_item b ON b.id = a.process_item_id
INNER JOIN qa_cpk_conf d ON d.id = a.process_item_instance_value
AND b.process_item_code = 'check_code'
WHERE c.id IN
< foreach item = " item" index = " index" collection = " list" open = " (" separator = " ," close = " )" >
#{item.id}
</ foreach>
</ select>
< select id = " findProcessExpByPage" resultType = " org.jeecg.modules.quality.vo.QaProcessExpDataVO" >
SELECT
t.*
FROM
v_process_exp AS t ${ew.customSqlSegment}
ORDER BY
t.create_time DESC
</ select>
< select id = " findProcessCpkByPage" resultType = " org.jeecg.modules.quality.vo.QaProcessCpkDataVO" >
SELECT t.* FROM (SELECT
a.id,
a.create_by,
a.create_time,
d.process_node_name,
a.process_status,
f.kpc_code,
f.process,
f.cpk_name,
f.target_value,
f.cpk_type,
f.escalator_type,
c.cpk,
c.id as cpk_id,
b.process_code,
e.process_item_instance_value as cpk_reason,
b.process_name,
'HZ1' as group_line
FROM
qa_process_instance a
INNER JOIN qa_cpk_history c ON c.process_instance_ids LIKE CONCAT ('%', a.id, '%')
INNER JOIN qa_cpk_conf f ON f.cpk_code = c.cpk_code
INNER JOIN qa_process b ON a.process_id = b.id
LEFT JOIN qa_process_node d ON a.cur_node_id = d.id
LEFT JOIN qa_process_item g on g.process_id = b.id and g.process_item_code = 'cpk_reason'
LEFT JOIN qa_process_item_instance e on e.process_instance_id = a.id and e.process_item_id = g.id
WHERE
b.process_code IN ('cpk', 'spc')) AS t ${ew.customSqlSegment}
ORDER BY
t.create_time DESC
</ select>
< select id = " cpkDataCheckList" resultType = " Map" >
SELECT
c.id,
CONVERT(varchar(100), c.create_time, 23) AS create_time,
d.escalator_type
FROM
qa_process_item_instance a
INNER JOIN qa_process_instance c ON c.id = a.process_instance_id
INNER JOIN qa_process_item b ON b.id = a.process_item_id
INNER JOIN qa_cpk_conf d ON d.id = a.process_item_instance_value
AND b.process_item_code = 'check_code'
WHERE c.id IN
< foreach item = " item" index = " index" collection = " list" open = " (" separator = " ," close = " )" >
#{item.id}
</ foreach>
</ select>
< select id = " getMonthData" resultType = " org.jeecg.modules.quality.entity.QaProcessInstance" >
SELECT
qa_process_instance.*
FROM
qa_process_instance
LEFT JOIN qa_process_item_instance pii ON qa_process_instance.id = pii.process_instance_id
LEFT JOIN qa_process_item pit ON pii.process_item_id = pit.id
WHERE pit.process_item_code = 'wu_code'
AND SUBSTRING(pii.process_item_instance_value,3,1) = #{line}
</ select>
< select id = " getMonthTypeData" resultType = " org.jeecg.modules.quality.entity.QaProcessInstance" >
SELECT
qa_process_instance.*
FROM
qa_process_instance
LEFT JOIN qa_process_item_instance pii ON qa_process_instance.id = pii.process_instance_id
LEFT JOIN qa_process_item pit ON pii.process_item_id = pit.id
WHERE pit.process_item_code = 'wu_code'
AND SUBSTRING(pii.process_item_instance_value,1,3) = #{line}
</ select>
</ mapper>