feat: 设备管理优化-0514-设备卡片

dev_kcyj
chenhc 1 year ago
parent bd9af3f14d
commit 560af1ae62

@ -76,13 +76,7 @@ public class DeviceInfoController extends BaseController {
@AuthRuleAnnotation("")
@GetMapping("/udi/device/code/gen")
public BaseResponse genDeviceCode() {
String deviceCode = "";
DeviceInfoEntity deviceInfo = null;
do {
deviceCode = "S" + RandomUtil.randomNumbers(10);
deviceInfo = deviceInfoService.getById(deviceCode);
} while (deviceInfo != null);
return ResultVOUtils.success(deviceCode);
return ResultVOUtils.success(deviceInfoService.genDeviceCode());
}
/**

@ -1,6 +1,8 @@
package com.glxp.api.controller.purchase;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.glxp.api.req.purchase.*;
import com.glxp.api.res.purchase.PurOrderByBillNoResponse;
import com.glxp.api.service.basic.SysApprovalFlowService;
import com.glxp.api.service.purchase.impl.PurOrderDetailService;
import com.glxp.api.service.purchase.impl.PurPlanDetailService;
@ -471,4 +473,17 @@ public class PurOrderController {
return ResultVOUtils.success(selectsupList);
}
/**
*
*/
@GetMapping("/purchase/orderByBillNo/{billNo}")
public BaseResponse orderByBillNo(@PathVariable String billNo) {
PurOrderEntity purOrderEntity = purOrderService.selectByBillNo(billNo);
List<PurOrderDetailEntity> list = purOrderDetailService.list(new LambdaQueryWrapper<PurOrderDetailEntity>().eq(PurOrderDetailEntity::getOrderIdFk, purOrderEntity.getId()));
PurOrderByBillNoResponse res = new PurOrderByBillNoResponse();
BeanUtils.copyProperties(purOrderEntity,res);
res.setItems(list);
return ResultVOUtils.success(res);
}
}

@ -493,6 +493,10 @@ public class BasicBussinessTypeEntity {
@TableField(value = "vailProductAttributes")
private Integer vailProductAttributes;
/**
* 02.
*/
@TableField(value = "devInType")
private Integer devInType;
}

@ -582,4 +582,30 @@ public class DeviceInfoEntity implements Serializable {
*/
@TableField(value = "assetReserveType")
private String assetReserveType;
/**
* id
*/
@TableField(value = "purApplyBillNo")
private String purApplyBillNo;
/**
* id
*/
@TableField(value = "purOrderBillNo")
private String purOrderBillNo;
/**
* id
*/
@TableField(value = "purContractBillNo")
private String purContractBillNo;
/**
* id
*/
@TableField(value = "purPlanBillNo")
private String purPlanBillNo;
}

@ -325,5 +325,10 @@ public class BussinessTypeSaveRequest {
*/
@TableField(value = "vailProductAttributes")
private Integer vailProductAttributes;
/**
* 02.
*/
@TableField(value = "devInType")
private Integer devInType;
}

