器械类别上传错误等bug修复

udims_mango
anthonywj 4 years ago
parent 75545dba03
commit 40c7ca13ce

@ -10,6 +10,7 @@ import com.glxp.udi.admin.req.udid.DownloadDiRequest;
import com.glxp.udi.admin.req.udid.DownloadHistoryRequest;
import com.glxp.udi.admin.req.udid.TokenRequest;
import com.glxp.udi.admin.res.publish.PostSaveResponse;
import com.glxp.udi.admin.res.publish.PostSubmitResponse;
import com.glxp.udi.admin.res.udid.DataSetBean;
import com.glxp.udi.admin.res.udid.MedicalHistoryResonse;
import com.glxp.udi.admin.res.udid.MedicalResonse;
@ -423,10 +424,10 @@ public class DownloadDeviceHelper {
}
//提交标识
public PostSaveResponse postIdentifyKey(PostIdentifyKeyRequest postIdentifyKeyRequest) {
public PostSubmitResponse postIdentifyKey(PostIdentifyKeyRequest postIdentifyKeyRequest) {
String params = new Gson().toJson(postIdentifyKeyRequest);
String response = HttpClient.post("company/identifier/submit", params);
PostSaveResponse postSaveResponse = (PostSaveResponse) JSONObject.parseObject(response, PostSaveResponse.class);
PostSubmitResponse postSaveResponse = (PostSubmitResponse) JSONObject.parseObject(response, PostSubmitResponse.class);
return postSaveResponse;
}

@ -10,6 +10,7 @@ import com.glxp.udi.admin.exception.JsonException;
import com.glxp.udi.admin.req.publish.PostIdentifyKeyRequest;
import com.glxp.udi.admin.req.publish.PostIdentifyRequest;
import com.glxp.udi.admin.res.publish.PostSaveResponse;
import com.glxp.udi.admin.res.publish.PostSubmitResponse;
import com.glxp.udi.admin.res.publish.UdiDeviceIdResponse;
import com.glxp.udi.admin.service.auth.AuthAdminService;
import com.glxp.udi.admin.service.info.CompanyService;
@ -67,36 +68,51 @@ public class PostIdentifyController {
CompanyEntity companyEntity = companyService.findCompany(authAdmin.getCustomerId());
DownloadDeviceHelper downloadDeviceHelper = new DownloadDeviceHelper(companyEntity);
TokenEntity tokenEntity = downloadDeviceHelper.getToken();
PostIdentifyEntity postIdentifyEntity = buildPost(postIdentifyRequest, tokenEntity.getAccessToken(),companyEntity);
new Thread(() -> {
PostSaveResponse postSaveResponse = downloadDeviceHelper.postIdentify(postIdentifyEntity);
if (postSaveResponse.getReturnCode() == 1) {
List<PostSuccessBean> successListBeans = postSaveResponse.getSuccessList();
for (PostSuccessBean successListBean : successListBeans) {
successListBean.setStatus("2");
udiDeviceIdService.postUpdate(successListBean);
UdiDeviceIdEntity udiDeviceIdEntity = udiDeviceIdService.selectByPriId(successListBean.getZXXSDYCPBS());
//更新子类信息状态
UdiSubProductEntity udiSubProductEntity = new UdiSubProductEntity();
udiSubProductEntity.setUDI_SubProductOID(udiDeviceIdEntity.getUDI_SubProduct_FK());
udiSubProductEntity.setStatus("2");
udiSubProductService.modifyUdiSubProduct(udiSubProductEntity);
//更新企业产品状态
UdiProductEntity udiProductEntity = new UdiProductEntity();
udiProductEntity.setUDI_ProductOID(udiDeviceIdEntity.getUDI_Product_FK());
udiProductEntity.setStatus("2");
udiProductService.modifyUdiProduct(udiProductEntity);
PostIdentifyEntity postIdentifyEntity = buildPost(postIdentifyRequest, tokenEntity.getAccessToken(), companyEntity);
if (postIdentifyEntity == null) {
return ResultVOUtils.error(500, errMsg);
}
PostSaveResponse postSaveResponse = downloadDeviceHelper.postIdentify(postIdentifyEntity);
if (postSaveResponse.getReturnCode() == 1) {
List<PostSuccessBean> successListBeans = postSaveResponse.getSuccessList();
for (PostSuccessBean successListBean : successListBeans) {
String status = "2";
if (postIdentifyRequest.getUploadType().equals("change")) {
status = "3";
}
//标识状态更新
successListBean.setStatus(status);
udiDeviceIdService.postUpdate(successListBean);
UdiDeviceIdEntity udiDeviceIdEntity = udiDeviceIdService.selectByPriId(successListBean.getZXXSDYCPBS());
//更新子类信息状态
UdiSubProductEntity udiSubProductEntity = new UdiSubProductEntity();
udiSubProductEntity.setUDI_SubProductOID(udiDeviceIdEntity.getUDI_SubProduct_FK());
udiSubProductEntity.setStatus(status);
udiSubProductService.modifyUdiSubProduct(udiSubProductEntity);
//更新企业产品状态
UdiProductEntity udiProductEntity = new UdiProductEntity();
udiProductEntity.setUDI_ProductOID(udiDeviceIdEntity.getUDI_Product_FK());
udiProductEntity.setStatus(status);
udiProductService.modifyUdiProduct(udiProductEntity);
return ResultVOUtils.success("上传成功");
}
}).start();
} else {
List<PostSaveResponse.ErrorListBean> errorListBean = postSaveResponse.getErrorList();
if (errorListBean != null && errorListBean.size() > 0) {
List<PostSaveResponse.ErrorListBean.ErrorDetailListBean> errorDetailListBeans = errorListBean.get(0).getErrorDetailList();
if (errorDetailListBeans != null && errorDetailListBeans.size() > 0) {
return ResultVOUtils.error(500, errorDetailListBeans.get(0).getErrorMsg());
}
}
}
return ResultVOUtils.error(500, "提交草稿上传失败");
return ResultVOUtils.success("提交草稿上传成功");
}
public PostIdentifyEntity buildPost(PostIdentifyRequest postIdentifyRequest, String token,CompanyEntity companyEntity) {
String errMsg;
public PostIdentifyEntity buildPost(PostIdentifyRequest postIdentifyRequest, String token, CompanyEntity companyEntity) {
PostIdentifyEntity postIdentifyEntity = new PostIdentifyEntity();
postIdentifyEntity.setAccessToken(token);
List<PostDataBean> dataSetBeans = new ArrayList<>();
@ -108,11 +124,33 @@ public class PostIdentifyController {
UdiDeviceIdResponse udiDeviceIdResponse = udiDeviceIdResponses.get(i);
PostDataBean dataSetBean = new PostDataBean();
UdiProductEntity udiProductEntity = udiProductService.selectById(udiDeviceIdResponse.getUDI_Product_FK());
if (udiProductEntity.getStatus() == "2")
dataSetBean.setUploadType("modify");
else {
dataSetBean.setUploadType("add");
if (!postIdentifyRequest.getUploadType().equals("add") && udiDeviceIdResponse.getDeviceRecordKey() == null) {
errMsg = "提交草稿上传失败,标识未草稿上传";
return null;
}
if (postIdentifyRequest.getUploadType().equals("change")) {
if (!udiProductEntity.getStatus().equals("3")) {
errMsg = "变更上传失败,标识未提交发布";
return null;
}
if (postIdentifyRequest.getBgsm() == null || postIdentifyRequest.getBgsm().equals("")) {
errMsg = "变更说明不能为空";
return null;
}
dataSetBean.setBGSM(postIdentifyRequest.getBgsm());
}
if (postIdentifyRequest.getUploadType().equals("modify")) {
if (udiProductEntity.getStatus().equals("3")) {
errMsg = "修改上传失败,标识已提交发布";
return null;
}
if (udiProductEntity.getStatus().equals("1")) {
errMsg = "修改上传失败,标识未草稿上传";
return null;
}
}
dataSetBean.setUploadType(postIdentifyRequest.getUploadType());
dataSetBean.setCPMCTYMC(udiProductEntity.getProductName());
dataSetBean.setTYSHXYDM(companyEntity.getCreditNum());
dataSetBean.setDeviceRecordKey(udiDeviceIdResponse.getDeviceRecordKey());
@ -147,7 +185,7 @@ public class PostIdentifyController {
dataSetBean.setCPMS(udiDeviceIdResponse.getDeviceDescription());
dataSetBean.setCPHHHBH(udiDeviceIdResponse.getCatalogNumber());
if (udiDeviceIdResponse.getProductType() != null && udiDeviceIdResponse.getProductType().equals("体外诊断试剂"))
if (udiDeviceIdResponse.getDeviceType() != null && udiDeviceIdResponse.getDeviceType().equals("体外诊断试剂"))
dataSetBean.setCPLX("2");
else
dataSetBean.setCPLX("1");
@ -160,10 +198,12 @@ public class PostIdentifyController {
if (udiDeviceIdResponse.getProductType() != null && udiDeviceIdResponse.getProductType().equals("耗材"))
dataSetBean.setHCHZSB("0");
else dataSetBean.setHCHZSB("1");
dataSetBean.setSFBJWYCXSY(udiDeviceIdResponse.getSingleUse());
if (udiDeviceIdResponse.getSingleUse() != null && udiDeviceIdResponse.getSingleUse().equals("1"))
dataSetBean.setSFBJWYCXSY("1");
else
dataSetBean.setSFBJWYCXSY("0");
dataSetBean.setZDCFSYCS(udiDeviceIdResponse.getReuseTimes());
if (udiDeviceIdResponse.getIsDeviceSterile() != null && udiDeviceIdResponse.getIsDeviceSterile().equals("1"))
dataSetBean.setSFWWJBZ("1");
else dataSetBean.setSFWWJBZ("0");
@ -175,8 +215,11 @@ public class PostIdentifyController {
dataSetBean.setYBBM(udiDeviceIdResponse.getYBBM());
if (udiDeviceIdResponse.getMRISafetyInfo() == null)
dataSetBean.setCGZMRAQXGXX("3");
else
dataSetBean.setCGZMRAQXGXX(udiDeviceIdResponse.getMRISafetyInfo());
else {
int value = Integer.parseInt(udiDeviceIdResponse.getMRISafetyInfo()) - 1;
dataSetBean.setCGZMRAQXGXX(value + "");
}
dataSetBean.setTSCCHCZTJ(udiDeviceIdResponse.getSpecialText());
dataSetBean.setTSCCSM(udiDeviceIdResponse.getClinicalSizeText());
dataSetBean.setSCBSSFBHPH(udiDeviceIdResponse.getIsLotBatch());
@ -271,16 +314,17 @@ public class PostIdentifyController {
}
postIdentifyKeyRequest.setDataSet(dataSetBeans);
postIdentifyKeyRequest.setAccessToken(tokenEntity.getAccessToken());
PostSaveResponse postSaveResponse = downloadDeviceHelper.postIdentifyKey(postIdentifyKeyRequest);
PostSubmitResponse postSaveResponse = downloadDeviceHelper.postIdentifyKey(postIdentifyKeyRequest);
if (postSaveResponse.getReturnCode() == 1) {
List<PostSuccessBean> successListBeans = postSaveResponse.getSuccessList();
for (PostSuccessBean successListBean : successListBeans) {
successListBean.setStatus("3");
udiDeviceIdService.postUpdate(successListBean);
UdiDeviceIdEntity udiDeviceIdEntity = udiDeviceIdService.selectByPriId(successListBean.getZXXSDYCPBS());
for (PostIdentifyKeyRequest.DataSetBean dataSetBean : dataSetBeans) {
//更新产品标识状态
PostSuccessBean postSuccessBean = new PostSuccessBean();
postSuccessBean.setDeviceRecordKey(dataSetBean.getDeviceRecordKey());
postSuccessBean.setZXXSDYCPBS(dataSetBean.getZXXSDYCPBS());
postSuccessBean.setStatus("3");
udiDeviceIdService.postUpdate(postSuccessBean);
UdiDeviceIdEntity udiDeviceIdEntity = udiDeviceIdService.selectByPriId(postSuccessBean.getZXXSDYCPBS());
//更新子类信息状态
UdiSubProductEntity udiSubProductEntity = new UdiSubProductEntity();
udiSubProductEntity.setUDI_SubProductOID(udiDeviceIdEntity.getUDI_SubProduct_FK());
@ -292,8 +336,19 @@ public class PostIdentifyController {
udiProductEntity.setStatus("3");
udiProductService.modifyUdiProduct(udiProductEntity);
}
} else
return ResultVOUtils.error(500, "提交失败");
} else {
String errMsg = "提交失败";
if (postSaveResponse.getErrorList() != null && postSaveResponse.getErrorList().size() > 0) {
List<PostSubmitResponse.ErrorListBean.ErrorDetailListBean> errorDetailListBeans = postSaveResponse.getErrorList().get(0).getErrorDetailList();
if (errorDetailListBeans != null && errorDetailListBeans.size() > 0)
errMsg = errorDetailListBeans.get(0).getErrorMsg();
}
return ResultVOUtils.error(500, errMsg);
}
} else {
return ResultVOUtils.error(500, "上传数据为空");
}
@ -332,13 +387,17 @@ public class PostIdentifyController {
}
postIdentifyKeyRequest.setDataSet(dataSetBeans);
postIdentifyKeyRequest.setAccessToken(tokenEntity.getAccessToken());
PostSaveResponse postSaveResponse = downloadDeviceHelper.postIdentifyKey(postIdentifyKeyRequest);
PostSubmitResponse postSaveResponse = downloadDeviceHelper.postIdentifyKey(postIdentifyKeyRequest);
if (postSaveResponse.getReturnCode() == 1) {
List<PostSuccessBean> successListBeans = postSaveResponse.getSuccessList();
for (PostSuccessBean successListBean : successListBeans) {
successListBean.setStatus("3");
udiDeviceIdService.postUpdate(successListBean);
UdiDeviceIdEntity udiDeviceIdEntity = udiDeviceIdService.selectByPriId(successListBean.getZXXSDYCPBS());
for (PostIdentifyKeyRequest.DataSetBean dataSetBean : dataSetBeans) {
//更新产品标识状态
PostSuccessBean postSuccessBean = new PostSuccessBean();
postSuccessBean.setDeviceRecordKey(dataSetBean.getDeviceRecordKey());
postSuccessBean.setZXXSDYCPBS(dataSetBean.getZXXSDYCPBS());
postSuccessBean.setStatus("3");
udiDeviceIdService.postUpdate(postSuccessBean);
UdiDeviceIdEntity udiDeviceIdEntity = udiDeviceIdService.selectByPriId(postSuccessBean.getZXXSDYCPBS());
//更新子类信息状态
UdiSubProductEntity udiSubProductEntity = new UdiSubProductEntity();
udiSubProductEntity.setUDI_SubProductOID(udiDeviceIdEntity.getUDI_SubProduct_FK());
@ -350,8 +409,10 @@ public class PostIdentifyController {
udiProductEntity.setStatus("3");
udiProductService.modifyUdiProduct(udiProductEntity);
}
} else
} else {
return ResultVOUtils.error(500, "提交失败");
}
} else {
return ResultVOUtils.error(500, "上传数据为空");
}

@ -5,6 +5,7 @@ import com.glxp.udi.admin.annotation.AuthRuleAnnotation;
import com.glxp.udi.admin.entity.auth.AuthAdmin;
import com.glxp.udi.admin.entity.info.IdentifierEntity;
import com.glxp.udi.admin.entity.publish.UdiDeviceCliEntity;
import com.glxp.udi.admin.entity.publish.UdiDeviceIdEntity;
import com.glxp.udi.admin.entity.publish.UdiDeviceSrgEntity;
import com.glxp.udi.admin.entity.publish.UdiSubProductEntity;
import com.glxp.udi.admin.exception.JsonException;
@ -13,6 +14,7 @@ import com.glxp.udi.admin.res.PageSimpleResponse;
import com.glxp.udi.admin.service.auth.AuthAdminService;
import com.glxp.udi.admin.service.info.IdentifierService;
import com.glxp.udi.admin.service.publish.UdiDeviceCliService;
import com.glxp.udi.admin.service.publish.UdiDeviceIdService;
import com.glxp.udi.admin.service.publish.UdiDeviceSrgService;
import com.glxp.udi.admin.service.publish.UdiSubProductService;
import com.glxp.udi.admin.util.DateUtil;
@ -46,6 +48,8 @@ public class SubUdiProductController {
@Resource
private IdentifierService identifierService;
@Resource
private UdiDeviceIdService udiDeviceIdService;
@Resource
AuthAdminService authAdminService;
@AuthRuleAnnotation("")
@ -192,17 +196,24 @@ public class SubUdiProductController {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
boolean b = udiSubProductService.deleteUdiSubProduct(deleteUdiProductRequest);
List<UdiDeviceIdEntity> udiDeviceIdEntities = udiDeviceIdService.selectBySubProductId(deleteUdiProductRequest.getId());
if(udiDeviceIdEntities!=null && udiDeviceIdEntities.size()>0){
return ResultVOUtils.error(500, "删除失败,请先删除该产品标识信息!");
}
UdiSubProductEntity udiSubProductEntity = udiSubProductService.selectById(deleteUdiProductRequest.getId());
if (udiSubProductEntity.getSPTM() != null && udiSubProductEntity.getSPTM().length() == 13) {
boolean b = udiSubProductService.deleteUdiSubProduct(deleteUdiProductRequest);
if (!b) {
return ResultVOUtils.error(500, "删除失败");
}
if (udiSubProductEntity!=null && udiSubProductEntity.getSPTM() != null && udiSubProductEntity.getSPTM().length() == 13) {
String ideCode = udiSubProductEntity.getSPTM().
substring(0, udiSubProductEntity.getSPTM().length() - 1);
identifierService.updateIsUsed(new IdentifierEntity(null, "0", ideCode, null));
}
if (!b) {
return ResultVOUtils.error(500, "删除失败");
}
return ResultVOUtils.success("删除成功");
}

@ -11,4 +11,5 @@ public class FilterDeviceIdRequest extends ListPageRequest {
private String subProductId;
private String status;
private String customerId;
private String specification;
}

@ -8,7 +8,8 @@ import java.util.List;
public class PostIdentifyRequest {
private List<String> ids;
private String uploadType;
private String bgsm;
}

@ -0,0 +1,105 @@
package com.glxp.udi.admin.res.publish;
import java.util.List;
/**
*
*/
public class PostSubmitResponse {
/**
* returnCode : 7
* returnMsg :
* errorList : [{"errorDetailList":[{"errorCode":5,"errorMsg":"数据状态不符产品标识【06941031350020】记录状态不符合当前状态【未发布】"}],"ZXXSDYCPBS":"06941031350020"}]
*/
private int returnCode;
private String returnMsg;
private String todayRemainVisitCount;
private List<ErrorListBean> errorList;
public String getTodayRemainVisitCount() {
return todayRemainVisitCount;
}
public void setTodayRemainVisitCount(String todayRemainVisitCount) {
this.todayRemainVisitCount = todayRemainVisitCount;
}
public int getReturnCode() {
return returnCode;
}
public void setReturnCode(int returnCode) {
this.returnCode = returnCode;
}
public String getReturnMsg() {
return returnMsg;
}
public void setReturnMsg(String returnMsg) {
this.returnMsg = returnMsg;
}
public List<ErrorListBean> getErrorList() {
return errorList;
}
public void setErrorList(List<ErrorListBean> errorList) {
this.errorList = errorList;
}
public static class ErrorListBean {
/**
* errorDetailList : [{"errorCode":5,"errorMsg":"数据状态不符产品标识【06941031350020】记录状态不符合当前状态【未发布】"}]
* ZXXSDYCPBS : 06941031350020
*/
private String ZXXSDYCPBS;
private List<ErrorDetailListBean> errorDetailList;
public String getZXXSDYCPBS() {
return ZXXSDYCPBS;
}
public void setZXXSDYCPBS(String ZXXSDYCPBS) {
this.ZXXSDYCPBS = ZXXSDYCPBS;
}
public List<ErrorDetailListBean> getErrorDetailList() {
return errorDetailList;
}
public void setErrorDetailList(List<ErrorDetailListBean> errorDetailList) {
this.errorDetailList = errorDetailList;
}
public static class ErrorDetailListBean {
/**
* errorCode : 5
* errorMsg : 06941031350020
*/
private int errorCode;
private String errorMsg;
public int getErrorCode() {
return errorCode;
}
public void setErrorCode(int errorCode) {
this.errorCode = errorCode;
}
public String getErrorMsg() {
return errorMsg;
}
public void setErrorMsg(String errorMsg) {
this.errorMsg = errorMsg;
}
}
}
}

@ -0,0 +1,93 @@
package com.glxp.udi.admin.res.publish;
import java.util.List;
public class err {
/**
* returnCode : 7
* returnMsg :
* errorList : [{"errorDetailList":[{"errorCode":6,"errorMsg":"数据重复提交,最小销售单元产品标识【06971217600335】已存在"}],"ZXXSDYCPBS":"06971217600335"}]
*/
private int returnCode;
private String returnMsg;
public int getReturnCode() {
return returnCode;
}
public void setReturnCode(int returnCode) {
this.returnCode = returnCode;
}
public String getReturnMsg() {
return returnMsg;
}
public void setReturnMsg(String returnMsg) {
this.returnMsg = returnMsg;
}
private List<ErrorListBean> errorList;
public List<ErrorListBean> getErrorList() {
return errorList;
}
public void setErrorList(List<ErrorListBean> errorList) {
this.errorList = errorList;
}
public static class ErrorListBean {
/**
* errorDetailList : [{"errorCode":6,"errorMsg":"数据重复提交,最小销售单元产品标识【06971217600335】已存在"}]
* ZXXSDYCPBS : 06971217600335
*/
private String ZXXSDYCPBS;
private List<ErrorDetailListBean> errorDetailList;
public String getZXXSDYCPBS() {
return ZXXSDYCPBS;
}
public void setZXXSDYCPBS(String ZXXSDYCPBS) {
this.ZXXSDYCPBS = ZXXSDYCPBS;
}
public List<ErrorDetailListBean> getErrorDetailList() {
return errorDetailList;
}
public void setErrorDetailList(List<ErrorDetailListBean> errorDetailList) {
this.errorDetailList = errorDetailList;
}
public static class ErrorDetailListBean {
/**
* errorCode : 6
* errorMsg : ,06971217600335
*/
private int errorCode;
private String errorMsg;
public int getErrorCode() {
return errorCode;
}
public void setErrorCode(int errorCode) {
this.errorCode = errorCode;
}
public String getErrorMsg() {
return errorMsg;
}
public void setErrorMsg(String errorMsg) {
this.errorMsg = errorMsg;
}
}
}
}

@ -4,7 +4,7 @@ server.port=9995
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.jdbc-url=jdbc:mysql://127.0.0.1:3306/udims?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.password=mysql@2020
server.servlet.context-path=
logging.level.com.glxp.udi.admin.dao=debug
# 跨域设置

@ -136,6 +136,9 @@
<if test="customerId != null and customerId != ''">
and udi_product.UDI_Customer_FK = #{customerId}
</if>
<if test="specification != null and specification != ''">
and udi_subproduct.specification = #{specification}
</if>
</where>
ORDER BY udi_deviceid.SYS_Created desc
</select>

Loading…
Cancel
Save