Index: ssts-print/src/main/java/com/forgon/disinfectsystem/labeltemplate/action/LabelTemplateAction.java =================================================================== diff -u -r18964 -r19136 --- ssts-print/src/main/java/com/forgon/disinfectsystem/labeltemplate/action/LabelTemplateAction.java (.../LabelTemplateAction.java) (revision 18964) +++ ssts-print/src/main/java/com/forgon/disinfectsystem/labeltemplate/action/LabelTemplateAction.java (.../LabelTemplateAction.java) (revision 19136) @@ -177,6 +177,9 @@ StrutsResponseUtils.output(array); } + /** + * 内部使用的功能 + */ public void writeLabelTemplates() { String ids = StrutsParamUtils.getPraramValue("ids", ""); if (StringUtils.isBlank(ids)) { Index: ssts-idcard/src/main/java/com/forgon/disinfectsystem/idcarddefinition/service/IDCardDefinitionManagerImpl.java =================================================================== diff -u -r18964 -r19136 --- ssts-idcard/src/main/java/com/forgon/disinfectsystem/idcarddefinition/service/IDCardDefinitionManagerImpl.java (.../IDCardDefinitionManagerImpl.java) (revision 18964) +++ ssts-idcard/src/main/java/com/forgon/disinfectsystem/idcarddefinition/service/IDCardDefinitionManagerImpl.java (.../IDCardDefinitionManagerImpl.java) (revision 19136) @@ -192,46 +192,6 @@ return returnObj.toString(); } - private JSONArray getIDCardInstancesJSONArray( - List idCardInstances) { - JSONArray arr = new JSONArray(); - for (IDCardInstance idCardInstance : idCardInstances) { - String id2 = idCardInstance.getId() + ""; - - // 标识牌实例的使用次数持久化到数据库,不根据关联的包实例获得 - Long useAmount = idCardInstance.getUseAmount(); - if (useAmount == null){ - useAmount = 0L; - } - - TousseInstance tousseInstance = IDCardInstanceUtils - .getLastOperatedTousseInstance(objectDao, idCardInstance); - - String status = idCardInstance.getStatus(); - String printDate = idCardInstance.getPrintDate(); - String signBoardBarcode = idCardInstance.getBarcode(); - - JSONObject object = new JSONObject(); - if (tousseInstance != null) { - String statusAndTime = TousseInstanceUtils - .getStatusAndTimeByTousseInstance(tousseInstance, null, - null); - object.put("tousseInstanceStatusAndTime", statusAndTime); - } - object.put("id", id2); - object.put("barcode", signBoardBarcode); - object.put("useAmount", useAmount); - object.put("status", status); - object.put("printDate", printDate); - object.put("idCardDefinitionID", - idCardInstance.getIdCardDefinitionID()); - arr.add(object); - - } - - return arr; - } - @Override public List getIDCardDefinitionsOfTousseDefinition( String tousseDefinitionId, boolean includeDiscardDefinitions) { @@ -940,162 +900,6 @@ objectDao.delete(traceableMaterial); } - // 更新标识牌 - private void updateIDCardDefinition( - IDCardDefinition originalIDCardDefinition, - IDCardDefinition idCardDefinition, - IDCardDefinition curIDCardDefinition) { - // 是否废弃 - Integer originalDeleted = originalIDCardDefinition.getDeleted(); - Integer deleted = idCardDefinition.getDeleted(); - if (!deleted.equals(originalDeleted)) { - curIDCardDefinition.setDeleted(deleted); - } - // 描述 - String originalDescription = originalIDCardDefinition.getDescription(); - String description = idCardDefinition.getDescription(); - if (!StringUtils.equals(originalDescription, description)) { - curIDCardDefinition.setDescription(description); - } - - // 更新标识牌实例,可能会有实例的增加删除或修改 - List originalIDCardInstances = originalIDCardDefinition - .getIdCardInstances(); - List idCardInstances = idCardDefinition - .getIdCardInstances(); - List curIDCardInstances = curIDCardDefinition - .getIDCardInstances(objectDao); - if(idCardDefinition.isIdCardInstancesLoad()){// 加载后才会修改 - // 处理修改 - for (int i = 0; i < idCardInstances.size(); ++i) { - IDCardInstance idCardInstance = idCardInstances.get(i); - Long idCardInstanceID = idCardInstance.getId(); - if (idCardInstanceID == null) { - continue; - } - IDCardInstance originalIDCardInstance = IDCardInstanceUtils - .getIDCardInstancesById(originalIDCardInstances, - idCardInstanceID); - if (originalIDCardDefinition == null) { - // 在在原始列表里面不存在,是一种异常情况。 - throw new RuntimeException("参数错误!"); - } - IDCardInstance curIDCardInstance = IDCardInstanceUtils - .getIDCardInstancesById(curIDCardInstances, - idCardInstanceID); - if (curIDCardInstance == null) { - // 被并发删除了,也不需要处理 - continue; - } - updateIDCardInstance(originalIDCardInstance, - originalIDCardInstance, curIDCardInstance); - } - // 处理新增 - for (int i = 0; i < idCardInstances.size(); ++i) { - IDCardInstance idCardInstance = idCardInstances.get(i); - Long idCardDefinitionID = idCardInstance.getId(); - if (idCardDefinitionID != null) {// 有id就不是新增项 - continue; - } - saveIDCardInstance(curIDCardDefinition, idCardInstance); - } - // 处理删除项,暂不支持删除 - for (int i = 0; i < originalIDCardInstances.size(); ++i) { - IDCardInstance originalIDCardInstance = originalIDCardInstances - .get(i); - Long idCardDefinitionID = originalIDCardInstance.getId(); - if (idCardDefinitionID == null) { - continue; - } - IDCardInstance idCardInstance = IDCardInstanceUtils - .getIDCardInstancesById(idCardInstances, idCardDefinitionID); - if (idCardInstance != null) {// 现在还存在,就不是删除项 - // 在页面上被删除了。 - continue; - } - IDCardInstance curIDCardInstance = IDCardInstanceUtils - .getIDCardInstancesById(curIDCardInstances, - idCardDefinitionID); - if (curIDCardDefinition == null) { - // 被并发删除了。也不需要处理 - continue; - } - deleteIDCardInstance(curIDCardDefinition, curIDCardInstance); - } - - } - - update_internal(curIDCardDefinition); - } - - private void saveIDCardDefinition(TousseDefinition tousseDefinition, - IDCardDefinition idCardDefinition) { - // 首先保存标识牌定义 - idCardDefinition.setTousseDefinitionID(tousseDefinition.getId()); - save_internal(idCardDefinition); - // 绑定材料定义,虽然本来里面已经有了,但是是JSON转换是创建的,不能直接用于hibernate的会话中 - List traceableMaterials = idCardDefinition - .getTraceableMaterials(); - if (traceableMaterials != null) { - for (TraceableMaterial traceableMaterial : traceableMaterials) { - // Long materialDefinitionID = traceableMaterial - // .getMaterialDefinition().getId(); - // MaterialDefinition materialDefinition = - // materialDefinitionManager - // .getMaterialDefinitionById(materialDefinitionID - // .toString()); - // if (materialDefinition == null) { - // String msg = String.format("材料%s已被删除!", traceableMaterial - // .getMaterialDefinition().getName()); - // throw new RuntimeException(msg); - // } - // traceableMaterial.setMaterialDefinition(materialDefinition); - saveTraceableMaterial(idCardDefinition, traceableMaterial); - } - } - // 保存标识牌实例 - List idCardInstances = idCardDefinition - .getIdCardInstances(); - if (idCardInstances != null) { - for (IDCardInstance idCardInstance : idCardInstances) { - idCardInstance.setIdCardDefinitionID(idCardDefinition.getId()); - idCardInstanceManager.save_TRANS_MANDATORY(idCardInstance); - } - } - - } - - private void deleteIDCardDefinition(TousseDefinition tousseDefinition, - IDCardDefinition idCardDefinition) { - } - - private void validateParams(List original, - List idCards) { - for (IDCardDefinition idCardDefinition : original) { - validateParams(idCardDefinition); - } - for (IDCardDefinition idCardDefinition : idCards) { - validateParams(idCardDefinition); - } - } - - private void validateParams(IDCardDefinition idCardDefinition) { - List traceableMaterials = idCardDefinition - .getTraceableMaterials(); - Long idCardDefinitionID = idCardDefinition.getId(); - if (traceableMaterials != null) { - for (TraceableMaterial traceableMaterial : traceableMaterials) { - if (traceableMaterial.getMaterialDefinition() == null) { - throw new RuntimeException("materialDefinition为null!"); - } - if (!DatabaseUtil.isPoIdValid(traceableMaterial - .getMaterialDefinition().getId())) { - throw new RuntimeException("materialDefinition id为空!"); - } - } - } - } - private void updateIDCardDefinitions_internal(String idCardDefinitionStr) { JSONObject idCardDefinition = JSONObject.fromObject(idCardDefinitionStr);