Merge remote-tracking branch 'origin/dev_fifo' into dev_fifo

dev_kcyj
anthonywj 1 year ago
commit 163e8c8b4d

@ -32,6 +32,10 @@ public class Constant {
public static final String DH_ORDER = "DH"; //到货
public static final String TH_ORDER = "TH"; //退货
public static final String DEV_DDJ = "DDJ"; //设备登记
public static final String DEV_DBG = "DBG"; //设备变更
public static final String DEV_DYC = "DYC"; //设备移除
/**
*

@ -59,6 +59,20 @@ public class SysApprovalFlowConfigController {
@ApiOperation(value = "新增配置详情")
@PostMapping("/udiwms/sysApprovalFlowConfig/addConfigDetail")
public BaseResponse addConfigDetail(@RequestBody @Valid SysApprovalFlowAddDetailRequest sysApprovalFlowAddDetailRequest) {
Integer approvalNodeType = sysApprovalFlowAddDetailRequest.getApprovalNodeType();
if (approvalNodeType == 1){
String approvalUserId = sysApprovalFlowAddDetailRequest.getApprovalUserId();
String approvalUserName = sysApprovalFlowAddDetailRequest.getApprovalUserName();
if (StringUtil.isEmpty(approvalUserId)) return ResultVOUtils.error("审批人主键不可以为空!");
if (StringUtil.isEmpty(approvalUserName)) return ResultVOUtils.error("审批人名称不可以为空!");
}else if(approvalNodeType == 2){
String approvalPostId = sysApprovalFlowAddDetailRequest.getApprovalPostId();
String approvalPostName = sysApprovalFlowAddDetailRequest.getApprovalPostName();
if (StringUtil.isEmpty(approvalPostId)) return ResultVOUtils.error("审批岗位序号不可以为空!");
if (StringUtil.isEmpty(approvalPostName)) return ResultVOUtils.error("审批岗位名称不可以为空!");
}
int i = sysApprovalFlowConfigService.addConfigDetail(sysApprovalFlowAddDetailRequest);
return ResultVOUtils.success();
}

@ -1,17 +1,42 @@
package com.glxp.api.controller.basic;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.entity.auth.DeptEntity;
import com.glxp.api.entity.basic.SysApprovalFlow;
import com.glxp.api.entity.dev.DeviceChangeLogEntity;
import com.glxp.api.entity.dev.DeviceChangeOrderEntity;
import com.glxp.api.entity.dev.DeviceChangeOrderItemEntity;
import com.glxp.api.enums.ApprovalFlowEnum;
import com.glxp.api.enums.dev.DeviceChangeStatusEnum;
import com.glxp.api.enums.dev.DeviceChangeTypeEnum;
import com.glxp.api.enums.dev.DeviceStatusEnum;
import com.glxp.api.exception.JsonException;
import com.glxp.api.req.basic.SubmitApprovalFlowRequest;
import com.glxp.api.res.basic.SysApprovalFlowDetailResponse;
import com.glxp.api.service.auth.CustomerService;
import com.glxp.api.service.auth.DeptService;
import com.glxp.api.service.basic.SysApprovalFlowService;
import com.glxp.api.service.dev.DeviceChangeLogService;
import com.glxp.api.service.dev.DeviceChangeOrderItemService;
import com.glxp.api.service.dev.DeviceChangeOrderService;
import com.glxp.api.service.dev.DeviceInfoService;
import com.glxp.api.service.system.SystemParamConfigService;
import com.glxp.api.vo.dev.DeviceChangeOrderVo;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.Valid;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
@Slf4j
@ -22,6 +47,18 @@ public class SysApprovalFlowController {
private SysApprovalFlowService sysApprovalFlowService;
@Resource
private SystemParamConfigService systemParamConfigService;
@Resource
private DeviceChangeOrderService deviceChangeOrderService;
@Resource
private DeviceChangeOrderItemService deviceChangeOrderItemService;
@Resource
private DeviceInfoService deviceInfoService;
@Resource
private DeviceChangeLogService deviceChangeLogService;
@Resource
private DeptService deptService;
@Resource
private CustomerService customerService;
@ApiOperation(value = "获取流程审批过程")
@GetMapping("/udiwms/sysApprovalFlow/approvalFlowDetailList/{approvalFlowId}")
@ -44,4 +81,72 @@ public class SysApprovalFlowController {
return ResultVOUtils.success(sys_approval_flow);
}
@ApiOperation(value = "是否有节点审批权限")
@GetMapping("/sysApprovalFlow/nodePermissions/{id}")
public BaseResponse nodePermissions(@PathVariable String id) {
boolean b = sysApprovalFlowService.nodePermissions(id);
return ResultVOUtils.success(b);
}
@ApiOperation(value = "提交节点审批-设备一处")
@PostMapping("/udiwms/sysApprovalFlow/submitApprovalFlow/sbyc")
@Transactional(rollbackFor = Exception.class)
public BaseResponse submitApprovalFlowSbyc(@RequestBody @Valid SubmitApprovalFlowRequest submitApprovalFlowRequest) {
String approvalFlowMxId = submitApprovalFlowRequest.getId();
sysApprovalFlowService.submitApprovalFlow(submitApprovalFlowRequest);
//判断是否是最终状态为 审核通过 是 调用 审核通过的后续方法
SysApprovalFlow sysApprovalFlow = sysApprovalFlowService.getApprovalFlowByMxId(approvalFlowMxId);
Integer status = sysApprovalFlow.getStatus();
if (status.equals(ApprovalFlowEnum.TG.getCode())){
//后续方法
String id = sysApprovalFlow.getId();
DeviceChangeOrderEntity order = deviceChangeOrderService.getOne(Wrappers.lambdaQuery(DeviceChangeOrderEntity.class).eq(DeviceChangeOrderEntity::getApprovalFlowId, id));
if (order == null){
return ResultVOUtils.error("未找到对应的审批流程,请确认");
}
LocalDateTime now = LocalDateTime.now();
Long userId = customerService.getUserId();
AuthAdmin authUserDto = customerService.getUserBean();
//查询创建人名称
String userName = authUserDto.getEmployeeName();
deviceChangeOrderService.update(Wrappers.lambdaUpdate(DeviceChangeOrderEntity.class)
.set(DeviceChangeOrderEntity::getStatus, DeviceChangeStatusEnum.FINISH)
.set(DeviceChangeOrderEntity::getConfirmTime, now)
.set(DeviceChangeOrderEntity::getConfirmUser, userId)
.set(DeviceChangeOrderEntity::getConfirmUserName, userName)
.eq(DeviceChangeOrderEntity::getApprovalFlowId, id)
.eq(DeviceChangeOrderEntity::getStatus, DeviceChangeStatusEnum.AUDITING));
List<DeviceChangeOrderItemEntity> list = deviceChangeOrderItemService.list(Wrappers.lambdaQuery(DeviceChangeOrderItemEntity.class).eq(DeviceChangeOrderItemEntity::getOrderId, order.getOrderId()));
if (CollectionUtil.isEmpty(list)){
return ResultVOUtils.error("单据里待移除设备不存在,请确认");
}
List<DeviceChangeLogEntity> logs = new ArrayList<>();
DeviceChangeOrderVo orderVo = BeanUtil.copyProperties(order, DeviceChangeOrderVo.class);
orderVo.setConfirmTime(now);
orderVo.setConfirmUser(userId);
orderVo.setConfirmUserName(userName);
DeptEntity dept = deptService.selectByCode(orderVo.getDeptCode());
orderVo.setDeptName(dept.getName());
if (orderVo.getToDeptCode().equals(orderVo.getDeptCode())) {
orderVo.setToDeptName(dept.getName());
} else {
dept = deptService.selectByCode(orderVo.getToDeptCode());
orderVo.setToDeptName(dept.getName());
}
list.forEach( i ->{
deviceInfoService.changeStatus(i.getDeviceCode(), order.getDeptCode(), DeviceStatusEnum.NORMAL, order.getType() == DeviceChangeTypeEnum.CHANGE ? DeviceStatusEnum.CHANGE : DeviceStatusEnum.DESTROY);
if (order.getType() == DeviceChangeTypeEnum.DESTROY) {
DeviceChangeLogEntity logEntity = DeviceChangeLogEntity.genEntity(i.getDeviceCode(), orderVo);
logs.add(logEntity);
}
});
if (CollectionUtil.isNotEmpty(logs)) {
deviceChangeLogService.saveBatch(logs);
}
}
return ResultVOUtils.success();
}
}

@ -151,6 +151,8 @@ public class DeviceInfoController extends BaseController {
@AuthRuleAnnotation("")
@PostMapping("/udi/device/info/detailByDeptCode/page")
public BaseResponse detailByDeptCode(@RequestBody @Valid DeviceInfoDetailByDeptCodeQuery query) {
AuthAdmin user = super.getUser();
query.setDeptCode(user.getLocDeptCode());
List<DeviceInfoVo> list = deviceInfoService.detail(query);
PageInfo pageInfo = new PageInfo<>(list);
PageSimpleResponse page = new PageSimpleResponse();
@ -168,8 +170,6 @@ public class DeviceInfoController extends BaseController {
@AuthRuleAnnotation("")
@PostMapping("/udi/device/detailInfo/page")
public BaseResponse detailInfoPage(@RequestBody DeviceInfoDetailQuery query) {
AuthAdmin user = super.getUser();
query.setDeptCode(user.getLocDeptCode());
List<DeviceInfoVo> list = deviceInfoService.detail(query);
PageInfo pageInfo = new PageInfo<>(list);
PageSimpleResponse page = new PageSimpleResponse();

@ -0,0 +1,68 @@
package com.glxp.api.controller.dev;
import com.github.pagehelper.PageInfo;
import com.glxp.api.annotation.AuthRuleAnnotation;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.controller.BaseController;
import com.glxp.api.entity.dev.DeviceCheckDetailEntity;
import com.glxp.api.req.dev.*;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.dev.DeviceRepairApplyDetailMiniResponse;
import com.glxp.api.service.dev.DeviceCheckDetailService;
import com.glxp.api.service.dev.DeviceRepairApplyDetailService;
import groovy.util.logging.Slf4j;
import lombok.RequiredArgsConstructor;
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 javax.validation.Valid;
import java.util.List;
@Slf4j
@RestController
@RequestMapping
@RequiredArgsConstructor
public class DeviceMiniController extends BaseController {
private final DeviceRepairApplyDetailService deviceRepairApplyDetailService;
private final DeviceCheckDetailService deviceCheckDetailService;
/**
*
*
* @param query
* @return
*/
@AuthRuleAnnotation("")
@PostMapping("/udi/device/repair/apply/detail/mini/page")
public BaseResponse miniPage(@RequestBody @Valid DeviceRepairApplyDetailMiniQuery query) {
List<DeviceRepairApplyDetailMiniResponse> list = deviceRepairApplyDetailService.miniPage(query);
PageInfo pageInfo = new PageInfo<>(list);
PageSimpleResponse page = new PageSimpleResponse();
page.setTotal(pageInfo.getTotal());
page.setList(pageInfo.getList());
return ResultVOUtils.success(page);
}
/**
*
*
* @param query
* @return
*/
@AuthRuleAnnotation("")
@PostMapping("/udi/device/check/detail/mini/page")
public BaseResponse miniPage(@RequestBody @Valid DeviceCheckDetailMiniQuery query) {
List<DeviceCheckDetailEntity> list = deviceCheckDetailService.miniPage(query);
PageInfo pageInfo = new PageInfo<>(list);
PageSimpleResponse page = new PageSimpleResponse();
page.setTotal(pageInfo.getTotal());
page.setList(pageInfo.getList());
return ResultVOUtils.success(page);
}
}

@ -9,10 +9,7 @@ import com.glxp.api.controller.BaseController;
import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.entity.dev.DeviceRepairApplyEntity;
import com.glxp.api.enums.dev.DeviceRepairApplyStatusEnum;
import com.glxp.api.req.dev.DeviceRepairApplyAddParam;
import com.glxp.api.req.dev.DeviceRepairApplyConfirmParam;
import com.glxp.api.req.dev.DeviceRepairApplyHallQuery;
import com.glxp.api.req.dev.DeviceRepairApplyQuery;
import com.glxp.api.req.dev.*;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.service.dev.DeviceRepairApplyService;
import com.glxp.api.vo.dev.DeviceRepairApplyVo;
@ -21,6 +18,7 @@ import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.ArrayList;
import java.util.List;
@Slf4j
@ -60,9 +58,15 @@ public class DeviceRepairApplyController extends BaseController {
@PostMapping("/udi/device/repair/apply/hall/page")
public BaseResponse adminPage(@RequestBody DeviceRepairApplyHallQuery query) {
DeviceRepairApplyQuery applyQuery = new DeviceRepairApplyQuery();
applyQuery.setStatus(DeviceRepairApplyStatusEnum.WAIT_PROCESS);
applyQuery.setApplyId(query.getApplyId());
applyQuery.setApplyDeptCode(query.getApplyDeptCode());
ArrayList<DeviceRepairApplyStatusEnum> statusEnums = new ArrayList<>();
if (query.getIsFinish() == 1){
statusEnums.add(DeviceRepairApplyStatusEnum.FINISH);
}else {
statusEnums.add(DeviceRepairApplyStatusEnum.WAIT_PROCESS);
statusEnums.add(DeviceRepairApplyStatusEnum.PROCESSING);
}
applyQuery.setStatuss(statusEnums);
BeanUtil.copyProperties(query,applyQuery);
List<DeviceRepairApplyEntity> list = deviceRepairApplyService.pageList(applyQuery);
PageInfo pageInfo = new PageInfo<>(list);
PageSimpleResponse page = new PageSimpleResponse();

@ -67,4 +67,18 @@ public class DeviceRepairApplyDetailController extends BaseController {
}
/**
*
*
* @param query
* @return
*/
@AuthRuleAnnotation("")
@PostMapping("/udi/device/repair/apply/listByIdAndCode")
public BaseResponse listByIdAndCode(@RequestBody @Valid DeviceRepairApplyListByIdAndCodeQuery query) {
DeviceRepairApplyDetailEntity entity = deviceRepairApplyDetailService.listByIdAndCode(query);
return ResultVOUtils.success(entity);
}
}

@ -52,14 +52,14 @@ public class DeviceRepairController extends BaseController {
/**
*
*
* @param repairId id
* @param deviceRepairEntity
* @return
*/
@AuthRuleAnnotation("")
@GetMapping("/udi/device/repair/finishByUser/{repairId}")
public BaseResponse finishByUser(@PathVariable Long repairId) {
@PostMapping("/udi/device/repair/finishByUser/repairId")
public BaseResponse finishByUser(@RequestBody DeviceRepairEntity deviceRepairEntity) {
AuthAdmin user = super.getUser();
deviceRepairService.finishByUser(repairId, user);
deviceRepairService.finishByUser(deviceRepairEntity, user);
return ResultVOUtils.successMsg("操作成功");
}

@ -0,0 +1,223 @@
package com.glxp.api.controller.purchase;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.glxp.api.annotation.RepeatSubmit;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.entity.purchase.PurContractDetailEntity;
import com.glxp.api.entity.purchase.PurContractEntity;
import com.glxp.api.entity.purchase.PurPlanEntity;
import com.glxp.api.req.purchase.*;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.purchase.PurContractEntityResponse;
import com.glxp.api.service.auth.CustomerService;
import com.glxp.api.service.basic.SysApprovalFlowService;
import com.glxp.api.service.purchase.impl.PurContractDetailService;
import com.glxp.api.service.purchase.impl.PurContractService;
import com.glxp.api.service.system.SystemParamConfigService;
import com.glxp.api.util.GennerOrderUtils;
import com.glxp.api.util.OrderNoTypeBean;
import jodd.util.StringUtil;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.constraints.NotEmpty;
import java.util.Arrays;
import java.util.Date;
@RestController
@Slf4j
@RequiredArgsConstructor
public class PurContractController {
@Resource
PurContractService purContractService;
@Resource
PurContractDetailService purContractDetailService;
@Resource
private GennerOrderUtils gennerOrderUtils;
@Resource
private SysApprovalFlowService sysApprovalFlowService;
@Resource
CustomerService customerService;
@Resource
SystemParamConfigService systemParamConfigService;
final String type = "cght";
/**
* 稿
*/
@PostMapping("/purchase/contract/postOrder")
public BaseResponse postOrder(@RequestBody PostPurContractRequest postPurPlanRequest) {
Long userId = customerService.getUserId();
PurContractEntity purContractEntity = postPurPlanRequest.getPurContractEntity();
Date date = new Date();
purContractEntity.setUpdateTime(date);
purContractEntity.setUpdateUser(userId + "");
purContractEntity.setStatus(postPurPlanRequest.getEditStatus()); //状态
Integer editStatus = postPurPlanRequest.getEditStatus();
String code1 = purContractEntity.getCode();
if (StringUtil.isEmpty(code1)) {
String code = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean("HT", "yyyyMMdd"));
purContractEntity.setCode(code);
}
Boolean sys_approval_flow = "1".equals(systemParamConfigService.selectValueByParamKey("sys_approval_flow"));
if (editStatus == 2 && sys_approval_flow){//提交审核
String approvalFlowId = sysApprovalFlowService.getApprovalFlowId();
purContractEntity.setApprovalFlowId(approvalFlowId);
sysApprovalFlowService.generateFlow(approvalFlowId,purContractEntity.getCode(),type);
}
if (purContractEntity.getId() == null) {
purContractEntity.setCreateTime(date);
purContractEntity.setCreateUser(userId + "");
purContractService.save(purContractEntity);
} else {
purContractService.updateById(purContractEntity);
}
return ResultVOUtils.success("提交成功!");
}
/**
*
*/
@GetMapping("/purchase/contract/list")
public BaseResponse list(PurContractRequest purContractRequest) {
Boolean sys_approval_flow = "1".equals(systemParamConfigService.selectValueByParamKey("sys_approval_flow"));
purContractRequest.setSysApprovalFlow(sys_approval_flow);
IPage<PurContractEntityResponse> page = purContractService.queryPageList(purContractRequest);
PageSimpleResponse<PurContractEntityResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(page.getTotal());
pageSimpleResponse.setList(page.getRecords());
return ResultVOUtils.success(pageSimpleResponse);
}
/**
*
*
* @param purContractDetailRequest
* @return
*/
@GetMapping("/purchase/contract/list/detail")
public BaseResponse getDetailList(PurContractDetailRequest purContractDetailRequest) {
IPage<PurContractDetailEntity> page = purContractDetailService.queryPageList(purContractDetailRequest);
PageSimpleResponse<PurContractDetailEntity> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(page.getTotal());
pageSimpleResponse.setList(page.getRecords());
return ResultVOUtils.success(pageSimpleResponse);
}
/**
*
*/
@PostMapping("/purchase/contract/updateDetail")
public BaseResponse detailEdit(@RequestBody PurContractDetailEntity purPlanDetailEntity) {
purContractDetailService.updateById(purPlanDetailEntity);
return ResultVOUtils.success("修改成功");
}
/**
*
*/
@PostMapping("/purchase/contract/addContractDetail")
public BaseResponse addContractDetail(@RequestBody AddPurPlanDetailRequest addPurPlanDetailRequest) {
int falg = purContractDetailService.insert(addPurPlanDetailRequest);
if (falg > 0) {
return ResultVOUtils.success("添加成功");
} else {
return ResultVOUtils.success("添加失败");
}
}
/**
*
*/
@PostMapping("purchase/addContractDetail/add")
public BaseResponse add() {
Long userId = customerService.getUserId();
PurContractEntity purContractEntity = new PurContractEntity();
Date date = new Date();
purContractEntity.setCreateUser(userId + "");
purContractEntity.setCreateTime(date);
purContractEntity.setUpdateTime(date);
purContractEntity.setUpdateUser(userId + "");
purContractService.insert(purContractEntity);
Long id = purContractEntity.getId();
return ResultVOUtils.success(id);
}
/**
*
*/
@PostMapping("/purchase/contract/delContractDetailAll")
public BaseResponse delApplyDetailAll(@RequestBody PurContractEntity purContractEntity) {
if (purContractEntity.getId() != null) {
purContractService.deleteById(purContractEntity.getId());
purContractDetailService.deleteByOrderId(purContractEntity.getId());
} else {
return ResultVOUtils.error(999, "参数有误!");
}
return ResultVOUtils.success();
}
/**
*
*
* @param ids
*/
@DeleteMapping("/purchase/contract/detail/{ids}")
public BaseResponse detailRemove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
purContractDetailService.deleteByIds(Arrays.asList(ids));
return ResultVOUtils.success("删除成功");
}
/**
*
*/
@PostMapping("/purchase/contract/importPlan")
public BaseResponse importPlan(@RequestBody PurPlanEntity purPlanEntity) {
if (purPlanEntity.getId() != null) {
purContractService.importPlan(purPlanEntity.getId(),purPlanEntity.getPageType());
} else {
return ResultVOUtils.error(999, "参数有误!");
}
return ResultVOUtils.success();
}
/**
*
*/
@RepeatSubmit()
@PostMapping("/purchase/contract/auditOrder")
public BaseResponse auditOrder(@RequestBody PurContractRequest purContractRequest) {
String code = purContractRequest.getCode();
Integer status = purContractRequest.getStatus();
if (StringUtil.isEmpty(code) || status == null){
return ResultVOUtils.error(999, "参数有误!");
}
boolean b = purContractService.auditOrder(purContractRequest);
return ResultVOUtils.success("更新成功!");
}
}

@ -2,6 +2,11 @@ package com.glxp.api.dao.dev;
import com.glxp.api.entity.dev.DeviceRepairApplyDetailEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.glxp.api.req.dev.DeviceRepairApplyDetailMiniQuery;
import com.glxp.api.res.dev.DeviceRepairApplyDetailMiniResponse;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author Administrator
@ -11,6 +16,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
public interface DeviceRepairApplyDetailMapper extends BaseMapper<DeviceRepairApplyDetailEntity> {
List<DeviceRepairApplyDetailMiniResponse> miniPage(@Param("param") DeviceRepairApplyDetailMiniQuery query);
}

@ -0,0 +1,9 @@
package com.glxp.api.dao.purchase;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.glxp.api.entity.purchase.PurContractDetailEntity;
public interface PurContractDetailMapper extends BaseMapper<PurContractDetailEntity> {
// int insert(PurContractDetailEntity purContractDetailEntity);
}

@ -0,0 +1,15 @@
package com.glxp.api.dao.purchase;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.glxp.api.entity.purchase.PurContractEntity;
import com.glxp.api.req.purchase.PurContractRequest;
import com.glxp.api.res.purchase.PurContractEntityResponse;
import org.apache.ibatis.annotations.Param;
public interface PurContractMapper extends BaseMapper<PurContractEntity> {
@Override
int insert(PurContractEntity purContractEntity);
Page<PurContractEntityResponse> selectPage(Page page, @Param("purContractRequest") PurContractRequest purContractRequest);
}

@ -76,4 +76,16 @@ public class SysApprovalFlow {
@TableField(value = "updateTime")
private Date updateTime;
/**
*
*/
@TableField(value = "nextNodeName")
private String nextNodeName;
/**
*
*/
@TableField(value = "nextApprovalNodeType")
private Integer nextApprovalNodeType;
}

@ -65,4 +65,25 @@ public class SysApprovalFlowConfigMx {
@TableField(value = "updateTime")
private Date updateTime;
/**
*
*/
@TableField(value = "approvalNodeType")
private Integer approvalNodeType;
/**
*
*/
@TableField(value = "approvalPostId")
private String approvalPostId;
/**
*
*/
@TableField(value = "approvalPostName")
private String approvalPostName;
}

@ -84,4 +84,25 @@ public class SysApprovalFlowMx {
@TableField(value = "updateTime")
private Date updateTime;
/**
*
*/
@TableField(value = "approvalNodeType")
private Integer approvalNodeType;
/**
*
*/
@TableField(value = "approvalPostId")
private String approvalPostId;
/**
*
*/
@TableField(value = "approvalPostName")
private String approvalPostName;
}

@ -33,6 +33,12 @@ public class DeviceChangeOrderEntity implements Serializable {
@TableId(value = "orderId")
private Long orderId;
/**
*
*/
@TableField(value = "billNo")
private String billNo;
/**
* add:change:
*/
@ -107,4 +113,16 @@ public class DeviceChangeOrderEntity implements Serializable {
@TableField(exist = false)
private static final long serialVersionUID = 1L;
}
/**
*
*/
@TableField(value = "destroyType")
private Integer destroyType;
/**
*
*/
@TableField(value = "approvalFlowId")
private String approvalFlowId;
}

@ -186,4 +186,10 @@ public class DeviceCheckDetailEntity {
@TableField(value = "normalFlag")
private Boolean normalFlag;
/**
* id
*/
@TableField(value = "applyId")
private Long applyId;
}

@ -201,4 +201,10 @@ public class DeviceRepairApplyDetailEntity {
*/
@TableField(value = "finishTime")
private LocalDateTime finishTime;
}
/**
*
*/
@TableField(exist = false)
private String repairUserPhone;
}

