|
@@ -391,6 +391,100 @@ public class WhsqbpWebService extends BaseController {
|
|
|
return (ZysqbpEntity) bc.getResult();
|
|
|
return null;
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 填写开工报
|
|
|
+ * 0:开工报填报成功;1:账号所属经营人和记录所属经营人不一致
|
|
|
+ * 2:根据ID未找到对应数据;3:申报单id无效
|
|
|
+ * @param entityId 申报信息对应id
|
|
|
+ * @param kbsj 靠泊时间
|
|
|
+ * @param kgsj 开工时间
|
|
|
+ * @param sg 上港
|
|
|
+ * @param xg 下港
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public int KgReport(long entityId,Date kbsj,Date kgsj,String sg,String xg){
|
|
|
+ if(entityId!=0L){
|
|
|
+ ZysqbpEntity entity = zysqbpService.findOne(entityId);
|
|
|
+ if(entity!=null){
|
|
|
+ //判断当前登录账号所属经营人和此条申报所属经营人是否一致
|
|
|
+ if(Utils.getWebServiceUser().getSfjyr().equals(Constants.YES)
|
|
|
+ &&entity.getZydw().getId().equals(Utils.getWebServiceUser().getJyrjcxx())){
|
|
|
+ entity.setKgzt(Constants.YES);//开工状态
|
|
|
+ entity.setKpsj(kbsj);//靠泊时间
|
|
|
+ entity.setKgsj(kgsj);//开工时间
|
|
|
+ entity.setSr(Utils.getWebServiceUser().getName());//开工报填报人
|
|
|
+ if(sg!=null && !"".equals(sg)){
|
|
|
+ entity.setSg(sg);
|
|
|
+ }
|
|
|
+ if(xg!=null && !"".equals(xg)){
|
|
|
+ entity.setXg(xg);
|
|
|
+ }
|
|
|
+ zysqbpService.save(entity);
|
|
|
+ //开工报填报成功
|
|
|
+ return 0;
|
|
|
+ }//操作账号所属经营人与记录所属经营人一致
|
|
|
+ else{
|
|
|
+ //账号所属经营人和记录所属经营人不一致
|
|
|
+ return 1;
|
|
|
+ }
|
|
|
+ }//end if 根据id找到对应数据
|
|
|
+ else{
|
|
|
+ //根据ID未找到对应数据
|
|
|
+ return 2;
|
|
|
+ }
|
|
|
+ }//end if id有效
|
|
|
+
|
|
|
+ //申报单id无效
|
|
|
+ return 3;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 填写完工报
|
|
|
+ * 0:开工报填报成功;1:账号所属经营人和记录所属经营人不一致
|
|
|
+ * 2:根据ID未找到对应数据;3:申报单id无效
|
|
|
+ * @param entityId 申报信息对应id
|
|
|
+ * @param wgsj 完工时间
|
|
|
+ * @param sg 上港
|
|
|
+ * @param xg 下港
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public int WgReport(long entityId,Date wgsj,String sg,String xg){
|
|
|
+ if(entityId!=0L){
|
|
|
+ ZysqbpEntity entity = zysqbpService.findOne(entityId);
|
|
|
+ if(entity!=null){
|
|
|
+ //判断当前登录账号所属经营人和此条申报所属经营人是否一致
|
|
|
+ if(Utils.getWebServiceUser().getSfjyr().equals(Constants.YES)
|
|
|
+ &&entity.getZydw().getId().equals(Utils.getWebServiceUser().getJyrjcxx())){
|
|
|
+ entity.setWgzt(Constants.YES);//开工状态
|
|
|
+ entity.setWgsj(wgsj);//完工时间
|
|
|
+ entity.setFr(Utils.getWebServiceUser().getName());//开工报填报人
|
|
|
+ if(sg!=null && !"".equals(sg)){
|
|
|
+ entity.setSg(sg);
|
|
|
+ }
|
|
|
+ if(xg!=null && !"".equals(xg)){
|
|
|
+ entity.setXg(xg);
|
|
|
+ }
|
|
|
+ zysqbpService.save(entity);
|
|
|
+ //开工报填报成功
|
|
|
+ return 0;
|
|
|
+ }//操作账号所属经营人与记录所属经营人一致
|
|
|
+ else{
|
|
|
+ //账号所属经营人和记录所属经营人不一致
|
|
|
+ return 1;
|
|
|
+ }
|
|
|
+ }//end if 根据id找到对应数据
|
|
|
+ else{
|
|
|
+ //根据ID未找到对应数据
|
|
|
+ return 2;
|
|
|
+ }
|
|
|
+ }//end if id有效
|
|
|
+
|
|
|
+ //申报单id无效
|
|
|
+ return 3;
|
|
|
+ }
|
|
|
|
|
|
/**
|
|
|
* 提交信息 return 0:提交成功 1:您选择的作业场所的附证未进行年审,请先保存本条数据,并进行相应的附证年审!
|
|
@@ -473,8 +567,131 @@ public class WhsqbpWebService extends BaseController {
|
|
|
return "4";
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ //校验作业数量和泊位核查靠泊能力
|
|
|
+ if(sqbp.getZyddqybh()!=null && sqbp.getZyddqybh().getZycs()!=null && sqbp.getZyddqybh().getZycs().getId()==10000501L){
|
|
|
+ if(sqbp.getZyddqybh().getQynbbh()!=null && !sqbp.getZyddqybh().getQynbbh().equals("")){//泊位企业内部编号
|
|
|
+ BwEntity bwEntity = bwService.findOne(Long.parseLong(sqbp.getZyddqybh().getQynbbh()));
|
|
|
+ //做是否船队申报判断
|
|
|
+ if(sqbp!=null && sqbp.getByzd3()!=null&& !sqbp.getByzd3().equals("") && Integer.valueOf(sqbp.getByzd3())>0){//船队
|
|
|
+ //是船队,平均到每条船上的作业数量也应小于泊位核查靠泊能力,与web验证方式一致
|
|
|
+ if((Double.parseDouble(bwEntity.getHckpnl())*10000)<(sqbp.getZysl()/Integer.valueOf(sqbp.getByzd3()))){
|
|
|
+ return "5";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if((Double.parseDouble(bwEntity.getHckpnl())*10000)<sqbp.getZysl()){//非船队
|
|
|
+ return "5";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ sqbp = zysqbpService.submitWebService(sqbp);//调用提交方法
|
|
|
|
|
|
|
|
|
+ //调用提交方法后判断返回的entity的状态位是否为已完成,
|
|
|
+ //如为已完成状态(应该是自动审批直接批过的数据),并且需要同步数据的话,调用省级系统webservice将数据同步到省库
|
|
|
+ if (sqbp.getRecordStatus() == BaseEntity.RECORD_STATE_COMPLETED) {
|
|
|
+ // 同步到省级
|
|
|
+ if (Constants.DEPLOY_MODE_CITY.equals(GlobalData.DEPLOY_MODE) && Constants.YES.equals(GlobalData.JAXWS_SYNC)) {
|
|
|
+ try {
|
|
|
+ ZysqbpWebService webService = zysqbpService.getWebService();
|
|
|
+ if (webService != null) {
|
|
|
+ webService.save(sqbp);
|
|
|
+ sqbp.setTbzt(Constants.YES);
|
|
|
+ zysqbpService.save(sqbp);
|
|
|
+ } else {
|
|
|
+ sqbp.setTbzt(Constants.NO);
|
|
|
+ zysqbpService.save(sqbp);
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ sqbp.setTbzt(Constants.NO);
|
|
|
+ zysqbpService.save(sqbp);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }//end同步
|
|
|
+ return "0";
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 应南京港EDC中心 胡金龙 所提
|
|
|
+ * 申报成功后,除返回状态外,还需返回entity的id,
|
|
|
+ * 目的:便于企业自己的系统对接到我们的系统,给对应申报填写上开工报、完工报
|
|
|
+ * 状态0后加ID,以","分割,其他与submit方法一致
|
|
|
+ */
|
|
|
+ public String submit2(ZysqbpEntity sqbp) {
|
|
|
+ if (null == sqbp.getId() || sqbp.getId().equals(0L)) {//add
|
|
|
+ sqbp.setAddDate(new Date());
|
|
|
+ sqbp.setAddUser(Utils.getWebServiceUser());
|
|
|
+ sqbp.setRecordCode("90");
|
|
|
+ } else {//edit
|
|
|
+ sqbp.setUpdateDate(new Date());
|
|
|
+ sqbp.setUpdateUser(Utils.getWebServiceUser());
|
|
|
+ }
|
|
|
+
|
|
|
+ if (sqbp.getZyddqybh() != null) {
|
|
|
+ GkwxhwzyfzblFzEntity zyddqybh = new GkwxhwzyfzblFzEntity();
|
|
|
+ zyddqybh = gkwxhwzyfzService.findOne(sqbp.getZyddqybh().getId());
|
|
|
+ sqbp.setZyddqybh(zyddqybh);
|
|
|
+ int nsns = 0;
|
|
|
+ Date fzDate = zyddqybh.getFzsq().getYxqkssj();
|
|
|
+ Calendar cal = Calendar.getInstance();
|
|
|
+ Calendar today = Calendar.getInstance();
|
|
|
+ cal.setTime(fzDate);
|
|
|
+ if (cal.get(Calendar.YEAR) + 1 == today.get(Calendar.YEAR)) {
|
|
|
+ nsns = 1;
|
|
|
+ } else if (cal.get(Calendar.YEAR) + 2 == today.get(Calendar.YEAR)) {
|
|
|
+ nsns = 2;
|
|
|
+ }
|
|
|
+ List<JyrNsEntity> list = nsService.findByJyrAndNsns(zyddqybh.getFzsq().getByzd1(), nsns);
|
|
|
+ if (!(list.size() > 0 && list.get(0).getRecordStatus() == BaseEntity.RECORD_STATE_COMPLETED)
|
|
|
+ && ((Constants.FZNS_CHECK_DATE) < today.get(Calendar.YEAR))
|
|
|
+ && nsns > 0) {
|
|
|
+ return "1";
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //开工报、完工报
|
|
|
+ if (sqbp.getZydw() != null) {
|
|
|
+ List<ZysqbpEntity> l = zysqbpService.wxhwSqValid(sqbp.getZydw());
|
|
|
+ if (l != null && l.size() > 0) {
|
|
|
+ return "2";
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 只能提交72小时以内的申报
|
|
|
+ if (Constants.YES.equals(Constants.ZYSB_CHECK_72)
|
|
|
+ && sqbp.getZysjq().after(sqbp.getBgsj())
|
|
|
+ && ((sqbp.getZysjq().getTime() - sqbp.getBgsj().getTime()) * 1 / (60 * 60 * 1000) >= 72)) {
|
|
|
+ return "3";
|
|
|
+ }
|
|
|
+
|
|
|
+ // 确保报告时间和提交时间一致
|
|
|
+ sqbp.setBgsj(new Date());
|
|
|
+ if (sqbp.getZydd() != null && sqbp.getZyddqybh() != null
|
|
|
+ && !StringUtils.isEmpty(sqbp.getZyddqybh().getQynbbh())) {
|
|
|
+ BaseEntity<?> zydd = null;
|
|
|
+ if (Constants.GGDM_ID_ZYDD_BW.equals(sqbp.getZydd().getId())) {
|
|
|
+ zydd = bwService.findOne(Long.parseLong(sqbp.getZyddqybh()
|
|
|
+ .getQynbbh()));
|
|
|
+ } else if (Constants.GGDM_ID_ZYDD_CG.equals(sqbp.getZydd().getId())) {
|
|
|
+ zydd = cgService.findOne(Long.parseLong(sqbp.getZyddqybh()
|
|
|
+ .getQynbbh()));
|
|
|
+ } else if (Constants.GGDM_ID_ZYDD_DC.equals(sqbp.getZydd().getId())) {
|
|
|
+ zydd = dcService.findOne(Long.parseLong(sqbp.getZyddqybh()
|
|
|
+ .getQynbbh()));
|
|
|
+ } else if (Constants.GGDM_ID_ZYDD_CK.equals(sqbp.getZydd().getId())) {
|
|
|
+ zydd = ckService.findOne(Long.parseLong(sqbp.getZyddqybh()
|
|
|
+ .getQynbbh()));
|
|
|
+ }
|
|
|
+ // 状态为被禁止 byzd5!=Y
|
|
|
+ if (!Constants.GGDM_ID_ZYDD_GBQ.equals(sqbp.getZydd().getId())
|
|
|
+ && (zydd == null || zydd.getRecordStatus() == BaseEntity.RECORD_STATE_DELETE || !Constants.YES.equals(zydd.getByzd5()))) {
|
|
|
+ return "4";
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
//校验作业数量和泊位核查靠泊能力
|
|
|
if(sqbp.getZyddqybh()!=null && sqbp.getZyddqybh().getZycs()!=null && sqbp.getZyddqybh().getZycs().getId()==10000501L){
|
|
@@ -493,13 +710,14 @@ public class WhsqbpWebService extends BaseController {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- sqbp = zysqbpService.submitWebService(sqbp);
|
|
|
- // 自动审批完成的数据同步
|
|
|
+ sqbp = zysqbpService.submitWebService(sqbp);//调用提交方法
|
|
|
+
|
|
|
+
|
|
|
+ //调用提交方法后判断返回的entity的状态位是否为已完成,
|
|
|
+ //如为已完成状态(应该是自动审批直接批过的数据),并且需要同步数据的话,调用省级系统webservice将数据同步到省库
|
|
|
if (sqbp.getRecordStatus() == BaseEntity.RECORD_STATE_COMPLETED) {
|
|
|
// 同步到省级
|
|
|
- if (Constants.DEPLOY_MODE_CITY.equals(GlobalData.DEPLOY_MODE)
|
|
|
- && Constants.YES.equals(GlobalData.JAXWS_SYNC)) {
|
|
|
-
|
|
|
+ if (Constants.DEPLOY_MODE_CITY.equals(GlobalData.DEPLOY_MODE) && Constants.YES.equals(GlobalData.JAXWS_SYNC)) {
|
|
|
try {
|
|
|
ZysqbpWebService webService = zysqbpService.getWebService();
|
|
|
if (webService != null) {
|
|
@@ -517,8 +735,7 @@ public class WhsqbpWebService extends BaseController {
|
|
|
}
|
|
|
}
|
|
|
}//end同步
|
|
|
-
|
|
|
- return "0";
|
|
|
+ return "0,"+sqbp.getId();
|
|
|
}
|
|
|
|
|
|
public ZysqbpBgEntity getBgzyByZysqbp(Long id) {
|