@ -160,12 +160,12 @@ public class DeviceChangeOrderParam {
/**
*
*/
private LocalDate productionDate;
private String productionDate;
/**
*
*/
private LocalDate expireDate;
private String expireDate;
private String ggxh;
private String manufactory;
@ -527,6 +527,30 @@ public class DeviceChangeOrderParam {
@TableField(value = "assetReserveType")
private String assetReserveType;
/**
* id
*/
@TableField(value = "purApplyBillNo")
private String purApplyBillNo;
/**
* id
*/
@TableField(value = "purOrderBillNo")
private String purOrderBillNo;
/**
* id
*/
@TableField(value = "purContractBillNo")
private String purContractBillNo;
/**
* id
*/
@TableField(value = "purPlanBillNo")
private String purPlanBillNo;
}
public void valid(AuthAdmin user) {

@ -204,5 +204,10 @@ public class BasicBussinessTypeResponse {
*/
@TableField(value = "vailProductAttributes")
private Integer vailProductAttributes;
/**
* 02.
*/
@TableField(value = "devInType")
private Integer devInType;
}

@ -0,0 +1,98 @@
package com.glxp.api.res.purchase;
import com.glxp.api.entity.purchase.PurOrderDetailEntity;
import lombok.Data;
import java.util.Date;
import java.util.List;
@Data
public class PurOrderByBillNoResponse {
/**
*
*/
private Long id;
/**
*
*/
private String billNo;
/**
*
*/
private Date billDate;
/**
* 1.稿2.3.
*/
private Integer status;
/**
*
*/
private String billType;
/**
*
*/
private String remark;
private String invCode;
/**
*
*/
private String deptCode;
/**
*
*/
private String auditBy;
/**
*
*/
private Date auditTime;
private String createBy;
/**
*
*/
private Date createTime;
private Date updateTime;
private String invName;
private String subInvName;
private String deptName;
private String auditRemark;
private String applyCreateBy; //申购人
private String applyAuditBy; //申购审核人
private String applyRemark; //申购说明
private String applyBillNo; //申购单据号,多单以逗号隔开
private String applyInvName;
private String stockOrderNo;
private String createUser;
private String updateUser;
private String createUserName;
private String auditUserName;
private Integer emergency;
private Date arrivalTime;
private String supId;
private String supName;
/**
* 1.稿2.3.4.
*/
private int flowStatus;
/**
*
*/
private Date flowAuditTime;
private String flowAuditByName;
private String approvalFlowId;
private List<PurOrderDetailEntity> items;
}

@ -4,6 +4,9 @@ import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.entity.dev.DeviceChangeOrderEntity;
import com.baomidou.mybatisplus.extension.service.IService;
import com.glxp.api.entity.dev.DeviceChangeOrderItemEntity;
import com.glxp.api.entity.inout.IoCodeEntity;
import com.glxp.api.entity.inout.IoOrderDetailResultEntity;
import com.glxp.api.entity.inout.IoOrderEntity;
import com.glxp.api.req.dev.DeviceChangeOrderDetailQuery;
import com.glxp.api.req.dev.DeviceChangeOrderGenerateOrderId;
import com.glxp.api.req.dev.DeviceChangeOrderParam;
@ -56,4 +59,6 @@ public interface DeviceChangeOrderService extends IService<DeviceChangeOrderEnti
void cancel(AuthAdmin user, Long orderId, String remark);
String generateOrderId(AuthAdmin user, DeviceChangeOrderGenerateOrderId deviceChangeOrderGenerateOrderId);
void generateDeviceInfo(IoOrderEntity orderEntity,List<IoCodeEntity> codeEnttities);
}

@ -8,13 +8,18 @@ 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.dao.basic.UdiRelevanceDao;
import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.entity.auth.DeptEntity;
import com.glxp.api.entity.basic.BasicCorpEntity;
import com.glxp.api.entity.basic.BasicProductsEntity;
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.entity.dev.DeviceInfoEntity;
import com.glxp.api.entity.inout.IoCodeEntity;
import com.glxp.api.entity.inout.IoOrderDetailResultEntity;
import com.glxp.api.entity.inout.IoOrderEntity;
import com.glxp.api.enums.dev.DeviceChangeStatusEnum;
import com.glxp.api.enums.dev.DeviceChangeTypeEnum;
import com.glxp.api.enums.dev.DeviceStatusEnum;
@ -26,7 +31,9 @@ import com.glxp.api.req.dev.DeviceChangeOrderParam;
import com.glxp.api.req.dev.DeviceChangeOrderQuery;
import com.glxp.api.req.system.DeleteRequest;
import com.glxp.api.res.basic.UdiRelevanceResponse;
import com.glxp.api.service.auth.CustomerService;
import com.glxp.api.service.auth.DeptService;
import com.glxp.api.service.basic.BasicCorpService;
import com.glxp.api.service.basic.ProductInfoService;
import com.glxp.api.service.basic.SysApprovalFlowService;
import com.glxp.api.service.basic.UdiRelevanceService;
@ -47,9 +54,11 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.sql.SQLException;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/**
* device_change_order()Service
@ -75,6 +84,12 @@ public class DeviceChangeOrderServiceImpl extends ServiceImpl<DeviceChangeOrderM
SysApprovalFlowService sysApprovalFlowService;
@Resource
GennerOrderUtils gennerOrderUtils;
@Resource
CustomerService customerService;
@Resource
UdiRelevanceDao udiRelevanceDao;
@Resource
BasicCorpService basicCorpService;
@Override
public List<DeviceChangeOrderVo> listByVo(DeviceChangeOrderQuery query, AuthAdmin user) {
@ -354,6 +369,61 @@ public class DeviceChangeOrderServiceImpl extends ServiceImpl<DeviceChangeOrderM
super.save(order);
return order.getOrderId()+"";
}
@Override
public void generateDeviceInfo(IoOrderEntity orderEntity, List<IoCodeEntity> codeEnttities) {
if (CollectionUtil.isEmpty(codeEnttities)) return;
AuthAdmin user = customerService.getUserBean();
DeviceChangeOrderParam param = new DeviceChangeOrderParam();
ArrayList<DeviceChangeOrderParam.Item> items = new ArrayList<>();
String purOrderId = orderEntity.getPurOrderId();
String purPlanId = orderEntity.getPurPlanId();
param.setType(DeviceChangeTypeEnum.ADD);
param.setDeptCode(orderEntity.getDeptCode());
codeEnttities.forEach( ioCode -> {
String nameCode = ioCode.getNameCode();
List<UdiRelevanceResponse> productsEntitiesByNameCode = udiRelevanceDao.getProductsEntitiesByNameCode(nameCode);
DeviceChangeOrderParam.Item item = new DeviceChangeOrderParam.Item();
if (CollectionUtil.isNotEmpty(productsEntitiesByNameCode)){
UdiRelevanceResponse udiRelevanceResponse = productsEntitiesByNameCode.get(0);
BeanUtil.copyProperties(udiRelevanceResponse,item);
item.setProductName(udiRelevanceResponse.getCpmctymc());
}
String deviceCode = deviceInfoService.genDeviceCode();
item.setDeviceCode(deviceCode);
item.setUdi(ioCode.getCode());
item.setBatchNo(ioCode.getBatchNo());
item.setSerialNo(ioCode.getSerialNo());
item.setProductionDate(convertToDateFormat("20"+ioCode.getProduceDate()));
item.setExpireDate(convertToDateFormat("20"+ioCode.getExpireDate()));
item.setSupId(ioCode.getSupId());
BasicCorpEntity basicCorpEntity = basicCorpService.selectByErpId(ioCode.getSupId());
item.setSupName(basicCorpEntity.getName());
item.setPurOrderBillNo(purOrderId);
item.setPurPlanBillNo(purPlanId);
item.setProductId(ioCode.getRelId());
items.add(item);
});
param.setItems(items);
saveOrder(user, param);
}
public String convertToDateFormat(String dateString) {
if (dateString == null || dateString.length() != 8) {
return "";
}
// 使用String的substring方法来分割日期
String year = dateString.substring(0, 4);
String month = dateString.substring(4, 6);
String day = dateString.substring(6, 8);
// 使用StringBuilder来拼接结果
StringBuilder formattedDate = new StringBuilder();
formattedDate.append(year).append("-").append(month).append("-").append(day);
return formattedDate.toString();
}
}

@ -1,5 +1,7 @@
package com.glxp.api.service.inout;
import com.glxp.api.service.dev.DeviceChangeOrderService;
import com.glxp.api.service.dev.DeviceInfoService;
import com.glxp.api.service.inout.impl.IoCodeService;
import com.glxp.api.service.inv.impl.InvProductDetailService;
import com.glxp.api.service.inv.impl.InvProductService;
@ -54,6 +56,8 @@ public class IoGenInvService {
@Resource
IoChangeInoutService ioChangeInoutService;
@Resource
DeviceChangeOrderService deviceChangeOrderService;
//生成普通库存
@ -127,9 +131,13 @@ public class IoGenInvService {
invProductDetailService.insertList(invProductDetailEntities);
}
//todo 若设备入库单,则生成设备登记单,入到科室设备
//若设备入库单,则生成设备登记单,入到科室设备
if (bussinessTypeEntity.getActionType() == (ConstantStatus.ACTION_TYPE_NORMAL) //带票(正常)
&& bussinessTypeEntity.getMainAction().equals(ConstantType.TYPE_PUT) //入库
&& bussinessTypeEntity.getDevInType().equals(1)
) {
deviceChangeOrderService.generateDeviceInfo(orderEntity,codeEnttities);
}
}

@ -3143,6 +3143,13 @@ CALL Pro_Temp_ColumnWork('pur_contract', 'pageType',
' int NOT NULL DEFAULT b''1'' COMMENT ''1:业务管理2设备管理''',
1);
CALL Pro_Temp_ColumnWork('device_info', 'purApplyBillNo','varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NOT NULL COMMENT''申购订单单据号''', 1);
CALL Pro_Temp_ColumnWork('device_info', 'purOrderBillNo','varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NOT NULL COMMENT''采购订单单据号''', 1);
CALL Pro_Temp_ColumnWork('device_info', 'purContractBillNo','varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NOT NULL COMMENT''采购合同单据号''', 1);
CALL Pro_Temp_ColumnWork('device_info', 'purPlanBillNo','varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NOT NULL COMMENT''采购计划单据号''', 1);
CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'devInType',' int NOT NULL DEFAULT b''0'' COMMENT ''是否设备入库 0未启用2.启用''', 1);
CALL Pro_Temp_ColumnWork('io_order', 'purOrderId',
' varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT ''采购订单单号''',
1);

Loading…
Cancel
Save