@ -252,4 +252,10 @@ public class DeviceRepairEntity {
*/
@TableField(value = "confirmRemark")
private String confirmRemark;
/**
*
*/
@TableField(value = "repairDescription")
private String repairDescription;
}

@ -137,6 +137,9 @@ public class PurApplyEntity {
@TableField(value = "approvalFlowId")
private String approvalFlowId;
@TableField(value = "pageType")
private Integer pageType;
public static final String COL_ID = "id";
public static final String COL_BILLNO = "billNo";

@ -0,0 +1,155 @@
package com.glxp.api.entity.purchase;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
*
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "pur_contract_detail")
public class PurContractDetailEntity implements Serializable {
/**
* ID
*/
@TableId(value = "id", type = IdType.INPUT)
private Long id;
/**
*
*/
@TableField(value = "orderIdFk")
private String orderIdFk;
/**
*
*/
@TableField(value = "productId")
private Long productId;
/**
* id uniqueId
*/
@TableField(value = "productUniqueId")
private String productUniqueId;
/**
*
*/
@TableField(value = "nameCode")
private String nameCode;
/**
*
*/
@TableField(value = "batchNo")
private String batchNo;
/**
*
*/
@TableField(value = "productName")
private String productName;
/**
*
*/
@TableField(value = "productCompany")
private String productCompany;
/**
*
*/
@TableField(value = "produceDate")
private Date produceDate;
/**
*
*/
@TableField(value = "expireDate")
private Date expireDate;
/**
* /
*/
@TableField(value = "zczbhhzbapzbh")
private String zczbhhzbapzbh;
/**
*
*/
@TableField(value = "ggxh")
private String ggxh;
/**
*
*/
@TableField(value = "packRatio")
private String packRatio;
/**
* id
*/
@TableField(value = "supId")
private Long supId;
/**
*
*/
@TableField(value = "supName")
private String supName;
/**
*
*/
@TableField(value = "`count`")
private Integer count;
/**
*
*/
@TableField(value = "price")
private BigDecimal price;
/**
*
*/
@TableField(value = "firstSalesInvNo")
private String firstSalesInvNo;
/**
*
*/
@TableField(value = "secSalesInvNo")
private String secSalesInvNo;
/**
*
*/
@TableField(value = "secSalesListNo")
private String secSalesListNo;
/**
*
*/
@TableField(value = "invoiceDate")
private String invoiceDate;
@TableField(value = "remark")
private String remark;
private static final long serialVersionUID = 1L;
}

@ -0,0 +1,170 @@
package com.glxp.api.entity.purchase;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
*
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "pur_contract")
public class PurContractEntity implements Serializable {
@TableId(value = "id", type = IdType.INPUT)
private Long id;
/**
*
*/
@TableField(value = "code")
private String code;
/**
*
*/
@TableField(value = "`name`")
private String name;
/**
* /
*/
@TableField(value = "fromCorp")
private String fromCorp;
/**
*
*/
@TableField(value = "contractDate")
private Date contractDate;
/**
*
*/
@TableField(value = "invCode")
private String invCode;
/**
*
*/
@TableField(value = "`status`")
private Integer status;
/**
*
*/
@TableField(value = "`type`")
private Integer type;
/**
*
*/
@TableField(value = "payType")
private String payType;
/**
*
*/
@TableField(value = "startDate")
private Date startDate;
/**
*
*/
@TableField(value = "endDate")
private Date endDate;
/**
*
*/
@TableField(value = "amount")
private BigDecimal amount;
/**
*
*/
@TableField(value = "payAmount")
private BigDecimal payAmount;
/**
*
*/
@TableField(value = "payDate")
private Date payDate;
/**
*
*/
@TableField(value = "invoiceDate")
private Date invoiceDate;
/**
* ID
*/
@TableField(value = "planOrderIdFk")
private String planOrderIdFk;
/**
*
*/
@TableField(value = "orderIdFk")
private String orderIdFk;
/**
*
*/
@TableField(value = "`createUser`")
private String createUser;
/**
*
*/
@TableField(value = "updateUser")
private String updateUser;
/**
*
*/
@TableField(value = "createTime")
private Date createTime;
/**
*
*/
@TableField(value = "updateTime")
private Date updateTime;
/**
*
*/
@TableField(value = "remark")
private String remark;
/**
*
*/
@TableField(value = "approvalFlowId")
private String approvalFlowId;
/**
* 1.;0.
*/
@TableField(value = "isGenerateOrder")
private Integer isGenerateOrder;
@TableField(value = "pageType")
private Integer pageType;
private static final long serialVersionUID = 1L;
}

