智慧保安后台管理-外网
Administrator
2022-06-16 8b375fe00a241b3a769b82fe3dac8d1c9dce8a02
src/main/java/org/springblade/modules/record/controller/RecordController.java
@@ -22,21 +22,47 @@
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import org.springblade.common.cache.DictCache;
import org.springblade.common.cache.ParamCache;
import org.springblade.common.config.FtpConfig;
import org.springblade.common.enums.DictEnum;
import org.springblade.common.utils.DesensitizedUtil;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.cache.utils.CacheUtil;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.support.Kv;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.DigestUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.modules.FTP.FtpUtil;
import org.springblade.modules.information.entity.Information;
import org.springblade.modules.information.service.IInformationService;
import org.springblade.modules.permit.entity.Permit;
import org.springblade.modules.permit.vo.PermitVO;
import org.springblade.modules.record.dto.RecordDTO;
import org.springblade.modules.record.entity.Record;
import org.springblade.modules.record.service.IRecordService;
import org.springblade.modules.record.vo.RecordVO;
import org.springblade.modules.recordLegalperson.dto.RecordLegalpersonDTO;
import org.springblade.modules.resource.service.IAttachService;
import org.springblade.modules.system.entity.Dept;
import org.springblade.modules.system.entity.User;
import org.springblade.modules.system.service.IDeptService;
import org.springblade.modules.system.service.IUserService;
import org.springblade.modules.system.service.MyAsyncService;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import static org.springblade.common.constant.CommonConstant.DEFAULT_PARAM_PASSWORD;
import static org.springblade.core.cache.constant.CacheConstant.SYS_CACHE;
/**
 * 控制器
@@ -51,6 +77,11 @@
public class RecordController extends BladeController {
   private final IRecordService recordService;
   private final IDeptService iDeptService;
   private final IInformationService informationService;
   private final IUserService userService;
   private final IAttachService attachService;
   private final MyAsyncService myAsyncService;
   /**
    * 详情
@@ -70,6 +101,7 @@
   @ApiOperationSupport(order = 2)
   @ApiOperation(value = "分页", notes = "传入record")
   public R<IPage<Record>> list(Record record, Query query) {
      record.setStorage("1");
      IPage<Record> pages = recordService.page(Condition.getPage(query), Condition.getQueryWrapper(record));
      return R.data(pages);
   }
@@ -81,7 +113,23 @@
   @ApiOperationSupport(order = 3)
   @ApiOperation(value = "分页", notes = "传入record")
   public R<IPage<RecordVO>> page(RecordVO record, Query query) {
      IPage<RecordVO> pages = recordService.selectRecordPage(Condition.getPage(query), record);
      IPage<RecordVO> pages;
      pages = recordService.selectRecordPage(Condition.getPage(query), record, record.getJurisdiction());
//      if (record.getUsetype().equals("0")) {
//         pages = recordService.selectRecordPage(Condition.getPage(query), record, null);
//      } else if (record.getUsetype().equals("1")) {
//         String childer = informationService.selJurchilder(record.getJurisdiction());
//         String[] split = childer.split(",");
//         String strArrays = "";
//         for (int j = 0; j < split.length; j++) {
//            strArrays += "'" + split[j] + "',";
//         }
//         String jurisdiction = strArrays.substring(0, strArrays.length() - 1);
//         pages = recordService.selectRecordPage(Condition.getPage(query), record, jurisdiction);
//      } else {
//         pages = recordService.selectRecordPage(Condition.getPage(query), record, null);
//      }
      return R.data(pages);
   }
@@ -93,31 +141,45 @@
   @ApiOperation(value = "新增", notes = "传入record")
   public R save(@Valid @RequestBody Record record) {
      String cardid = record.getCardid();
      Map map = recordService.selectIn(cardid);
      String type = record.getPtype();
      Map map = recordService.selectIn(cardid, type);
      if (map != null) {
         String id = map.get("id").toString();
         recordService.removeByIds(Func.toLongList(id));
         String s1 = "delete from sys_record where id = " + "'" + id + "'";
         //FtpUtil.sqlFileUpload(s1);
         myAsyncService.FTP(s1);
      }
      record.setStorage("1");
      record.setType("2");
      record.setPermitime(new Date());
      recordService.save(record);
      String formatStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(record.getEstablishtime());
      String offtime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(record.getOfficetime());
      String pertime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(record.getPermitime());
      String s = "insert into sys_record(id,creditCode,enterpriseName,representative,establishTime," +
         "registeredCapital,organizationCode,registrationNumber,identificationNumber,enterprises," +
         "address,business,region,registration,industry,type,permitime,deptid,ptype,representativecell,contacts,contactscell,perid,offices,officetime,jurisdiction)" +
         "values(" + "'" + record.getId() + "'" + "," + "'" + record.getCreditcode() + "'" + "," + "'" + record.getEnterprisename() + "'" + "," + "'"
         + record.getRepresentative() + "'" + "," +
         "'" + formatStr + "'" + "," + "'" + record.getRegisteredcapital() + "'" + "," + "'"
         + record.getOrganizationcode() + "'" + "," + "'" + record.getRegistrationnumber() + "'" + "," +
         "'" + record.getIdentificationnumber() + "'" + "," + "'" + record.getEnterprises() + "'" + "," + "'" +
         record.getAddress() + "'" + "," + "'" + record.getBusiness() + "'" + "," + "'" +
         record.getRegion() + "'" + "," + "'" + record.getRegistration() + "'" + "," + "'" + record.getIndustry() + "'" + "," + "'" + record.getType() + "'" + "," + "'" + pertime + "'" + "," + "'" + record.getDeptid() + "'" + "," + "'" + record.getPtype() + "'" + "," +
         "'" + record.getRepresentativecell() + "'" + "," + "'" + record.getContacts() + "'" + "," + "'" + record.getContactscell() + "'" + "," +
         "'" + record.getPerid() + "'" + "," + "'" + record.getOffices() + "'" + "," + "'" + offtime + "'" + "," + "'" + record.getJurisdiction() + "'" + ")";
      FtpUtil.sqlFileUpload(s);
      //脱敏处理
      Record record1 = Objects.requireNonNull(BeanUtil.copy(record, Record.class));
      //敏感数据处理
      if (null!=record1.getRepresentativecell() && !record1.getRepresentativecell().equals("")) {
         record1.setRepresentativecell(DesensitizedUtil.desensitizedPhoneNumber(record1.getRepresentativecell()));
      }
      if (null!=record1.getContacts() && !record1.getContacts().equals("")) {
         record1.setContacts(DesensitizedUtil.desensitizedName(record1.getContacts()));
      }
      if (null!=record1.getContactscell() && !record1.getContactscell().equals("")) {
         record1.setContactscell(DesensitizedUtil.desensitizedPhoneNumber(record1.getContactscell()));
      }
      boolean save = recordService.save(record1);
      if (save) {
         String s = "insert into sys_record(id,representative," +
            "address,business,registration,industry,type,ptype,representativecell,contacts,contactscell,perid,offices,jurisdiction,cardid,storage,overtime)" +
            "values(" + "'" + record1.getId() + "'" + "," +
            "'" + record.getRepresentative() + "'" + "," + "'" +
            record.getAddress() + "'" + "," + "'" + record.getBusiness() + "'" + "," + "'" + record.getRegistration() + "'" + "," + "'" + record.getIndustry() + "'" + "," + "'" + record.getType() + "'" + "," + "'" + record.getPtype() + "'" + "," +
            "'" + record.getRepresentativecell() + "'" + "," + "'" + record.getContacts() + "'" + "," + "'" + record.getContactscell() + "'" + "," + "'" + record.getPerid() + "'" + "," + "'" + record.getOffices() + "'" + "," + "'" + record.getJurisdiction() + "'" +
            "," + "'" + record.getCardid() + "'" +
            "," + "'" + record.getStorage() + "'" +
            "," + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(record.getOvertime()) + "'"
            + ")";
         myAsyncService.FTP(s);
      }
      return R.success("成功");
   }
@@ -129,7 +191,8 @@
   @ApiOperation(value = "新增", notes = "传入record")
   public R rocordsave(@Valid @RequestBody Record record) {
      String cardid = record.getCardid();
      Map map = recordService.selectIn(cardid);
      String type = record.getPtype();
      Map map = recordService.selectIn(cardid, type);
      if (map != null) {
         record.setStorage("0");
         record.setPermitime(new Date());
@@ -137,8 +200,8 @@
      } else {
         record.setStorage("0");
         record.setType("2");
         record.setPtype("2");
         record.setPermitime(new Date());
         recordService.save(record);
      }
      return R.success("暂存成功");
@@ -151,7 +214,201 @@
   @ApiOperationSupport(order = 5)
   @ApiOperation(value = "修改", notes = "传入record")
   public R update(@Valid @RequestBody Record record) {
      return R.status(recordService.updateById(record));
      //审核通过
      if (record.getType().equals("0")) {
         //新增组织机构和单位信息
         Information information = new Information();
         information.setCreditcode(record.getCreditcode());
         information.setEnterprisename(record.getEnterprisename());
         information.setRepresentative(record.getRepresentative());
         information.setEstablishtime(record.getEstablishtime());
         information.setRegisteredcapital(record.getRegisteredcapital());
         information.setOrganizationcode(record.getOrganizationcode());
         information.setRegistrationnumber(record.getRegistrationnumber());
         information.setEnterprises(record.getEnterprises());
         information.setAddress(record.getAddress());
         information.setBusiness(record.getBusiness());
         information.setRegion(record.getRegion());
         information.setRegistration(record.getRegistration());
         information.setIndustry(record.getIndustry());
         information.setRepresentativecell(record.getRepresentativecell());
         information.setContacts(record.getContacts());
         information.setContactscell(record.getContactscell());
         Dept dept = new Dept();
         //本市公司
         if (record.getPtype().equals("2")) {
            Long i = 1425366663452196865L;
            dept.setParentId(i);
            dept.setAncestors("0,1425366663452196865");
         }
         //培训公司
         else {
            Long i = 1420222768149966850L;
            dept.setParentId(i);
            dept.setAncestors("0,1420222768149966850");
         }
         dept.setTenantId("000000");
         dept.setDeptName(information.getEnterprisename());
         dept.setDeptCategory(1);
         if (iDeptService.submit(dept)) {
            CacheUtil.clear(SYS_CACHE);
            // 返回懒加载树更新节点所需字段
            Kv kv = Kv.create().set("id", String.valueOf(dept.getId())).set("tenantId", dept.getTenantId())
               .set("deptCategoryName", DictCache.getValue(DictEnum.ORG_CATEGORY, dept.getDeptCategory()));
            String id = kv.get("id").toString();
            information.setDepartmentid(id);
         }
         Information information1 = Objects.requireNonNull(BeanUtil.copy(information, Information.class));
         //敏感数据处理
         if (null!=information1.getRepresentativecell() && !information1.getRepresentativecell().equals("")) {
            information1.setRepresentativecell(DesensitizedUtil.desensitizedPhoneNumber(information1.getRepresentativecell()));
         }
         if (null!=information1.getContacts() && !information1.getContacts().equals("")) {
            information1.setContacts(DesensitizedUtil.desensitizedName(information1.getContacts()));
         }
         if (null!=information1.getContactscell() && !information1.getContactscell().equals("")) {
            information1.setContactscell(DesensitizedUtil.desensitizedPhoneNumber(information1.getContactscell()));
         }
         informationService.save(information1);
         Integer isDeleted = 0;
         //注册用户
         User user = new User();
         user.setDeptId(information.getDepartmentid());
         user.setTenantId("000000");
         user.setAccount(record.getEnterprisename());
         String initPassword = ParamCache.getValue(DEFAULT_PARAM_PASSWORD);
         user.setPassword(DigestUtil.encrypt(initPassword));
         //user.setPassword(initPassword);
         user.setCreateTime(new Date());
         user.setUpdateTime(new Date());
         user.setRoleId("1414575196264300546");
         user.setStatus(1);
         user.setIsDeleted(0);
         boolean save = userService.save(user);
         if (save) {
            String roleid = "1415563428727328770";
            String s = "insert into sys_information(id,creditCode,enterpriseName,representative" +
               ",registeredCapital,organizationCode,registrationNumber, enterprises, address," +
               " business,region,registration,industry,departmentid,stats,jurisdiction,representativecell," +
               "contacts,contactscell,create_user_id) " +
               "values(" + "'" + information1.getId() + "'" +
               "," + "'" + information.getCreditcode() + "'" +
               "," + "'" + information.getEnterprisename() + "'" +
               "," + "'" + information.getRepresentative() + "'" +
               "," + "'" + information.getRegisteredcapital() + "'" +
               "," + "'" + information.getOrganizationcode() + "'" +
               "," + "'" + information.getRegistrationnumber() + "'" +
               "," + "'" + information.getEnterprises() + "'" +
               "," + "'" + information.getAddress() + "'" +
               "," + "'" + information.getBusiness() + "'" +
               "," + "'" + information.getRegion() + "'" +
               "," + "'" + information.getRegistration() + "'" +
               "," + "'" + information.getIndustry() + "'" +
               "," + "'" + information.getDepartmentid() + "'" +
               "," + "'" + information.getStats() + "'" +
               "," + "'" + information.getJurisdiction() + "'" +
               "," + "'" + information.getRepresentativecell() + "'" +
               "," + "'" + information.getContacts() + "'" +
               "," + "'" + information.getContactscell() + "'" +
               "," + "'" + information.getCreateUserId() + "'" + ")";
            myAsyncService.FTP(s);
            String ss = "insert into blade_dept(id,parent_id,tenant_id,dept_name,ancestors,dept_category,is_deleted) values(" + "'" + dept.getId() + "'" + "," + "'" + dept.getParentId() + "'" + ","
               + "'" + dept.getTenantId() + "'" +
               "," + "'" + information.getEnterprisename() + "'" +
               "," + "'" + dept.getAncestors() + "'" +
               "," + "'" + dept.getDeptCategory() + "'" +
               "," + "'" + isDeleted + "'" + ")";
            myAsyncService.FTP(ss);
            String rtime;
            String paperTime;
            if (user.getRtime() == null) {
               rtime = null;
            } else {
               rtime = new SimpleDateFormat("yyyy-MM-dd").format(user.getRtime());
            }
            //发证日期处理
            if (user.getPaperTime() == null) {
               paperTime = "";
            } else {
               paperTime = new SimpleDateFormat("yyyy-MM-dd").format(user.getPaperTime());
            }
            //头像
            if (null != user.getAvatar() && !user.getAvatar().equals("")) {
               user.setAvatar(FtpConfig.ip + user.getAvatar().substring(26));
            }
            //指纹
            if (null != user.getFingerprint() && !user.getFingerprint().equals("")) {
               user.setFingerprint(FtpConfig.ip + user.getFingerprint().substring(26));
            }
            String sss = "insert into blade_user(" +
               "id,tenant_id,account,password,name,real_name,avatar,email,phone,sex," +
               "role_id,dept_id,cardid,nativePlace,nation,fingerprint,education," +
               "politicaloutlook,healstats,height,address,registered,rtime," +
               "securitynumber,hold,jurisdiction,examination_type,status,is_deleted,dispatch) " +
               "values(" + "'" + user.getId() + "'" +
               "," + "'" + user.getTenantId() + "'" +
               "," + "'" + user.getAccount() + "'" +
               "," + "'" + user.getPassword() + "'" +
               "," + "'" + user.getName() + "'" +
               "," + "'" + user.getRealName() + "'" +
               "," + "'" + user.getAvatar() + "'" +
               "," + "'" + user.getEmail() + "'" +
               "," + "'" + user.getPhone() + "'" +
               "," + "'" + null + "'" +
               "," + "'" + roleid + "'" +
               "," + "'" + user.getDeptId() + "'" +
               "," + "'" + user.getCardid() + "'" +
               "," + "'" + user.getNativeplace() + "'" +
               "," + "'" + user.getNation() + "'" +
               "," + "'" + user.getFingerprint() + "'" +
               "," + "'" + user.getEducation() + "'" +
               "," + "'" + user.getPoliticaloutlook() + "'" +
               "," + "'" + user.getHealstats() + "'" +
               "," + "'" + user.getHeight() + "'" +
               "," + "'" + user.getAddress() + "'" +
               "," + "'" + user.getRegistered() + "'" +
               "," + "'" + rtime + "'" +
               "," + "'" + user.getSecuritynumber() + "'" +
               "," + "'" + user.getHold() + "'" +
               "," + "'" + user.getJurisdiction() + "'" +
               "," + "'" + user.getExaminationType() + "'" +
               "," + "'" + user.getStatus() + "'" +
               "," + "'" + user.getIsDeleted() + "'" +
               "," + "'" + user.getDispatch() + "'" + ")";
            myAsyncService.FTP(sss);
         }
         //把附件添加单位id
         attachService.updat(information.getDepartmentid(), record.getCardid());
         String s1 = "update sys_record set type = " + "'" + record.getType() + "'" +
            ",papprove = " + "'" + record.getPapprove() + "'" +
            ",xapprove = " + "'" + record.getXapprove() + "'" +
            ",sapprove = " + "'" + record.getSapprove() + "'" +
            ",popinion = " + "'" + record.getPopinion() + "'" +
            ",sopinion = " + "'" + record.getSopinion() + "'" +
            ",xopinion = " + "'" + record.getXopinion() + "'" +
            ",ptime = " + "'" + record.getPtime() + "'" +
            ",stime = " + "'" + record.getStime() + "'" +
            ",xtime = " + "'" + record.getXtime() + "'" +
            " " + "where id = " + "'" + record.getId() + "'";
         myAsyncService.FTP(s1);
      } else {
         String s1 = "update sys_record set type = " + "'" + record.getType() + "'" +
            ",papprove = " + "'" + record.getPapprove() + "'" +
            ",xapprove = " + "'" + record.getXapprove() + "'" +
            ",sapprove = " + "'" + record.getSapprove() + "'" +
            ",popinion = " + "'" + record.getPopinion() + "'" +
            ",sopinion = " + "'" + record.getSopinion() + "'" +
            ",xopinion = " + "'" + record.getXopinion() + "'" +
            ",ptime = " + "'" + record.getPtime() + "'" +
            ",stime = " + "'" + record.getStime() + "'" +
            ",xtime = " + "'" + record.getXtime() + "'" +
            " " + "where id = " + "'" + record.getId() + "'";
         myAsyncService.FTP(s1);
      }
      return R.status(recordService.saveOrUpdate(record));
   }
   /**
@@ -172,13 +429,32 @@
   @ApiOperationSupport(order = 8)
   @ApiOperation(value = "删除", notes = "传入ids")
   public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
      //内网删除
      List<Long> list = Func.toLongList(ids);
      list.forEach(id -> {
         //内网同步
         String s1 = "delete from sys_record where id = " + "'" + id + "'";
         myAsyncService.FTP(s1);
      });
      return R.status(recordService.removeByIds(Func.toLongList(ids)));
   }
   @PostMapping("/selectIn")
   public R selectIn(String cardid) {
      Map map = recordService.selectIn(cardid);
   public R selectIn(String cardid, String type) {
      Map map = recordService.selectIn(cardid, type);
      return R.data(map);
   }
   /**
    * 保安公司备案信息(基本信息和附件列表信息)
    *
    * @param record
    * @return
    */
   @GetMapping("/details")
   public R details(RecordDTO record) {
      RecordDTO detail = recordService.getDetails(record);
      return R.data(detail);
   }
}