|
@@ -29,6 +29,7 @@ import com.jeeplus.modules.workclientinfo.entity.WorkClientLinkman;
|
|
|
import org.activiti.engine.HistoryService;
|
|
|
import org.activiti.engine.runtime.ProcessInstance;
|
|
|
import org.activiti.engine.task.Task;
|
|
|
+import org.apache.poi.ss.formula.functions.BooleanFunction;
|
|
|
import org.apache.poi.ss.formula.functions.Now;
|
|
|
import org.apache.shiro.authz.annotation.Logical;
|
|
|
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
|
@@ -138,7 +139,13 @@ public class SealApplyForController extends BaseController {
|
|
|
@RequiresPermissions(value={"sealApplyFor:sealApplyFor:add","sealApplyFor:sealApplyFor:edit"},logical= Logical.OR)
|
|
|
@RequestMapping(value = "form")
|
|
|
public String form(SealApplyForInfo sealApplyForInfo, Model model) {
|
|
|
+ Boolean falg = true; //true代表着添加
|
|
|
+ List<SealMaterialInfo> sealMaterialInfos = sealMaterialService.getSealMaterialByProjectId(sealApplyForInfo.getProjectId());
|
|
|
+ if(sealMaterialInfos.size()>0){
|
|
|
+ falg = false; //false代表着是更新操作
|
|
|
+ }
|
|
|
if(StringUtils.isNotBlank(sealApplyForInfo.getProjectId())){
|
|
|
+
|
|
|
RuralProjectRecords projectRecords = projectRecordsService.get(sealApplyForInfo.getProjectId());
|
|
|
|
|
|
List<MainDictDetail> mainDictList = Lists.newArrayList();
|
|
@@ -198,8 +205,12 @@ public class SealApplyForController extends BaseController {
|
|
|
User user = UserUtils.getUser();
|
|
|
SealMaterialInfo sealMaterialInfo = new SealMaterialInfo();
|
|
|
sealMaterialInfo.setAgent(user);
|
|
|
+ if(!falg){
|
|
|
+ sealMaterialInfo.setSealMaterialInfoList(sealMaterialInfos);
|
|
|
+ }
|
|
|
model.addAttribute("sealMaterialInfo",sealMaterialInfo);
|
|
|
model.addAttribute("sealApplyForInfo", sealApplyForInfo);
|
|
|
+ model.addAttribute("falg",falg.toString());
|
|
|
return "modules/sealApplyFor/sealApplyForForm";
|
|
|
}
|
|
|
/**
|
|
@@ -265,10 +276,18 @@ public class SealApplyForController extends BaseController {
|
|
|
@RequiresPermissions(value={"sealApplyFor:sealApplyFor:add","sealApplyFor:sealApplyFor:edit"},logical=Logical.OR)
|
|
|
@RequestMapping(value = "save")
|
|
|
public String save(SealApplyForInfo sealApplyForInfo, Model model, RedirectAttributes redirectAttributes) {
|
|
|
- List<SealMaterialInfoImport> sealMaterialInfoImportList = sealApplyForInfo.getSealMaterialInfoList();
|
|
|
- if(sealMaterialInfoImportList.size()<=0){
|
|
|
- addMessage(redirectAttributes, "用印材料名称、数量、主要内容简述等获取失败,请重试");
|
|
|
- return "redirect:"+Global.getAdminPath()+"/sealApplyFor/sealApplyFor/?repage";
|
|
|
+ Boolean falg = true; //true代表着添加
|
|
|
+ List<SealMaterialInfoImport> sealMaterialInfoImportList = new ArrayList<SealMaterialInfoImport>();
|
|
|
+ List<SealMaterialInfo> sealMaterialInfos = sealMaterialService.getSealMaterialByProjectId(sealApplyForInfo.getProjectId());
|
|
|
+ if(sealMaterialInfos.size()>0){
|
|
|
+ falg = false; //false代表着是更新操作
|
|
|
+ }
|
|
|
+ if(falg){
|
|
|
+ sealMaterialInfoImportList = sealApplyForInfo.getSealMaterialInfoList();
|
|
|
+ if(sealMaterialInfoImportList.size()<=0){
|
|
|
+ addMessage(redirectAttributes, "用印材料名称、数量、主要内容简述等获取失败,请重试");
|
|
|
+ return "redirect:"+Global.getAdminPath()+"/sealApplyFor/sealApplyFor/?repage";
|
|
|
+ }
|
|
|
}
|
|
|
if (!beanValidator(model, sealApplyForInfo)){
|
|
|
return form(sealApplyForInfo, model);
|
|
@@ -314,24 +333,42 @@ public class SealApplyForController extends BaseController {
|
|
|
// }
|
|
|
// }
|
|
|
// 这块做塞值处理的
|
|
|
- for(int k=0;k<sealMaterialInfoImportList.size();k++){
|
|
|
- sealMaterialInfoImportList.get(k).setProjectId(sealApplyForInfo.getProjectId());
|
|
|
- if(sealMaterialInfoImportList.get(k).getSealMaterialImportRemarks()== null){
|
|
|
- sealMaterialInfoImportList.get(k).setSealMaterialImportRemarks(" ");
|
|
|
+ if(falg){
|
|
|
+ for(int k=0;k<sealMaterialInfoImportList.size();k++){
|
|
|
+ sealMaterialInfoImportList.get(k).setProjectId(sealApplyForInfo.getProjectId());
|
|
|
+ if(sealMaterialInfoImportList.get(k).getSealMaterialImportRemarks()== null){
|
|
|
+ sealMaterialInfoImportList.get(k).setSealMaterialImportRemarks(" ");
|
|
|
// sealMaterialInfoImportList.get(k).setUseSealTime();
|
|
|
+ }
|
|
|
+ // 判断项目名称、材料名称、价格是否为空
|
|
|
+ if(sealMaterialInfoImportList.get(k).getSealMaterialName()==null || sealMaterialInfoImportList.get(k).getAmount() ==null){
|
|
|
+ addMessage(redirectAttributes, "项目名称、材料名称、价格等获取失败,请重试");
|
|
|
+ return "redirect:"+Global.getAdminPath()+"/sealApplyFor/sealApplyFor/?repage";
|
|
|
+ }
|
|
|
}
|
|
|
- // 判断项目名称、材料名称、价格是否为空
|
|
|
- if(sealMaterialInfoImportList.get(k).getSealMaterialName()==null || sealMaterialInfoImportList.get(k).getAmount() ==null){
|
|
|
- addMessage(redirectAttributes, "项目名称、材料名称、价格等获取失败,请重试");
|
|
|
+ Map map = sealMaterialService.qureyCountAboutSealMaterial(sealMaterialInfoImportList);
|
|
|
+ if((map.containsKey("failure"))){
|
|
|
+ addMessage(redirectAttributes, map.get("failure").toString());
|
|
|
return "redirect:"+Global.getAdminPath()+"/sealApplyFor/sealApplyFor/?repage";
|
|
|
}
|
|
|
+ sealMaterialService.batchSave(sealMaterialInfoImportList);
|
|
|
+ }else{
|
|
|
+ List<SealMaterialInfoImport> sealMaterialInfos1 = new ArrayList<>();
|
|
|
+ List<SealMaterialInfoImport> sealMaterialInfoList = sealApplyForInfo.getSealMaterialInfoList();
|
|
|
+ Iterator<SealMaterialInfoImport> iterator = sealMaterialInfoList.iterator();
|
|
|
+ while (iterator.hasNext()){
|
|
|
+ SealMaterialInfoImport sealMaterialInfoImport = iterator.next();
|
|
|
+ if(sealMaterialInfoImport.getSealMaterialName() == null || sealMaterialInfoImport.getAmount() == null){
|
|
|
+ iterator.remove();
|
|
|
+ }else {
|
|
|
+ sealMaterialInfos1.add(sealMaterialInfoImport);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for(int i=0;i<sealMaterialInfos1.size();i++){
|
|
|
+ sealMaterialService.update(sealMaterialInfos1.get(i));
|
|
|
+ }
|
|
|
}
|
|
|
- Map map = sealMaterialService.qureyCountAboutSealMaterial(sealMaterialInfoImportList);
|
|
|
- if((map.containsKey("failure"))){
|
|
|
- addMessage(redirectAttributes, map.get("failure").toString());
|
|
|
- return "redirect:"+Global.getAdminPath()+"/sealApplyFor/sealApplyFor/?repage";
|
|
|
- }
|
|
|
- sealMaterialService.batchSave(sealMaterialInfoImportList);
|
|
|
+
|
|
|
return "redirect:"+Global.getAdminPath()+"/sealApplyFor/sealApplyFor/?repage";
|
|
|
}
|
|
|
|