@ -62,6 +62,9 @@ public class PurOrderDetailEntity {
@TableField(value = "destinyId")
private String destinyId;
@TableField(exist = false)
private Integer pageType;
public static final String COL_ID = "id";
public static final String COL_ORDERIDFK = "orderIdFk";

@ -154,6 +154,9 @@ public class PurOrderEntity {
@TableField(value = "approvalFlowId")
private String approvalFlowId;
@TableField(value = "pageType")
private Integer pageType;
public static final String COL_ID = "id";
public static final String COL_BILLNO = "billNo";

@ -150,6 +150,14 @@ public class PurPlanEntity {
@TableField(value = "approvalFlowId")
private String approvalFlowId;
/**
*
*/
@TableField(value = "importStatus")
private Integer importStatus;
@TableField(value = "pageType")
private Integer pageType;
public static final String COL_ID = "id";

@ -14,6 +14,7 @@ public enum DeviceChangeStatusEnum {
DRAFT("draft", "草稿"),
WAIT_CONFIRM("wait_confirm", "待目标部门确认"),
REJECT_CONFIRM("reject_confirm", "目标部门拒绝"),
AUDITING("Auditing", "审核中"),
FINISH("finish", "已完成"),
// 只有type为change才可以取消
CANCEL("cancel", "已取消"),

@ -11,10 +11,10 @@ import lombok.Getter;
@AllArgsConstructor
public enum DeviceRepairApplyDetailStatusEnum {
WAIT_DIAGNOSIS("wait_diagnosis", "待诊断"),
WAIT_DIAGNOSIS("wait_diagnosis", "待受理"),
// WAIT_REPAIR("wait_repair", "待维修"),
REPAIRING("repairing", "维修中"),
FINISH("finish", "完成");
FINISH("finish", "完成");
@EnumValue

@ -11,10 +11,10 @@ import lombok.Getter;
@AllArgsConstructor
public enum DeviceRepairApplyStatusEnum {
WAIT_PROCESS("wait_process", "受理"),
PROCESSING("processing", "受理"),
WAIT_PROCESS("wait_process", "受理"),
PROCESSING("processing", "部分受理"),
// REPAIRING("repairing", "维修中"),
FINISH("finish", "完成");
FINISH("finish", "完成");
@EnumValue

@ -78,4 +78,6 @@ public class CompanyProductRelevanceRequest extends ListPageRequest {
private String basicPrductRemak8;
private String category;
private String action;
private List<String> ids;
}

@ -20,13 +20,13 @@ public class SysApprovalFlowAddDetailRequest {
*
*/
@TableField(value = "approvalUserId")
@NotEmpty(message = "审批人主键不可以为空!")
// @NotEmpty(message = "审批人主键不可以为空!")
private String approvalUserId;
/**
*
*/
@TableField(value = "approvalUserName")
@NotEmpty(message = "审批人名称不可以为空!")
// @NotEmpty(message = "审批人名称不可以为空!")
private String approvalUserName;
/**
@ -36,4 +36,25 @@ public class SysApprovalFlowAddDetailRequest {
@NotNull(message = "排序不可以为空!")
private Integer approvalSort;
/**
*
*/
@TableField(value = "approvalNodeType")
@NotNull(message = "审批节点类型不可以为空!")
private Integer approvalNodeType;
/**
*
*/
@TableField(value = "approvalPostId")
// @NotNull(message = "审批岗位序号不可以为空!")
private String approvalPostId;
/**
*
*/
@TableField(value = "approvalPostName")
// @NotNull(message = "审批岗位名称不可以为空!")
private String approvalPostName;
}

@ -5,12 +5,15 @@ import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.glxp.api.constant.Constant;
import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.entity.dev.DeviceChangeOrderEntity;
import com.glxp.api.entity.dev.DeviceChangeOrderItemEntity;
import com.glxp.api.enums.dev.DeviceChangeStatusEnum;
import com.glxp.api.enums.dev.DeviceChangeTypeEnum;
import com.glxp.api.exception.JsonException;
import com.glxp.api.util.GennerOrderUtils;
import com.glxp.api.util.OrderNoTypeBean;
import com.glxp.api.util.SnowflakeUtil;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
@ -40,6 +43,12 @@ public class DeviceChangeOrderParam {
@NotNull(message = "类型不能为空")
DeviceChangeTypeEnum type;
/**
*
*/
@TableField(value = "billNo")
private String billNo;
/**
*
*/
@ -112,6 +121,11 @@ public class DeviceChangeOrderParam {
@TableField(value = "createTime")
private LocalDateTime createTime;
/**
*
*/
private Integer destroyType;
@Data
public static class Item {
/**
@ -543,7 +557,7 @@ public class DeviceChangeOrderParam {
public DeviceChangeOrderEntity getOrderEntity(AuthAdmin user) {
if (orderId != null) {
if (billNo != null) {
DeviceChangeOrderEntity deviceChangeOrderEntity = new DeviceChangeOrderEntity();
BeanUtil.copyProperties(this, deviceChangeOrderEntity);
return deviceChangeOrderEntity;
@ -556,6 +570,7 @@ public class DeviceChangeOrderParam {
.deptCode(deptCode)
.toDeptCode(toDeptCode)
.remark(remark)
.destroyType(destroyType)
.createUser(user.getId())
.createUserName(user.getEmployeeName())
.createTime(LocalDateTime.now())

@ -0,0 +1,29 @@
package com.glxp.api.req.dev;
import com.baomidou.mybatisplus.annotation.TableField;
import com.glxp.api.util.page.ListPageRequest;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@Data
public class DeviceCheckDetailMiniQuery extends ListPageRequest {
/**
*
*/
@NotBlank(message = "缺少部门编码")
private String deptCode;
/**
* UDI
*/
private String deviceCodeAndUdi;
/**
*
*/
private Boolean finishFlag;
}

@ -9,10 +9,17 @@ import javax.validation.constraints.NotNull;
@Data
public class DeviceInfoDetailByDeptCodeQuery extends ListPageRequest {
/**
* UDI
*/
private String deviceCodeAndUdi;
/**
*
*/
@NotBlank(message = "缺少部门编码")
// @NotBlank(message = "缺少部门编码")
private String deptCode;
/**

@ -68,4 +68,7 @@ public class DeviceInfoDetailQuery extends ListPageRequest {
private String zczbhhzbapzbh;
private String deviceCodeAndUdi;
}

@ -55,7 +55,7 @@ public class DevicePlanDetailItemParam {
public List<DevicePlanDetailItemEntity> getEntity(DeviceCheckItemDictService deviceCheckItemDictService) {
List<DeviceCheckItemDictEntity> list = deviceCheckItemDictService.listByIds(itemCodes);
if (CollectionUtil.isEmpty(list)) {
throw new JsonException("所有项目编码都不存在,疑似非法操作");
throw new JsonException("项目编码不存在,请确认");
}
if (list.size() != itemCodes.size()) {
Map<String, List<DeviceCheckItemDictEntity>> collect = list.stream().collect(Collectors.groupingBy(DeviceCheckItemDictEntity::getCode));

@ -41,7 +41,7 @@ public class DevicePlanDetailParam {
public List<DevicePlanDetailEntity> getEntity(DeviceInfoService deviceInfoService) {
List<DeviceInfoEntity> deviceList = deviceInfoService.listByIds(deviceCodes);
if (CollectionUtil.isEmpty(deviceList)) {
throw new JsonException("未找到设备,疑似非法操作");
throw new JsonException("设备编码不存在,请确认");
}
List<DevicePlanDetailEntity> list = deviceList.stream().map(d -> {

@ -67,7 +67,7 @@ public class DevicePlanParam {
public void valid(DeptService deptService) {
DeptEntity dept = deptService.selectByCode(chargeDeptCode);
if (dept == null) {
throw new JsonException("负责部门不存在,疑似非法操作");
throw new JsonException("负责部门不存在,请确认");
}
if (startDate.isAfter(endDate)) {
throw new JsonException("计划开始日期不能在计划结束日期之后");

@ -37,6 +37,8 @@ public class DeviceRepairApplyAddParam {
@NotEmpty(message = "请选择至少一个设备进行报修")
Set<ApplyDetail> details;
Long taskId;
@Data
public static class ApplyDetail {
@ -89,7 +91,7 @@ public class DeviceRepairApplyAddParam {
public List<DeviceRepairApplyDetailEntity> getDetailEntityList(Long applyId, DeviceInfoService deviceInfoService, AuthAdmin user) {
List<DeviceInfoVo> list = deviceInfoService.listVoByCodes(details.stream().map(ApplyDetail::getDeviceCode).collect(Collectors.toList()), user.getLocDeptCode(), DeviceStatusEnum.NORMAL);
if (list.size() != details.size()) {
throw new JsonException("设备信息不匹配,疑似非法操作");
throw new JsonException("设备状态异常或信息不符,请确认");
}
Map<String, List<DeviceInfoEntity>> deviceMap = list.stream().collect(Collectors.groupingBy(DeviceInfoEntity::getDeviceCode));
return details.stream().map(d -> {

@ -0,0 +1,28 @@
package com.glxp.api.req.dev;
import com.glxp.api.util.page.ListPageRequest;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@Data
public class DeviceRepairApplyDetailMiniQuery extends ListPageRequest {
/**
*
*/
@NotBlank(message = "缺少部门编码")
private String deptCode;
/**
* UDI
*/
private String deviceCodeAndUdi;
/**
* ',
*/
private String status;
}

@ -14,4 +14,6 @@ public class DeviceRepairApplyHallQuery extends ListPageRequest {
*/
String applyDeptCode;
Integer isFinish;
}

@ -0,0 +1,20 @@
package com.glxp.api.req.dev;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@Data
public class DeviceRepairApplyListByIdAndCodeQuery {
@NotNull(message = "报修单标识不能为空")
Long applyId;
/**
*
*/
@NotBlank(message = "设备标识不可以为空")
String deviceCode;
}

@ -4,6 +4,8 @@ import com.glxp.api.enums.dev.DeviceRepairApplyStatusEnum;
import com.glxp.api.util.page.ListPageRequest;
import lombok.Data;
import java.util.List;
@Data
public class DeviceRepairApplyQuery extends ListPageRequest {
@ -33,4 +35,6 @@ public class DeviceRepairApplyQuery extends ListPageRequest {
*/
String repairInfo;
List<DeviceRepairApplyStatusEnum> statuss;
}

@ -0,0 +1,19 @@
package com.glxp.api.req.purchase;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
@Data
public class AddPurPlanDetailRequest {
@NotEmpty(message ="产品id不可为空!")
private String[] productIds;
/**
* ID
*/
@NotEmpty(message = "采购订单id不可为空!")
private String orderIdFk;
}

@ -0,0 +1,14 @@
package com.glxp.api.req.purchase;
import com.glxp.api.entity.purchase.PurContractDetailEntity;
import com.glxp.api.entity.purchase.PurContractEntity;
import lombok.Data;
import java.util.List;
@Data
public class PostPurContractRequest {
Integer editStatus;
PurContractEntity purContractEntity;
List<PurContractDetailEntity> purContractDetailEntities;
}

@ -68,4 +68,6 @@ public class PurApplyDetailRequest extends ListPageRequest {
*/
private String endDate;
private String nameCode;
private Integer pageType;
}

@ -115,4 +115,6 @@ public class PurApplyRequest extends ListPageRequest {
private Boolean sysApprovalFlow;
private Integer pageType;
}

@ -0,0 +1,17 @@
package com.glxp.api.req.purchase;
import com.glxp.api.util.page.ListPageRequest;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@Data
public class PurContractDetailRequest extends ListPageRequest {
/**
*
*/
@NotBlank(message = "合同外键不能为空")
private String orderIdFk;
}

@ -0,0 +1,46 @@
package com.glxp.api.req.purchase;
import com.baomidou.mybatisplus.annotation.TableField;
import com.glxp.api.util.page.ListPageRequest;
import lombok.Data;
@Data
public class PurContractRequest extends ListPageRequest {
/**
*
*/
private String code;
/**
*
*/
private String name;
/**
*
*/
private Integer status;
/**
*
*/
private String startDate;
/**
*
*/
private String endDate;
/**
* 1.;0.
*/
private Integer isGenerateOrder;
private Boolean sysApprovalFlow;
@TableField(value = "pageType")
private Integer pageType;
}

@ -1,6 +1,7 @@
package com.glxp.api.req.purchase;
import com.baomidou.mybatisplus.annotation.TableField;
import com.glxp.api.util.page.ListPageRequest;
import lombok.Data;
@ -76,4 +77,9 @@ public class PurOrderDetailRequest extends ListPageRequest {
*/
private String manufactory;
private String nameCode;
@TableField(value = "pageType")
private Integer pageType;
}

@ -1,6 +1,7 @@
package com.glxp.api.req.purchase;
import com.baomidou.mybatisplus.annotation.TableField;
import com.glxp.api.util.page.ListPageRequest;
import lombok.Data;
@ -98,6 +99,7 @@ public class PurOrderRequest extends ListPageRequest {
private String orderBy;
private Boolean sysApprovalFlow;
@TableField(value = "pageType")
private Integer pageType;
}

@ -1,6 +1,7 @@
package com.glxp.api.req.purchase;
import com.baomidou.mybatisplus.annotation.TableField;
import com.glxp.api.util.page.ListPageRequest;
import lombok.Data;
@ -78,4 +79,7 @@ public class PurPlanDetailRequest extends ListPageRequest {
private String nameCode;
private String checksupId;
@TableField(value = "pageType")
private Integer pageType;
}

@ -1,6 +1,7 @@
package com.glxp.api.req.purchase;
import com.baomidou.mybatisplus.annotation.TableField;
import com.glxp.api.util.page.ListPageRequest;
import lombok.Data;
@ -100,7 +101,13 @@ public class PurPlanRequest extends ListPageRequest {
private Boolean sysApprovalFlow;
/**
*
*/
@TableField(value = "importStatus")
private Integer importStatus;
@TableField(value = "pageType")
private Integer pageType;
}

@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class UdiRlSupResponse {

@ -0,0 +1,202 @@
package com.glxp.api.res.dev;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.glxp.api.enums.dev.DeviceRepairApplyDetailStatusEnum;
import com.glxp.api.enums.dev.DeviceRepairApplyStatusEnum;
import lombok.Data;
import java.time.LocalDateTime;
@Data
public class DeviceRepairApplyDetailMiniResponse {
/**
* id
*/
@TableField(value = "applyId")
private Long applyId;
/**
*
*/
@TableField(value = "deviceCode")
private String deviceCode;
/**
*
*/
@TableField(value = "deptCode")
private String deptCode;
/**
*
*/
@TableField(value = "deptName")
private String deptName;
/**
*
*/
@TableField(value = "description")
private String description;
/**
*
*/
@TableField(value = "diagnosisInfo")
private String diagnosisInfo;
/**
*
*/
@TableField(value = "status")
private DeviceRepairApplyDetailStatusEnum status;
/**
* true/false
*/
@TableField(value = "repairFlag")
private Boolean repairFlag;
/**
* id
*/
@TableField(value = "repairId")
private Long repairId;
/**
* id
*/
@TableField(value = "productId")
private Long productId;
/**
* UDI
*/
@TableField(value = "udi")
private String udi;
/**
* DI
*/
@TableField(value = "nameCode")
private String nameCode;
/**
*
*/
@TableField(value = "productName")
private String productName;
/**
*
*/
@TableField(value = "ggxh")
private String ggxh;
/**
* id
*/
@TableId(value = "id")
private Long id;
// /**
// * 状态 待受理,受理中,维修中,完成
// */
// @TableField(value = "status")
// private DeviceRepairApplyStatusEnum status;
/**
*
*/
@TableField(value = "applyDeptCode")
private String applyDeptCode;
/**
*
*/
@TableField(value = "applyDeptName")
private String applyDeptName;
/**
* id
*/
@TableField(value = "applyUserId")
private Long applyUserId;
/**
*
*/
@TableField(value = "applyUserName")
private String applyUserName;
/**
*
*/
@TableField(value = "applyUserPhone")
private String applyUserPhone;
/**
*
*/
@TableField(value = "applyTime")
private LocalDateTime applyTime;
/**
*
*/
@TableField(value = "deviceCount")
private Integer deviceCount;
/**
*
*/
@TableField(value = "finishCount")
private Integer finishCount;
/**
*
*/
@TableField(value = "confirmDeptCode")
private String confirmDeptCode;
/**
*
*/
@TableField(value = "confirmDeptName")
private String confirmDeptName;
/**
* id
*/
@TableField(value = "confirmUserId")
private Long confirmUserId;
/**
*
*/
@TableField(value = "confirmUserName")
private String confirmUserName;
/**
*
*/
@TableField(value = "confirmPhone")
private String confirmPhone;
/**
*
*/
@TableField(value = "confirmTime")
private LocalDateTime confirmTime;
/**
*
*/
@TableField(value = "finishTime")
private LocalDateTime finishTime;
}

@ -0,0 +1,174 @@
package com.glxp.api.res.purchase;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
*
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class PurContractEntityResponse implements Serializable {
@TableId(value = "id", type = IdType.INPUT)
private Long id;
/**
*
*/
@TableField(value = "code")
private String code;
/**
*
*/
@TableField(value = "`name`")
private String name;
/**
* /
*/
@TableField(value = "fromCorp")
private String fromCorp;
/**
*
*/
@TableField(value = "contractDate")
private Date contractDate;
/**
*
*/
@TableField(value = "invCode")
private String invCode;
/**
*
*/
@TableField(value = "`status`")
private Integer status;
/**
*
*/
@TableField(value = "`type`")
private Integer type;
/**
*
*/
@TableField(value = "payType")
private String payType;
/**
*
*/
@TableField(value = "startDate")
private Date startDate;
/**
*
*/
@TableField(value = "endDate")
private Date endDate;
/**
*
*/
@TableField(value = "amount")
private BigDecimal amount;
/**
*
*/
@TableField(value = "payAmount")
private BigDecimal payAmount;
/**
*
*/
@TableField(value = "payDate")
private Date payDate;
/**
*
*/
@TableField(value = "invoiceDate")
private Date invoiceDate;
/**
* ID
*/
@TableField(value = "planOrderIdFk")
private String planOrderIdFk;
/**
*
*/
@TableField(value = "orderIdFk")
private String orderIdFk;
/**
*
*/
@TableField(value = "`createUser`")
private String createUser;
/**
*
*/
@TableField(value = "updateUser")
private String updateUser;
/**
*
*/
@TableField(value = "createTime")
private Date createTime;
/**
*
*/
@TableField(value = "updateTime")
private Date updateTime;
/**
*
*/
@TableField(value = "remark")
private String remark;
/**
*
*/
@TableField(value = "approvalFlowId")
private String approvalFlowId;
private String nextNodeName;
private Integer nextApprovalNodeType;
/**
* 1.;0.
*/
@TableField(value = "isGenerateOrder")
private Integer isGenerateOrder;
/**
*
*/
@TableField(value = "`flowStatus`")
private Integer flowStatus;
private static final long serialVersionUID = 1L;
}

@ -90,4 +90,10 @@ public class PurPlanResponse {
private String flowAuditByName;
private String approvalFlowId;
/**
*
*/
@TableField(value = "importStatus")
private Integer importStatus;
}

@ -16,4 +16,8 @@ public interface SysApprovalFlowService extends IService<SysApprovalFlow> {
List<SysApprovalFlowDetailResponse> getDetailList(String approvalFlowId);
void submitApprovalFlow(SubmitApprovalFlowRequest submitApprovalFlowRequest);
SysApprovalFlow getApprovalFlowByMxId(String approvalFlowMxId);
boolean nodePermissions(String id);
}

@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.glxp.api.dao.basic.SysApprovalFlowMapper;
import com.glxp.api.dao.basic.SysApprovalFlowMxMapper;
import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.entity.basic.SysApprovalFlow;
import com.glxp.api.entity.basic.SysApprovalFlowConfigMx;
import com.glxp.api.entity.basic.SysApprovalFlowMx;
@ -64,7 +65,7 @@ public class SysApprovalFlowServiceImpl extends ServiceImpl<SysApprovalFlowMappe
sysApprovalFlow.setUpdateTime(date);
ArrayList<SysApprovalFlowMx> mxs = new ArrayList<>();
generateFlowMx(type,approvalFlowId,userId,date,mxs);
generateFlowMx(type,approvalFlowId,userId,date,mxs,sysApprovalFlow);
sysApprovalFlowMapper.insert(sysApprovalFlow);
sysApprovalFlowMxMapper.insertBatch(mxs);
@ -151,6 +152,43 @@ public class SysApprovalFlowServiceImpl extends ServiceImpl<SysApprovalFlowMappe
updateDocumentStatus(approvalFlowId,date,approvalUserId,userName);
}
@Override
public SysApprovalFlow getApprovalFlowByMxId(String approvalFlowMxId) {
SysApprovalFlowMx sysApprovalFlowMx = sysApprovalFlowMxMapper.selectById(approvalFlowMxId);
String approvalFlowId = sysApprovalFlowMx.getApprovalFlowId();
return sysApprovalFlowMapper.selectById(approvalFlowId);
}
@Override
public boolean nodePermissions(String id) {
Long userId = customerService.getUserId();
AuthAdmin authUserDto = customerService.getUserBean();
//查询创建人名称
String userName = authUserDto.getEmployeeName();
SysApprovalFlowMx sysApprovalFlowMx = sysApprovalFlowMxMapper.selectById(id);
if (ObjectUtil.isNull(sysApprovalFlowMx)){
throw new JsonException("审批id有误未找到记录");
}
Integer approvalNodeType = sysApprovalFlowMx.getApprovalNodeType();//节点类型 1人员 2岗位
String approvalUserId = sysApprovalFlowMx.getApprovalUserId();
String approvalPostId = sysApprovalFlowMx.getApprovalPostId();
if (approvalNodeType == 1){
if (!approvalUserId.equals(String.valueOf(userId))){
return false;
}
}else if (approvalNodeType == 2){
// SysUserPost userPost = sysPostService.getUserPost(userId);
// Long postId = userPost.getPostId();
// if (!approvalPostId.equals(String.valueOf(postId))){
// return false;
// }
}
return true;
}
private void updateDocumentStatus(String approvalFlowId,Date date,String approvalUserId,String userName) {
//子状态有一个驳回 为 驳回;全部审核通过 为通过 ;其他为 审核中
QueryWrapper<SysApprovalFlowMx> qw = new QueryWrapper<>();
@ -191,6 +229,7 @@ public class SysApprovalFlowServiceImpl extends ServiceImpl<SysApprovalFlowMappe
}
/**
*
* @param type
@ -199,15 +238,27 @@ public class SysApprovalFlowServiceImpl extends ServiceImpl<SysApprovalFlowMappe
* @param date
* @param mxs
*/
private void generateFlowMx(String type,String approvalFlowId, Long userId, Date date, ArrayList<SysApprovalFlowMx> mxs) {
private void generateFlowMx(String type,String approvalFlowId, Long userId, Date date, ArrayList<SysApprovalFlowMx> mxs,SysApprovalFlow sysApprovalFlow) {
List<SysApprovalFlowConfigMx> list = sysApprovalFlowConfigService.getDetailList(type);
if (CollectionUtil.isNotEmpty(list)){
SysApprovalFlowConfigMx sysApprovalFlowConfigMx = list.get(0);
if (sysApprovalFlowConfigMx.getApprovalNodeType() == 1 ){
sysApprovalFlow.setNextNodeName(sysApprovalFlowConfigMx.getApprovalUserName());
sysApprovalFlow.setNextApprovalNodeType(1);
}else if (sysApprovalFlowConfigMx.getApprovalNodeType() == 2 ){
sysApprovalFlow.setNextNodeName(sysApprovalFlowConfigMx.getApprovalPostName());
sysApprovalFlow.setNextApprovalNodeType(2);
}
list.forEach( item -> {
SysApprovalFlowMx sysApprovalFlowMx = new SysApprovalFlowMx();
sysApprovalFlowMx.setId(UUID.randomUUID().toString().replace("-", ""));
sysApprovalFlowMx.setApprovalFlowId(approvalFlowId);
sysApprovalFlowMx.setApprovalUserId(item.getApprovalUserId());
sysApprovalFlowMx.setApprovalUserName(item.getApprovalUserName());
sysApprovalFlowMx.setApprovalNodeType(item.getApprovalNodeType());
sysApprovalFlowMx.setApprovalPostId(item.getApprovalPostId());
sysApprovalFlowMx.setApprovalPostName(item.getApprovalPostName());
sysApprovalFlowMx.setApprovalStatus(ApprovalStatusEnum.DWSH.getCode());
sysApprovalFlowMx.setApprovalSort(item.getApprovalSort());
@ -218,6 +269,9 @@ public class SysApprovalFlowServiceImpl extends ServiceImpl<SysApprovalFlowMappe
mxs.add(sysApprovalFlowMx);
});
} else {
//直接通过
sysApprovalFlow.setStatus(ApprovalFlowEnum.TG.getCode());
}
}

@ -3,6 +3,7 @@ package com.glxp.api.service.dev;
import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.entity.dev.DeviceCheckDetailEntity;
import com.baomidou.mybatisplus.extension.service.IService;
import com.glxp.api.req.dev.DeviceCheckDetailMiniQuery;
import com.glxp.api.req.dev.DeviceCheckDetailParam;
import com.glxp.api.req.dev.DeviceCheckDetailQuery;
import com.glxp.api.req.dev.DeviceCheckDetailRepairParam;
@ -32,4 +33,5 @@ public interface DeviceCheckDetailService extends IService<DeviceCheckDetailEnti
void finish(DeviceCheckDetailParam param, AuthAdmin user);
List<DeviceCheckDetailEntity> miniPage(DeviceCheckDetailMiniQuery query);
}

@ -5,7 +5,10 @@ import com.glxp.api.entity.dev.DeviceRepairApplyDetailEntity;
import com.baomidou.mybatisplus.extension.service.IService;
import com.glxp.api.entity.dev.DeviceRepairApplyEntity;
import com.glxp.api.req.dev.DeviceRepairApplyDetailDiagnosisParam;
import com.glxp.api.req.dev.DeviceRepairApplyDetailMiniQuery;
import com.glxp.api.req.dev.DeviceRepairApplyDetailQuery;
import com.glxp.api.req.dev.DeviceRepairApplyListByIdAndCodeQuery;
import com.glxp.api.res.dev.DeviceRepairApplyDetailMiniResponse;
import java.util.List;
@ -31,4 +34,8 @@ public interface DeviceRepairApplyDetailService extends IService<DeviceRepairApp
* @param deviceCode
*/
void finishDeviceRepair(Long applyId, String deviceCode);
}
DeviceRepairApplyDetailEntity listByIdAndCode(DeviceRepairApplyListByIdAndCodeQuery query);
List<DeviceRepairApplyDetailMiniResponse> miniPage(DeviceRepairApplyDetailMiniQuery query);
}

@ -26,8 +26,8 @@ public interface DeviceRepairService extends IService<DeviceRepairEntity> {
*
*
*
* @param repairId id
* @param deviceRepairEntity id
* @param user
*/
void finishByUser(Long repairId, AuthAdmin user);
void finishByUser(DeviceRepairEntity deviceRepairEntity, AuthAdmin user);
}

@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.Constant;
import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.entity.auth.DeptEntity;
import com.glxp.api.entity.basic.BasicProductsEntity;
@ -27,12 +28,16 @@ import com.glxp.api.req.system.DeleteRequest;
import com.glxp.api.res.basic.UdiRelevanceResponse;
import com.glxp.api.service.auth.DeptService;
import com.glxp.api.service.basic.ProductInfoService;
import com.glxp.api.service.basic.SysApprovalFlowService;
import com.glxp.api.service.basic.UdiRelevanceService;
import com.glxp.api.service.dev.DeviceChangeLogService;
import com.glxp.api.service.dev.DeviceChangeOrderItemService;
import com.glxp.api.service.dev.DeviceChangeOrderService;
import com.glxp.api.dao.dev.DeviceChangeOrderMapper;
import com.glxp.api.service.dev.DeviceInfoService;
import com.glxp.api.service.system.SystemParamConfigService;
import com.glxp.api.util.GennerOrderUtils;
import com.glxp.api.util.OrderNoTypeBean;
import com.glxp.api.util.SnowflakeUtil;
import com.glxp.api.util.StringUtils;
import com.glxp.api.vo.dev.DeviceChangeOrderVo;
@ -40,6 +45,7 @@ import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.sql.SQLException;
import java.time.LocalDateTime;
import java.util.ArrayList;
@ -59,6 +65,17 @@ public class DeviceChangeOrderServiceImpl extends ServiceImpl<DeviceChangeOrderM
final UdiRelevanceService udiRelevanceService;
final DeptService deptService;
final String typeSbdj = "sbdj";//设备登记
final String typeSbbg = "sbbg";//设备变更
final String typeSbyc = "sbyc";//设备移除
@Resource
SystemParamConfigService systemParamConfigService;
@Resource
SysApprovalFlowService sysApprovalFlowService;
@Resource
GennerOrderUtils gennerOrderUtils;
@Override
public List<DeviceChangeOrderVo> listByVo(DeviceChangeOrderQuery query, AuthAdmin user) {
@ -71,6 +88,15 @@ public class DeviceChangeOrderServiceImpl extends ServiceImpl<DeviceChangeOrderM
param.valid(user);
DeviceChangeOrderEntity order = param.getOrderEntity(user);
order.setStatus(DeviceChangeStatusEnum.DRAFT);
if (StringUtils.isEmpty(order.getBillNo())) {
if (order.getType() == DeviceChangeTypeEnum.ADD) {
order.setBillNo(gennerOrderUtils.createStOrderNo(new OrderNoTypeBean(Constant.DEV_DDJ, "yyyyMMdd")));
} else if (order.getType() == DeviceChangeTypeEnum.DESTROY) {
order.setBillNo(gennerOrderUtils.createStOrderNo(new OrderNoTypeBean(Constant.DEV_DYC, "yyyyMMdd")));
} else if (order.getType() == DeviceChangeTypeEnum.CHANGE) {
order.setBillNo(gennerOrderUtils.createStOrderNo(new OrderNoTypeBean(Constant.DEV_DBG, "yyyyMMdd")));
}
}
super.saveOrUpdate(order);
deviceChangeOrderItemService.deleteByOrderId(order.getOrderId());
List<DeviceChangeOrderItemEntity> orderItems = param.getDraftOrderItemList(order.getOrderId(), user);
@ -83,6 +109,16 @@ public class DeviceChangeOrderServiceImpl extends ServiceImpl<DeviceChangeOrderM
public void saveOrder(AuthAdmin user, DeviceChangeOrderParam param) {
param.valid(user);
DeviceChangeOrderEntity order = param.getOrderEntity(user);
if (StringUtils.isEmpty(order.getBillNo())) {
if (order.getType() == DeviceChangeTypeEnum.ADD) {
order.setBillNo(gennerOrderUtils.createStOrderNo(new OrderNoTypeBean(Constant.DEV_DDJ, "yyyyMMdd")));
} else if (order.getType() == DeviceChangeTypeEnum.DESTROY) {
order.setBillNo(gennerOrderUtils.createStOrderNo(new OrderNoTypeBean(Constant.DEV_DYC, "yyyyMMdd")));
} else if (order.getType() == DeviceChangeTypeEnum.CHANGE) {
order.setBillNo(gennerOrderUtils.createStOrderNo(new OrderNoTypeBean(Constant.DEV_DBG, "yyyyMMdd")));
}
}
DeviceChangeOrderVo orderVo = BeanUtil.copyProperties(order, DeviceChangeOrderVo.class);
DeptEntity dept = deptService.selectByCode(orderVo.getDeptCode());
orderVo.setDeptName(dept.getName());
@ -97,21 +133,22 @@ public class DeviceChangeOrderServiceImpl extends ServiceImpl<DeviceChangeOrderM
}
List<DeviceChangeOrderItemEntity> orderItems = param.getOrderItemList(order.getOrderId(), user);
List<DeviceChangeLogEntity> logs = new ArrayList<>();
Boolean sys_approval_flow = "1".equals(systemParamConfigService.selectValueByParamKey("sys_approval_flow"));
orderItems.forEach(i -> {
if (order.getType() == DeviceChangeTypeEnum.ADD) {
UdiRelevanceResponse productInfo = udiRelevanceService.selectByRelId(i.getProductId().toString());
if (productInfo == null) {
throw new JsonException(String.format("未找到设备 %s", i.getProductName()));
}
i.setNameCode(productInfo.getNameCode())
.setProductName(productInfo.getCpmctymc())
.setGgxh(productInfo.getGgxh())
.setMeasname(productInfo.getMeasname())
.setManufactory(productInfo.getManufactory())
.setZczbhhzbapzbh(productInfo.getZczbhhzbapzbh())
.setSupId(productInfo.getUnitFk())
.setSupName(productInfo.getSupName())
;
// UdiRelevanceResponse productInfo = udiRelevanceService.selectByRelId(i.getProductId().toString());
// if (productInfo == null) {
// throw new JsonException(String.format("未找到设备 %s", i.getProductName()));
// }
// i.setNameCode(productInfo.getNameCode())
// .setProductName(productInfo.getCpmctymc())
// .setGgxh(productInfo.getGgxh())
// .setMeasname(productInfo.getMeasname())
// .setManufactory(productInfo.getManufactory())
// .setZczbhhzbapzbh(productInfo.getZczbhhzbapzbh())
// .setSupId(productInfo.getUnitFk())
// .setSupName(productInfo.getSupName())
// ;
DeviceInfoEntity deviceInfoEntity = BeanUtil.copyProperties(i, DeviceInfoEntity.class);
deviceInfoEntity.setCheckLock(false);
deviceInfoEntity.setCreateUserId(order.getCreateUser());
@ -120,18 +157,18 @@ public class DeviceChangeOrderServiceImpl extends ServiceImpl<DeviceChangeOrderM
deviceInfoEntity.setDeptCode(order.getToDeptCode());
deviceInfoEntity.setStatus(DeviceStatusEnum.NORMAL);
deviceInfoEntity.setLastChangeOrderId(order.getOrderId());
boolean b = deviceInfoService.exitOrder(order.getOrderId(), deviceInfoEntity.getDeviceCode());
if (b) {
throw new JsonException(500, String.format("设备编码%s已存在请更换编码", deviceInfoEntity.getDeviceCode()));
}
try {
// boolean b = deviceInfoService.exitOrder(order.getOrderId(), deviceInfoEntity.getDeviceCode());
// if (b) {
// throw new JsonException(500, String.format("设备编码%s已存在请更换编码", deviceInfoEntity.getDeviceCode()));
// }
// try {
deviceInfoService.saveOrUpdate(deviceInfoEntity);
} catch (Exception e) {
throw new JsonException(500, String.format("设备编码%s已存在请更换编码", deviceInfoEntity.getDeviceCode()));
}
// } catch (Exception e) {
// throw new JsonException(500, String.format("设备编码%s已存在请更换编码", deviceInfoEntity.getDeviceCode()));
// }
DeviceChangeLogEntity logEntity = DeviceChangeLogEntity.genEntity(i.getDeviceCode(), orderVo);
logs.add(logEntity);
} else {
} else if (order.getType() == DeviceChangeTypeEnum.CHANGE){
DeviceInfoEntity deviceInfo = deviceInfoService.getById(i.getDeviceCode());
if (deviceInfo == null) {
throw new JsonException(String.format("未找到设备编码为[%s]的设备", i.getDeviceCode()));
@ -144,23 +181,51 @@ public class DeviceChangeOrderServiceImpl extends ServiceImpl<DeviceChangeOrderM
}
deviceInfoService.changeStatus(i.getDeviceCode(), order.getDeptCode(), deviceInfo.getStatus()
, order.getType() == DeviceChangeTypeEnum.CHANGE ? DeviceStatusEnum.CHANGE : DeviceStatusEnum.DESTROY);
BeanUtil.copyProperties(deviceInfo,i);
i.setProductId(deviceInfo.getProductId());
if (order.getType() == DeviceChangeTypeEnum.DESTROY) {
DeviceChangeLogEntity logEntity = DeviceChangeLogEntity.genEntity(i.getDeviceCode(), orderVo);
logs.add(logEntity);
}
}else if (order.getType() == DeviceChangeTypeEnum.DESTROY) {
DeviceInfoEntity deviceInfo = deviceInfoService.getById(i.getDeviceCode());
if (deviceInfo == null) {
throw new JsonException(String.format("未找到设备编码为[%s]的设备", i.getDeviceCode()));
}
if (!deviceInfo.getDeptCode().equals(order.getDeptCode())) {
throw new JsonException(String.format("设备编码为[%s]的设备,已不属于单据所在部门,无法变更", i.getDeviceCode()));
}
if (deviceInfo.getStatus() != DeviceStatusEnum.NORMAL) {
throw new JsonException(String.format("设备编码为[%s]的设备,状态不是[%s],无法变更,当前状态为[%s]", i.getDeviceCode(), DeviceStatusEnum.NORMAL.getDesc(), deviceInfo.getStatus().getDesc()));
}
BeanUtil.copyProperties(deviceInfo,i);
i.setProductId(deviceInfo.getProductId());
if (!sys_approval_flow){
deviceInfoService.changeStatus(i.getDeviceCode(), order.getDeptCode(), deviceInfo.getStatus()
, order.getType() == DeviceChangeTypeEnum.CHANGE ? DeviceStatusEnum.CHANGE : DeviceStatusEnum.DESTROY);
if (order.getType() == DeviceChangeTypeEnum.DESTROY) {
DeviceChangeLogEntity logEntity = DeviceChangeLogEntity.genEntity(i.getDeviceCode(), orderVo);
logs.add(logEntity);
}
}
}
});
if (CollectionUtil.isNotEmpty(logs)) {
deviceChangeLogService.saveBatch(logs);
}
order.setStatus(DeviceChangeStatusEnum.WAIT_CONFIRM);
if (order.getType() == DeviceChangeTypeEnum.ADD || order.getType() == DeviceChangeTypeEnum.DESTROY) {
order.setStatus(DeviceChangeStatusEnum.FINISH)
.setConfirmTime(order.getCreateTime())
.setConfirmUser(order.getCreateUser())
.setConfirmUserName(order.getCreateUserName())
;
if (order.getType() == DeviceChangeTypeEnum.ADD || order.getType() == DeviceChangeTypeEnum.DESTROY) {//设备登记、设备移除
if (order.getType() == DeviceChangeTypeEnum.DESTROY && sys_approval_flow) {//设备移除 && 提交审核
String approvalFlowId = sysApprovalFlowService.getApprovalFlowId();
order.setApprovalFlowId(approvalFlowId);
sysApprovalFlowService.generateFlow(approvalFlowId, order.getBillNo(), typeSbyc);
order.setStatus(DeviceChangeStatusEnum.AUDITING);
}else {
order.setStatus(DeviceChangeStatusEnum.FINISH)
.setConfirmTime(order.getCreateTime())
.setConfirmUser(order.getCreateUser())
.setConfirmUserName(order.getCreateUserName());
}
}
super.saveOrUpdate(order);
deviceChangeOrderItemService.deleteByOrderId(order.getOrderId());

@ -3,6 +3,8 @@ package com.glxp.api.service.dev.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
@ -12,10 +14,7 @@ import com.glxp.api.entity.dev.DeviceCheckDetailItemEntity;
import com.glxp.api.entity.dev.DeviceRepairEntity;
import com.glxp.api.enums.dev.DeviceStatusEnum;
import com.glxp.api.exception.JsonException;
import com.glxp.api.req.dev.DeviceCheckDetailItemFinishParam;
import com.glxp.api.req.dev.DeviceCheckDetailParam;
import com.glxp.api.req.dev.DeviceCheckDetailQuery;
import com.glxp.api.req.dev.DeviceCheckDetailRepairParam;
import com.glxp.api.req.dev.*;
import com.glxp.api.service.dev.*;
import com.glxp.api.dao.dev.DeviceCheckDetailMapper;
import com.glxp.api.util.IntUtil;
@ -25,6 +24,7 @@ import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
@ -38,9 +38,12 @@ import java.util.List;
public class DeviceCheckDetailServiceImpl extends ServiceImpl<DeviceCheckDetailMapper, DeviceCheckDetailEntity>
implements DeviceCheckDetailService {
final DeviceCheckService deviceCheckService;
final DeviceInfoService deviceInfoService;
final DeviceRepairService deviceRepairService;
@Resource
DeviceCheckService deviceCheckService;
@Resource
DeviceInfoService deviceInfoService;
@Resource
DeviceRepairService deviceRepairService;
@Override
public List<DeviceCheckDetailEntity> pageList(DeviceCheckDetailQuery query) {
@ -141,6 +144,26 @@ public class DeviceCheckDetailServiceImpl extends ServiceImpl<DeviceCheckDetailM
@Override
public void finish(DeviceCheckDetailParam param, AuthAdmin user) {
}
@Override
public List<DeviceCheckDetailEntity> miniPage(DeviceCheckDetailMiniQuery query) {
if (query.getPage() != null) {
PageHelper.startPage(query.getPage(), query.getLimit());
}
LambdaQueryWrapper<DeviceCheckDetailEntity> queryWrapper = Wrappers.lambdaQuery(DeviceCheckDetailEntity.class)
.eq(DeviceCheckDetailEntity::getDeptCode, query.getDeptCode());
if (StrUtil.isNotBlank(query.getDeviceCodeAndUdi())) {
queryWrapper.and(qW -> {
qW.like(DeviceCheckDetailEntity::getDeviceCode, query.getDeviceCodeAndUdi())
.or().like(DeviceCheckDetailEntity::getUdi, query.getDeviceCodeAndUdi());
});
}
if (query.getFinishFlag() != null) {
queryWrapper.eq(DeviceCheckDetailEntity::getFinishFlag, query.getFinishFlag());
}
List<DeviceCheckDetailEntity> list = super.list(queryWrapper);
return list;
}
}

@ -1,11 +1,15 @@
package com.glxp.api.service.dev.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.BeanUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.entity.dev.DeviceCheckDetailEntity;
import com.glxp.api.entity.dev.DeviceRepairApplyDetailEntity;
import com.glxp.api.entity.dev.DeviceRepairApplyEntity;
import com.glxp.api.entity.dev.DeviceRepairEntity;
@ -14,12 +18,12 @@ import com.glxp.api.enums.dev.DeviceRepairApplyStatusEnum;
import com.glxp.api.enums.dev.DeviceStatusEnum;
import com.glxp.api.exception.JsonException;
import com.glxp.api.req.dev.DeviceRepairApplyDetailDiagnosisParam;
import com.glxp.api.req.dev.DeviceRepairApplyDetailMiniQuery;
import com.glxp.api.req.dev.DeviceRepairApplyDetailQuery;
import com.glxp.api.service.dev.DeviceInfoService;
import com.glxp.api.service.dev.DeviceRepairApplyDetailService;
import com.glxp.api.req.dev.DeviceRepairApplyListByIdAndCodeQuery;
import com.glxp.api.res.dev.DeviceRepairApplyDetailMiniResponse;
import com.glxp.api.service.dev.*;
import com.glxp.api.dao.dev.DeviceRepairApplyDetailMapper;
import com.glxp.api.service.dev.DeviceRepairApplyService;
import com.glxp.api.service.dev.DeviceRepairService;
import com.glxp.api.util.SnowflakeUtil;
import groovy.util.logging.Slf4j;
import lombok.RequiredArgsConstructor;
@ -28,6 +32,7 @@ import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.List;
@ -42,6 +47,11 @@ public class DeviceRepairApplyDetailServiceImpl extends ServiceImpl<DeviceRepair
final DeviceRepairApplyService deviceRepairApplyService;
@Resource
DeviceCheckDetailService deviceCheckDetailService;
@Resource
DeviceRepairApplyDetailMapper deviceRepairApplyDetailMapper;
@Autowired
@Lazy
DeviceRepairService deviceRepairService;
@ -64,9 +74,10 @@ public class DeviceRepairApplyDetailServiceImpl extends ServiceImpl<DeviceRepair
public void diagnosis(DeviceRepairApplyDetailDiagnosisParam param, AuthAdmin user) {
LocalDateTime now = LocalDateTime.now();
param.valid();
DeviceRepairApplyEntity repairApply = deviceRepairApplyService.getByIdAndStatus(param.getApplyId(), DeviceRepairApplyStatusEnum.PROCESSING);
if (repairApply == null) {
throw new JsonException(String.format("报修单不处于[%s]状态,无法诊断", DeviceRepairApplyStatusEnum.PROCESSING.getDesc()));
DeviceRepairApplyEntity repairApply = deviceRepairApplyService.getByIdAndStatus(param.getApplyId(), DeviceRepairApplyStatusEnum.WAIT_PROCESS);
DeviceRepairApplyEntity repairApplyPROCESSING = deviceRepairApplyService.getByIdAndStatus(param.getApplyId(), DeviceRepairApplyStatusEnum.PROCESSING);
if (repairApply == null && repairApplyPROCESSING == null) {
throw new JsonException(String.format("报修单不处于[%s]、[%s]状态,无法诊断", DeviceRepairApplyStatusEnum.PROCESSING.getDesc(), DeviceRepairApplyStatusEnum.WAIT_PROCESS.getDesc()));
}
DeviceRepairApplyDetailEntity one = super.getOne(Wrappers.lambdaQuery(DeviceRepairApplyDetailEntity.class)
.eq(DeviceRepairApplyDetailEntity::getApplyId, param.getApplyId())
@ -110,6 +121,35 @@ public class DeviceRepairApplyDetailServiceImpl extends ServiceImpl<DeviceRepair
throw new JsonException("设备诊断失败[未找到对应状态的设备],请稍后再试");
}
//根据设备号和报修单标识更新巡检任务明细
deviceCheckDetailService.update(Wrappers.lambdaUpdate(DeviceCheckDetailEntity.class)
.set(DeviceCheckDetailEntity::getRepairId, repairId)
.eq(DeviceCheckDetailEntity::getApplyId, param.getApplyId())
.eq(DeviceCheckDetailEntity::getDeviceCode, param.getDeviceCode())
);
//更新主表状态
updateDeviceRepairApplyEntity(param.getApplyId());
}
/**
*
* @param applyId
*/
private void updateDeviceRepairApplyEntity(Long applyId) {
List<DeviceRepairApplyDetailEntity> list = super.list(Wrappers.lambdaQuery(DeviceRepairApplyDetailEntity.class)
.eq(DeviceRepairApplyDetailEntity::getApplyId, applyId)
.eq(DeviceRepairApplyDetailEntity::getStatus, DeviceRepairApplyDetailStatusEnum.WAIT_DIAGNOSIS));
if (CollectionUtil.isNotEmpty(list)){
deviceRepairApplyService.update(Wrappers.lambdaUpdate(DeviceRepairApplyEntity.class)
.set(DeviceRepairApplyEntity::getStatus, DeviceRepairApplyStatusEnum.PROCESSING)
.eq(DeviceRepairApplyEntity::getId, applyId));
}else {
deviceRepairApplyService.update(Wrappers.lambdaUpdate(DeviceRepairApplyEntity.class)
.set(DeviceRepairApplyEntity::getStatus, DeviceRepairApplyStatusEnum.FINISH)
.eq(DeviceRepairApplyEntity::getId, applyId));
}
}
@Override
@ -135,6 +175,32 @@ public class DeviceRepairApplyDetailServiceImpl extends ServiceImpl<DeviceRepair
deviceRepairApplyService.finishDeviceRepair(applyId);
}
}
@Override
public DeviceRepairApplyDetailEntity listByIdAndCode(DeviceRepairApplyListByIdAndCodeQuery query) {
DeviceRepairApplyEntity apply = deviceRepairApplyService.getOne(Wrappers.lambdaQuery(DeviceRepairApplyEntity.class)
.eq(DeviceRepairApplyEntity::getId, query.getApplyId()));
if (apply == null) {
throw new JsonException("请核对报修单Id");
}
DeviceRepairApplyDetailEntity one = super.getOne(Wrappers.lambdaQuery(DeviceRepairApplyDetailEntity.class)
.eq(DeviceRepairApplyDetailEntity::getApplyId, query.getApplyId())
.eq(DeviceRepairApplyDetailEntity::getDeviceCode, query.getDeviceCode())
);
if (one == null) {
throw new JsonException(String.format("该设备不处于[%s]状态,无法完成维修", DeviceRepairApplyDetailStatusEnum.REPAIRING.getDesc()));
}
one.setRepairUserPhone(apply.getApplyUserPhone());
return one;
}
@Override
public List<DeviceRepairApplyDetailMiniResponse> miniPage(DeviceRepairApplyDetailMiniQuery query) {
if (query.getPage() != null) {
PageHelper.startPage(query.getPage(), query.getLimit());
}
return super.baseMapper.miniPage(query);
}
}

@ -1,5 +1,6 @@
package com.glxp.api.service.dev.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
@ -7,27 +8,28 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.entity.dev.DeviceCheckDetailEntity;
import com.glxp.api.entity.dev.DeviceRepairApplyDetailEntity;
import com.glxp.api.entity.dev.DeviceRepairApplyEntity;
import com.glxp.api.enums.dev.DeviceRepairApplyStatusEnum;
import com.glxp.api.enums.dev.DeviceStatusEnum;
import com.glxp.api.req.dev.DeviceRepairApplyAddParam;
import com.glxp.api.req.dev.DeviceRepairApplyConfirmParam;
import com.glxp.api.req.dev.DeviceRepairApplyQuery;
import com.glxp.api.service.dev.DeviceCheckDetailService;
import com.glxp.api.service.dev.DeviceInfoService;
import com.glxp.api.service.dev.DeviceReceiveOrderDetailService;
import com.glxp.api.dao.dev.DeviceRepairApplyMapper;
import com.glxp.api.service.dev.DeviceRepairApplyDetailService;
import com.glxp.api.service.dev.DeviceRepairApplyService;
import com.glxp.api.dao.dev.DeviceRepairApplyMapper;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
/**
* device_repair_apply()Service
@ -37,8 +39,11 @@ import java.util.List;
public class DeviceRepairApplyServiceImpl extends ServiceImpl<DeviceRepairApplyMapper, DeviceRepairApplyEntity>
implements DeviceRepairApplyService {
@Resource
DeviceInfoService deviceInfoService;
@Resource
DeviceCheckDetailService deviceCheckDetailService;
private final DeviceInfoService deviceInfoService;
@Autowired
@Lazy
@ -46,14 +51,18 @@ public class DeviceRepairApplyServiceImpl extends ServiceImpl<DeviceRepairApplyM
@Override
public List<DeviceRepairApplyEntity> pageList(DeviceRepairApplyQuery query) {
String acceptInfo = query.getAcceptInfo();
String repairInfo = query.getRepairInfo();
if (query.getPage() != null) {
PageHelper.startPage(query.getPage(), query.getLimit());
}
List<DeviceRepairApplyStatusEnum> statuss = query.getStatuss();
DeviceRepairApplyStatusEnum status = query.getStatus();
if (status != null){
statuss.add(status);
}
String acceptInfo = query.getAcceptInfo();
String repairInfo = query.getRepairInfo();
LambdaQueryWrapper<DeviceRepairApplyEntity> wrapper = Wrappers.lambdaQuery(DeviceRepairApplyEntity.class);
wrapper.eq(query.getApplyId() != null, DeviceRepairApplyEntity::getId, query.getApplyId())
.eq(query.getStatus() != null, DeviceRepairApplyEntity::getStatus, query.getStatus())
.eq(query.getConfirmUserId() != null, DeviceRepairApplyEntity::getConfirmUserId, query.getConfirmUserId())
.eq(StrUtil.isNotBlank(query.getApplyDeptCode()), DeviceRepairApplyEntity::getApplyDeptCode, query.getApplyDeptCode())
.orderByDesc(DeviceRepairApplyEntity::getStatus, DeviceRepairApplyEntity::getApplyTime);
@ -81,6 +90,12 @@ public class DeviceRepairApplyServiceImpl extends ServiceImpl<DeviceRepairApplyM
.or()
.like(DeviceRepairApplyEntity::getId, repairInfo));
}
if (CollectionUtil.isNotEmpty(statuss)){
List<String> statusValues = statuss.stream()
.map(DeviceRepairApplyStatusEnum::getKey) // 假设 getStatusValue() 是获取用于查询的字符串值的方法
.collect(Collectors.toList());
wrapper.in(DeviceRepairApplyEntity::getStatus, statusValues);
}
List<DeviceRepairApplyEntity> list = super.list(wrapper);
return list;
@ -100,8 +115,16 @@ public class DeviceRepairApplyServiceImpl extends ServiceImpl<DeviceRepairApplyM
param.valid();
DeviceRepairApplyEntity repairApply = param.getEntity(user);
List<DeviceRepairApplyDetailEntity> detailEntityList = param.getDetailEntityList(repairApply.getId(), deviceInfoService, user);
Long taskId = param.getTaskId();
detailEntityList.forEach(d -> {
deviceInfoService.repairApply(d.getDeviceCode(), d.getDeptCode(), d.getApplyId());
if (taskId != null){
deviceCheckDetailService.update(Wrappers.lambdaUpdate(DeviceCheckDetailEntity.class)
.set(DeviceCheckDetailEntity::getApplyId, repairApply.getId())
.eq(DeviceCheckDetailEntity::getTaskId, taskId)
.eq(DeviceCheckDetailEntity::getDeviceCode, d.getDeviceCode())
);
}
});
super.save(repairApply);
repairApplyDetailService.saveBatch(detailEntityList);

@ -18,6 +18,7 @@ import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.List;
@ -30,8 +31,10 @@ import java.util.List;
public class DeviceRepairServiceImpl extends ServiceImpl<DeviceRepairMapper, DeviceRepairEntity>
implements DeviceRepairService {
final DeviceRepairApplyDetailService deviceRepairApplyDetailService;
final DeviceInfoService deviceInfoService;
@Resource
DeviceRepairApplyDetailService deviceRepairApplyDetailService;
@Resource
DeviceInfoService deviceInfoService;
@Override
public List<DeviceRepairEntity> pageList(DeviceRepairQuery query) {
@ -61,7 +64,11 @@ public class DeviceRepairServiceImpl extends ServiceImpl<DeviceRepairMapper, Dev
@Override
@Transactional
public void finishByUser(Long repairId, AuthAdmin user) {
public void finishByUser(DeviceRepairEntity deviceRepairEntity, AuthAdmin user) {
Long repairId = deviceRepairEntity.getId();
if (repairId == null) {
throw new JsonException("未找到维修单");
}
// 获取维修单信息
DeviceRepairEntity entity = super.getById(repairId);
if (entity == null) {
@ -74,6 +81,7 @@ public class DeviceRepairServiceImpl extends ServiceImpl<DeviceRepairMapper, Dev
.set(DeviceRepairEntity::getConfirmDeptCode, user.getLocDeptCode())
.set(DeviceRepairEntity::getConfirmDeptName, user.getDeptName())
.set(DeviceRepairEntity::getConfirmTime, LocalDateTime.now())
.set(DeviceRepairEntity::getRepairDescription, deviceRepairEntity.getRepairDescription())
.eq(DeviceRepairEntity::getId, repairId)
.eq(DeviceRepairEntity::getCreateUserId, user.getId())
.eq(DeviceRepairEntity::getFinishFlag, false)

@ -0,0 +1,100 @@
package com.glxp.api.service.purchase.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.glxp.api.dao.basic.BasicProductsDao;
import com.glxp.api.dao.basic.UdiRlSupDao;
import com.glxp.api.dao.purchase.PurContractDetailMapper;
import com.glxp.api.entity.basic.BasicProductsEntity;
import com.glxp.api.entity.basic.CompanyProductRelevanceEntity;
import com.glxp.api.entity.purchase.PurContractDetailEntity;
import com.glxp.api.req.basic.CompanyProductRelevanceRequest;
import com.glxp.api.req.purchase.AddPurPlanDetailRequest;
import com.glxp.api.req.purchase.PurContractDetailRequest;
import com.glxp.api.res.basic.UdiRlSupResponse;
import com.glxp.api.service.basic.UdiRlSupService;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.Arrays;
import java.util.List;
@Service
public class PurContractDetailService extends ServiceImpl<PurContractDetailMapper, PurContractDetailEntity> {
@Resource
PurContractDetailMapper purContractDetailMapper;
@Resource
UdiRlSupDao udiRlSupDao;
public int insert(AddPurPlanDetailRequest addPurPlanDetailRequest) {
String orderIdFk = addPurPlanDetailRequest.getOrderIdFk();
String[] ids = addPurPlanDetailRequest.getProductIds();
if (ids.length > 0 ){
CompanyProductRelevanceRequest companyProductRelevanceRequest = new CompanyProductRelevanceRequest();
companyProductRelevanceRequest.setIds(Arrays.asList(ids));
companyProductRelevanceRequest.setDiType(1);
List<UdiRlSupResponse> entities = udiRlSupDao.filterUdiGp(companyProductRelevanceRequest);
if (CollectionUtil.isNotEmpty(entities)){
entities.forEach( x-> {
PurContractDetailEntity purContractDetailEntity = new PurContractDetailEntity();
BeanUtils.copyProperties(x,purContractDetailEntity);
purContractDetailEntity.setOrderIdFk(orderIdFk);
purContractDetailEntity.setProductId(x.getRlId());
purContractDetailEntity.setProductUniqueId(x.getUuid());
purContractDetailEntity.setNameCode(x.getNameCode());
purContractDetailEntity.setProductName(x.getCpmctymc());
purContractDetailEntity.setProductCompany(x.getManufactory());
purContractDetailEntity.setZczbhhzbapzbh(x.getZczbhhzbapzbh());
purContractDetailEntity.setGgxh(x.getGgxh());
purContractDetailEntity.setPackRatio(x.getPackRatio());
purContractDetailEntity.setSupId(x.getCustomerId());
purContractDetailEntity.setSupName(x.getSupName());
purContractDetailEntity.setCount(1);
purContractDetailEntity.setPrice(new BigDecimal(StrUtil.isEmpty(x.getPrice())?"0":x.getPrice()));
purContractDetailMapper.insert(purContractDetailEntity);
});
}
}
return 1;
}
public IPage<PurContractDetailEntity> queryPageList(PurContractDetailRequest purContractDetailRequest) {
QueryWrapper<PurContractDetailEntity> wrapper = buildPurContractDetailQueryWrapper(purContractDetailRequest);
IPage<PurContractDetailEntity> page = new Page<>(purContractDetailRequest.getPage(), purContractDetailRequest.getLimit());
return purContractDetailMapper.selectPage(page, wrapper);
}
/**
*
*
* @param purContractDetailRequest
* @return
*/
private QueryWrapper<PurContractDetailEntity> buildPurContractDetailQueryWrapper(PurContractDetailRequest purContractDetailRequest) {
QueryWrapper<PurContractDetailEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StrUtil.isNotBlank(purContractDetailRequest.getOrderIdFk()), "orderIdFk", purContractDetailRequest.getOrderIdFk())
.orderByDesc("id");
return wrapper;
}
public int deleteByOrderId(Long id) {
UpdateWrapper<PurContractDetailEntity> uw = new UpdateWrapper<>();
uw.eq("orderIdFk",id);
return purContractDetailMapper.delete(uw);
}
public int deleteByIds(List<Long> asList) {
UpdateWrapper<PurContractDetailEntity> uw = new UpdateWrapper<>();
uw.in("id",asList);
return purContractDetailMapper.delete(uw);
}
}

@ -0,0 +1,127 @@
package com.glxp.api.service.purchase.impl;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
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.service.impl.ServiceImpl;
import com.glxp.api.dao.purchase.PurContractDetailMapper;
import com.glxp.api.dao.purchase.PurContractMapper;
import com.glxp.api.dao.purchase.PurPlanDao;
import com.glxp.api.dao.purchase.PurPlanDetailDao;
import com.glxp.api.entity.purchase.PurContractDetailEntity;
import com.glxp.api.entity.purchase.PurContractEntity;
import com.glxp.api.entity.purchase.PurPlanDetailEntity;
import com.glxp.api.entity.purchase.PurPlanEntity;
import com.glxp.api.req.purchase.PurApplyDetailRequest;
import com.glxp.api.req.purchase.PurContractRequest;
import com.glxp.api.req.purchase.PurPlanDetailRequest;
import com.glxp.api.res.purchase.PurContractEntityResponse;
import com.glxp.api.res.purchase.PurOrderDetailResponse;
import com.glxp.api.service.auth.CustomerService;
import com.glxp.api.util.GennerOrderUtils;
import com.glxp.api.util.OrderNoTypeBean;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
@Service
public class PurContractService extends ServiceImpl<PurContractMapper, PurContractEntity> {
@Resource
PurContractMapper purContractMapper;
@Resource
PurPlanDetailService purPlanDetailService;
@Resource
PurPlanDao purPlanDao;
@Resource
private GennerOrderUtils gennerOrderUtils;
@Resource
PurContractDetailMapper purContractDetailMapper;
@Resource
CustomerService customerService;
public IPage<PurContractEntityResponse> queryPageList(PurContractRequest purContractRequest) {
IPage<PurContractEntityResponse> purPlanEntities = purContractMapper.selectPage(purContractRequest.getPageObj(),purContractRequest);
return purPlanEntities;
}
//
// /**
// * 构造查询条件
// *
// * @param purContractRequest
// * @return
// */
// private QueryWrapper<PurContractEntity> buildPurContractQueryWrapper(PurContractRequest purContractRequest) {
// QueryWrapper<PurContractEntity> wrapper = new QueryWrapper<>();
// wrapper.like(StrUtil.isNotBlank(purContractRequest.getCode()), "code", purContractRequest.getCode())
// .like(StrUtil.isNotBlank(purContractRequest.getName()), "name", purContractRequest.getName())
// .eq(ObjectUtil.isNotNull(purContractRequest.getStatus()), "status", purContractRequest.getStatus())
// .ge(StrUtil.isNotBlank(purContractRequest.getStartDate()), "contractDate", purContractRequest.getStartDate())
// .le(StrUtil.isNotBlank(purContractRequest.getEndDate()), "contractDate", purContractRequest.getEndDate())
// .orderByDesc("id");
// return wrapper;
// }
public int insert(PurContractEntity purContractEntity) {
return purContractMapper.insert(purContractEntity);
}
public int deleteById(Long id) {
return purContractMapper.deleteById(id);
}
/**
*
*
* @param id
*/
public void importPlan(Long id,Integer pageType) {
PurPlanEntity purPlanEntity = purPlanDao.selectById(id);
PurPlanDetailRequest purApplyDetailRequest = new PurPlanDetailRequest();
purApplyDetailRequest.setOrderIdFk(String.valueOf(id));
List<PurOrderDetailResponse> purPlanDetailEntities = purPlanDetailService.joinQueryList(purApplyDetailRequest);
PurContractEntity purContractEntity = new PurContractEntity();
BeanUtils.copyProperties(purPlanEntity, purContractEntity);
Long userId = customerService.getUserId();
purContractEntity.setCreateUser(userId + "");
purContractEntity.setCreateTime(new Date());
purContractEntity.setUpdateTime(new Date());
purContractEntity.setUpdateUser(userId + "");
purContractEntity.setStatus(1); //状态
String code = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean("HT", "yyyyMMdd"));
purContractEntity.setCode(code);
purContractEntity.setId(null);
purContractEntity.setPageType(pageType);
purContractMapper.insert(purContractEntity);
Long newId = purContractEntity.getId();
if (purPlanDetailEntities.size() > 0){
purPlanDetailEntities.forEach( item -> {
PurContractDetailEntity purContractDetailEntity = new PurContractDetailEntity();
BeanUtils.copyProperties(item,purContractDetailEntity);
purContractDetailEntity.setOrderIdFk(String.valueOf(newId));
purContractDetailMapper.insert(purContractDetailEntity);
});
}
purPlanEntity.setImportStatus(1);
purPlanDao.updateById(purPlanEntity);
}
public boolean auditOrder(PurContractRequest purContractRequest) {
Long userId = customerService.getUserId();
String code = purContractRequest.getCode();
PurContractEntity one = super.getOne(new LambdaQueryWrapper<>(PurContractEntity.class).eq(PurContractEntity::getCode, code));
one.setUpdateTime(new Date());
one.setUpdateUser(userId + "");
one.setStatus(purContractRequest.getStatus());
return super.updateById(one);
}
}

@ -1,8 +1,11 @@
package com.glxp.api.vo.dev;
import com.glxp.api.entity.dev.DeviceChangeOrderEntity;
import com.glxp.api.enums.dev.DeviceChangeTypeEnum;
import lombok.Data;
import java.util.Date;
@Data
public class DeviceChangeOrderVo extends DeviceChangeOrderEntity {
@ -15,8 +18,30 @@ public class DeviceChangeOrderVo extends DeviceChangeOrderEntity {
String statusName;
/**
* 1.稿2.3.4.
*/
private int flowStatus;
/**
*
*/
private Date flowAuditTime;
private String flowAuditByName;
public String getTypeName() {
if (super.getType() != null) {
DeviceChangeTypeEnum type = super.getType();
if (type.equals(DeviceChangeTypeEnum.DESTROY)){
if (super.getDestroyType()!= null){
if (super.getDestroyType() == 1){
return "报废";
}else {
return "销毁";
}
}
}
return super.getType().getDesc();
}
return typeName;

@ -118,6 +118,9 @@
<if test="subordinateCode != '' and subordinateCode != null">
AND auth_dept.pcode = #{subordinateCode}
</if>
<if test="code != '' and code != null">
AND auth_warehouse.code = #{code}
</if>
</where>
group by auth_warehouse.id
</select>

@ -1,323 +1,5 @@
<?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="com.glxp.api.dao.basic.SysApprovalFlowConfigMxMapper">
<resultMap id="BaseResultMap" type="com.glxp.api.entity.basic.SysApprovalFlowConfigMx">
<!--@mbg.generated-->
<!--@Table sys_approval_flow_config_mx-->
<id column="id" jdbcType="VARCHAR" property="id" />
<result column="type" jdbcType="VARCHAR" property="type" />
<result column="approvalUserId" jdbcType="VARCHAR" property="approvalUserId" />
<result column="approvalUserName" jdbcType="VARCHAR" property="approvalUserName" />
<result column="approvalSort" jdbcType="INTEGER" property="approvalSort" />
<result column="createUser" jdbcType="VARCHAR" property="createUser" />
<result column="createTime" jdbcType="TIMESTAMP" property="createTime" />
<result column="updateUser" jdbcType="VARCHAR" property="updateUser" />
<result column="updateTime" jdbcType="TIMESTAMP" property="updateTime" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, `type`, approvalUserId,approvalUserName, approvalSort, `createUser`, createTime, updateUser, updateTime
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
<!--@mbg.generated-->
select
<include refid="Base_Column_List" />
from sys_approval_flow_config_mx
where id = #{id,jdbcType=VARCHAR}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.String">
<!--@mbg.generated-->
delete from sys_approval_flow_config_mx
where id = #{id,jdbcType=VARCHAR}
</delete>
<insert id="insert" parameterType="com.glxp.api.entity.basic.SysApprovalFlowConfigMx">
<!--@mbg.generated-->
insert into sys_approval_flow_config_mx (id, `type`, approvalUserId,approvalUserName,
approvalSort, `createUser`, createTime,
updateUser, updateTime)
values (#{id,jdbcType=VARCHAR}, #{type,jdbcType=VARCHAR}, #{approvalUserId,jdbcType=VARCHAR}, #{approvalUserName,jdbcType=VARCHAR},
#{approvalSort,jdbcType=INTEGER}, #{createUser,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP},
#{updateUser,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP})
</insert>
<insert id="insertSelective" parameterType="com.glxp.api.entity.basic.SysApprovalFlowConfigMx">
<!--@mbg.generated-->
insert into sys_approval_flow_config_mx
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
<if test="type != null">
`type`,
</if>
<if test="approvalUserId != null">
approvalUserId,
</if>
<if test="approvalUserName != null">
approvalUserName,
</if>
<if test="approvalSort != null">
approvalSort,
</if>
<if test="createUser != null">
`createUser`,
</if>
<if test="createTime != null">
createTime,
</if>
<if test="updateUser != null">
updateUser,
</if>
<if test="updateTime != null">
updateTime,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id,jdbcType=VARCHAR},
</if>
<if test="type != null">
#{type,jdbcType=VARCHAR},
</if>
<if test="approvalUserId != null">
#{approvalUserId,jdbcType=VARCHAR},
</if>
<if test="approvalUserName != null">
#{approvalUserName,jdbcType=VARCHAR},
</if>
<if test="approvalSort != null">
#{approvalSort,jdbcType=INTEGER},
</if>
<if test="createUser != null">
#{createUser,jdbcType=VARCHAR},
</if>
<if test="createTime != null">
#{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateUser != null">
#{updateUser,jdbcType=VARCHAR},
</if>
<if test="updateTime != null">
#{updateTime,jdbcType=TIMESTAMP},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.glxp.api.entity.basic.SysApprovalFlowConfigMx">
<!--@mbg.generated-->
update sys_approval_flow_config_mx
<set>
<if test="type != null">
`type` = #{type,jdbcType=VARCHAR},
</if>
<if test="approvalUserId != null">
approvalUserId = #{approvalUserId,jdbcType=VARCHAR},
</if>
<if test="approvalUserName != null">
approvalUserName = #{approvalUserName,jdbcType=VARCHAR},
</if>
<if test="approvalSort != null">
approvalSort = #{approvalSort,jdbcType=INTEGER},
</if>
<if test="createUser != null">
`createUser` = #{createUser,jdbcType=VARCHAR},
</if>
<if test="createTime != null">
createTime = #{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateUser != null">
updateUser = #{updateUser,jdbcType=VARCHAR},
</if>
<if test="updateTime != null">
updateTime = #{updateTime,jdbcType=TIMESTAMP},
</if>
</set>
where id = #{id,jdbcType=VARCHAR}
</update>
<update id="updateByPrimaryKey" parameterType="com.glxp.api.entity.basic.SysApprovalFlowConfigMx">
<!--@mbg.generated-->
update sys_approval_flow_config_mx
set `type` = #{type,jdbcType=VARCHAR},
approvalUserId = #{approvalUserId,jdbcType=VARCHAR},
approvalUserName = #{approvalUserName,jdbcType=VARCHAR},
approvalSort = #{approvalSort,jdbcType=INTEGER},
`createUser` = #{createUser,jdbcType=VARCHAR},
createTime = #{createTime,jdbcType=TIMESTAMP},
updateUser = #{updateUser,jdbcType=VARCHAR},
updateTime = #{updateTime,jdbcType=TIMESTAMP}
where id = #{id,jdbcType=VARCHAR}
</update>
<update id="updateBatch" parameterType="java.util.List">
<!--@mbg.generated-->
update sys_approval_flow_config_mx
<trim prefix="set" suffixOverrides=",">
<trim prefix="`type` = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=VARCHAR} then #{item.type,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="approvalUserId = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=VARCHAR} then #{item.approvalUserId,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="approvalUserName = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=VARCHAR} then #{item.approvalUserName,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="approvalSort = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=VARCHAR} then #{item.approvalSort,jdbcType=INTEGER}
</foreach>
</trim>
<trim prefix="`createUser` = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=VARCHAR} then #{item.createUser,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="createTime = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=VARCHAR} then #{item.createTime,jdbcType=TIMESTAMP}
</foreach>
</trim>
<trim prefix="updateUser = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=VARCHAR} then #{item.updateUser,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="updateTime = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=VARCHAR} then #{item.updateTime,jdbcType=TIMESTAMP}
</foreach>
</trim>
</trim>
where id in
<foreach close=")" collection="list" item="item" open="(" separator=", ">
#{item.id,jdbcType=VARCHAR}
</foreach>
</update>
<insert id="batchInsert" parameterType="map">
<!--@mbg.generated-->
insert into sys_approval_flow_config_mx
(id, `type`, approvalUserId, approvalUserName, approvalSort, `createUser`, createTime, updateUser,
updateTime)
values
<foreach collection="list" item="item" separator=",">
(#{item.id,jdbcType=VARCHAR}, #{item.type,jdbcType=VARCHAR}, #{item.approvalUserId,jdbcType=VARCHAR},
#{item.approvalSort,jdbcType=INTEGER}, #{item.createUser,jdbcType=VARCHAR}, #{item.createTime,jdbcType=TIMESTAMP},
#{item.updateUser,jdbcType=VARCHAR}, #{item.updateTime,jdbcType=TIMESTAMP})
</foreach>
</insert>
<insert id="insertOrUpdate" parameterType="com.glxp.api.entity.basic.SysApprovalFlowConfigMx">
<!--@mbg.generated-->
insert into sys_approval_flow_config_mx
(id, `type`, approvalUserId,approvalUserName, approvalSort, `createUser`, createTime, updateUser,
updateTime)
values
(#{id,jdbcType=VARCHAR}, #{type,jdbcType=VARCHAR}, #{approvalUserId,jdbcType=VARCHAR},#{approvalUserName,jdbcType=VARCHAR},
#{approvalSort,jdbcType=INTEGER}, #{createUser,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP},
#{updateUser,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP})
on duplicate key update
id = #{id,jdbcType=VARCHAR},
`type` = #{type,jdbcType=VARCHAR},
approvalUserId = #{approvalUserId,jdbcType=VARCHAR},
approvalUserName = #{approvalUserName,jdbcType=VARCHAR},
approvalSort = #{approvalSort,jdbcType=INTEGER},
`createUser` = #{createUser,jdbcType=VARCHAR},
createTime = #{createTime,jdbcType=TIMESTAMP},
updateUser = #{updateUser,jdbcType=VARCHAR},
updateTime = #{updateTime,jdbcType=TIMESTAMP}
</insert>
<insert id="insertOrUpdateSelective" parameterType="com.glxp.api.entity.basic.SysApprovalFlowConfigMx">
<!--@mbg.generated-->
insert into sys_approval_flow_config_mx
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
<if test="type != null">
`type`,
</if>
<if test="approvalUserId != null">
approvalUserId,
</if>
<if test="approvalUserName != null">
approvalUserName,
</if>
<if test="approvalSort != null">
approvalSort,
</if>
<if test="createUser != null">
`createUser`,
</if>
<if test="createTime != null">
createTime,
</if>
<if test="updateUser != null">
updateUser,
</if>
<if test="updateTime != null">
updateTime,
</if>
</trim>
values
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id,jdbcType=VARCHAR},
</if>
<if test="type != null">
#{type,jdbcType=VARCHAR},
</if>
<if test="approvalUserId != null">
#{approvalUserId,jdbcType=VARCHAR},
</if>
<if test="approvalUserName != null">
#{approvalUserName,jdbcType=VARCHAR},
</if>
<if test="approvalSort != null">
#{approvalSort,jdbcType=INTEGER},
</if>
<if test="createUser != null">
#{createUser,jdbcType=VARCHAR},
</if>
<if test="createTime != null">
#{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateUser != null">
#{updateUser,jdbcType=VARCHAR},
</if>
<if test="updateTime != null">
#{updateTime,jdbcType=TIMESTAMP},
</if>
</trim>
on duplicate key update
<trim suffixOverrides=",">
<if test="id != null">
id = #{id,jdbcType=VARCHAR},
</if>
<if test="type != null">
`type` = #{type,jdbcType=VARCHAR},
</if>
<if test="approvalUserId != null">
approvalUserId = #{approvalUserId,jdbcType=VARCHAR},
</if>
<if test="approvalUserName != null">
approvalUserName = #{approvalUserName,jdbcType=VARCHAR},
</if>
<if test="approvalSort != null">
approvalSort = #{approvalSort,jdbcType=INTEGER},
</if>
<if test="createUser != null">
`createUser` = #{createUser,jdbcType=VARCHAR},
</if>
<if test="createTime != null">
createTime = #{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateUser != null">
updateUser = #{updateUser,jdbcType=VARCHAR},
</if>
<if test="updateTime != null">
updateTime = #{updateTime,jdbcType=TIMESTAMP},
</if>
</trim>
</insert>
</mapper>

@ -250,10 +250,15 @@
<if test="isDisable == false">
AND (basic_udirel.isDisable is null or basic_udirel.isDisable = false)
</if>
<if test="flbm != '' and flbm != null">
and (tp.flbm = #{flbm} or basic_products.flbm = #{flbm})
</if>
<if test="ids != null and ids.size() != 0">
and company_product_relevance.id in
<foreach collection="ids" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</where>
ORDER BY company_product_relevance.updateTime DESC
</select>

@ -29,10 +29,12 @@
createUser,createTime
</sql>
<select id="listByVo" resultType="com.glxp.api.vo.dev.DeviceChangeOrderVo">
select o.*,
select IFNULL(saf.status,1) as flowStatus,saf.updateTime as flowAuditTime,saf.updateUserName as flowAuditByName,
o.*,
(select name from auth_dept where code = o.deptCode) deptName,
(select name from auth_dept where code = o.toDeptCode) toDeptName
from device_change_order o
Left Join sys_approval_flow as saf ON o.approvalFlowId = saf.id
<where>
and o.status != 'temp'
and (o.deptCode = #{user.locDeptCode} or o.toDeptCode = #{user.locDeptCode})

@ -86,6 +86,13 @@
<if test="param.productName!=null and param.productName!=''">
and info.productName like concat('%',#{param.productName},'%')
</if>
<if test="param.deviceCodeAndUdi!=null and param.deviceCodeAndUdi!=''">
and (
info.deviceCode like concat('%',#{param.deviceCodeAndUdi},'%')
or
info.udi like concat('%',#{param.deviceCodeAndUdi},'%')
)
</if>
<if test="param.planId!=null">
and info.status != 'destroy'
and info.deviceCode not in ( select deviceCode from device_plan_detail where planId = #{param.planId} )

@ -44,4 +44,68 @@
supName,confirmUserId,confirmUserName,
confirmTime,confirmRemark
</sql>
<select id="miniPage" parameterType="com.glxp.api.req.dev.DeviceRepairApplyDetailMiniQuery"
resultType="com.glxp.api.res.dev.DeviceRepairApplyDetailMiniResponse">
select
drad.applyId,
drad.deviceCode,
drad.deptCode,
drad.deptName,
drad.description,
drad.status,
drad.repairFlag,
drad.repairId,
drad.productId,
drad.udi,
drad.nameCode,
drad.productName,
drad.ggxh,
drad.batchNo,
drad.serialNo,
drad.productionDate,
drad.expireDate,
drad.manufactory,
drad.measname,
drad.zczbhhzbapzbh,
drad.supId,
drad.supName,
drad.confirmUserId,
drad.confirmUserName,
drad.confirmTime,
drad.confirmRemark,
dra.id,
dra.applyDeptCode,
dra.applyDeptName,
dra.applyUserId,
dra.applyUserName,
dra.applyUserPhone,
dra.applyTime,
dra.deviceCount,
dra.finishCount,
dra.confirmUserId,
dra.confirmUserName,
dra.confirmTime,
dra.finishTime
from device_repair_apply_detail drad
Left Join device_repair_apply dra ON drad.applyId = dra.id
<where>
<if test="param.deviceCodeAndUdi!=null and param.deviceCodeAndUdi!=''">
and (
drad.deviceCode like concat('%',#{param.deviceCodeAndUdi},'%')
or
drad.udi like concat('%',#{param.deviceCodeAndUdi},'%')
)
</if>
<if test="param.deptCode != null and param.deptCode != ''">
AND drad.deptCode = #{param.deptCode}
</if>
<if test="param.status != null and param.status != ''">
AND drad.status = #{param.status}
</if>
</where>
</select>
</mapper>

@ -76,28 +76,31 @@
</if>
<if test="deptCode != '' and deptCode != null">
AND deptCode = #{deptCode}
AND pur_apply.deptCode = #{deptCode}
</if>
<if test="invCode != '' and invCode != null">
AND pur_apply.invCode = #{invCode}
</if>
<if test="targetInvCode != '' and targetInvCode != null">
AND targetInvCode = #{targetInvCode}
AND pur_apply.targetInvCode = #{targetInvCode}
</if>
<if test="targetDeptCode != '' and targetDeptCode != null">
AND targetDeptCode = #{targetDeptCode}
AND pur_apply.targetDeptCode = #{targetDeptCode}
</if>
<if test="auditUser != '' and auditUser != null">
AND auditUser = #{auditUser}
AND pur_apply.auditUser = #{auditUser}
</if>
<if test="createUser != '' and createUser != null">
AND pur_apply.createUser = #{createUser}
</if>
<if test="applyType != null">
AND generatePlan = 1
AND pur_apply.generatePlan = 1
</if>
<if test="emergency != null">
AND emergency = #{emergency}
AND pur_apply.emergency = #{emergency}
</if>
<if test="pageType != null">
AND pur_apply.pageType = #{pageType}
</if>
</where>
<choose>
@ -192,6 +195,9 @@
<if test="approvalFlowId != null">
approvalFlowId=#{approvalFlowId},
</if>
<if test="pageType != null">
pageType=#{pageType},
</if>
</trim>
WHERE id = #{id}
</update>

@ -139,6 +139,9 @@
<if test="billNo != null and billNo != ''">
AND pur_apply.billNo like concat('%', #{billNo}, '%')
</if>
<if test="pageType != null ">
AND pur_apply.pageType = #{pageType}
</if>
<if test="productId != null">
AND productId like concat('%', #{productId}, '%')
</if>

@ -0,0 +1,88 @@
<?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="com.glxp.api.dao.purchase.PurContractDetailMapper">
<resultMap id="BaseResultMap" type="com.glxp.api.entity.purchase.PurContractDetailEntity">
<!--@mbg.generated-->
<!--@Table pur_contract_detail-->
<id column="id" jdbcType="BIGINT" property="id" />
<result column="orderIdFk" jdbcType="VARCHAR" property="orderidfk" />
<result column="productId" jdbcType="BIGINT" property="productid" />
<result column="productUniqueId" jdbcType="VARCHAR" property="productuniqueid" />
<result column="nameCode" jdbcType="VARCHAR" property="namecode" />
<result column="batchNo" jdbcType="VARCHAR" property="batchno" />
<result column="productName" jdbcType="VARCHAR" property="productname" />
<result column="productCompany" jdbcType="VARCHAR" property="productcompany" />
<result column="produceDate" jdbcType="DATE" property="producedate" />
<result column="expireDate" jdbcType="DATE" property="expiredate" />
<result column="zczbhhzbapzbh" jdbcType="VARCHAR" property="zczbhhzbapzbh" />
<result column="ggxh" jdbcType="VARCHAR" property="ggxh" />
<result column="packRatio" jdbcType="VARCHAR" property="packratio" />
<result column="supId" jdbcType="BIGINT" property="supid" />
<result column="supName" jdbcType="VARCHAR" property="supname" />
<result column="count" jdbcType="INTEGER" property="count" />
<result column="price" jdbcType="DECIMAL" property="price" />
<result column="firstSalesInvNo" jdbcType="VARCHAR" property="firstsalesinvno" />
<result column="secSalesInvNo" jdbcType="VARCHAR" property="secsalesinvno" />
<result column="secSalesListNo" jdbcType="VARCHAR" property="secsaleslistno" />
<result column="invoiceDate" jdbcType="VARCHAR" property="invoicedate" />
<result column="remark" jdbcType="VARCHAR" property="remark" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, orderIdFk, productId, productUniqueId, nameCode, batchNo, productName, productCompany,
produceDate, expireDate, zczbhhzbapzbh, ggxh, packRatio, supId, supName, `count`,
price, firstSalesInvNo, secSalesInvNo, secSalesListNo, invoiceDate, remark
</sql>
<insert id="insert" keyProperty="id"
parameterType="com.glxp.api.entity.purchase.PurContractDetailEntity">
replace
INTO pur_contract_detail
(
orderIdFk,
productId,
productUniqueId,
nameCode,
batchNo,
productName,
productCompany,
produceDate,
expireDate,
zczbhhzbapzbh,
ggxh,
packRatio,
supId,
supName,
`count`,
price,
firstSalesInvNo,
secSalesInvNo,
secSalesListNo,
invoiceDate,
remark
)
values (
#{orderIdFk},
#{productId},
#{productUniqueId},
#{nameCode},
#{batchNo},
#{productName},
#{productCompany},
#{produceDate},
#{expireDate},
#{zczbhhzbapzbh},
#{ggxh},
#{packRatio},
#{supId},
#{supName},
#{count},
#{price},
#{firstSalesInvNo},
#{secSalesInvNo},
#{secSalesListNo},
#{invoiceDate},
#{remark}
)
</insert>
</mapper>

@ -0,0 +1,154 @@
<?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="com.glxp.api.dao.purchase.PurContractMapper">
<resultMap id="BaseResultMap" type="com.glxp.api.entity.purchase.PurContractEntity">
<!--@mbg.generated-->
<!--@Table pur_contract-->
<id column="id" jdbcType="INTEGER" property="id" />
<result column="code" jdbcType="VARCHAR" property="code" />
<result column="name" jdbcType="VARCHAR" property="name" />
<result column="fromCorp" jdbcType="VARCHAR" property="fromCorp" />
<result column="contractDate" jdbcType="TIMESTAMP" property="contractDate" />
<result column="invCode" jdbcType="VARCHAR" property="invCode" />
<result column="status" jdbcType="INTEGER" property="status" />
<result column="type" jdbcType="INTEGER" property="type" />
<result column="payType" jdbcType="INTEGER" property="payType" />
<result column="startDate" jdbcType="TIMESTAMP" property="startDate" />
<result column="endDate" jdbcType="TIMESTAMP" property="endDate" />
<result column="amount" jdbcType="DECIMAL" property="amount" />
<result column="payAmount" jdbcType="DECIMAL" property="payAmount" />
<result column="payDate" jdbcType="TIMESTAMP" property="payDate" />
<result column="invoiceDate" jdbcType="TIMESTAMP" property="invoiceDate" />
<result column="planOrderIdFk" jdbcType="VARCHAR" property="planOrderIdFk" />
<result column="orderIdFk" jdbcType="VARCHAR" property="orderIdFk" />
<result column="createUser" jdbcType="VARCHAR" property="createUser" />
<result column="updateUser" jdbcType="VARCHAR" property="updateUser" />
<result column="createTime" jdbcType="TIMESTAMP" property="createTime" />
<result column="updateTime" jdbcType="TIMESTAMP" property="updateTime" />
<result column="remark" jdbcType="VARCHAR" property="remark" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, code, `name`, fromCorp, contractDate, invCode, `status`, `type`, payType, startDate,
endDate, amount, payAmount, payDate, invoiceDate, planOrderIdFk, orderIdFk, `createUser`,
updateUser, createTime, updateTime, remark
</sql>
<insert id="insert" keyProperty="id"
parameterType="com.glxp.api.entity.purchase.PurPlanEntity" useGeneratedKeys="true">
insert
INTO pur_contract
(
code,
`name`,
fromCorp,
contractDate,
invCode,
`status`,
`type`,
payType,
startDate,
endDate,
amount,
payAmount,
payDate,
invoiceDate,
planOrderIdFk,
orderIdFk,
`createUser`,
updateUser,
createTime,
updateTime,
remark
)
values (
#{code},
#{name},
#{fromCorp},
#{contractDate},
#{invCode},
#{status},
#{type},
#{payType},
#{startDate},
#{endDate},
#{amount},
#{payAmount},
#{payDate},
#{invoiceDate},
#{planOrderIdFk},
#{orderIdFk},
#{createUser},
#{updateUser},
#{createTime},
#{updateTime},
#{remark}
)
</insert>
<select id="selectPage" parameterType="com.glxp.api.req.purchase.PurContractRequest"
resultType="com.glxp.api.res.purchase.PurContractEntityResponse">
select
pc.id, pc.code, pc.`name`, pc.fromCorp, pc.contractDate, pc.invCode, pc.`type`, pc.payType, pc.startDate,
pc.endDate, pc.amount, pc.payAmount, pc.payDate, pc.invoiceDate, pc.planOrderIdFk, pc.orderIdFk, pc.`createUser`,
pc.updateUser, pc.createTime, pc.updateTime, pc.remark,pc.approvalFlowId,pc.isGenerateOrder,IFNULL(pc.status,0) as status,
saf.status as flowStatus, saf.nextNodeName as nextNodeName , saf.nextApprovalNodeType as nextApprovalNodeType
from pur_contract pc
left join sys_approval_flow saf ON pc.approvalFlowId = saf.id
<where>
pc.code is not null
<if test="!purContractRequest.sysApprovalFlow">
<if test="purContractRequest.status != null and purContractRequest.status != 10 and purContractRequest.status != 11 and purContractRequest.status != 12 ">
and pc.status = #{purContractRequest.status}
</if>
<if test="purContractRequest.status == 10">
and (pc.status = 2 )
</if>
<if test="purContractRequest.status == 11">
and (pc.status = 1 or pc.status is null )
</if>
<if test="purContractRequest.status == 12">
and (pc.status = 3 or pc.status = 4)
</if>
</if>
<if test="purContractRequest.sysApprovalFlow">
<if test="purContractRequest.status != null and purContractRequest.status != 10 and purContractRequest.status != 11 and purContractRequest.status != 12 ">
and saf.status = #{purContractRequest.status}
</if>
<if test="purContractRequest.status == 10">
and (saf.status = 2)
</if>
<if test="purContractRequest.status == 11">
and (saf.status = 1 or saf.status is null)
</if>
<if test="purContractRequest.status == 12">
and (saf.status = 3 or saf.status = 4)
</if>
</if>
<if test="purContractRequest.code != null and purContractRequest.code != ''" >
and pc.code like concat('%',#{purContractRequest.code},'%')
</if>
<if test="purContractRequest.name != null and purContractRequest.name != ''" >
and pc.name like concat('%',#{purContractRequest.name},'%')
</if>
<if test="purContractRequest.isGenerateOrder != null " >
and pc.isGenerateOrder = #{purContractRequest.isGenerateOrder}
</if>
<if test="purContractRequest.startDate != null and purContractRequest.startDate != ''">
AND pc.contractDate <![CDATA[>=]]> #{purContractRequest.startDate}
</if>
<if test="purContractRequest.endDate != null and purContractRequest.endDate != ''">
AND pc.contractDate <![CDATA[<=]]> #{purContractRequest.endDate}
</if>
<if test="purContractRequest.pageType != null ">
AND pc.pageType = #{purContractRequest.pageType}
</if>
order by id desc
</where>
</select>
</mapper>

@ -110,19 +110,22 @@
<if test="deptCode != '' and deptCode != null">
AND deptCode = #{deptCode}
AND pur_order.deptCode = #{deptCode}
</if>
<if test="invCode != '' and invCode != null">
AND invCode = #{invCode}
AND pur_order.invCode = #{invCode}
</if>
<if test="auditUser != '' and auditUser != null">
AND auditUser = #{auditUser}
AND pur_order.auditUser = #{auditUser}
</if>
<if test="createUser != '' and createUser != null">
AND createUser = #{createUser}
AND pur_order.createUser = #{createUser}
</if>
<if test="emergency != null">
AND emergency = #{emergency}
AND pur_order.emergency = #{emergency}
</if>
<if test="pageType != null">
AND pur_order.pageType = #{pageType}
</if>
</where>
<choose>

@ -158,6 +158,9 @@
<if test="billNo != null and billNo != ''">
AND pur_order.billNo like concat('%', #{billNo}, '%')
</if>
<if test="pageType != null">
AND pur_order.pageType = #{pageType}
</if>
<if test="productId != null">
AND productId like concat('%', #{productId}, '%')
</if>

@ -78,19 +78,25 @@
<if test="deptCode != '' and deptCode != null">
AND deptCode = #{deptCode}
AND pur_plan.deptCode = #{deptCode}
</if>
<if test="invCode != '' and invCode != null">
AND invCode = #{invCode}
AND pur_plan.invCode = #{invCode}
</if>
<if test="auditUser != '' and auditUser != null">
AND auditUser = #{auditUser}
AND pur_plan.auditUser = #{auditUser}
</if>
<if test="createUser != '' and createUser != null">
AND createUser = #{createUser}
AND pur_plan.createUser = #{createUser}
</if>
<if test="emergency != null">
AND emergency = #{emergency}
AND pur_plan.emergency = #{emergency}
</if>
<if test="importStatus != null">
AND pur_plan.importStatus = #{importStatus}
</if>
<if test="pageType != null">
AND pur_plan.pageType = #{pageType}
</if>
</where>
<choose>

@ -2327,7 +2327,7 @@ CALL Pro_Temp_ColumnWork('device_change_order_item', 'startImperativeDate',
CALL Pro_Temp_ColumnWork('device_change_order_item', 'startMaintainDate',
' date NULL DEFAULT NULL COMMENT ''开始保养日期''',
1);
CALL Pro_Temp_ColumnWork('device_change_order_item', 'maintainType',
CALL Pro_Temp_ColumnWork('device_change_order_item', 'serviceType',
' varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT''维修组''',
1);
CALL Pro_Temp_ColumnWork('device_change_order_item', 'maintainType',
@ -2490,3 +2490,268 @@ UPDATE auth_menu
SET `menu_name` = '本科室设备', `parent_id` = 1703, `order_num` = 4, `path` = '/dev/deviceInfoSelf', `component` = 'dev/deviceInfoSelf',
`query_param` = NULL, `is_frame` = 1, `is_cache` = 0, `menu_type` = 'C', `visible` = '0', `status` = '0', `perms` = NULL, `icon` = NULL,
`create_by` = '超级用户', `create_time` = '2023-11-22 16:16:48', `update_by` = NULL, `update_time` = NULL, `remark` = NULL WHERE `menu_id` = 2021;
CALL Pro_Temp_ColumnWork('device_repair', 'repairDescription',
' varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT''维修内容''',
1);
ALTER TABLE device_repair
MODIFY COLUMN `diagnosisInfo` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '诊断信息' AFTER `description`;
CALL Pro_Temp_ColumnWork('device_check_detail', 'applyId',
'bigint DEFAULT NULL COMMENT''报修单id''',
1);
CALL Pro_Temp_ColumnWork('device_change_order', 'destroyType',
'bigint DEFAULT NULL COMMENT''移除类型 1报废2销毁''',
1);
CALL Pro_Temp_ColumnWork('device_change_order', 'approvalFlowId',
' varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT ''审批表主键(关联审批流程主表)'' ',
1);
CALL Pro_Temp_ColumnWork('device_change_order', 'billNo',
' varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT ''单据号'' ',
1);
INSERT IGNORE INTO sys_approval_flow_config(`id`, `type`, `typeName`, `approvalSort`, `createUser`, `createTime`, `updateUser`, `updateTime`)
VALUES ('5', 'sbyc', '设备移除', 7, NULL, NULL, NULL, NULL);
INSERT IGNORE INTO sys_approval_flow_config(`id`, `type`, `typeName`, `approvalSort`, `createUser`, `createTime`, `updateUser`, `updateTime`)
VALUES ('6', 'cght', '采购合同单据', 6, NULL, NULL, NULL, NULL);
CALL Pro_Temp_ColumnWork('sys_approval_flow_config_mx', 'approvalNodeType',
' bigint(0) NOT NULL COMMENT ''审批节点类型 1 人员 2 岗位'' ',
1);
CALL Pro_Temp_ColumnWork('sys_approval_flow_config_mx', 'approvalPostId',
' varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT ''审批岗位信息'' ',
1);
CALL Pro_Temp_ColumnWork('sys_approval_flow_config_mx', 'approvalPostName',
' varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT ''审批岗位名称'' ',
1);
CALL Pro_Temp_ColumnWork('sys_approval_flow_mx', 'approvalNodeType',
' bigint(0) NOT NULL COMMENT ''审批节点类型 1 人员 2 岗位'' ',
1);
CALL Pro_Temp_ColumnWork('sys_approval_flow_mx', 'approvalPostId',
' varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT ''审批岗位信息'' ',
1);
CALL Pro_Temp_ColumnWork('sys_approval_flow_mx', 'approvalPostName',
' varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT ''审批岗位名称'' ',
1);
CALL Pro_Temp_ColumnWork('sys_approval_flow', 'nextNodeName',
' varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT ''下一个节点审核名字'' ',
1);
CALL Pro_Temp_ColumnWork('sys_approval_flow', 'nextApprovalNodeType',
' varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT ''下一个节点审核类型'' ',
1);
-- ----------------------------
-- Table structure for pur_contract
-- ----------------------------
CREATE TABLE IF NOT EXISTS `pur_contract` (
`id` int(0) NOT NULL AUTO_INCREMENT,
`code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '合同编号',
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '合同名称',
`fromCorp` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '往来单位/供应商',
`contractDate` datetime(0) NULL DEFAULT NULL COMMENT '合同签订日期',
`invCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '当前仓库',
`status` int(0) NULL DEFAULT NULL COMMENT '合同状态',
`type` int(0) NULL DEFAULT NULL COMMENT '合同类型',
`payType` int(0) NULL DEFAULT NULL COMMENT '付款方式',
`startDate` datetime(0) NULL DEFAULT NULL COMMENT '开始时间',
`endDate` datetime(0) NULL DEFAULT NULL COMMENT '截止时间',
`amount` decimal(10, 3) NULL DEFAULT NULL COMMENT '合同金额',
`payAmount` decimal(10, 3) NULL DEFAULT NULL COMMENT '实付金额',
`payDate` datetime(0) NULL DEFAULT NULL COMMENT '付款日期',
`invoiceDate` datetime(0) NULL DEFAULT NULL COMMENT '开票日期',
`planOrderIdFk` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '采购计划ID外键',
`orderIdFk` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '采购订单外键',
`createUser` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人',
`updateUser` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人',
`createTime` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`updateTime` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
`approvalFlowId` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '审批表主键(关联审批流程主表)',
`isGenerateOrder` int(0) NULL DEFAULT 0 COMMENT '是否生成订单 1.已生成;0.未生成 ',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '采购合同表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for pur_contract_detail
-- ----------------------------
CREATE TABLE IF NOT EXISTS `pur_contract_detail` (
`id` bigint(0) NOT NULL AUTO_INCREMENT COMMENT '单据业务ID',
`orderIdFk` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NOT NULL COMMENT '关联合同编号',
`productId` bigint(0) NULL DEFAULT NULL COMMENT '产品编码',
`productUniqueId` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '产品唯一id uniqueId',
`nameCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '最小销售标识',
`batchNo` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '批次号',
`productName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '产品名称',
`productCompany` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '生产厂家',
`produceDate` date NULL DEFAULT NULL COMMENT '生产日期',
`expireDate` date NULL DEFAULT NULL COMMENT '过期时间',
`zczbhhzbapzbh` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '注册证/备案号',
`ggxh` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '规格型号',
`packRatio` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '包装级别',
`supId` bigint(0) NULL DEFAULT NULL COMMENT '供应商id',
`supName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '供应商名称',
`count` int(0) NULL DEFAULT NULL COMMENT '订单该产品实际数量',
`price` decimal(10, 2) NULL DEFAULT NULL COMMENT '价格',
`firstSalesInvNo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '销售发票号(第一票)',
`secSalesInvNo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '销售发票号(第二票)',
`secSalesListNo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '销售清单号(第二票)',
`invoiceDate` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT '开票日期',
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_as_cs COMMENT = '单据业务详情表' ROW_FORMAT = Dynamic;
CALL Pro_Temp_ColumnWork('pur_plan', 'importStatus',
' bit(1) NOT NULL DEFAULT b''0'' COMMENT ''是否 导入''',
1);
INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, `is_cache`, `menu_type`,
`visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`)
VALUES (3679, '合同管理', 1673, 4, 'purContract', NULL, NULL, 1, 0, 'M', '0', '0', NULL, NULL, '超级用户', '2023-02-10 14:52:34', NULL, NULL, NULL);
INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, `is_cache`, `menu_type`,
`visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`)
VALUES (3680, '待提交合同', 3679, 1, 'purchase/purContract/purContract', 'purchase/purContract/purContract', NULL, 1, 0, 'C', '0', '0', NULL, NULL, '超级用户', '2023-02-10 16:25:48', NULL, NULL, NULL);
INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, `is_cache`, `menu_type`,
`visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`)
VALUES (3689, '待审核合同', 3679, 2, 'purchase/purContract/purContractReviewed', 'purchase/purContract/purContractReviewed', NULL, 1, 0, 'C', '0', '0', NULL, NULL, '超级用户', '2023-02-14 11:07:07', NULL, NULL, NULL);
INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, `is_cache`, `menu_type`,
`visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`)
VALUES (3690, '已完成合同', 3679, 3, 'purchase/purContract/purContractFinish', 'purchase/purContract/purContractFinish', NULL, 1, 0, 'C', '0', '0', NULL, NULL, '超级用户', '2023-02-14 11:27:49', NULL, NULL, NULL);
CALL Pro_Temp_ColumnWork('pur_plan', 'importStatus',
' bit(1) NOT NULL DEFAULT b''0'' COMMENT ''是否 导入''',
1);
INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, `is_cache`, `menu_type`,
`visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`)
VALUES (3691, '申购管理', 1703, 13, 'purApply', NULL, NULL, 1, 0, 'M', '0', '0', NULL, NULL, '超级用户', '2023-02-08 17:01:50', NULL, NULL, NULL);
INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, `is_cache`, `menu_type`,
`visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`)
VALUES (3692, '计划管理', 1703, 14, 'purPlan', NULL, NULL, 1, 0, 'M', '0', '0', NULL, NULL, '超级用户', '2023-02-10 14:52:34', NULL, NULL, NULL);
INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, `is_cache`, `menu_type`,
`visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`)
VALUES (3693, '订单管理', 1703, 15, 'purOrder', NULL, NULL, 1, 0, 'M', '0', '0', NULL, NULL, '超级用户', '2023-03-08 10:21:58', NULL, NULL, NULL);
INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, `is_cache`, `menu_type`,
`visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`)
VALUES (3694, '合同管理', 1703, 16, 'purContract', NULL, NULL, 1, 0, 'M', '0', '0', NULL, NULL, '超级用户', '2023-02-10 14:52:34', NULL, NULL, NULL);
INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`,
`is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`,
`update_by`, `update_time`, `remark`)
VALUES (3695, '新增申购单', 3691, 1, 'purchase/purApply/purApply', 'purchase/purApply/purApply', '{\"pageType\":2}', 1, 0, 'C',
'0', '0', 'purchase:purApply:purApply', NULL, '超级用户', '2023-02-08 17:02:19', NULL, NULL, NULL);
INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`,
`is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`,
`update_by`, `update_time`, `remark`)
VALUES (3696, '审核申购单', 3691, 2, 'purchase/purApply/pureApplyAudit', 'purchase/purApply/pureApplyAudit', '{\"pageType\":2}',
1, 0, 'C', '0', '0', 'purchase:purApply:pureApplyAudit', NULL, '超级用户', '2023-02-10 13:54:03', NULL, NULL, NULL);
INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`,
`is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`,
`update_by`, `update_time`, `remark`)
VALUES (3697, '查询申购单', 3691, 3, 'purchase/purApply/pureApplySearch', 'purchase/purApply/pureApplySearch',
'{\"pageType\":2}', 1, 0, 'C', '0', '0', 'purchase:purApply:pureApplySearch', NULL, '超级用户', '2023-02-10 14:47:19',
NULL, NULL, NULL);
INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`,
`is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`,
`update_by`, `update_time`, `remark`)
VALUES (3698, '新增采购计划', 3692, 1, 'purchase/purPlan/purPlan', 'purchase/purPlan/purPlan', '{\"pageType\":2}', 1, 0, 'C', '0',
'0', 'purchase:purPlan:purPlan', NULL, '超级用户', '2023-02-10 16:25:48', NULL, NULL, NULL);
INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`,
`is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`,
`update_by`, `update_time`, `remark`)
VALUES (3699, '审核采购计划', 3692, 2, 'purchase/purPlan/purPlanAudit', 'purchase/purPlan/purPlanAudit', '{\"pageType\":2}', 1, 0,
'C', '0', '0', NULL, NULL, '超级用户', '2023-02-14 11:07:07', NULL, NULL, NULL);
INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`,
`is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`,
`update_by`, `update_time`, `remark`)
VALUES (3700, '查询采购计划', 3692, 3, 'purchase/purPlan/purPlanSearch', 'purchase/purPlan/purPlanSearch', '{\"pageType\":2}', 1,
0, 'C', '0', '0', NULL, NULL, '超级用户', '2023-02-14 11:27:49', NULL, NULL, NULL);
INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`,
`is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`,
`update_by`, `update_time`, `remark`)
VALUES (3701, '新增采购订单', 3693, 1, 'purchase/purOrder/purOrder', 'purchase/purOrder/purOrder', '{\"pageType\":2}', 1, 0, 'C',
'0', '0', NULL, '', '超级用户', '2023-03-08 10:32:25', NULL, NULL, NULL);
INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`,
`is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`,
`update_by`, `update_time`, `remark`)
VALUES (3702, '审核采购订单', 3693, 2, 'purchase/purOrder/purOrderAudit', 'purchase/purOrder/purOrderAudit', '{\"pageType\":2}',
1, 0, 'C', '0', '0', NULL, NULL, '超级用户', '2023-03-08 10:33:41', NULL, NULL, NULL);
INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`,
`is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`,
`update_by`, `update_time`, `remark`)
VALUES (3703, '查询采购订单', 3693, 3, 'purchase/purOrder/purOrderSearch', 'purchase/purOrder/purOrderSearch', '{\"pageType\":2}',
1, 0, 'C', '0', '0', NULL, NULL, '超级用户', '2023-03-08 10:34:32', NULL, NULL, NULL);
INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`,
`is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`,
`update_by`, `update_time`, `remark`)
VALUES (3704, '申购单明细', 3691, 4, 'details', 'purchase/purApply/pureApplySearchDetails', '{\"pageType\":2}', 1, 0, 'C', '0',
'0', NULL, NULL, '超级用户', '2023-04-04 09:30:27', NULL, NULL, NULL);
INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`,
`is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`,
`update_by`, `update_time`, `remark`)
VALUES (3705, '采购计划明细', 3692, 4, 'details', 'purchase/purPlan/purPlanSearchDetails', '{\"pageType\":2}', 1, 0, 'C', '0',
'0', NULL, NULL, '超级用户', '2023-04-04 09:32:00', NULL, NULL, NULL);
INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`,
`is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`,
`update_by`, `update_time`, `remark`)
VALUES (3706, '采购订单明细', 3693, 4, 'details', 'purchase/purOrder/purOrderSearchDetails', '{\"pageType\":2}', 1, 0, 'C', '0',
'0', NULL, NULL, '超级用户', '2023-04-04 09:32:44', NULL, NULL, NULL);
INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`,
`is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`,
`update_by`, `update_time`, `remark`)
VALUES (3707, '我的申购单 ', 3691, 2, 'purchase/purApply/pureApplyMySearch', 'purchase/purApply/pureApplyMySearch',
'{\"pageType\":2}', 1, 0, 'C', '0', '0', NULL, NULL, '超级用户', '2023-07-20 17:08:38', NULL, NULL, NULL);
INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`,
`is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`,
`update_by`, `update_time`, `remark`)
VALUES (3708, '待提交合同', 3694, 1, 'purchase/purContract/purContract', 'purchase/purContract/purContract', '{\"pageType\":2}',
1, 0, 'C', '0', '0', NULL, NULL, '超级用户', '2023-02-10 16:25:48', NULL, NULL, NULL);
INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`,
`is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`,
`update_by`, `update_time`, `remark`)
VALUES (3709, '待审核合同', 3694, 2, 'purchase/purContract/purContractReviewed', 'purchase/purContract/purContractReviewed',
'{\"pageType\":2}', 1, 0, 'C', '0', '0', NULL, NULL, '超级用户', '2023-02-14 11:07:07', NULL, NULL, NULL);
INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`,
`is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`,
`update_by`, `update_time`, `remark`)
VALUES (3710, '已完成合同', 3694, 3, 'purchase/purContract/purContractFinish', 'purchase/purContract/purContractFinish',
'{\"pageType\":2}', 1, 0, 'C', '0', '0', NULL, NULL, '超级用户', '2023-02-14 11:27:49', NULL, NULL, NULL);
UPDATE auth_menu SET `menu_name` = '新增申购单', `parent_id` = 1674, `order_num` = 1, `path` = 'purchase/purApply/purApply', `component` = 'purchase/purApply/purApply', `query_param` = '{\"pageType\":1}', `is_frame` = 1, `is_cache` = 0, `menu_type` = 'C', `visible` = '0', `status` = '0', `perms` = 'purchase:purApply:purApply', `icon` = NULL, `create_by` = '超级用户', `create_time` = '2023-02-08 17:02:19', `update_by` = NULL, `update_time` = NULL, `remark` = NULL WHERE `menu_id` = 1675;
UPDATE auth_menu SET `menu_name` = '审核申购单', `parent_id` = 1674, `order_num` = 2, `path` = 'purchase/purApply/pureApplyAudit', `component` = 'purchase/purApply/pureApplyAudit', `query_param` = '{\"pageType\":1}', `is_frame` = 1, `is_cache` = 0, `menu_type` = 'C', `visible` = '0', `status` = '0', `perms` = 'purchase:purApply:pureApplyAudit', `icon` = NULL, `create_by` = '超级用户', `create_time` = '2023-02-10 13:54:03', `update_by` = NULL, `update_time` = NULL, `remark` = NULL WHERE `menu_id` = 1677;
UPDATE auth_menu SET `menu_name` = '查询申购单', `parent_id` = 1674, `order_num` = 3, `path` = 'purchase/purApply/pureApplySearch', `component` = 'purchase/purApply/pureApplySearch', `query_param` = '{\"pageType\":1}', `is_frame` = 1, `is_cache` = 0, `menu_type` = 'C', `visible` = '0', `status` = '0', `perms` = 'purchase:purApply:pureApplySearch', `icon` = NULL, `create_by` = '超级用户', `create_time` = '2023-02-10 14:47:19', `update_by` = NULL, `update_time` = NULL, `remark` = NULL WHERE `menu_id` = 1678;
UPDATE auth_menu SET `menu_name` = '新增采购计划', `parent_id` = 1679, `order_num` = 1, `path` = 'purchase/purPlan/purPlan', `component` = 'purchase/purPlan/purPlan', `query_param` = '{\"pageType\":1}', `is_frame` = 1, `is_cache` = 0, `menu_type` = 'C', `visible` = '0', `status` = '0', `perms` = 'purchase:purPlan:purPlan', `icon` = NULL, `create_by` = '超级用户', `create_time` = '2023-02-10 16:25:48', `update_by` = NULL, `update_time` = NULL, `remark` = NULL WHERE `menu_id` = 1680;
UPDATE auth_menu SET `menu_name` = '审核采购计划', `parent_id` = 1679, `order_num` = 2, `path` = 'purchase/purPlan/purPlanAudit', `component` = 'purchase/purPlan/purPlanAudit', `query_param` = '{\"pageType\":1}', `is_frame` = 1, `is_cache` = 0, `menu_type` = 'C', `visible` = '0', `status` = '0', `perms` = NULL, `icon` = NULL, `create_by` = '超级用户', `create_time` = '2023-02-14 11:07:07', `update_by` = NULL, `update_time` = NULL, `remark` = NULL WHERE `menu_id` = 1689;
UPDATE auth_menu SET `menu_name` = '查询采购计划', `parent_id` = 1679, `order_num` = 3, `path` = 'purchase/purPlan/purPlanSearch', `component` = 'purchase/purPlan/purPlanSearch', `query_param` = '{\"pageType\":1}', `is_frame` = 1, `is_cache` = 0, `menu_type` = 'C', `visible` = '0', `status` = '0', `perms` = NULL, `icon` = NULL, `create_by` = '超级用户', `create_time` = '2023-02-14 11:27:49', `update_by` = NULL, `update_time` = NULL, `remark` = NULL WHERE `menu_id` = 1690;
UPDATE auth_menu SET `menu_name` = '新增采购订单', `parent_id` = 1730, `order_num` = 1, `path` = 'purchase/purOrder/purOrder', `component` = 'purchase/purOrder/purOrder', `query_param` = '{\"pageType\":1}', `is_frame` = 1, `is_cache` = 0, `menu_type` = 'C', `visible` = '0', `status` = '0', `perms` = NULL, `icon` = '', `create_by` = '超级用户', `create_time` = '2023-03-08 10:32:25', `update_by` = NULL, `update_time` = NULL, `remark` = NULL WHERE `menu_id` = 1731;
UPDATE auth_menu SET `menu_name` = '审核采购订单', `parent_id` = 1730, `order_num` = 2, `path` = 'purchase/purOrder/purOrderAudit', `component` = 'purchase/purOrder/purOrderAudit', `query_param` = '{\"pageType\":1}', `is_frame` = 1, `is_cache` = 0, `menu_type` = 'C', `visible` = '0', `status` = '0', `perms` = NULL, `icon` = NULL, `create_by` = '超级用户', `create_time` = '2023-03-08 10:33:41', `update_by` = NULL, `update_time` = NULL, `remark` = NULL WHERE `menu_id` = 1732;
UPDATE auth_menu SET `menu_name` = '查询采购订单', `parent_id` = 1730, `order_num` = 3, `path` = 'purchase/purOrder/purOrderSearch', `component` = 'purchase/purOrder/purOrderSearch', `query_param` = '{\"pageType\":1}', `is_frame` = 1, `is_cache` = 0, `menu_type` = 'C', `visible` = '0', `status` = '0', `perms` = NULL, `icon` = NULL, `create_by` = '超级用户', `create_time` = '2023-03-08 10:34:32', `update_by` = NULL, `update_time` = NULL, `remark` = NULL WHERE `menu_id` = 1733;
UPDATE auth_menu SET `menu_name` = '申购单明细', `parent_id` = 1674, `order_num` = 4, `path` = 'details', `component` = 'purchase/purApply/pureApplySearchDetails', `query_param` = '{\"pageType\":1}', `is_frame` = 1, `is_cache` = 0, `menu_type` = 'C', `visible` = '0', `status` = '0', `perms` = NULL, `icon` = NULL, `create_by` = '超级用户', `create_time` = '2023-04-04 09:30:27', `update_by` = NULL, `update_time` = NULL, `remark` = NULL WHERE `menu_id` = 1763;
UPDATE auth_menu SET `menu_name` = '采购计划明细', `parent_id` = 1679, `order_num` = 4, `path` = 'details', `component` = 'purchase/purPlan/purPlanSearchDetails', `query_param` = '{\"pageType\":1}', `is_frame` = 1, `is_cache` = 0, `menu_type` = 'C', `visible` = '0', `status` = '0', `perms` = NULL, `icon` = NULL, `create_by` = '超级用户', `create_time` = '2023-04-04 09:32:00', `update_by` = NULL, `update_time` = NULL, `remark` = NULL WHERE `menu_id` = 1764;
UPDATE auth_menu SET `menu_name` = '采购订单明细', `parent_id` = 1730, `order_num` = 4, `path` = 'details', `component` = 'purchase/purOrder/purOrderSearchDetails', `query_param` = '{\"pageType\":1}', `is_frame` = 1, `is_cache` = 0, `menu_type` = 'C', `visible` = '0', `status` = '0', `perms` = NULL, `icon` = NULL, `create_by` = '超级用户', `create_time` = '2023-04-04 09:32:44', `update_by` = NULL, `update_time` = NULL, `remark` = NULL WHERE `menu_id` = 1765;
UPDATE auth_menu SET `menu_name` = '我的申购单 ', `parent_id` = 1674, `order_num` = 2, `path` = 'purchase/purApply/pureApplyMySearch', `component` = 'purchase/purApply/pureApplyMySearch', `query_param` = '{\"pageType\":1}', `is_frame` = 1, `is_cache` = 0, `menu_type` = 'C', `visible` = '0', `status` = '0', `perms` = NULL, `icon` = NULL, `create_by` = '超级用户', `create_time` = '2023-07-20 17:08:38', `update_by` = NULL, `update_time` = NULL, `remark` = NULL WHERE `menu_id` = 1843;
UPDATE auth_menu SET `menu_name` = '待提交合同', `parent_id` = 3679, `order_num` = 1, `path` = 'purchase/purContract/purContract', `component` = 'purchase/purContract/purContract', `query_param` = '{\"pageType\":1}', `is_frame` = 1, `is_cache` = 0, `menu_type` = 'C', `visible` = '0', `status` = '0', `perms` = NULL, `icon` = NULL, `create_by` = '超级用户', `create_time` = '2023-02-10 16:25:48', `update_by` = NULL, `update_time` = NULL, `remark` = NULL WHERE `menu_id` = 3680;
UPDATE auth_menu SET `menu_name` = '待审核合同', `parent_id` = 3679, `order_num` = 2, `path` = 'purchase/purContract/purContractReviewed', `component` = 'purchase/purContract/purContractReviewed', `query_param` = '{\"pageType\":1}', `is_frame` = 1, `is_cache` = 0, `menu_type` = 'C', `visible` = '0', `status` = '0', `perms` = NULL, `icon` = NULL, `create_by` = '超级用户', `create_time` = '2023-02-14 11:07:07', `update_by` = NULL, `update_time` = NULL, `remark` = NULL WHERE `menu_id` = 3689;
UPDATE auth_menu SET `menu_name` = '已完成合同', `parent_id` = 3679, `order_num` = 3, `path` = 'purchase/purContract/purContractFinish', `component` = 'purchase/purContract/purContractFinish', `query_param` = '{\"pageType\":1}', `is_frame` = 1, `is_cache` = 0, `menu_type` = 'C', `visible` = '0', `status` = '0', `perms` = NULL, `icon` = NULL, `create_by` = '超级用户', `create_time` = '2023-02-14 11:27:49', `update_by` = NULL, `update_time` = NULL, `remark` = NULL WHERE `menu_id` = 3690;
CALL Pro_Temp_ColumnWork('pur_apply', 'pageType',
' int NOT NULL DEFAULT b''1'' COMMENT ''1:业务管理2设备管理''',
1);
CALL Pro_Temp_ColumnWork('pur_plan', 'pageType',
' int NOT NULL DEFAULT b''1'' COMMENT ''1:业务管理2设备管理''',
1);
CALL Pro_Temp_ColumnWork('pur_order', 'pageType',
' int NOT NULL DEFAULT b''1'' COMMENT ''1:业务管理2设备管理''',
1);
CALL Pro_Temp_ColumnWork('pur_contract', 'pageType',
' int NOT NULL DEFAULT b''1'' COMMENT ''1:业务管理2设备管理''',
1);

Loading…
Cancel
Save