|
|
@@ -15,14 +15,21 @@
|
|
|
*/
|
|
|
package com.java110.community.cmd.maintainance;
|
|
|
|
|
|
+import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.java110.core.annotation.Java110Cmd;
|
|
|
import com.java110.core.annotation.Java110Transactional;
|
|
|
import com.java110.core.context.ICmdDataFlowContext;
|
|
|
import com.java110.core.event.cmd.Cmd;
|
|
|
import com.java110.core.event.cmd.CmdEvent;
|
|
|
+import com.java110.core.factory.GenerateCodeFactory;
|
|
|
+import com.java110.dto.inspectionItemTitle.InspectionItemTitleDto;
|
|
|
+import com.java110.dto.maintainanceItem.MaintainanceItemDto;
|
|
|
+import com.java110.dto.maintainanceItemValue.MaintainanceItemValueDto;
|
|
|
import com.java110.intf.community.IMaintainanceItemV1InnerServiceSMO;
|
|
|
+import com.java110.intf.community.IMaintainanceItemValueV1InnerServiceSMO;
|
|
|
import com.java110.po.maintainanceItem.MaintainanceItemPo;
|
|
|
+import com.java110.po.maintainanceItemValue.MaintainanceItemValuePo;
|
|
|
import com.java110.utils.exception.CmdException;
|
|
|
import com.java110.utils.util.Assert;
|
|
|
import com.java110.utils.util.BeanConvertUtil;
|
|
|
@@ -31,6 +38,8 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
|
|
|
/**
|
|
|
* 类表述:更新
|
|
|
@@ -51,11 +60,23 @@ public class UpdateMaintainanceItemCmd extends Cmd {
|
|
|
@Autowired
|
|
|
private IMaintainanceItemV1InnerServiceSMO maintainanceItemV1InnerServiceSMOImpl;
|
|
|
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IMaintainanceItemValueV1InnerServiceSMO maintainanceItemValueV1InnerServiceSMOImpl;
|
|
|
+
|
|
|
@Override
|
|
|
public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
|
|
|
Assert.hasKeyAndValue(reqJson, "itemId", "itemId不能为空");
|
|
|
Assert.hasKeyAndValue(reqJson, "communityId", "communityId不能为空");
|
|
|
|
|
|
+ JSONArray titleValues = null;
|
|
|
+ if (!MaintainanceItemDto.TITLE_TYPE_QUESTIONS.equals(reqJson.getString("titleType"))) {
|
|
|
+ titleValues = reqJson.getJSONArray("titleValues");
|
|
|
+ if (titleValues.size() < 1) {
|
|
|
+ throw new IllegalArgumentException("未包含选项");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -69,6 +90,33 @@ public class UpdateMaintainanceItemCmd extends Cmd {
|
|
|
throw new CmdException("更新数据失败");
|
|
|
}
|
|
|
|
|
|
+ if (InspectionItemTitleDto.TITLE_TYPE_QUESTIONS.equals(maintainanceItemPo.getTitleType())) {
|
|
|
+ cmdDataFlowContext.setResponseEntity(ResultVo.success());
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ MaintainanceItemValueDto maintainanceItemValueDto = new MaintainanceItemValueDto();
|
|
|
+ maintainanceItemValueDto.setItemId(reqJson.getString("itemId"));
|
|
|
+ List<MaintainanceItemValueDto> maintainanceItemValueDtos = maintainanceItemValueV1InnerServiceSMOImpl.queryMaintainanceItemValues(maintainanceItemValueDto);
|
|
|
+ if (maintainanceItemValueDtos != null && maintainanceItemValueDtos.size() > 0) {
|
|
|
+ MaintainanceItemValuePo deleteMaintainanceItemValuePo = new MaintainanceItemValuePo();
|
|
|
+ deleteMaintainanceItemValuePo.setItemId(maintainanceItemPo.getItemId());
|
|
|
+ flag = maintainanceItemValueV1InnerServiceSMOImpl.deleteMaintainanceItemValue(deleteMaintainanceItemValuePo);
|
|
|
+ if (flag < 1) {
|
|
|
+ throw new CmdException("更新数据失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ JSONArray titleValues = reqJson.getJSONArray("titleValues");
|
|
|
+ MaintainanceItemValuePo maintainanceItemValuePo = null;
|
|
|
+ for (int titleValueIndex = 0; titleValueIndex < titleValues.size(); titleValueIndex++) {
|
|
|
+ maintainanceItemValuePo = new MaintainanceItemValuePo();
|
|
|
+ maintainanceItemValuePo.setItemValue(titleValues.getJSONObject(titleValueIndex).getString("itemValue"));
|
|
|
+ maintainanceItemValuePo.setSeq(titleValues.getJSONObject(titleValueIndex).getString("seq"));
|
|
|
+ maintainanceItemValuePo.setItemId(maintainanceItemPo.getItemId());
|
|
|
+ maintainanceItemValuePo.setValueId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_valueId));
|
|
|
+ maintainanceItemValuePo.setCommunityId(maintainanceItemPo.getCommunityId());
|
|
|
+ maintainanceItemValueV1InnerServiceSMOImpl.saveMaintainanceItemValue(maintainanceItemValuePo);
|
|
|
+ }
|
|
|
+
|
|
|
cmdDataFlowContext.setResponseEntity(ResultVo.success());
|
|
|
}
|
|
|
}
|